diff --git a/.github/workflows/build-and-deploy-beta.yml b/.github/workflows/build-and-deploy-beta.yml
index f4cba16ee..2bdbd8af8 100644
--- a/.github/workflows/build-and-deploy-beta.yml
+++ b/.github/workflows/build-and-deploy-beta.yml
@@ -32,6 +32,7 @@ jobs:
PIPELINE_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
IP_ADDRESS_BYPASSING_BASIC_AUTH1: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH1 }}
IP_ADDRESS_BYPASSING_BASIC_AUTH2: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH2 }}
+ USERSNAP_SPACE_API_KEY: ${{ secrets.USERSNAP_SPACE_API_KEY }}
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/.github/workflows/build-and-deploy-dev.yml b/.github/workflows/build-and-deploy-dev.yml
index b620989ca..4e732e642 100644
--- a/.github/workflows/build-and-deploy-dev.yml
+++ b/.github/workflows/build-and-deploy-dev.yml
@@ -31,6 +31,7 @@ jobs:
PIPELINE_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
IP_ADDRESS_BYPASSING_BASIC_AUTH1: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH1 }}
IP_ADDRESS_BYPASSING_BASIC_AUTH2: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH2 }}
+ USERSNAP_SPACE_API_KEY: ${{ secrets.USERSNAP_SPACE_API_KEY }}
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/.github/workflows/build-and-deploy-staging.yml b/.github/workflows/build-and-deploy-staging.yml
index f53352b35..01a88f231 100644
--- a/.github/workflows/build-and-deploy-staging.yml
+++ b/.github/workflows/build-and-deploy-staging.yml
@@ -33,6 +33,7 @@ jobs:
PIPELINE_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
IP_ADDRESS_BYPASSING_BASIC_AUTH1: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH1 }}
IP_ADDRESS_BYPASSING_BASIC_AUTH2: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH2 }}
+ USERSNAP_SPACE_API_KEY: ${{ secrets.USERSNAP_SPACE_API_KEY }}
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/.github/workflows/build-and-deploy-test.yml b/.github/workflows/build-and-deploy-test.yml
index 8c4a3424c..44c064aa3 100644
--- a/.github/workflows/build-and-deploy-test.yml
+++ b/.github/workflows/build-and-deploy-test.yml
@@ -33,6 +33,7 @@ jobs:
PIPELINE_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}
IP_ADDRESS_BYPASSING_BASIC_AUTH1: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH1 }}
IP_ADDRESS_BYPASSING_BASIC_AUTH2: ${{ secrets.IP_ADDRESS_BYPASSING_BASIC_AUTH2 }}
+ USERSNAP_SPACE_API_KEY: ${{ secrets.USERSNAP_SPACE_API_KEY }}
steps:
- name: Checkout code
uses: actions/checkout@v4
diff --git a/.github/workflows/lighthouse.yml b/.github/workflows/lighthouse.yml
index bf1d30c45..2bf75ada6 100644
--- a/.github/workflows/lighthouse.yml
+++ b/.github/workflows/lighthouse.yml
@@ -36,23 +36,23 @@ jobs:
- name: Run build and lighthouse task
working-directory: ./govtool/frontend
run: |
- npm install
- VITE_BASE_URL=https://staging.govtool.byron.network/api npm run build
- lhci collect
+ npm install
+ VITE_BASE_URL=https://staging.govtool.byron.network/ npm run build
+ lhci collect
- name: Evaluate reports
if: github.repository_owner != 'IntersectMBO'
run: |
- lhci assert --preset "lighthouse:recommended"
+ lhci assert --preset "lighthouse:recommended"
- name: Publish reports
working-directory: ./govtool/frontend
if: github.repository_owner == 'IntersectMBO'
run: |
- lhci assert --preset lighthouse:recommended || echo "LightHouse Assertion error ignored ..."
- lhci upload --githubAppToken="${{ secrets.LHCI_GITHUB_APP_TOKEN }}" --token="${{ secrets.LHCI_SERVER_TOKEN }}" --serverBaseUrl=https://lighthouse.cardanoapi.io --ignoreDuplicateBuildFailure
- curl -X POST https://ligththouse.cardanoapi.io/api/metrics/build-reports \
- -d "@./lighthouseci/$(ls ./.lighthouseci |grep 'lhr.*\.json' | head -n 1)" \
- -H "commit-hash: $(git rev-parse HEAD)" \
- -H "secret-token: ${{ secrets.METRICS_SERVER_SECRET_TOKEN }}" \
- -H 'Content-Type: application/json' || echo "Metric Upload error ignored ..."
+ lhci assert --preset lighthouse:recommended || echo "LightHouse Assertion error ignored ..."
+ lhci upload --githubAppToken="${{ secrets.LHCI_GITHUB_APP_TOKEN }}" --token="${{ secrets.LHCI_SERVER_TOKEN }}" --serverBaseUrl=https://lighthouse.cardanoapi.io --ignoreDuplicateBuildFailure
+ curl -X POST https://ligththouse.cardanoapi.io/api/metrics/build-reports \
+ -d "@./lighthouseci/$(ls ./.lighthouseci |grep 'lhr.*\.json' | head -n 1)" \
+ -H "commit-hash: $(git rev-parse HEAD)" \
+ -H "secret-token: ${{ secrets.METRICS_SERVER_SECRET_TOKEN }}" \
+ -H 'Content-Type: application/json' || echo "Metric Upload error ignored ..."
diff --git a/.github/workflows/test_backend.yml b/.github/workflows/test_backend.yml
index eb17b9e46..7c53ee7b3 100644
--- a/.github/workflows/test_backend.yml
+++ b/.github/workflows/test_backend.yml
@@ -3,12 +3,12 @@ name: Backend Test
on:
push:
paths:
- - .github/workflows/test_backend.yml
+ - .github/workflows/test_backend.yml
# - govtool/backend
# - tests/govtool-backend
schedule:
- - cron: '0 0 * * *'
+ - cron: "0 0 * * *"
workflow_dispatch:
inputs:
deployment:
@@ -21,29 +21,104 @@ on:
- "govtool-sanchonet.cardanoapi.io/api"
jobs:
- build:
+ backend-tests:
runs-on: ubuntu-latest
steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Set up Python
- uses: actions/setup-python@v4
- with:
- python-version: 3.11.4
- cache: 'pip'
-
- - name: Run Backend Test
- working-directory: tests/govtool-backend
- run: |
- python -m pip install --upgrade pip
- pip install -r requirements.txt
- pytest -v --github-report
- env:
- BASE_URL: https://${{inputs.deployment || 'staging.govtool.byron.network/api' }}
- METRICS_URL: https://metrics.cardanoapi.io
- METRICS_API_SECRET: "${{ secrets.METRICS_SERVER_SECRET_TOKEN }}"
-
- # - uses: schemathesis/action@v1
- # with:
- # schema: "http://localhost:8080/swagger.json"
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Set up Python
+ uses: actions/setup-python@v4
+ with:
+ python-version: 3.11.4
+ cache: "pip"
+
+ - name: Run Backend Test
+ working-directory: tests/govtool-backend
+ run: |
+ python -m pip install --upgrade pip
+ pip install -r requirements.txt
+ python -m pytest --alluredir allure-results
+ env:
+ BASE_URL: https://${{inputs.deployment || 'staging.govtool.byron.network/api' }}
+ METRICS_URL: https://metrics.cardanoapi.io
+ METRICS_API_SECRET: "${{ secrets.METRICS_SERVER_SECRET_TOKEN }}"
+
+ - name: Upload report
+ uses: actions/upload-artifact@v3
+ if: always()
+ with:
+ name: allure-results
+ path: tests/govtool-backend/allure-results
+
+ publish-report:
+ runs-on: ubuntu-latest
+ if: always()
+ needs: backend-tests
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download results
+ uses: actions/download-artifact@v3
+ with:
+ name: allure-results
+ path: allure-results
+
+ - name: Get Allure history
+ uses: actions/checkout@v4
+ continue-on-error: true
+ with:
+ ref: gh-pages
+ path: gh-pages
+ repository: ${{vars.GH_PAGES}}
+ token: ${{secrets.PERSONAL_TOKEN}}
+
+ - name: Register report
+ id: register-project
+ if: ${{success()}}
+ run: |
+ chmod +x ./register_report.sh
+ ./register_report.sh
+ - if: steps.register-project.outputs.project_exists != 'true'
+ uses: JamesIves/github-pages-deploy-action@v4
+ with:
+ token: ${{ secrets.PERSONAL_TOKEN }}
+ repository-name: ${{vars.GH_PAGES}}
+ branch: gh-pages
+ folder: project
+
+ - name: Generate report details
+ id: report-details
+ run: |
+ chmod +x ./generate_report_details.sh
+ ./generate_report_details.sh
+
+ - name: Build report
+ uses: simple-elf/allure-report-action@master
+ if: always()
+ id: allure-report
+ with:
+ allure_results: allure-results
+ gh_pages: gh-pages/${{env.REPORT_NAME}}
+ allure_report: allure-report
+ allure_history: allure-history
+ keep_reports: 2000
+ report_url: ${{steps.report-details.outputs.report_url}}
+ github_run_num: ${{steps.report-details.outputs.report_number}}
+
+ - name: Generate Latest Report
+ run: |
+ chmod +x ./generate_latest_report_redirect.sh
+ ./generate_latest_report_redirect.sh ${{steps.report-details.outputs.report_number}}
+
+ - name: Deploy report to Github Pages
+ uses: JamesIves/github-pages-deploy-action@v4
+ with:
+ token: ${{ secrets.PERSONAL_TOKEN }}
+ repository-name: ${{vars.GH_PAGES}}
+ branch: gh-pages
+ folder: build
+ target-folder: ${{ env.REPORT_NAME }}
+
+ env:
+ REPORT_NAME: backend
+ GH_PAGES: ${{vars.GH_PAGES}}
diff --git a/.github/workflows/test_integration_playwright.yml b/.github/workflows/test_integration_playwright.yml
new file mode 100644
index 000000000..87ce009d7
--- /dev/null
+++ b/.github/workflows/test_integration_playwright.yml
@@ -0,0 +1,132 @@
+name: Integration Test [Playwright]
+
+on:
+ push:
+ paths:
+ - .github/workflows/test_integration_playwright.yml
+ workflow_run:
+ workflows: ["Build and deploy GovTool to TEST server"]
+ types: [completed]
+
+jobs:
+ integration-tests:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'push' }}
+ defaults:
+ run:
+ working-directory: tests/govtool-frontend/playwright
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: "18"
+ cache: "npm"
+ cache-dependency-path: "./tests/govtool-frontend/playwright/package-lock.json"
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Cache Playwright browsers
+ id: cache-playwright-browsers
+ uses: actions/cache@v3
+ with:
+ path: |
+ ~/.cache/ms-playwright
+ key: ${{ runner.os }}-playwright-browsers
+
+ - name: Install Playwright browsers if not cached
+ if: steps.cache-playwright-browsers.outputs.cache-hit != 'true'
+ run: npx playwright install --with-deps
+
+ - name: Run tests
+ run: |
+ npm test
+
+ - name: Upload report
+ uses: actions/upload-artifact@v3
+ if: always()
+ with:
+ name: allure-results
+ path: tests/govtool-frontend/playwright/allure-results
+
+ env:
+ FRONTEND_URL: ${{vars.FRONTEND_URL}}
+ API_URL: ${{vars.API_URL}}
+ DOCS_URL: ${{ vars.DOCS_URL }}
+ FAUCET_API_URL: ${{ vars.FAUCET_API_URL }}
+ FAUCET_API_KEY: ${{secrets.FAUCET_API_KEY}}
+ KUBER_API_URL: ${{vars.KUBER_API_URL}}
+ KUBER_API_KEY: ${{secrets.KUBER_API_KEY}}
+ WORKERS: ${{vars.WORKERS}}
+
+ publish-report:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'push' }}
+ needs: integration-tests
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download report
+ uses: actions/download-artifact@v3
+ with:
+ name: allure-results
+ path: allure-results
+
+ - name: Get Allure history
+ uses: actions/checkout@v4
+ continue-on-error: true
+ with:
+ ref: gh-pages
+ path: gh-pages
+ repository: ${{vars.GH_PAGES}}
+ token: ${{ secrets.PERSONAL_TOKEN }}
+
+ - name: Register report
+ id: register-project
+ if: ${{success()}}
+ run: |
+ chmod +x ./register_report.sh
+ ./register_report.sh
+ - if: steps.register-project.outputs.project_exists != 'true'
+ uses: JamesIves/github-pages-deploy-action@v4
+ with:
+ token: ${{ secrets.PERSONAL_TOKEN }}
+ repository-name: ${{vars.GH_PAGES}}
+ branch: gh-pages
+ folder: project
+
+ - name: Generate report details
+ id: report-details
+ run: |
+ chmod +x ./generate_report_details.sh
+ ./generate_report_details.sh
+
+ - name: Build report
+ uses: simple-elf/allure-report-action@master
+ if: always()
+ id: allure-report
+ with:
+ allure_results: allure-results
+ gh_pages: gh-pages/${{env.REPORT_NAME}}
+ allure_report: allure-report
+ allure_history: allure-history
+ keep_reports: 2000
+ report_url: ${{steps.report-details.outputs.report_url}}
+ github_run_num: ${{steps.report-details.outputs.report_number}}
+
+ - name: Generate Latest Report
+ run: |
+ chmod +x ./generate_latest_report_redirect.sh
+ ./generate_latest_report_redirect.sh ${{steps.report-details.outputs.report_number}}
+
+ - name: Deploy report to Github Pages
+ uses: JamesIves/github-pages-deploy-action@v4
+ with:
+ token: ${{ secrets.PERSONAL_TOKEN }}
+ repository-name: ${{vars.GH_PAGES}}
+ branch: gh-pages
+ folder: build
+ target-folder: ${{ env.REPORT_NAME }}
+
+ env:
+ REPORT_NAME: integration
+ GH_PAGES: ${{vars.GH_PAGES}}
diff --git a/.gitignore b/.gitignore
index 2ce4f59f3..2bad55163 100644
--- a/.gitignore
+++ b/.gitignore
@@ -135,3 +135,7 @@ infra/terraform/.terraform*
scripts/govtool/dev-postgres_db
scripts/govtool/dev-postgres_user
scripts/govtool/dev-postgres_password
+
+# nodejs/yarn
+
+node_modules
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c555e2791..fee94d409 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,12 +10,33 @@ changes.
## [Unreleased]
+- Inicialize Usersnap into App [Issue 546](https://github.com/IntersectMBO/govtool/issues/546)
+- Integrate frontend with metadata validation service [Issue 617](https://github.com/IntersectMBO/govtool/issues/617)
+- Implement a loading modal for the validation of the metadata [Issue 646](https://github.com/IntersectMBO/govtool/issues/646)
+- Fix displaying modals to not block signing transactions [Issue 710](https://github.com/IntersectMBO/govtool/issues/710)
+- Change style of url button to trim the file name [Issue 655](https://github.com/IntersectMBO/govtool/issues/655)
+- Change regex for parsing urls to match urls without protocol [Issue 655](https://github.com/IntersectMBO/govtool/issues/655)
+- Integrate ga displaying metadata validation with the validation service [Issue 712](https://github.com/IntersectMBO/govtool/issues/712)
+- Correct text of the governance action type [Issue 651](https://github.com/IntersectMBO/govtool/issues/651)
+- Enable coverage tests report
+
### Added
+- added pagination to `drep/list` [Issue 756](https://github.com/IntersectMBO/govtool/issues/756)
+- added search query param to the `drep/getVotes` [Issue 640](https://github.com/IntersectMBO/govtool/issues/640)
+- added filtering and sorting capabilities to the `drep/list` [Issue 722](https://github.com/IntersectMBO/govtool/issues/722)
+- added drepView and txHash to the `ada-holder/get-current-delegation` [Issue 689](https://github.com/IntersectMBO/govtool/issues/689)
+- addded latestTxHash to the `drep/info` and `drep/list` endpoints [Issue 627](https://github.com/IntersectMBO/govtool/issues/627)
+- added `txHash` to `drep/getVotes` [Issue 626](https://github.com/IntersectMBO/govtool/issues/626)
+- added `references` to all proposal related endpoints
- added `epochNo` and `date` to `drep/getVotes` and `proposal/get`
- Added `isRegisteredAsSoleVoter` and `wasRegisteredAsSoleVoter` fields to the drep/info response [Issue 212](https://github.com/IntersectMBO/govtool/issues/212)
- Abandoning registration as DRep [Issue 151](https://github.com/IntersectMBO/govtool/issues/151)
- Abandoning GA creation [Issue 359](https://github.com/IntersectMBO/govtool/issues/359)
+- Choose GA type - GA Submiter [Issue 358](https://github.com/IntersectMBO/govtool/issues/358)
+- Create Automated Voting Options component [Issue 216](https://github.com/IntersectMBO/govtool/issues/216)
+- Change step 3 components [Issue 152](https://github.com/intersectMBO/govtool/issues/152)
+- Add possibility to vote on behalf of myself - Sole Voter [Issue 119](https://github.com/IntersectMBO/govtool/issues/119)
- Create DRep registration page about roles [Issue 205](https://github.com/IntersectMBO/govtool/issues/205)
- Create Checkbox component. Improve Field and ControlledField [Issue 177](https://github.com/IntersectMBO/govtool/pull/177)
- Vitest unit tests added for utils functions [Issue 81](https://github.com/IntersectMBO/govtool/issues/81)
@@ -35,9 +56,14 @@ changes.
- Add frontend test workflow on github actions [Issue 500](https://github.com/IntersectMBO/govtool/issues/500)
- Add type check & lint to github actions [Issue 512](https://github.com/IntersectMBO/govtool/issues/512)
- Add eslint & prettier to frontend package [Issue 166](https://github.com/IntersectMBO/govtool/issues/166)
+- Add DRep list pagination [Issue 740](https://github.com/IntersectMBO/govtool/issues/740)
### Fixed
+- drep/list sql fix (now the latest tx date is correct) [Issue 826](https://github.com/IntersectMBO/govtool/issues/826)
+- drep/info no longer returns null values [Issue 720](https://github.com/IntersectMBO/govtool/issues/720)
+- drep/getVotes no longer returns 500 [Issue 685](https://github.com/IntersectMBO/govtool/issues/685)
+- drep/info no longer returns 500 [Issue 676](https://github.com/IntersectMBO/govtool/issues/676)
- proposal/list search is case insensitive now [Issue 582](https://github.com/IntersectMBO/govtool/issues/582)
- proposal/list now takes optional `search` query param [Issue 566](https://github.com/IntersectMBO/govtool/issues/566)
- Fix possible sql error when there would be no predefined drep voting pwoer [Issue 501](https://github.com/IntersectMBO/govtool/issues/501)
@@ -60,6 +86,7 @@ changes.
### Changed
+- `drep/info` now returns 4 different tx hashes instead of one latest tx hash [Issue 688](https://github.com/IntersectMBO/govtool/issues/688)
- `proposal/list` allows user to search by tx hash [Issue 603](https://github.com/IntersectMBO/govtool/issues/603)
- `proposal/list` returns additional data such ass `expiryEpochNo`, `createdEpochNo`, `title`, `about`, `motivation`,
`rationale`. `TreasuryWithdrawals` GAs also got nicely formated details. [Issue 372](https://github.com/IntersectMBO/govtool/issues/372)
@@ -84,6 +111,8 @@ changes.
- Extend the eslint config to apply to the style guide of the project [Issue 514](https://github.com/IntersectMBO/govtool/issues/514)
- Update frontend package readme to reflect recent changes [Issue 543](https://github.com/IntersectMBO/govtool/issues/543)
- Change input selection strategy to 3 (random) [Issue 575](https://github.com/IntersectMBO/govtool/issues/575)
+- Changed documents to prepare for open source [Issue 737](https://github.com/IntersectMBO/govtool/issues/737)
+- Changed copy on maintenance page [Issue 753](https://github.com/IntersectMBO/govtool/issues/753)
### Removed
diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md
index 8ceedd39a..0e110ce14 100644
--- a/CODE-OF-CONDUCT.md
+++ b/CODE-OF-CONDUCT.md
@@ -60,7 +60,7 @@ representative at an online or offline event.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
-[XXXX@intersectmbo.org](XXXX@intersectmbo.org).
+[oso@intersectmbo.org](oso@intersectmbo.org).
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a6e724ba7..b348e3850 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,12 @@
# Contributing to the `GovTool` project
+⚠️ This is a work in progress document, more instruction on how-to contribute to come!
+
+Contributing todo:
+- [ ] Align with latest OSC policies
+- [ ] Refactor to reflect reality
+- [ ] Make more friendly to open source contributors
+
Thanks for considering contributing and helping us on creating GovTool! 😎
The best way to contribute right now is to try things out and provide feedback, but we also accept contributions to the documentation and the obviously to the code itself.
diff --git a/README.md b/README.md
index 5fe34a9ff..44189428f 100644
--- a/README.md
+++ b/README.md
@@ -10,6 +10,8 @@
[![npm](https://img.shields.io/npm/v/npm.svg?style=flat-square)](https://www.npmjs.com/package/npm) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) [![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
+![Statements](https://img.shields.io/badge/statements-29.28%25-red.svg?style=flat) ![Branches](https://img.shields.io/badge/branches-86.39%25-yellow.svg?style=flat) ![Functions](https://img.shields.io/badge/functions-14.28%25-red.svg?style=flat) ![Lines](https://img.shields.io/badge/lines-29.28%25-red.svg?style=flat)
+
@@ -25,27 +27,19 @@ Learn more; [docs.sanchogov.tools](https://docs.sanchogov.tools/).
- [GovTool Backend](./govtool/backend/README.md)
- [GovTool Frontend](./govtool/frontend/README.md)
-- [GovTool deployment setup](./scripts/govtool/README.md)
+- [GovTool Infrastructure](./infra/)
- [Documentation](./docs/)
- [Tests](./tests/)
### Utilities
-- [Governance Action Loader](./src/governance-action-loader/)
-
-## 🔩 Architecture
-
-GovTool consists of a Haskell backend and a React Typescript frontend.
+- [Governance Action Loader](./governance-action-loader/)
### Backend
GovTool backend implements an API wrapper around an instance of [DB-Sync](https://github.com/IntersectMBO/cardano-db-sync) which interfaces with a [Cardano Node](https://github.com/IntersectMBO/cardano-node).
The API exposes endpoints making the querying of governance related data from DB-Sync straight forward.
-#### API Reference
-
-[`Swagger documentation`](https://sanchogov.tools/api/swagger-ui/)
-
### Frontend
GovTool frontend web app communicates with the backend over a REST interface, reading and displaying on-chain governance data.
@@ -54,4 +48,7 @@ Frontend is able to connect to Cardano wallets over the [CIP-30](https://github.
## 🤝 Contributing
Thanks for considering contributing and helping us on creating GovTool! 😎
+
+⚠️ We are in the process of improving our contributing documentation, improvements to come.
+
Please checkout our [Contributing Documentation](./CONTRIBUTING.md).
diff --git a/SECURITY.md b/SECURITY.md
index b7cf16805..5ff6a2249 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -2,7 +2,7 @@
## Reporting a Vulnerability
-Please report (suspected) security vulnerabilities to [XXXX@intersectmbo.org](XXXX@intersectmbo.org).
+Please report (suspected) security vulnerabilities to [security@intersectmbo.org](security@intersectmbo.org).
You will receive a response from us within 48 hours.
If the issue is confirmed, we will release a patch as soon as possible.
diff --git a/docs/architecture/.gitignore b/docs/architecture/.gitignore
deleted file mode 100644
index 3434d617e..000000000
--- a/docs/architecture/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-# arch structurizr
-arch-structurizr/.structurizr
-arch-structurizr/workspace.json
-
-#other
-.vscode
-
-#oura install
-oura/
-./oura/
diff --git a/docs/architecture/arch-structurizr/README.md b/docs/architecture/arch-structurizr/README.md
deleted file mode 100644
index da08652d9..000000000
--- a/docs/architecture/arch-structurizr/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Voltaire dApp Architecture Documentation
-
-## Architecture as code
-
-- Describe the architecture logically with a domain specific language and generate all the diagrams
-with different levels of details based on the C4Model (Context, Containers, Components, Code).
-- Accompanied diagrams with documentation setting the project within its environment.
-
-## How to Run
-
-```bash
-docker-compose up
-```
-
-## Diagrams
-```bash
-http://localhost:8080/workspace/diagrams
-```
-
-## Documentation
-```bash
-http://localhost:8080/workspace/documentation/*
-```
-
-## Decision Log
-```bash
-http://localhost:8080/workspace/decisions/*
-```
diff --git a/docs/architecture/arch-structurizr/dapp.dsl b/docs/architecture/arch-structurizr/dapp.dsl
deleted file mode 100644
index a1b1795bd..000000000
--- a/docs/architecture/arch-structurizr/dapp.dsl
+++ /dev/null
@@ -1,79 +0,0 @@
-
-user = person "ADA Holder" "😀"
-
-userDRep = person "dRep" "😎"
-userCCMember = person "CC Member" "🧐"
-userSPO = person "SPO" "🤠"
-
-userGovActSub = person "Gov Action Submitter" "😛"
-
-browser = softwareSystem "Browser" "Firefox, Chrome, Safari, Edge" "Browser"
-
-cardanoWallet = softwareSystem "Cardano Wallet" "" "Owned by Other Entities"
-
-hwWallet = softwareSystem "HW Wallet" "Cardano Hardware Wallet" "Owned by Other Entities"
-
-group "CardanoWorld" {
- cardanoNode = softwareSystem "CardanoNode"
- cardanoCLI = softwareSystem "cardano-cli Tool"
- cardanoCLI -> cardanoNode "uses"
-}
-
-group "Somewhere?" {
- metadataServer = softwareSystem "dRep/Governance Action Metadata Server" "Off chain metadata storage used to fetch metadata from dRep registrations + governance actions that happen on chain" ""
-}
-
-# group "Community Tooling" {
-# communityFE = softwareSystem
-
-# }
-
-
-group "Owned by Gov Analysis Squad"{
- dAppFrontEnd = softwareSystem "Voltaire dApp Frontend" "Web App" "" {
- walletConnector = container "walletConnector" "" "" ""
- httpClient = container "HTTP Client" "" "" ""
-
- walletConnector -> cardanoWallet "(dAPP CONNECTOR CIP) \nPOST /drep-reg/ \nPOST /vote\nPOST /drep-ret/\n GET /stake-key/ "
-
- }
-
- dAppBackEnd = softwareSystem "Voltaire dApp Backend" "HTTP Service in front of a chain follower and DB" {
-
- database = container "Database" "" "Some Database" "Database"
- voltaireAPI = container "Voltaire DB API" "REST API that offers the ability for clients to find Voltaire related chain data" ""
- chainFollower = container "Chain Follower" "Follows the Cardano chain, reduces data, sinks it a store" "txpipe/oura"
- txValidationService = container "Validation Service" "Consumes ordered events read from the sink, validates the transactions and when valid stores in store" ""
- kafka = container "Message Broker" "Message / Event broker" "apache/kafka" "Message Broker"
-
- chainFollower -> cardanoNode "follows"
- chainFollower -> chainFollower "applyFilter(rawBlock)"
- chainFollower -> kafka "sink filtered dapp registration"
- kafka -> txValidationService "consumes dapp registrations"
- txValidationService -> metadataServer "GET /gov-act-meta"
- txValidationService -> database "stores dapp registrations"
- voltaireAPI -> database "reads"
-
- dAppFrontEnd.httpClient -> voltaireAPI "GET /dreps \nGET /gov-act"
-
- dAppFrontEnd.httpClient -> metadataServer "GET /gov-metadata"
- }
-}
-
-user -> browser "uses"
-userDRep -> browser "uses"
-userDRep -> metadataServer "POST /drep-meta/"
-userSPO -> cardanoCLI "uses"
-userCCMember -> cardanoCLI "uses"
-
-userGovActSub -> metadataServer "POST /gov-act-meta/"
-
-# userGovActSub -> cardanoCLI "POST /gov-act/"
-
-browser -> dAppFrontEnd "connects"
-
-// Light wallet and HW wallet
-hwWallet -> cardanoWallet "integrates"
-
-// User's browser attaches to GVC FE
-browser -> dAppFrontEnd "connects"
diff --git a/docs/architecture/arch-structurizr/decisions/0001-decision b/docs/architecture/arch-structurizr/decisions/0001-decision
deleted file mode 100644
index 5673ab07c..000000000
--- a/docs/architecture/arch-structurizr/decisions/0001-decision
+++ /dev/null
@@ -1,17 +0,0 @@
-# 1. Record architecture decisions
-
-Date: 2023-
-
-## Status
-
-Accepted
-
-## Context
-
-
-
-## Decision
-
-
-
-## Consequences
diff --git a/docs/architecture/arch-structurizr/docker-compose.yml b/docs/architecture/arch-structurizr/docker-compose.yml
deleted file mode 100644
index ad387bf08..000000000
--- a/docs/architecture/arch-structurizr/docker-compose.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-version: "3.6"
-
-services:
- voltaire-structurizr:
- container_name: voltaire-dapp-architecture
- image: structurizr/lite:latest
- ports:
- - '8080:8080'
- volumes:
- - .:/usr/local/structurizr:rw
diff --git a/docs/architecture/arch-structurizr/documentation/documentation.md b/docs/architecture/arch-structurizr/documentation/documentation.md
deleted file mode 100644
index 6844a6b12..000000000
--- a/docs/architecture/arch-structurizr/documentation/documentation.md
+++ /dev/null
@@ -1 +0,0 @@
-## Voltaire Voting App
diff --git a/docs/architecture/arch-structurizr/workspace.dsl b/docs/architecture/arch-structurizr/workspace.dsl
deleted file mode 100644
index ee4cffc41..000000000
--- a/docs/architecture/arch-structurizr/workspace.dsl
+++ /dev/null
@@ -1,84 +0,0 @@
-workspace "Voltaire Implementation Draft" {
- !docs ./documentation
- !adrs ./decisions
- !identifiers hierarchical
-
- model {
- !include dapp.dsl
- }
-
- views {
- systemLandscape all {
- title "Volatire Tech Implementation System Overview [Draft]"
- include *
- autoLayout lr
- }
-
- systemContext dAppFrontEnd {
- include *
- autoLayout lr
- }
-
- systemContext dAppBackEnd {
- include *
- autoLayout lr
- }
-
- container dAppBackEnd {
- include *
- autolayout lr
- }
-
- container dAppFrontEnd {
- include *
- autolayout lr
- }
-
- // Colour pallette: https://colorbrewer2.org/#type=sequential&scheme=PuBu&n=4
- styles {
- element "Software System" {
- background #0570b0
- color #ffffff
- shape RoundedBox
- }
-
- element "Container" {
- background #74a9cf
- color #ffffff
- shape RoundedBox
- }
-
- element "Component" {
- background #bdc9e1
- color #ffffff
- shape RoundedBox
- }
-
- element "Person" {
- background #66c2a5
- color #ffffff
- shape person
- }
-
- element "Owned by Other Entities" {
- background #999999
- color #ffffff
- }
-
- element "Browser" {
- background #999999
- color #ffffff
- shape WebBrowser
- }
-
- element "Database" {
- shape Cylinder
- }
- }
-
- branding {
- logo data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfUAAABkCAMAAACo21lxAAAArlBMVEX///8AM60AMKwAKasAL6wAK6sALasAJqoZPK8AI6kAKKuruODc4PCls90AIakcS7dXc8Vmd8NGZcCkrtudptZogcoAHqj09vz5+/4AFacAGqg9Xb3Ez+wAOrHt8fq2weTY3vFzhcrP1+4ADabu8fnj6PV/kc9SbcIgQ7KNn9Y6VrjAyujM1O2+xuVScMQyULaUn9N3jM4AAKVue8M/Yb6Fl9ItTLUmRrNndsJjfsljQZZ0AAAWOElEQVR4nO1diXbiuLbFkgdswMy2MZMhmCkkhNchufz/jz1PR5ZsSYZUp26lrvfq7rUaT5L20dGZpDQaX8Ds9XwJv/JgjZ+LQMPI6P63W1Hjm9Dm/3w1FUXxn7nXwpn3jQ2q8e2YfSoDl3dha0SsO0vepbWuN2vd/4MRdjXkj3hX1v+nI2zw5rQ7wIrRq2f7z0UwRwr+h3upNZ3vAt6F8FNXcM36T8bKx3aHf8kNBcxeTcPnqv4aPwTutv84ga1t6xuaUqNGjRo1atSoUaNGjfsRHMYv1R74YnTbBt/fmBq/B625bdkrbmSWQvvsYLM5+y0tqvHtWNiqoigTbmSWwi4OzevKb2lSjW9Hx4noVLQB82NwuA2ZfNxij+LbJoIkXY0fhqFdZr1j2dhRTtQvi2bC+lPN+t+BhR3z6dAa/sWJf9LnNMWrWDjwx+9uXY1vwkg1LPOVtuZecTyvFftA/RYObNM8r39342p8F9bXC5t526sJ67hH/+i13lqL39quGr8V71rCunH9bzekxm9Ex49JR06tz/8OrF/uYdK7+Jqu8Yurire2Dvyiyhp/DK6Kjd7uuM8b7s67ewouNn3fNL+0EHgJvvJkDcB9Q/hiIkW1gn/xu61oLUDWgytBezm6Xsa9wfv77jJqrWvqH8fiZfi2XfV377v+avvWmcni6Ye4zN0e/otfX1niwnkuvGDURdgwMNZ0VdewgdX563NVEiDCet8EKBfJfUO1KcTn6+HEr+ruKLz79+/j0al9R+NibPNXfAaS++bpPfOjoL58hNIbVGFALGwNFM0wLKxF67CGLcPQ57sXYbl6Kw6+Oo9lUOQzsTWJ5jq+f64ve4qtJlG+HJEQvHcqJ/zIRADVkNw3dJAQqmb4+z6vPrRjcB/QsenMB9t7+ucqOnnMlllEWE1vMnr86yM7ve4IWD/1945WGEIFafbHKhC0bOfjyU0su6fr2cHHQ97JWV97evJvL8InvMuTPblbeQRTv9TeBLozr7AivCb1oExdDU3eB2gZ889l3dSxxA/o1uTYqpTKNLCdPSJLUmmkF3zZGGUdMLmsB7sJ5g6homJnzI+nuMObuP3uVTNUJZpJKJsN3lVPvoDxRSgp3mkYCDtY7M9c47Y3bfNYqklffOpmbScmoYr1+HG1NN4S1mPoxlQs+SkGOnW/L9GnZAyQeuJdl7HuDedY0kyj+3jJc9/JhAgZ6ahcDZAqZ/zw28q42HwhhSZPZZG/G9NbPRDeeAfrCnIOhacqWI8kxSw+wuKk0J3DK/GdueRr5w3nuoz1sXwII+m8w9sObsrnG3z5LVdRyI9Ng9Mkf53ZIY8Y2vtXojfeyqbbF62ZarQQ0j9hkX0Tf7bJ3GqJR/Ue1qP+FEankvVIIe94HAFWzAvQXNwVSt9ZN851MetenxlCJR5CnbWSkC8XzggvioVUZ5pqVrer5g8nsdgxNb30aapT13uMkKZXqTsOrtTbVEtTmtPp8bOJDOpnayB8GoYCtNFcqOIJ6wgXoFEdRBarWAjr9FMarbQjqRQ3r9GwEN0+meVBr3IOx7IUs76iBDpqp6ocp9PpWVENaqVHWgXtrpEMg71N/m9NzWxFPy4a4Z6WojSx7vUSknTlYR/7JX+9bncPy2wurDt9O+fdFsZ7suFUoU2WcP8NWFXovBqPx/G/gNezaZIuGaz3B6yjLnliddtNdd+gmLdvwm6npSkKakIfz8KRoFlH87LaFLJ+yGe6as9XrexRd90Zq0bO1ZPcj24Z2Uhu6I9lrQkbgUP9oNjJMIfZ6GuPTvbwg0w048i6aeGKNBlpAm9llg2qMsteowk3WMJcx0VTxPPc8NAEEtGe0cHAuka7U567WV/f1VxFCFdNr5dyaY1uGamq0J5jLFrto9QPEevrXGTxx4FdbcLtnrxW7Uo3mg+NbCgTZXcwaNZRxDptNWest7Pf8KNb3a5ETu1+yVYfEQ2FeQtdhEuqD3B/A6ayKeoazPUS6wnWH0A7uzufy3oCbzYn8wEpgq8GmWSgE/ga1lbQPpZ1xSjdJ2Dd2xGdaO/KzQg/SCtNWRCrsUzv09OFvUVPbfUcafg5reEniT5ZnJNBQziQvbiMNnkXV4nnq2qT+2JoSiRsI0M0WhmEcz17FQg37vNaUGY9wpUMjciKvKRv1Y+NMDOPkCay/Qreq1+cQALWW2TeYC6r3hhuQKrU2m4mDcgMj5A2QmPPw91R7UPNdIa+JaJs9mWv5WBExpq/NK5Ajg2uEsnmb7LumCCXglGVz/X8UypTDCZlvXElY8NfgiCEFIsivJ9nqCUosK7uA/a6gPUjKClDIHk5X2I9EyP4dLAxAcmhPeJJvCotac8NLMOVaZpPY5kPw4EH/gGa833ytp7pAsyVp6zH2q5B6nwULAhIVMz1xks2Nmz8TM56bj0b3HnWyp62g1xn6gOB5VGMVOF39jqf9TXoG30vsmhC4uGo0oCXN7pcgvyh3OBKxWlHRBwPCM/h4fDwVog1mAhFN5mgB1zwXLLnrDd2TPRbNiiJCHBQxfoaPH9EC2AF6wswRtUPzsoOtpweH/LjOSBV3MhbmXVwogB81g/AhcRrhqFRnAfMrk7qQyFtkqnhxaufTDLV5vX1AYClWDCcKSxBlCccMd1a1NNrCO34fLVRxXr4mT3PxPcqWM89HMzxi8BWMBKFCIpWZHkA6zpMMqQyRHJZd8GKhcAJt2vg14r6zkWw03zHV3p5IzpH23H886/Wz8FAiAOVxNzzy5bIJjPxUyvGI6PKb1UV620YGp2WwCrWG5A1sjgqfpux7iRvfAYbZsJ/E9A3eCdeJOOQDHmshyB10jz5FmyW411lre4mdL34MJrTcs0cSLMJl61wkdyxPm2+WP8QnjOxFh2CkxxylOYXOWfedDL7LLsE5prOj9tXsX7K5As9ouHzQCUn/LLJzA49tQ8Xx6y3Aj2bcY23M+Ia4x6l4aADNs060YWWTOu+wOrCCf6UENz2zsSZSnLc3vDs+L6/+1qJHMlMTIQiuBhkxQZ6aahgcqMsq+6Ch2Jw7YsqG74Dq80j1lw0oPBVv3wJs9MQpr4gkgSsrxq5B05ng7hz/ZK1T2gjpgA5squjaAclUaG68S4y/cKulbRVE3rJUhAR1MX3eIDSlVO2kBN/BKYd356rmOse2GU6YzpXsh7AwjAJipdAKj8zmtowL7XSrTGA9X+olBJCOU0j3lwfZMuaJV9sQakalTmYtwl82+AfNNnYnIlQ+l8pvwIi9OMXHiZTB4FNvCT2EE/bVbA+AkrYzGkl6wvwl0snbi4gXglOpwcLNt/yyC5q0e0HEv5RP8nQc1mHrxvy8QfvWyt2PhiOGKX/TEViHf5U7uW3II32R7zOeCXwT2hcoC2iIZUiG9Rct7lEonl+oFTDuyTeghDjGFWyTixSszjuh4ylvHqQLCJN3izSctYbPTKd8vM6eTb8AhwPUZQC2mLAYEXPLPKvDxXbRrSYv1LBGfTJmz0BHZqlwyhe38AWJdCnA/9gYZBAfiixAhCJpOqNrtC3KWdUyVy/eS6LTTg65kE2dtGtZr2fdaKoPDfZzEZN8sIQNLfG44hmPWySGAmG/vFYJz6ZLresOiThGIneUzfIfl7HXiLS8mc9nY62c5vZYvIy83ykE0LyOqDWxJ5wef0V1iEColAJ8Ta4MT5H0QDraP8+ZdG17Dxt+sQ+Ws06RFqL4c5T9j1anb+Cp8qLNNKsN1p5Zgd2GvFYz91NeYQMbE702eiqCqnHTF9JxRVDJlRk85wNug6QSTul+ol4kJEORBqvLb1Kd12MIKODVthEEngpuryqQtXVpNgE/sOUOBX0fzXrsEwVHfZMV6I5JUYnGDGHozsZ1qmlXT+nN/8K62S5njcUandq+koqdfQrrK9Y1gdYUZu8tvwK62DLMQsaWTg5K9KQrTLiA58LPuT9rBc6scg8DH1K/wjGF6/YjmXdOxMCjFQSf4l1soI1Lr5tw5g9xxUMyMyH0GPqrrjVEoyGV/f5hWX8Ml0Jsv+dzZ8sbhiGaPjHay7drLuIyTm4YIuUTKu76uaQWarQ+/JcH2UPsik2YlUdy3kqlvVGO1/aUwNdvq7fOdej2fd8yLXP1rSwsaKGcEDnU7lx8jZtzTFJp6tu2/O8u5sFPxcHS6KoZkIC8NIKua6+OFJWzbqGykXY1axDlAAz67oLthxbHtmGdCUuT6MC69HcIcOfpAa4rIMNr8mtOWpdZ/G8GjMl8S9UNYXNN7f6+UCieUBfOY3uqYYHd0mUJpMA6C1spXuGFpVjJpWs4yPHBqxm/T/c8D8kQIuLVxdiMa+lFxVZb4wJ7VocJ+Ox7n7c57m1chu+AqM8HMzzhCJspsS7mwgj6RKAPyEpIRQgzNqmvbIuIUwxjqlA1nWks4CR5WbwK1knSS92UYHFyyjMQbIqPpWC0CXWvSNRt+ZYkHO7M0pDfNrqyMjFSL6qGl1RmDzcJxFZhPGvRWTRo0/C+pjEY7z4Hy/deQfqo5zvzj23wTuFwTQbNxI4ZVDJegizjYnNgeZFc7p5Xlywkt1uljaOU7G5DNQOCmfGz76QRKN8Hzqxm+/wkZcD33f85lCWfZk6/kTpf+1oyRPYK0/iLwTLDDSLkM1S1PcBiym8suR1kChNUQtAEQ63HKaS9RPMxwmToIUpvS+0b0BKpN+Ltk5prkevIVVL+ruXFbEWsi8kvCnNvoD4cH2xIrzN6TmJ3y2CViukm7mJfpiFyS3rjfvFTGsbBN8R2yJbR0vg00vIC3FE1IK6JnZvadUQxuGJ1cRzoitZh7grG5E45u3grycReUUrojzXc/Ml1g2wODBznSzY3CAvYAHSo90RJyfYdiMnz5nmgrKcOrbt73+xqoKsiZJUECkypBUoHS0WoXgIg5B1F3Q8rzCiknWo/GMs0mBSbk8RJceFx/riM6/TH4MBQbNO8ni8cGTeC5CN/f2HQZ72ZtI1fdJLp7vXm6SF0Hbz184lAv1UVncAUudO19IsnqoHtRQhFefclplpiPRyb6pYn5FUHa2LLndIZamGnqPhI1/AyneCwJdo5shaJ8tgkSrZijTX7HAgbaLyqUYqnxeiYPGRKJb15VJ9xEABeSWISFIDWJF8SoO9VQdc4q0erCSJWfdgBwQnPF7Butcn1ZyUxJAaISmsgtnNZb3xZhSfY6sloThKsGMgwQzeId1/u+g9mflZQlvqu5M4uDCjphopp+hNDOxPHzxN1gVJFnrssGyq1A6gzXu+OkpQqLmS5NehgLno/TcqWV+CO8gct9u6J/hbqm/ksx7Hs1mwrJNaHn7teAJSMu/LyqzeY56Rk8rigt6AnZiK/9A5WCP16tJkwcPHyZJdDoKtUiEUvtL6+pRv5uABmls47VrCuncUTnY56ydS9MKYHWSUpe0rFoAKWA8/C4qjsAuCBEiFZc9k1zCWKfh1tuMp1d4neltbHJpl97Sm3YW6cO1BF24JDVKbPDVBkmhMqvdGlFqXB1LXzpYGymppOrDS2MXJLmV9vQd69TM1bwPSKW77ujB0BR9SwHrjuWDFFFgnO1pRk79M5klbSxbAA2fTSPQBs6dVscNGmzl9IY02wPYKfpZFAhLt1zlt9nrQI3pUYXObaL/MguySYlYxGevEjNeKW9ElrC9G+T52gx5PiBSJignheiEzKGKdWWLLrG9yzWLxHOA3LFB+BWQObDaqnWI+tcB6UuqR/W2AqnBwGcTQUPR5q+ByBlPuAT3Dquj9gFhY9MIprZvrgGirhayIiHUvPJzzveHMuQUbcObMgN8+oj3ZzXtC1qldqxzWqe2nSL0UJ0K7n28H16XO+ia90Uh3ujCnFsR7WkmSOEG6pzU9Jf4rpxZcqKKRc4cS/tNKI6Tr51wgPJiX/D8I3qBMLMaek1dLgiRrhcJNYF0dnGaAl85oNbDMfLnVGTcYHEFNUGOaL8VsJEnIeqPNnNhSOrUgL19Exny7zL/abt1wLjClM3cKWGINISuLS7tniuRkKbpSGkftpjy7R1uNvvl4Xbz3mWd0dUM5j6/D4ei6ms71vL3MIZWwN04tFkAQkO0GzADKWSch1ILln++lzsNrmmFgWvBVzEwiUDXihMiImxkUs95Y0vuKS6wv8ixNnBJRPvqj4XB42O2RRSkJ6TkqCU5TTb/By0f0aUTx8Ad+LnpE9YaHffP2oOOWfmtOjSBSsRE5jdGoMtJNj9+Km89mAPEERJuIctaJAivM0DtOI9IQo6hJMbsh3NqR30IHNyWsN27URCufS7NWaCGMxtCMx1BjNIQlPcmLA3LCEZw8tiThZPvRDesczBTxaXPJV5lae1JHMBGHBUlA1ORsHREU7gyJGc9wWMk6Mj7YhkCEQVY0ALEd5tAQGetubuLwTh4L9hXNROaAR/p6KF7q3VWyOiBMKqc7n1ZcUoutrTDm77bGwzsPWl0fZW3W5oxfkNeUS94IixJ9U9XeF5h/apf5XMVwasqqEEyG95iSzUUkJmlT64mM9UY7P3yGd95cu2ciRQxVX/EMrjffftqKLbGXnv/0hG65UC+2Xf/JWomXcbc3wZPenbQvxk+C0zAV3SlUuED0VHokK6mboYoaqnY3kmMzGMtaynp8CGlR4zwTs0MSB/PAeKRrKaWsU1Fo/omib4Yh4l13+PbWKZYU+QnPDx7Znhy+4999ItV6hTiNRpozLZhE4FHIws78DdtVuxs3IE/6BzV7O6UwePZ9pFv2J2eDDyntktaZgEFMHxWT7YkWRVbJsRg233pabPc25zBehM2joEAiiU19bYeiAIkJaN/zhwYyBJemHhlxKpggCBvafPdSzMVt/fSgP1teatdz0tsMTGbccJL+5IhKM9+yV+MnSo10fKt4KGF6LGFzeuEdLh4oRnKL9STNRs6s7DY/t+fs9CfnP/xHFp/ZI8I/mBgu3xXL0LKTORFSI9NYU24zkRl3ik+KvX9m3oFYe6BS4YAcs852cN4rlj+Z+Npnf/hSXiC8ZStFJ5C+KujAfWHpJ1HQ2GsBqMW23eLgZRaI1HcIX6koWlmSb5F5CL+IVC5piuTwn7B17R27Td2emKjZnY5HnDHMcTFMX342cwr3MD2O7+LyoNpK5bbZEjzX3aT4an3O/zzIELpu1Rh6L9fqk87j4hdf1y18V4rldNffD6rx5+OWxl2bv3YGUY2fhcw0FkbAa/wFCFtvjN6HHGfhdLjh5Rr81nbV+EbM9qZp72i7PysdZ/6OxWJnW6byla0vNf5EJIdMO3SC4C2JkWBmQ2ZSO6Xad4bhavzhSMNg6gfFp3eYGNhhY41pzLte6v8SBBnrTGhnfb0V/uz2sWb9r0KST7Wr9pYnWr/W8H8Nnucm9oW7UgDuysH2/NG/AVHjj8X60u9UV2B4y/Fb8P2NqVGjRo0aNWrUqFGjhgSt7eNRl2XvWldC/GR0HFO0wX0TCqh9s7H/b1be1fjNcAeaovP/qufoOO9xL3jRMyr3QPEaPwPuACsW9yir5ZOOrDn3oauD8H1/QqjGn4l2U59z62+TTWacP7LViPdRK+S0+Ro/Eu6Mr6tX8VYQ0Q6zr+xtrPEDcHI0ZL5X31fjr8Jy9yHe0Vjjz8f/A58flJOaxNzMAAAAAElFTkSuQmCC
- # font
- }
- }
-}
diff --git a/docs/architecture/dapp-arch-v1.1.PNG b/docs/architecture/dapp-arch-v1.1.PNG
deleted file mode 100644
index 90ed44335..000000000
Binary files a/docs/architecture/dapp-arch-v1.1.PNG and /dev/null differ
diff --git a/docs/architecture/dapp-user-states.PNG b/docs/architecture/dapp-user-states.PNG
deleted file mode 100644
index ff04ecf3c..000000000
Binary files a/docs/architecture/dapp-user-states.PNG and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/delegation-status.png b/docs/architecture/sequence-diagrams/delegation-status.png
deleted file mode 100644
index 93bc3905e..000000000
Binary files a/docs/architecture/sequence-diagrams/delegation-status.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/delegation.png b/docs/architecture/sequence-diagrams/delegation.png
deleted file mode 100644
index e6e31ac0b..000000000
Binary files a/docs/architecture/sequence-diagrams/delegation.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/drep-registration.png b/docs/architecture/sequence-diagrams/drep-registration.png
deleted file mode 100644
index c826e3141..000000000
Binary files a/docs/architecture/sequence-diagrams/drep-registration.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/drep-retirement.png b/docs/architecture/sequence-diagrams/drep-retirement.png
deleted file mode 100644
index bf3db2611..000000000
Binary files a/docs/architecture/sequence-diagrams/drep-retirement.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/drep-status.png b/docs/architecture/sequence-diagrams/drep-status.png
deleted file mode 100644
index ada0d9fc3..000000000
Binary files a/docs/architecture/sequence-diagrams/drep-status.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/login.png b/docs/architecture/sequence-diagrams/login.png
deleted file mode 100644
index 3e8489247..000000000
Binary files a/docs/architecture/sequence-diagrams/login.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/raw/delegation-status.txt b/docs/architecture/sequence-diagrams/raw/delegation-status.txt
deleted file mode 100644
index 2d7f117de..000000000
--- a/docs/architecture/sequence-diagrams/raw/delegation-status.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-title Is User Delegator
-
-participant dApp Frontend
-participant Wallet
-participant dApp Backend
-
-dApp Frontend->Wallet: ""API.getActiveStakeKeys()""
-Wallet->dApp Frontend: ""[pubStakeKey]""
-
-dApp Frontend->dApp Backend: ""GET delegation/{pubStakeKey}
-dApp Backend->dApp Frontend: ""delegationCert""
diff --git a/docs/architecture/sequence-diagrams/raw/delegation.txt b/docs/architecture/sequence-diagrams/raw/delegation.txt
deleted file mode 100644
index 689907360..000000000
--- a/docs/architecture/sequence-diagrams/raw/delegation.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-title Vote Delegation
-
-participant User
-participant dApp Frontend
-participant Wallet
-participant Cardano Node
-
-User->dApp Frontend: Enter ""dRepID""
-dApp Frontend->Wallet:""API.submitDelegation(dRepID, PubStakeKey)""
-Wallet->User: Ask permission popup (Wallet UI)
-User->Wallet: Access granted (Wallet UI)
-Wallet->Cardano Node: Submit transaction: \n""POST /delegation/{delegation-cert}
-Wallet->dApp Frontend: ""SignedDelegationCertificate""
diff --git a/docs/architecture/sequence-diagrams/raw/drep-registration.txt b/docs/architecture/sequence-diagrams/raw/drep-registration.txt
deleted file mode 100644
index 5e701117f..000000000
--- a/docs/architecture/sequence-diagrams/raw/drep-registration.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-title DRep Registration
-
-participant User
-participant dApp Frontend
-participant Wallet
-participant Cardano Node
-
-User->dApp Frontend: 'Register as a dRep' button pressed
-User->dApp Frontend: Supply metadata anchor
-dApp Frontend->dApp Frontend: Construct ""DRepRegistrationCertificate""
-dApp Frontend->Wallet: Pass certificate to wallet:\n""API.submitDRepRegistration(DRepRegistrationCertificate)""
-Wallet->User: Ask permission popup (Wallet UI)
-User->Wallet: Access granted (Wallet UI)
-Wallet->Cardano Node: Submit transaction: \n""POST /registration/{registration-cert}
-Wallet->dApp Frontend: ""SignedDRepRegistrationCertificate""
diff --git a/docs/architecture/sequence-diagrams/raw/drep-retirement.txt b/docs/architecture/sequence-diagrams/raw/drep-retirement.txt
deleted file mode 100644
index 99a43a9ae..000000000
--- a/docs/architecture/sequence-diagrams/raw/drep-retirement.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-title DRep Retirement
-
-participant User (dRep)
-participant dApp Frontend
-participant Wallet
-participant Cardano Node
-
-User (dRep)->dApp Frontend: 'Retire' button pressed
-dApp Frontend->dApp Frontend: Construct ""DRepRetirementCertificate""
-dApp Frontend->Wallet: Pass certificate to wallet:\n""API.submitDRepRetirementCertificate(DRepRetirementCertificate)""
-Wallet->User (dRep): Ask permission popup (Wallet UI)
-User (dRep)->Wallet: Access granted (Wallet UI)
-Wallet->Cardano Node: Submit transaction: \n""POST /retirement/{retirement-cert}
-Wallet->dApp Frontend: ""SignedDRepRetirementCertificate""
diff --git a/docs/architecture/sequence-diagrams/raw/drep-status.txt b/docs/architecture/sequence-diagrams/raw/drep-status.txt
deleted file mode 100644
index e668837c8..000000000
--- a/docs/architecture/sequence-diagrams/raw/drep-status.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-title Is User DRep
-
-participant dApp Frontend
-participant Wallet
-participant dApp Backend
-
-dApp Frontend->Wallet: ""API.getDRepKey()""
-Wallet->dApp Frontend: ""pubDRepKey""
-
-dApp Frontend->dApp Backend: ""GET drep/{pubDRepKey}
-dApp Backend->dApp Frontend: ""bool""
diff --git a/docs/architecture/sequence-diagrams/raw/login.txt b/docs/architecture/sequence-diagrams/raw/login.txt
deleted file mode 100644
index 4a772d98a..000000000
--- a/docs/architecture/sequence-diagrams/raw/login.txt
+++ /dev/null
@@ -1,36 +0,0 @@
-title User Login
-
-participant User
-participant dApp Frontend
-participant Wallet
-participant dApp Backend
-
-note over dApp Frontend: Connect Wallet
-
-User->dApp Frontend: 'Connect Wallet' Button pressed
-dApp Frontend->User: Wallet Selection prompt
-User->dApp Frontend: Wallet Selected ""walletName
-dApp Frontend->Wallet: ""cardano.{walletName}.enable({"cip": ?})
-Wallet->User: Ask permission popup (Wallet UI)
-User->Wallet: Access granted (Wallet UI)
-Wallet->dApp Frontend: ""API"" object
-
-note over dApp Frontend: Identify the user's stake key delegator status
-dApp Frontend->Wallet: ""API.getActiveStakeKeys()""
-Wallet->dApp Frontend: ""[pubStakeKey]""
-
-dApp Frontend->User: Select ""pubStakeKey"" to use
-User->dApp Frontend: Choose which stake key to engage with
-
-dApp Frontend->dApp Backend: ""GET delegation/{pubStakeKey}
-dApp Backend->dApp Frontend: ""delegationCert""
-
-note over dApp Frontend: Identify the user's DRep status
-
-dApp Frontend->Wallet: ""API.getDRepKey()""
-Wallet->dApp Frontend: ""pubDRepKey""
-
-dApp Frontend->dApp Backend: ""GET drep/{pubDRepKey}
-dApp Backend->dApp Frontend: ""DRepCert""
-
-dApp Frontend->User: Serve correct UI
diff --git a/docs/architecture/sequence-diagrams/raw/voting.txt b/docs/architecture/sequence-diagrams/raw/voting.txt
deleted file mode 100644
index 1767720c7..000000000
--- a/docs/architecture/sequence-diagrams/raw/voting.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-title DRep Voting
-
-participant User (dRep)
-participant dApp Frontend
-participant Wallet
-participant Cardano Node
-
-User (dRep)->dApp Frontend: Select Governance Action + choice
-User (dRep)->dApp Frontend: Supply metadata anchor
-
-dApp Frontend->dApp Frontend: Construct ""Vote""
-dApp Frontend->Wallet: Pass object to wallet:\n""API.submitVote(Vote)""
-Wallet->User (dRep): Ask permission popup (Wallet UI)
-User (dRep)->Wallet: Access granted (Wallet UI)
-Wallet->Cardano Node: Submit transaction: \n""POST /vote/{vote}
-Wallet->dApp Frontend: ""SignedVote""
diff --git a/docs/architecture/sequence-diagrams/raw/wallet-connect.txt b/docs/architecture/sequence-diagrams/raw/wallet-connect.txt
deleted file mode 100644
index 6348fbce9..000000000
--- a/docs/architecture/sequence-diagrams/raw/wallet-connect.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-title Wallet Connection
-
-participant User
-participant dApp Frontend
-participant Wallet
-
-User->dApp Frontend: 'Connect Wallet' Button pressed
-dApp Frontend->User: Wallet Selection prompt
-User->dApp Frontend: Wallet Selected ""walletName
-dApp Frontend->Wallet: ""cardano.{walletName}.enable({"cip": ?})
-Wallet->User: Ask permission popup (Wallet UI)
-User->Wallet: Access granted (Wallet UI)
-Wallet->dApp Frontend: ""API"" object
diff --git a/docs/architecture/sequence-diagrams/voting.png b/docs/architecture/sequence-diagrams/voting.png
deleted file mode 100644
index fda17428b..000000000
Binary files a/docs/architecture/sequence-diagrams/voting.png and /dev/null differ
diff --git a/docs/architecture/sequence-diagrams/wallet-connect.png b/docs/architecture/sequence-diagrams/wallet-connect.png
deleted file mode 100644
index 4f849f7cf..000000000
Binary files a/docs/architecture/sequence-diagrams/wallet-connect.png and /dev/null differ
diff --git a/flake.nix b/flake.nix
index e732205ec..1e8abffbf 100644
--- a/flake.nix
+++ b/flake.nix
@@ -10,13 +10,27 @@
let
defaultPkgs = import default_nixpkgs { inherit system; config.allowBroken = true; };
nodePkgs = import node_nixpkgs { inherit system; };
+ frontend = nodePkgs.callPackage ./govtool/frontend { pkgs = nodePkgs; };
in
{
packages.scripts = defaultPkgs.callPackage ./scripts/govtool { pkgs = defaultPkgs; };
packages.infra = defaultPkgs.callPackage ./infra/terraform { pkgs = defaultPkgs; };
packages.backend = defaultPkgs.callPackage ./govtool/backend { pkgs = defaultPkgs; };
- packages.frontend = nodePkgs.callPackage ./govtool/frontend { pkgs = nodePkgs; };
+ packages.frontendModules = frontend.nodeModules;
+ packages.frontend = frontend.staticSite;
- devShell = defaultPkgs.mkShell { buildInputs = [ defaultPkgs.pre-commit ]; };
+ # Example of how to change VITE variables
+ #packages.frontendOverride = frontend.staticSite.overrideAttrs (finalAttrs: prevAttrs: {
+ # VITE_BASE_URL = "https://example.com:8443";
+ #});
+
+ devShells = {
+ default = defaultPkgs.mkShell { buildInputs = [ defaultPkgs.pre-commit ]; };
+ frontend = frontend.devShell;
+ # shell with js dependencies only if yarn.lock is broken and needs fixed
+ js = defaultPkgs.mkShell {
+ buildInputs = [ nodePkgs.nodejs_18 nodePkgs.yarn ];
+ };
+ };
});
}
diff --git a/generate_latest_report_redirect.sh b/generate_latest_report_redirect.sh
new file mode 100644
index 000000000..de2ad8646
--- /dev/null
+++ b/generate_latest_report_redirect.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+REPORT_NUMBER="$1"
+
+mkdir -p build
+cp -r allure-history/*[^index.html] build/
+allure_report_path=$(basename "$GH_PAGES")
+
+cat < build/index.html
+
+
+
+
+
+ Redirecting...
+
+
+EOF
diff --git a/generate_report_details.sh b/generate_report_details.sh
new file mode 100644
index 000000000..f9e4416b7
--- /dev/null
+++ b/generate_report_details.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+if [[ ! -d "gh-pages/$REPORT_NAME" ]]; then
+ latest_number=0
+else
+ gh_pages_content=$(ls "gh-pages/$REPORT_NAME/")
+ latest_number=$(echo "$gh_pages_content" | grep -Eo '[0-9]+' | sort -nr | head -n 1)
+fi
+
+echo "::set-output name=report_number::$((latest_number+1))"
+echo "::set-output name=report_url::https://$(dirname "$GH_PAGES").github.io/$(basename "$GH_PAGES")/$REPORT_NAME"
diff --git a/govtool/backend/sql/get-current-delegation.sql b/govtool/backend/sql/get-current-delegation.sql
index 68e9dce31..e4a92d392 100644
--- a/govtool/backend/sql/get-current-delegation.sql
+++ b/govtool/backend/sql/get-current-delegation.sql
@@ -1,9 +1,12 @@
select
case
- when drep_hash.raw is NULL then drep_hash.view
+ when drep_hash.raw is NULL then NULL
else encode(drep_hash.raw,'hex')
- end
+ end as drep_raw,
+ drep_hash.view as drep_view,
+ encode(tx.hash, 'hex')
from delegation_vote
+join tx on tx.id = delegation_vote.tx_id
join drep_hash
on drep_hash.id = delegation_vote.drep_hash_id
join stake_address
diff --git a/govtool/backend/sql/get-drep-info.sql b/govtool/backend/sql/get-drep-info.sql
index cb50e0642..2e8ee08f2 100644
--- a/govtool/backend/sql/get-drep-info.sql
+++ b/govtool/backend/sql/get-drep-info.sql
@@ -2,14 +2,32 @@ WITH DRepId AS (
SELECT
decode(?, 'hex') AS raw
),
+AllRegistrationEntries AS (
+ SELECT
+ drep_registration.voting_anchor_id AS voting_anchor_id,
+ drep_registration.deposit AS deposit,
+ tx.hash AS tx_hash,
+ tx.id as tx_id
+ FROM
+ drep_registration
+ CROSS JOIN DRepId
+ JOIN drep_hash ON drep_hash.id = drep_registration.drep_hash_id
+ JOIN tx ON tx.id = drep_registration.tx_id
+
+ WHERE
+ drep_hash.raw = DRepId.raw
+ ORDER BY drep_registration.tx_id asc
+),
LatestRegistrationEntry AS (
SELECT
drep_registration.voting_anchor_id AS voting_anchor_id,
- deposit AS deposit
+ drep_registration.deposit AS deposit,
+ tx.hash AS tx_hash
FROM
drep_registration
CROSS JOIN DrepId
JOIN drep_hash ON drep_hash.id = drep_registration.drep_hash_id
+ JOIN tx ON tx.id = drep_registration.tx_id
WHERE
drep_hash.raw = DRepId.raw
ORDER BY
@@ -18,14 +36,16 @@ LatestRegistrationEntry AS (
),
IsRegisteredAsDRep AS (
SELECT
- (LatestRegistrationEntry.deposit is null or LatestRegistrationEntry.deposit > 0)
+ (LatestRegistrationEntry.deposit IS NULL
+ OR LatestRegistrationEntry.deposit > 0)
AND LatestRegistrationEntry.voting_anchor_id IS NOT NULL AS value
FROM
LatestRegistrationEntry
),
IsRegisteredAsSoleVoter AS (
SELECT
- (LatestRegistrationEntry.deposit is null or LatestRegistrationEntry.deposit > 0)
+ (LatestRegistrationEntry.deposit IS NULL
+ OR LatestRegistrationEntry.deposit > 0)
AND LatestRegistrationEntry.voting_anchor_id IS NULL AS value
FROM
LatestRegistrationEntry
@@ -35,13 +55,11 @@ CurrentDeposit AS (
GREATEST(drep_registration.deposit, 0) AS value
FROM
drep_registration
- join drep_hash
- on drep_hash.id = drep_registration.drep_hash_id
- cross join DRepId
-
+ JOIN drep_hash ON drep_hash.id = drep_registration.drep_hash_id
+ CROSS JOIN DRepId
WHERE
drep_registration.deposit IS NOT NULL
- and drep_hash.raw = DRepId.raw
+ AND drep_hash.raw = DRepId.raw
ORDER BY
drep_registration.tx_id DESC
LIMIT 1
@@ -71,20 +89,79 @@ WasRegisteredAsSoleVoter AS (
WHERE
drep_hash.raw = DRepId.raw
AND drep_registration.voting_anchor_id IS NULL)) AS value
-), CurrentMetadata AS (
- SELECT voting_anchor.url as url, encode(voting_anchor.data_hash, 'hex') as data_hash
- FROM LatestRegistrationEntry
- LEFT JOIN voting_anchor
- ON voting_anchor.id = LatestRegistrationEntry.voting_anchor_id
+),
+CurrentMetadata AS (
+ SELECT
+ voting_anchor.url AS url,
+ encode(voting_anchor.data_hash, 'hex') AS data_hash
+FROM
+ LatestRegistrationEntry
+ LEFT JOIN voting_anchor ON voting_anchor.id = LatestRegistrationEntry.voting_anchor_id
+LIMIT 1
+),
+CurrentVotingPower AS (
+ SELECT
+ amount AS amount
+ FROM
+ drep_hash
+ JOIN DRepId ON drep_hash.raw = DRepId.raw
+ LEFT JOIN drep_distr ON drep_distr.hash_id = drep_hash.id
+ ORDER BY
+ drep_distr.epoch_no DESC
LIMIT 1
-), CurrentVotingPower AS (
- SELECT amount as amount
- FROM drep_hash
- JOIN DRepId
- ON drep_hash.raw = DRepId.raw
- LEFT JOIN drep_distr
- ON drep_distr.hash_id = drep_hash.id
- ORDER BY drep_distr.epoch_no DESC
+),
+DRepRegister AS (
+ SELECT
+ encode(AllRegistrationEntries.tx_hash, 'hex') as tx_hash,
+ AllRegistrationEntries.tx_id
+ FROM
+ (SELECT 1) AS dummy
+ LEFT JOIN
+ AllRegistrationEntries ON AllRegistrationEntries.voting_anchor_id IS NOT NULL and not (coalesce(deposit,0) < 0)
+ ORDER BY
+ AllRegistrationEntries.tx_id DESC
+ LIMIT 1
+),
+DRepRetire AS (
+ SELECT
+ encode(AllRegistrationEntries.tx_hash, 'hex') as tx_hash,
+ AllRegistrationEntries.tx_id as tx_id
+ FROM
+ DRepRegister
+ LEFT JOIN
+ AllRegistrationEntries ON (AllRegistrationEntries.deposit < 0
+ OR AllRegistrationEntries.voting_anchor_id IS NULL)
+ and AllRegistrationEntries.tx_id > DRepRegister.tx_id
+ ORDER BY
+ AllRegistrationEntries.tx_id asc
+
+ LIMIT 1
+),
+
+SoleVoterRegister AS (
+ SELECT
+ encode(AllRegistrationEntries.tx_hash, 'hex') as tx_hash,
+ AllRegistrationEntries.tx_id
+ FROM
+ (SELECT 1) AS dummy
+ LEFT JOIN
+ AllRegistrationEntries ON AllRegistrationEntries.voting_anchor_id IS NULL and not (coalesce(deposit,0) < 0)
+ ORDER BY
+ AllRegistrationEntries.tx_id DESC
+ LIMIT 1
+),
+SoleVoterRetire AS (
+ SELECT
+ encode(AllRegistrationEntries.tx_hash, 'hex') as tx_hash
+ FROM
+ SoleVoterRegister
+ LEFT JOIN
+ AllRegistrationEntries ON (AllRegistrationEntries.deposit < 0
+ OR AllRegistrationEntries.voting_anchor_id IS NOT NULL)
+ AND AllRegistrationEntries.tx_id > SoleVoterRegister.tx_id
+ ORDER BY
+ AllRegistrationEntries.tx_id asc
+
LIMIT 1
)
SELECT
@@ -95,7 +172,11 @@ SELECT
CurrentDeposit.value,
CurrentMetadata.url,
CurrentMetadata.data_hash,
- CurrentVotingPower.amount
+ CurrentVotingPower.amount,
+ DRepRegister.tx_hash,
+ DRepRetire.tx_hash,
+ SoleVoterRegister.tx_hash,
+ SoleVoterRetire.tx_hash
FROM
IsRegisteredAsDRep
CROSS JOIN IsRegisteredAsSoleVoter
@@ -104,3 +185,7 @@ FROM
CROSS JOIN CurrentDeposit
CROSS JOIN CurrentMetadata
CROSS JOIN CurrentVotingPower
+ CROSS JOIN DRepRegister
+ CROSS JOIN DRepRetire
+ CROSS JOIN SoleVoterRegister
+ CROSS JOIN SoleVoterRetire
diff --git a/govtool/backend/sql/get-votes.sql b/govtool/backend/sql/get-votes.sql
index 18ff422fd..7a875aba8 100644
--- a/govtool/backend/sql/get-votes.sql
+++ b/govtool/backend/sql/get-votes.sql
@@ -1,4 +1,4 @@
-select DISTINCT ON (voting_procedure.gov_action_proposal_id, voting_procedure.drep_voter) voting_procedure.gov_action_proposal_id, concat(encode(tx.hash,'hex'),'#',gov_action_proposal.index), encode(drep_hash.raw, 'hex'), voting_procedure.vote::text, voting_anchor.url, encode(voting_anchor.data_hash, 'hex'), block.epoch_no as epoch_no, block.time as time
+select DISTINCT ON (voting_procedure.gov_action_proposal_id, voting_procedure.drep_voter) voting_procedure.gov_action_proposal_id, concat(encode(gov_action_tx.hash,'hex'),'#',gov_action_proposal.index), encode(drep_hash.raw, 'hex'), voting_procedure.vote::text, voting_anchor.url, encode(voting_anchor.data_hash, 'hex'), block.epoch_no as epoch_no, block.time as time, encode(vote_tx.hash, 'hex') as vote_tx_hash
from voting_procedure
join gov_action_proposal
on gov_action_proposal.id = voting_procedure.gov_action_proposal_id
@@ -6,9 +6,11 @@ join drep_hash
on drep_hash.id = voting_procedure.drep_voter
left join voting_anchor
on voting_anchor.id = voting_procedure.voting_anchor_id
-join tx
-on tx.id = gov_action_proposal.tx_id
+join tx as gov_action_tx
+on gov_action_tx.id = gov_action_proposal.tx_id
+join tx as vote_tx
+on vote_tx.id = voting_procedure.tx_id
join block
-on block.id = tx.block_id
+on block.id = gov_action_tx.block_id
where drep_hash.raw = decode(?, 'hex')
order by voting_procedure.gov_action_proposal_id, voting_procedure.drep_voter, voting_procedure.id desc
diff --git a/govtool/backend/sql/list-dreps.sql b/govtool/backend/sql/list-dreps.sql
index 931ae6430..74def83c8 100644
--- a/govtool/backend/sql/list-dreps.sql
+++ b/govtool/backend/sql/list-dreps.sql
@@ -1,68 +1,105 @@
WITH DRepDistr AS (
SELECT
*,
- ROW_NUMBER() OVER(PARTITION BY drep_hash.id ORDER BY drep_distr.epoch_no DESC) AS rn
- FROM drep_distr
- JOIN drep_hash
- on drep_hash.id = drep_distr.hash_id
-), DRepActivity AS (
- select
- drep_activity as drep_activity,
- epoch_no as epoch_no
- from epoch_param
- where epoch_no is not null
- order by epoch_no desc
- limit 1
+ ROW_NUMBER() OVER (PARTITION BY drep_hash.id ORDER BY drep_distr.epoch_no DESC) AS rn
+ FROM
+ drep_distr
+ JOIN drep_hash ON drep_hash.id = drep_distr.hash_id
+),
+DRepActivity AS (
+ SELECT
+ drep_activity AS drep_activity,
+ epoch_no AS epoch_no
+ FROM
+ epoch_param
+ WHERE
+ epoch_no IS NOT NULL
+ ORDER BY
+ epoch_no DESC
+ LIMIT 1
)
-
SELECT
- encode(dh.raw, 'hex'),
- dh.view,
- va.url,
- encode(va.data_hash, 'hex'),
- dr_deposit.deposit,
- DRepDistr.amount,
- (DRepActivity.epoch_no - Max(coalesce(block.epoch_no,block_first_register.epoch_no))) <= DRepActivity.drep_activity as active,
- second_to_newest_drep_registration.voting_anchor_id is not null as has_voting_anchor
-FROM drep_hash dh
-JOIN (
- SELECT dr.id, dr.drep_hash_id, dr.deposit,
- ROW_NUMBER() OVER(PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
- FROM drep_registration dr
- where dr.deposit is not null
-) as dr_deposit
-on dr_deposit.drep_hash_id = dh.id and dr_deposit.rn = 1
-LEFT JOIN (
- SELECT dr.id, dr.drep_hash_id, dr.voting_anchor_id,
- ROW_NUMBER() OVER(PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
- FROM drep_registration dr
-) as dr_voting_anchor
-on dr_voting_anchor.drep_hash_id = dh.id and dr_voting_anchor.rn = 1
-LEFT JOIN (
- SELECT dr.id, dr.drep_hash_id, dr.voting_anchor_id,
- ROW_NUMBER() OVER(PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
- FROM drep_registration dr
-) as second_to_newest_drep_registration
-on second_to_newest_drep_registration.drep_hash_id = dh.id and second_to_newest_drep_registration.rn = 2
-LEFT JOIN DRepDistr
-on DRepDistr.hash_id = dh.id and DRepDistr.rn = 1
-LEFT JOIN voting_anchor va ON va.id = dr_voting_anchor.voting_anchor_id
-CROSS JOIN DRepActivity
-LEFT JOIN voting_procedure as voting_procedure
-on voting_procedure.drep_voter = dh.id
-LEFT JOIN tx as tx
-on tx.id = voting_procedure.tx_id
-LEFT JOIN block as block
-on block.id = tx.block_id
-JOIN (
- SELECT dr.tx_id, dr.drep_hash_id,
- ROW_NUMBER() OVER(PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id ASC) AS rn
- FROM drep_registration dr
-) as dr_first_register
-on dr_first_register.drep_hash_id = dh.id and dr_first_register.rn = 1
-JOIN tx as tx_first_register
-on tx_first_register.id = dr_first_register.tx_id
-JOIN block as block_first_register
-ON block_first_register.id = tx_first_register.block_id
-
-GROUP BY dh.raw, second_to_newest_drep_registration.voting_anchor_id, dh.view, va.url, va.data_hash, dr_deposit.deposit, DRepDistr.amount, DRepActivity.epoch_no, DRepActivity.drep_activity
+ encode(dh.raw, 'hex'),
+ dh.view,
+ va.url,
+ encode(va.data_hash, 'hex'),
+ dr_deposit.deposit,
+ DRepDistr.amount,
+(DRepActivity.epoch_no - Max(coalesce(block.epoch_no, block_first_register.epoch_no))) <= DRepActivity.drep_activity AS active,
+ second_to_newest_drep_registration.voting_anchor_id IS NOT NULL AS has_voting_anchor,
+ encode(dr_voting_anchor.tx_hash, 'hex') AS tx_hash,
+ newestRegister.time AS last_register_time
+FROM
+ drep_hash dh
+ JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.deposit,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ WHERE
+ dr.deposit IS NOT NULL) AS dr_deposit ON dr_deposit.drep_hash_id = dh.id
+ AND dr_deposit.rn = 1
+ LEFT JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.voting_anchor_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn,
+ tx.hash AS tx_hash
+ FROM
+ drep_registration dr
+ JOIN tx ON tx.id = dr.tx_id) AS dr_voting_anchor ON dr_voting_anchor.drep_hash_id = dh.id
+ AND dr_voting_anchor.rn = 1
+ LEFT JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.voting_anchor_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr) AS second_to_newest_drep_registration ON second_to_newest_drep_registration.drep_hash_id = dh.id
+ AND second_to_newest_drep_registration.rn = 2
+ LEFT JOIN DRepDistr ON DRepDistr.hash_id = dh.id
+ AND DRepDistr.rn = 1
+ LEFT JOIN voting_anchor va ON va.id = dr_voting_anchor.voting_anchor_id
+ CROSS JOIN DRepActivity
+ LEFT JOIN voting_procedure AS voting_procedure ON voting_procedure.drep_voter = dh.id
+ LEFT JOIN tx AS tx ON tx.id = voting_procedure.tx_id
+ LEFT JOIN block AS block ON block.id = tx.block_id
+ LEFT JOIN (
+ SELECT
+ block.time,
+ dr.drep_hash_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ JOIN tx ON tx.id = dr.tx_id
+ JOIN block ON block.id = tx.block_id
+ WHERE
+ NOT (dr.deposit < 0)) AS newestRegister ON newestRegister.drep_hash_id = dh.id
+ AND newestRegister.rn = 1
+ LEFT JOIN (
+ SELECT
+ dr.tx_id,
+ dr.drep_hash_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id ASC) AS rn
+ FROM
+ drep_registration dr) AS dr_first_register ON dr_first_register.drep_hash_id = dh.id
+ AND dr_first_register.rn = 1
+ LEFT JOIN tx AS tx_first_register ON tx_first_register.id = dr_first_register.tx_id
+ LEFT JOIN block AS block_first_register ON block_first_register.id = tx_first_register.block_id
+GROUP BY
+ dh.raw,
+ second_to_newest_drep_registration.voting_anchor_id,
+ dh.view,
+ va.url,
+ va.data_hash,
+ dr_deposit.deposit,
+ DRepDistr.amount,
+ DRepActivity.epoch_no,
+ DRepActivity.drep_activity,
+ dr_voting_anchor.tx_hash,
+ newestRegister.time
diff --git a/govtool/backend/sql/list-proposals.sql b/govtool/backend/sql/list-proposals.sql
index f0bc3cc13..e6a67bd0a 100644
--- a/govtool/backend/sql/list-proposals.sql
+++ b/govtool/backend/sql/list-proposals.sql
@@ -60,6 +60,7 @@ SELECT
off_chain_vote_data.motivation,
off_chain_vote_data.rationale,
off_chain_vote_data.json,
+ off_chain_vote_data.json#>'{body, references}' as references,
coalesce(Sum(ldd.amount) FILTER (WHERE voting_procedure.vote::text = 'Yes'), 0) +(
CASE WHEN gov_action_proposal.type = 'NoConfidence' THEN
always_no_confidence_voting_power.amount
diff --git a/govtool/backend/sql/views.sql b/govtool/backend/sql/views.sql
new file mode 100644
index 000000000..81b5aae4a
--- /dev/null
+++ b/govtool/backend/sql/views.sql
@@ -0,0 +1,524 @@
+BEGIN;
+REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA public FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON SCHEMA public FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON SEQUENCES FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON TABLES FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM govtool_viewer;
+REVOKE USAGE ON SCHEMA public FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA govtool FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA govtool FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA govtool FROM govtool_viewer;
+REVOKE ALL PRIVILEGES ON SCHEMA govtool FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA govtool REVOKE ALL ON SEQUENCES FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA govtool REVOKE ALL ON TABLES FROM govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA govtool REVOKE ALL ON FUNCTIONS FROM govtool_viewer;
+REVOKE USAGE ON SCHEMA govtool FROM govtool_viewer;
+REASSIGN OWNED BY govtool_viewer TO jankun;
+REVOKE govtool_viewer FROM jankun;
+DROP USER govtool_viewer;
+DROP SCHEMA govtool CASCADE;
+CREATE ROLE govtool_viewer NOLOGIN;
+CREATE SCHEMA govtool;
+GRANT USAGE ON SCHEMA govtool TO govtool_viewer;
+GRANT govtool_viewer TO jankun;
+GRANT SELECT ON ALL TABLES IN SCHEMA public TO govtool_viewer;
+GRANT SELECT ON ALL TABLES IN SCHEMA govtool TO govtool_viewer;
+GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA govtool TO govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT
+SELECT
+ ON TABLES TO govtool_viewer;
+ALTER DEFAULT PRIVILEGES IN SCHEMA govtool GRANT
+SELECT
+ ON TABLES TO govtool_viewer;
+SET search_path TO govtool, public;
+DROP VIEW IF EXISTS proposal_stake_key;
+CREATE VIEW proposal_stake_key AS
+SELECT
+ encode(stake_address.hash_raw, 'hex') AS stake_key_hash,
+ voting_procedure.vote::text AS vote,
+ gov_action_proposal.id AS proposal_id
+FROM
+ gov_action_proposal
+ JOIN voting_procedure ON voting_procedure.gov_action_proposal_id = gov_action_proposal.id
+ JOIN delegation_vote ON delegation_vote.drep_hash_id = voting_procedure.drep_voter
+ JOIN stake_address ON stake_address.id = delegation_vote.addr_id
+UNION ALL
+SELECT
+ encode(stake_address.hash_raw, 'hex'),
+ 'No',
+ NULL
+FROM
+ delegation_vote
+ JOIN drep_hash ON drep_hash.id = delegation_vote.id
+ JOIN stake_address ON stake_address.id = delegation_vote.addr_id
+WHERE
+ drep_hash.view = 'AlwaysNoConfidence'
+UNION ALL
+SELECT
+ encode(stake_address.hash_raw, 'hex'),
+ 'Abstain',
+ NULL
+FROM
+ delegation_vote
+ JOIN drep_hash ON drep_hash.id = delegation_vote.id
+ JOIN stake_address ON stake_address.id = delegation_vote.addr_id
+WHERE
+ drep_hash.view = 'AlwaysAbstain';
+DROP VIEW IF EXISTS current_delegation;
+CREATE VIEW current_delegation AS
+SELECT
+ stake_address.hash_raw AS stake_key_hash,
+ encode(drep_hash.raw, 'hex') AS drep_raw,
+ drep_hash.view AS drep_view,
+ encode(tx.hash, 'hex') AS tx_hash
+FROM
+ delegation_vote
+ JOIN tx ON tx.id = delegation_vote.tx_id
+ JOIN drep_hash ON drep_hash.id = delegation_vote.drep_hash_id
+ JOIN stake_address ON stake_address.id = delegation_vote.addr_id
+ AND NOT EXISTS (
+ SELECT
+ *
+ FROM
+ delegation_vote AS dv2
+ WHERE
+ dv2.addr_id = delegation_vote.addr_id
+ AND dv2.tx_id > delegation_vote.tx_id);
+DROP VIEW IF EXISTS current_epoch_params;
+CREATE VIEW current_epoch_params AS
+SELECT
+ ROW_TO_JSON(epoch_param)
+FROM
+ epoch_param
+ORDER BY
+ epoch_no DESC
+LIMIT 1;
+DROP VIEW IF EXISTS network_metrics;
+CREATE VIEW network_metrics AS
+WITH current_epoch AS (
+ SELECT
+ Max(NO) AS no
+ FROM
+ epoch
+),
+current_block AS (
+ SELECT
+ Max(block_no) AS block_no
+ FROM
+ block
+),
+unique_delegators AS (
+ SELECT
+ count(DISTINCT (addr_id)) AS count
+ FROM
+ delegation_vote
+),
+total_delegations AS (
+ SELECT
+ count(*) AS count
+ FROM
+ delegation_vote
+),
+total_gov_action_proposals AS (
+ SELECT
+ count(DISTINCT (tx_id, INDEX)) AS count
+ FROM
+ gov_action_proposal
+),
+total_drep_votes AS (
+ SELECT
+ count(*) AS count
+ FROM
+ voting_procedure
+ WHERE
+ voter_role = 'DRep'
+),
+total_registered_dreps AS (
+ SELECT
+ count(*) AS count
+ FROM
+ drep_hash
+),
+always_abstain_voting_power AS (
+ SELECT
+ coalesce((
+ SELECT
+ amount
+ FROM drep_hash
+ LEFT JOIN drep_distr ON drep_hash.id = drep_distr.hash_id
+ WHERE
+ drep_hash.view = 'drep_always_abstain' ORDER BY epoch_no DESC LIMIT 1), 0) AS amount
+),
+always_no_confidence_voting_power AS (
+ SELECT
+ coalesce((
+ SELECT
+ amount
+ FROM drep_hash
+ LEFT JOIN drep_distr ON drep_hash.id = drep_distr.hash_id
+ WHERE
+ drep_hash.view = 'drep_always_no_confidence' ORDER BY epoch_no DESC LIMIT 1), 0) AS amount
+)
+SELECT
+ current_epoch.no AS current_epoch_no,
+ current_block.block_no AS current_block_no,
+ unique_delegators.count AS unique_delegators_count,
+ total_delegations.count AS total_delegators_count,
+ total_gov_action_proposals.count AS total_gov_action_proposals_count,
+ total_drep_votes.count AS total_drep_votes_count,
+ total_registered_dreps.count AS total_registered_dreps_count,
+ always_abstain_voting_power.amount AS always_abstain_voting_power_amount,
+ always_no_confidence_voting_power.amount AS always_no_confidence_voting_power_amount
+FROM
+ current_epoch
+ CROSS JOIN current_block
+ CROSS JOIN unique_delegators
+ CROSS JOIN total_delegations
+ CROSS JOIN total_gov_action_proposals
+ CROSS JOIN total_drep_votes
+ CROSS JOIN total_registered_dreps
+ CROSS JOIN always_abstain_voting_power
+ CROSS JOIN always_no_confidence_voting_power;
+DROP VIEW IF EXISTS stake_key_voting_power;
+CREATE VIEW stake_key_voting_power AS
+SELECT
+ coalesce(sum(utxo_view.value), 0) AS voting_power,
+ encode(stake_address.hash_raw, 'hex') AS stake_key_hash
+FROM
+ stake_address
+ JOIN utxo_view ON utxo_view.stake_address_id = stake_address.id
+GROUP BY
+ stake_address.hash_raw;
+DROP VIEW IF EXISTS vote;
+CREATE VIEW vote AS SELECT DISTINCT ON (voting_procedure.gov_action_proposal_id, voting_procedure.drep_voter)
+ voting_procedure.drep_voter AS drep_id,
+ voting_procedure.gov_action_proposal_id AS proposal_id,
+ concat(encode(gov_action_tx.hash, 'hex'), '#', gov_action_proposal.index) AS proposal_ref,
+ encode(drep_hash.raw, 'hex') AS drep_hash,
+ voting_procedure.vote::text AS vote,
+ voting_anchor.url AS url,
+ encode(voting_anchor.data_hash, 'hex') AS vote_metadata_hash,
+ block.epoch_no AS epoch_no,
+ block.time AS time,
+ encode(vote_tx.hash, 'hex') AS vote_tx_hash
+FROM
+ voting_procedure
+ JOIN gov_action_proposal ON gov_action_proposal.id = voting_procedure.gov_action_proposal_id
+ JOIN drep_hash ON drep_hash.id = voting_procedure.drep_voter
+ LEFT JOIN voting_anchor ON voting_anchor.id = voting_procedure.voting_anchor_id
+ JOIN tx AS vote_tx ON vote_tx.id = voting_procedure.tx_id
+ JOIN tx AS gov_action_tx ON gov_action_tx.id = gov_action_proposal.tx_id
+ JOIN block ON block.id = gov_action_tx.id
+ORDER BY
+ voting_procedure.gov_action_proposal_id,
+ voting_procedure.drep_voter,
+ voting_procedure.id DESC;
+DROP VIEW IF EXISTS drep_voting_power;
+CREATE VIEW drep_voting_power AS
+WITH LatestDrepDistr AS (
+ SELECT
+ hash_id,
+ MAX(epoch_no) AS max_epoch_no
+ FROM
+ drep_distr
+ GROUP BY
+ hash_id
+)
+SELECT
+ COALESCE(dd.amount, 0) AS amount,
+ ENCODE(dh.raw, 'hex') AS drep_hash,
+ dh.view AS drep_view
+FROM
+ drep_hash dh
+ LEFT JOIN LatestDrepDistr ldd ON dh.id = ldd.hash_id
+ LEFT JOIN drep_distr dd ON ldd.max_epoch_no = dd.epoch_no
+ AND dh.id = dd.hash_id;
+DROP VIEW IF EXISTS drep;
+CREATE VIEW drep AS
+WITH DRepDistr AS (
+ SELECT
+ *,
+ ROW_NUMBER() OVER (PARTITION BY drep_hash.id ORDER BY drep_distr.epoch_no DESC) AS rn
+ FROM
+ drep_distr
+ JOIN drep_hash ON drep_hash.id = drep_distr.hash_id
+),
+DRepActivity AS (
+ SELECT
+ drep_activity AS drep_activity,
+ epoch_no AS epoch_no
+ FROM
+ epoch_param
+ WHERE
+ epoch_no IS NOT NULL
+ ORDER BY
+ epoch_no DESC
+ LIMIT 1
+)
+SELECT DISTINCT ON (dh.raw)
+ dh.id AS id,
+ encode(dh.raw, 'hex') AS drep_hash,
+ dh.view AS drep_view,
+ latest_voting_anchor.url AS url,
+ encode(latest_voting_anchor.data_hash, 'hex') AS drep_metadata_hash,
+ dr_deposit.deposit AS deposit,
+ DRepDistr.amount AS drep_voting_power,
+ encode(latest_drep_registration.tx_hash, 'hex') AS latest_tx_hash,
+ drep_registration.id IS NOT NULL AS was_registered_as_drep,
+ solevoter_registration.id IS NOT NULL AS was_registered_as_solevoter,
+(
+ CASE WHEN latest_drep_registration.deposit >= 0
+ AND latest_drep_registration.voting_anchor_id IS NOT NULL THEN
+ 'DRep'
+ WHEN latest_drep_registration.deposit >= 0
+ AND latest_drep_registration.voting_anchor_id IS NULL THEN
+ 'SoleVoter'
+ WHEN latest_drep_registration.deposit < 0
+ AND second_to_newest_drep_registration.voting_anchor_id IS NOT NULL THEN
+ 'DRep'
+ WHEN latest_drep_registration.deposit < 0
+ AND second_to_newest_drep_registration.voting_anchor_id IS NULL THEN
+ 'SoleVoter'
+ ELSE
+ 'DRep'
+ END) AS drep_type,
+(
+ CASE WHEN dr_deposit.deposit < 0 THEN
+ 'Retired'
+ WHEN ((DRepActivity.epoch_no - greatest(latest_vote_block.epoch_no, block_first_register.epoch_no)) <= DRepActivity.drep_activity)
+ AND dr_deposit.deposit >= 0 THEN
+ 'Active'
+ WHEN NOT ((DRepActivity.epoch_no - greatest(latest_vote_block.epoch_no, block_first_register.epoch_no)) <= DRepActivity.drep_activity)
+ AND dr_deposit.deposit >= 0 THEN
+ 'Inactive'
+ ELSE
+ 'Unknown'
+ END) AS status,
+ newestRegister.time as time
+FROM
+ drep_hash dh
+ JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.deposit,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ WHERE
+ dr.deposit IS NOT NULL) AS dr_deposit ON dr_deposit.drep_hash_id = dh.id
+ AND dr_deposit.rn = 1
+ LEFT JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.voting_anchor_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ WHERE
+ dr.voting_anchor_id IS NOT NULL) AS latest_voting_anchor_registration ON latest_voting_anchor_registration.drep_hash_id = dh.id
+ AND latest_voting_anchor_registration.rn = 1
+ LEFT JOIN voting_anchor AS latest_voting_anchor ON latest_voting_anchor.id = latest_voting_anchor_registration.voting_anchor_id
+ LEFT JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.voting_anchor_id,
+ dr.deposit,
+ tx.hash AS tx_hash,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ JOIN tx ON dr.tx_id = tx.id) AS latest_drep_registration ON latest_drep_registration.drep_hash_id = dh.id
+ AND latest_drep_registration.rn = 1
+ LEFT JOIN (
+ SELECT
+ dr.id,
+ dr.drep_hash_id,
+ dr.voting_anchor_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id DESC) AS rn
+ FROM
+ drep_registration dr) AS second_to_newest_drep_registration ON second_to_newest_drep_registration.drep_hash_id = dh.id
+ AND second_to_newest_drep_registration.rn = 2
+ LEFT JOIN DRepDistr ON DRepDistr.hash_id = dh.id
+ AND DRepDistr.rn = 1
+ CROSS JOIN DRepActivity
+ LEFT JOIN (
+ SELECT
+ voting_procedure.tx_id,
+ drep_hash.id AS drep_hash_id,
+ ROW_NUMBER() OVER (PARTITION BY drep_hash.id ORDER BY voting_procedure.tx_id DESC) AS rn
+ FROM
+ drep_hash
+ JOIN voting_procedure ON voting_procedure.drep_voter = drep_hash.id) AS dr_latest_vote ON dr_latest_vote.drep_hash_id = dh.id
+ AND dr_latest_vote.rn = 1
+ LEFT JOIN tx AS tx ON tx.id = dr_latest_vote.tx_id
+ LEFT JOIN block AS latest_vote_block ON latest_vote_block.id = tx.block_id
+ JOIN (
+ SELECT
+ block.time,
+ dr.drep_hash_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY d.tx_id DESC) AS rn
+ FROM
+ drep_registration dr
+ JOIN tx ON tx.id = dr.tx_id
+ JOIN block ON block.id = tx.block_id
+ WHERE
+ NOT (dr.deposit > 0)) AS newestRegister ON newestRegister.drep_hash_id = dh.id
+ AND newestRegister.rn = 1
+ JOIN (
+ SELECT
+ dr.tx_id,
+ dr.drep_hash_id,
+ ROW_NUMBER() OVER (PARTITION BY dr.drep_hash_id ORDER BY dr.tx_id ASC) AS rn
+ FROM
+ drep_registration dr) AS dr_first_register ON dr_first_register.drep_hash_id = dh.id
+ AND dr_first_register.rn = 1
+ JOIN tx AS tx_first_register ON tx_first_register.id = dr_first_register.tx_id
+ JOIN block AS block_first_register ON block_first_register.id = tx_first_register.block_id
+ LEFT JOIN drep_registration AS drep_registration ON drep_registration.drep_hash_id = dh.id
+ AND drep_registration.voting_anchor_id IS NOT NULL
+ LEFT JOIN drep_registration AS solevoter_registration ON solevoter_registration.drep_hash_id = dh.id
+ AND solevoter_registration.voting_anchor_id IS NULL
+GROUP BY
+ dh.id,
+ dh.raw,
+ second_to_newest_drep_registration.voting_anchor_id,
+ dh.view,
+ dr_deposit.deposit,
+ DRepDistr.amount,
+ DRepActivity.epoch_no,
+ DRepActivity.drep_activity,
+ latest_voting_anchor.url,
+ latest_voting_anchor.data_hash,
+ latest_drep_registration.tx_hash,
+ drep_registration.id,
+ solevoter_registration.id,
+ latest_drep_registration.voting_anchor_id,
+ latest_vote_block.epoch_no,
+ block_first_register.epoch_no,
+ latest_drep_registration.deposit;
+DROP VIEW IF EXISTS proposal;
+CREATE VIEW proposal AS
+WITH LatestDrepDistr AS (
+ SELECT
+ *,
+ ROW_NUMBER() OVER (PARTITION BY hash_id ORDER BY epoch_no DESC) AS rn
+ FROM
+ drep_distr
+),
+EpochUtils AS (
+ SELECT
+ (Max(end_time) - Min(end_time)) /(Max(NO) - Min(NO)) AS epoch_duration,
+ Max(NO) AS last_epoch_no,
+ Max(end_time) AS last_epoch_end_time
+ FROM
+ epoch
+),
+always_no_confidence_voting_power AS (
+ SELECT
+ coalesce((
+ SELECT
+ amount
+ FROM drep_hash
+ LEFT JOIN drep_distr ON drep_hash.id = drep_distr.hash_id
+ WHERE
+ drep_hash.view = 'drep_always_no_confidence' ORDER BY epoch_no DESC LIMIT 1), 0) AS amount
+),
+always_abstain_voting_power AS (
+ SELECT
+ coalesce((
+ SELECT
+ amount
+ FROM drep_hash
+ LEFT JOIN drep_distr ON drep_hash.id = drep_distr.hash_id
+ WHERE
+ drep_hash.view = 'drep_always_abstain' ORDER BY epoch_no DESC LIMIT 1), 0) AS amount
+)
+SELECT
+ gov_action_proposal.id AS id,
+ encode(creator_tx.hash, 'hex') AS created_tx_hash,
+ gov_action_proposal.index AS created_tx_index,
+ gov_action_proposal.type::text AS type,
+(
+ CASE WHEN gov_action_proposal.type = 'TreasuryWithdrawals' THEN
+ json_build_object('Reward Address', stake_address.view, 'Amount', treasury_withdrawal.amount)
+ WHEN gov_action_proposal.type::text = 'InfoAction' THEN
+ json_build_object()
+ ELSE
+ NULL
+ END) AS description,
+ epoch_utils.last_epoch_end_time + epoch_utils.epoch_duration *(gov_action_proposal.expiration - epoch_utils.last_epoch_no) AS expiry_date,
+ gov_action_proposal.expiration AS expiry_epoch_no,
+ creator_block.time AS created_date,
+ creator_block.epoch_no AS created_epoch_no,
+ /* created date */
+ voting_anchor.url AS metadata_url,
+ encode(voting_anchor.data_hash, 'hex') AS metadata_hash,
+ off_chain_vote_data.title AS title,
+ off_chain_vote_data.abstract AS abstract,
+ off_chain_vote_data.motivation AS motivation,
+ off_chain_vote_data.rationale AS rationale,
+ off_chain_vote_data.json AS metadata_json,
+ off_chain_vote_data.json #> '{body, references}' AS reference,
+ coalesce(Sum(ldd.amount) FILTER (WHERE voting_procedure.vote::text = 'Yes'), 0) +(
+ CASE WHEN gov_action_proposal.type = 'NoConfidence' THEN
+ always_no_confidence_voting_power.amount
+ ELSE
+ 0
+ END) AS yes_votes,
+ coalesce(Sum(ldd.amount) FILTER (WHERE voting_procedure.vote::text = 'No'), 0) +(
+ CASE WHEN gov_action_proposal.type = 'NoConfidence' THEN
+ 0
+ ELSE
+ always_no_confidence_voting_power.amount
+ END) AS no_votes,
+ coalesce(Sum(ldd.amount) FILTER (WHERE voting_procedure.vote::text = 'Abstain'), 0) + always_abstain_voting_power.amount AS abstain_votes
+FROM
+ gov_action_proposal
+ LEFT JOIN treasury_withdrawal ON gov_action_proposal.id = treasury_withdrawal.gov_action_proposal_id
+ LEFT JOIN stake_address ON stake_address.id = treasury_withdrawal.stake_address_id
+ CROSS JOIN EpochUtils AS epoch_utils
+ CROSS JOIN always_no_confidence_voting_power
+ CROSS JOIN always_abstain_voting_power
+ JOIN tx AS creator_tx ON creator_tx.id = gov_action_proposal.tx_id
+ JOIN block AS creator_block ON creator_block.id = creator_tx.block_id
+ LEFT JOIN voting_anchor ON voting_anchor.id = gov_action_proposal.voting_anchor_id
+ LEFT JOIN off_chain_vote_data ON off_chain_vote_data.voting_anchor_id = voting_anchor.id
+ LEFT JOIN voting_procedure ON voting_procedure.gov_action_proposal_id = gov_action_proposal.id
+ LEFT JOIN LatestDrepDistr ldd ON ldd.hash_id = voting_procedure.drep_voter
+ AND ldd.rn = 1
+ AND gov_action_proposal.expiration >(
+ SELECT
+ Max(NO)
+ FROM
+ epoch)
+ AND gov_action_proposal.ratified_epoch IS NULL
+ AND gov_action_proposal.enacted_epoch IS NULL
+ AND gov_action_proposal.expired_epoch IS NULL
+ AND gov_action_proposal.dropped_epoch IS NULL
+GROUP BY
+ (gov_action_proposal.id,
+ stake_address.view,
+ treasury_withdrawal.amount,
+ creator_block.epoch_no,
+ off_chain_vote_data.title,
+ off_chain_vote_data.abstract,
+ off_chain_vote_data.motivation,
+ off_chain_vote_data.rationale,
+ off_chain_vote_data.json,
+ gov_action_proposal.index,
+ creator_tx.hash,
+ creator_block.time,
+ epoch_utils.epoch_duration,
+ epoch_utils.last_epoch_no,
+ epoch_utils.last_epoch_end_time,
+ voting_anchor.url,
+ voting_anchor.data_hash,
+ always_no_confidence_voting_power.amount,
+ always_abstain_voting_power.amount);
+COMMIT;
+
diff --git a/govtool/backend/src/VVA/API.hs b/govtool/backend/src/VVA/API.hs
index 293e0c2bd..d982c61dd 100644
--- a/govtool/backend/src/VVA/API.hs
+++ b/govtool/backend/src/VVA/API.hs
@@ -15,10 +15,10 @@ import Control.Monad.Reader
import Data.Bool (Bool)
import Data.List (sortOn)
import qualified Data.Map as Map
-import Data.Maybe (Maybe (Nothing), fromMaybe)
+import Data.Maybe (Maybe (Nothing), fromMaybe, catMaybes)
import Data.Ord (Down (..))
import Data.Text hiding (drop, elem, filter, length, map,
- null, take)
+ null, take, any)
import qualified Data.Text as Text
import Numeric.Natural (Natural)
@@ -43,11 +43,22 @@ import VVA.Types (App, AppEnv (..),
CacheEnv (..))
type VVAApi =
- "drep" :> "list" :> QueryParam "drepView" Text :> Get '[JSON] [DRep]
+ "drep" :> "list"
+ :> QueryParam "search" Text
+ :> QueryParams "status" DRepStatus
+ :> QueryParam "sort" DRepSortMode
+ :> QueryParam "page" Natural
+ :> QueryParam "pageSize" Natural
+ :> Get '[JSON] ListDRepsResponse
:<|> "drep" :> "get-voting-power" :> Capture "drepId" HexText :> Get '[JSON] Integer
- :<|> "drep" :> "getVotes" :> Capture "drepId" HexText :> QueryParams "type" GovernanceActionType :> QueryParam "sort" GovernanceActionSortMode :> Get '[JSON] [VoteResponse]
+ :<|> "drep" :> "getVotes"
+ :> Capture "drepId" HexText
+ :> QueryParams "type" GovernanceActionType
+ :> QueryParam "sort" GovernanceActionSortMode
+ :> QueryParam "search" Text
+ :> Get '[JSON] [VoteResponse]
:<|> "drep" :> "info" :> Capture "drepId" HexText :> Get '[JSON] DRepInfoResponse
- :<|> "ada-holder" :> "get-current-delegation" :> Capture "stakeKey" HexText :> Get '[JSON] (Maybe HexText)
+ :<|> "ada-holder" :> "get-current-delegation" :> Capture "stakeKey" HexText :> Get '[JSON] (Maybe DelegationResponse)
:<|> "ada-holder" :> "get-voting-power" :> Capture "stakeKey" HexText :> Get '[JSON] Integer
:<|> "proposal" :> "list"
:> QueryParams "type" GovernanceActionType
@@ -97,20 +108,65 @@ drepRegistrationToDrep Types.DRepRegistration {..} =
dRepDeposit = dRepRegistrationDeposit,
dRepVotingPower = dRepRegistrationVotingPower,
dRepStatus = mapDRepStatus dRepRegistrationStatus,
- dRepType = mapDRepType dRepRegistrationType
+ dRepType = mapDRepType dRepRegistrationType,
+ dRepLatestTxHash = HexText <$> dRepRegistrationLatestTxHash,
+ dRepLatestRegistrationDate = dRepRegistrationLatestRegistrationDate
}
-drepList :: App m => Maybe Text -> m [DRep]
-drepList mDRepView = do
+delegationToResponse :: Types.Delegation -> DelegationResponse
+delegationToResponse Types.Delegation {..} =
+ DelegationResponse
+ { delegationResponseDRepHash = HexText <$> delegationDRepHash,
+ delegationResponseDRepView = delegationDRepView,
+ delegationResponseTxHash = HexText delegationTxHash
+ }
+
+
+drepList :: App m => Maybe Text -> [DRepStatus] -> Maybe DRepSortMode -> Maybe Natural -> Maybe Natural -> m ListDRepsResponse
+drepList mSearchQuery statuses mSortMode mPage mPageSize = do
CacheEnv {dRepListCache} <- asks vvaCache
dreps <- cacheRequest dRepListCache () DRep.listDReps
- let filtered = flip filter dreps $ \Types.DRepRegistration {..} ->
- case (dRepRegistrationType, mDRepView) of
- (Types.SoleVoter, Just x) -> x == dRepRegistrationView
- (Types.DRep, Just x) -> x `isInfixOf` dRepRegistrationView
- (Types.DRep, Nothing) -> True
- _ -> False
- return $ map drepRegistrationToDrep filtered
+
+ let filterDRepsByQuery = case mSearchQuery of
+ Nothing -> filter $ \Types.DRepRegistration {..} -> dRepRegistrationType == Types.DRep
+ Just query -> filter $ \Types.DRepRegistration {..} ->
+ case dRepRegistrationType of
+ Types.SoleVoter -> query == dRepRegistrationView || query == dRepRegistrationDRepHash
+ Types.DRep -> query `isInfixOf` dRepRegistrationView
+ || query `isInfixOf` dRepRegistrationDRepHash
+
+ let filterDRepsByStatus = case statuses of
+ [] -> id
+ _ -> filter $ \Types.DRepRegistration {..} ->
+ mapDRepStatus dRepRegistrationStatus `elem` statuses
+
+ let sortDReps = case mSortMode of
+ Nothing -> id
+ Just VotingPower -> sortOn $ \Types.DRepRegistration {..} ->
+ Down dRepRegistrationVotingPower
+ Just RegistrationDate -> sortOn $ \Types.DRepRegistration {..} ->
+ Down dRepRegistrationLatestRegistrationDate
+ Just Status -> sortOn $ \Types.DRepRegistration {..} ->
+ dRepRegistrationStatus
+
+
+ let allValidDReps = map drepRegistrationToDrep $ sortDReps $ filterDRepsByQuery $ filterDRepsByStatus dreps
+
+
+ let page = (fromIntegral $ fromMaybe 0 mPage) :: Int
+ pageSize = (fromIntegral $ fromMaybe 10 mPageSize) :: Int
+
+ total = length allValidDReps :: Int
+
+ let elements = take pageSize $ drop (page * pageSize) allValidDReps
+
+ return $ ListDRepsResponse
+ { listDRepsResponsePage = fromIntegral page
+ , listDRepsResponsePageSize = fromIntegral pageSize
+ , listDRepsResponseTotal = fromIntegral total
+ , listDRepsResponseElements = elements
+ }
+
getVotingPower :: App m => HexText -> m Integer
getVotingPower (unHexText -> dRepId) = do
@@ -137,6 +193,7 @@ proposalToResponse Types.Proposal {..} =
proposalResponseMotivation = proposalMotivaiton,
proposalResponseRationale = proposalRationale,
proposalResponseMetadata = GovernanceActionMetadata <$> proposalMetadata,
+ proposalResponseReferences = GovernanceActionReferences <$> proposalReferences,
proposalResponseYesVotes = proposalYesVotes,
proposalResponseNoVotes = proposalNoVotes,
proposalResponseAbstainVotes = proposalAbstainVotes
@@ -151,7 +208,8 @@ voteToResponse Types.Vote {..} =
voteParamsUrl = voteUrl,
voteParamsMetadataHash = HexText <$> voteDocHash,
voteParamsEpochNo = voteEpochNo,
- voteParamsDate = voteDate
+ voteParamsDate = voteDate,
+ voteParamsTxHash = HexText voteTxHash
}
@@ -181,12 +239,12 @@ mapSortAndFilterProposals selectedTypes sortMode proposals =
Just MostYesVotes -> sortOn (Down . proposalResponseYesVotes) filteredProposals
in sortedProposals
-getVotes :: App m => HexText -> [GovernanceActionType] -> Maybe GovernanceActionSortMode -> m [VoteResponse]
-getVotes (unHexText -> dRepId) selectedTypes sortMode = do
+getVotes :: App m => HexText -> [GovernanceActionType] -> Maybe GovernanceActionSortMode -> Maybe Text -> m [VoteResponse]
+getVotes (unHexText -> dRepId) selectedTypes sortMode mSearch = do
CacheEnv {dRepGetVotesCache} <- asks vvaCache
(votes, proposals) <- cacheRequest dRepGetVotesCache dRepId $ DRep.getVotes dRepId []
let voteMap = Map.fromList $ map (\vote@Types.Vote {..} -> (voteProposalId, vote)) votes
- let processedProposals = mapSortAndFilterProposals selectedTypes sortMode proposals
+ let processedProposals = filter (isProposalSearchedFor mSearch) $ mapSortAndFilterProposals selectedTypes sortMode proposals
return $
[ VoteResponse
{ voteResponseVote = voteToResponse (voteMap Map.! read (unpack proposalResponseId))
@@ -208,13 +266,17 @@ drepInfo (unHexText -> dRepId) = do
, dRepInfoResponseUrl = dRepInfoUrl
, dRepInfoResponseDataHash = HexText <$> dRepInfoDataHash
, dRepInfoResponseVotingPower = dRepInfoVotingPower
+ , dRepInfoResponseDRepRegisterTxHash = HexText <$> dRepInfoDRepRegisterTx
+ , dRepInfoResponseDRepRetireTxHash = HexText <$> dRepInfoDRepRetireTx
+ , dRepInfoResponseSoleVoterRegisterTxHash = HexText <$> dRepInfoSoleVoterRegisterTx
+ , dRepInfoResponseSoleVoterRetireTxHash = HexText <$> dRepInfoSoleVoterRetireTx
}
-getCurrentDelegation :: App m => HexText -> m (Maybe HexText)
+getCurrentDelegation :: App m => HexText -> m (Maybe DelegationResponse)
getCurrentDelegation (unHexText -> stakeKey) = do
CacheEnv {adaHolderGetCurrentDelegationCache} <- asks vvaCache
- result <- cacheRequest adaHolderGetCurrentDelegationCache stakeKey $ AdaHolder.getCurrentDelegation stakeKey
- return $ HexText <$> result
+ delegation <- cacheRequest adaHolderGetCurrentDelegationCache stakeKey $ AdaHolder.getCurrentDelegation stakeKey
+ return $ delegationToResponse <$> delegation
getStakeKeyVotingPower :: App m => HexText -> m Integer
getStakeKeyVotingPower (unHexText -> stakeKey) = do
@@ -222,6 +284,21 @@ getStakeKeyVotingPower (unHexText -> stakeKey) = do
cacheRequest adaHolderVotingPowerCache stakeKey $ AdaHolder.getStakeKeyVotingPower stakeKey
+isProposalSearchedFor :: Maybe Text -> ProposalResponse -> Bool
+isProposalSearchedFor Nothing _ = True
+isProposalSearchedFor (Just searchQuery) (ProposalResponse{..}) = fromMaybe False $ do
+ let normalisedSearchQuery = Text.toLower searchQuery
+ let govActionId = unHexText proposalResponseTxHash <> "#" <> Text.pack (show proposalResponseIndex)
+ let valuesToCheck = catMaybes
+ [ Just govActionId
+ , proposalResponseTitle
+ , proposalResponseAbout
+ , proposalResponseMotivation
+ , proposalResponseRationale
+ ]
+
+ pure $ any (\x -> normalisedSearchQuery `isInfixOf` Text.toLower x) valuesToCheck
+
listProposals
:: App m
=> [GovernanceActionType]
@@ -240,32 +317,15 @@ listProposals selectedTypes sortMode mPage mPageSize mDrepRaw mSearchQuery = do
Nothing -> return []
Just drepId ->
map (voteParamsProposalId . voteResponseVote)
- <$> getVotes drepId [] Nothing
-
-
-
- let filterF ProposalResponse{..} = case Text.toLower <$> mSearchQuery of
- Nothing -> True
- Just searchQuery -> fromMaybe False $ do
- title <- Text.toLower <$> proposalResponseTitle
- about <- Text.toLower <$> proposalResponseAbout
- motivation <- Text.toLower <$> proposalResponseMotivation
- rationale <- Text.toLower <$> proposalResponseRationale
- let govActionId = unHexText proposalResponseTxHash <> "#" <> Text.pack (show proposalResponseIndex)
- let result = searchQuery `isInfixOf` title
- || searchQuery `isInfixOf` about
- || searchQuery `isInfixOf` motivation
- || searchQuery `isInfixOf` rationale
- || searchQuery `isInfixOf` govActionId
+ <$> getVotes drepId [] Nothing Nothing
- pure result
CacheEnv {proposalListCache} <- asks vvaCache
mappedAndSortedProposals <-
filter
( \p@ProposalResponse {proposalResponseId} ->
proposalResponseId `notElem` proposalsToRemove
- && filterF p
+ && isProposalSearchedFor mSearchQuery p
) . mapSortAndFilterProposals selectedTypes sortMode <$> cacheRequest proposalListCache () Proposal.listProposals
let total = length mappedAndSortedProposals :: Int
diff --git a/govtool/backend/src/VVA/API/Types.hs b/govtool/backend/src/VVA/API/Types.hs
index a591305b6..e911afa35 100644
--- a/govtool/backend/src/VVA/API/Types.hs
+++ b/govtool/backend/src/VVA/API/Types.hs
@@ -180,6 +180,45 @@ instance ToParamSchema GovernanceActionType where
& type_ ?~ OpenApiString
& enum_ ?~ map toJSON (enumFromTo minBound maxBound :: [GovernanceActionType])
+
+data DRepSortMode = VotingPower | RegistrationDate | Status
+ deriving
+ ( Bounded
+ , Enum
+ , Eq
+ , Generic
+ , Read
+ , Show
+ )
+
+instance FromJSON DRepSortMode where
+ parseJSON (Aeson.String dRepSortMode) = pure $ fromJust $ readMaybe (Text.unpack dRepSortMode)
+ parseJSON _ = fail ""
+
+instance ToJSON DRepSortMode where
+ toJSON x = Aeson.String $ Text.pack $ show x
+
+instance ToSchema DRepSortMode where
+ declareNamedSchema proxy = do
+ NamedSchema name_ schema_ <- genericDeclareNamedSchema (fromAesonOptions defaultOptions) proxy
+ return $
+ NamedSchema name_ $
+ schema_
+ & description ?~ "DRep Sort Mode"
+ & example ?~ toJSON VotingPower
+
+instance FromHttpApiData DRepSortMode where
+ parseQueryParam t = case readMaybe $ Text.unpack t of
+ Just x -> Right x
+ Nothing -> Left ("incorrect DRep sort mode: " <> t)
+
+instance ToParamSchema DRepSortMode where
+ toParamSchema _ =
+ mempty
+ & type_ ?~ OpenApiString
+ & enum_ ?~ map toJSON (enumFromTo minBound maxBound :: [DRepSortMode])
+
+
data GovernanceActionSortMode = SoonestToExpire | NewestCreated | MostYesVotes deriving
( Bounded
, Enum
@@ -267,6 +306,27 @@ instance ToSchema GovernanceActionMetadata where
+newtype GovernanceActionReferences
+ = GovernanceActionReferences Value
+ deriving newtype (Show)
+
+instance FromJSON GovernanceActionReferences where
+ parseJSON v@(Aeson.Array a) = pure (GovernanceActionReferences v)
+ parseJSON _ = fail "GovernanceActionReferences has to be an array"
+
+instance ToJSON GovernanceActionReferences where
+ toJSON (GovernanceActionReferences g) = g
+
+instance ToSchema GovernanceActionReferences where
+ declareNamedSchema _ = pure $ NamedSchema (Just "GovernanceActionReferences") $ mempty
+ & type_ ?~ OpenApiObject
+ & description ?~ "A Governance Action References"
+ & example
+ ?~ toJSON
+ ("[{\"uri\": \"google.com\", \"@type\": \"Other\", \"label\": \"example label\"}]" :: Text)
+
+
+
data ProposalResponse
= ProposalResponse
{ proposalResponseId :: Text
@@ -285,6 +345,7 @@ data ProposalResponse
, proposalResponseMotivation :: Maybe Text
, proposalResponseRationale :: Maybe Text
, proposalResponseMetadata :: Maybe GovernanceActionMetadata
+ , proposalResponseReferences :: Maybe GovernanceActionReferences
, proposalResponseYesVotes :: Integer
, proposalResponseNoVotes :: Integer
, proposalResponseAbstainVotes :: Integer
@@ -310,6 +371,7 @@ exampleProposalResponse = "{ \"id\": \"proposalId123\","
<> "\"motivation\": \"Proposal Motivation\","
<> "\"rationale\": \"Proposal Rationale\","
<> "\"metadata\": {\"key\": \"value\"},"
+ <> "\"references\": [{\"uri\": \"google.com\", \"@type\": \"Other\", \"label\": \"example label\"}],"
<> "\"yesVotes\": 0,"
<> "\"noVotes\": 0,"
<> "\"abstainVotes\": 0}"
@@ -372,6 +434,7 @@ data VoteParams
, voteParamsMetadataHash :: Maybe HexText
, voteParamsEpochNo :: Integer
, voteParamsDate :: UTCTime
+ , voteParamsTxHash :: HexText
}
deriving (Generic, Show)
@@ -385,7 +448,8 @@ exampleVoteParams =
<> "\"url\": \"https://vote.metadata.xyz\","
<> "\"metadataHash\": \"9af10e89979e51b8cdc827c963124a1ef4920d1253eef34a1d5cfe76438e3f11\","
<> "\"epochNo\": 0,"
- <> "\"date\": \"1970-01-01T00:00:00Z\"}"
+ <> "\"date\": \"1970-01-01T00:00:00Z\","
+ <> "\"txHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\"}"
instance ToSchema VoteParams where
declareNamedSchema proxy = do
@@ -441,6 +505,10 @@ data DRepInfoResponse
, dRepInfoResponseUrl :: Maybe Text
, dRepInfoResponseDataHash :: Maybe HexText
, dRepInfoResponseVotingPower :: Maybe Integer
+ , dRepInfoResponseDRepRegisterTxHash :: Maybe HexText
+ , dRepInfoResponseDRepRetireTxHash :: Maybe HexText
+ , dRepInfoResponseSoleVoterRegisterTxHash :: Maybe HexText
+ , dRepInfoResponseSoleVoterRetireTxHash :: Maybe HexText
}
deriving (Generic, Show)
@@ -455,7 +523,11 @@ exampleDRepInfoResponse =
<> "\"deposit\": 2000000,"
<> "\"url\": \"https://drep.metadata.xyz\","
<> "\"dataHash\": \"9af10e89979e51b8cdc827c963124a1ef4920d1253eef34a1d5cfe76438e3f11\","
- <> "\"votingPower\": 1000000}"
+ <> "\"votingPower\": 1000000,"
+ <> "\"dRepRegisterTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\","
+ <> "\"dRepRetireTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\","
+ <> "\"soleVoterRegisterTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\","
+ <> "\"soleVoterRetireTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\"}"
instance ToSchema DRepInfoResponse where
declareNamedSchema proxy = do
@@ -572,7 +644,7 @@ instance ToSchema DRepHash where
?~ toJSON exampleDrepHash
-data DRepStatus = Retired | Active | Inactive deriving (Generic, Show)
+data DRepStatus = Active | Inactive | Retired deriving (Generic, Show, Eq, Ord, Enum, Bounded, Read)
-- ToJSON instance for DRepStatus
instance ToJSON DRepStatus where
@@ -595,6 +667,17 @@ instance ToSchema DRepStatus where
& description ?~ "DRep Status"
& enum_ ?~ map toJSON [Retired, Active, Inactive]
+instance FromHttpApiData DRepStatus where
+ parseQueryParam t = case readMaybe $ Text.unpack t of
+ Just x -> Right x
+ Nothing -> Left ("incorrect DRep status " <> t)
+
+instance ToParamSchema DRepStatus where
+ toParamSchema _ =
+ mempty
+ & type_ ?~ OpenApiString
+ & enum_ ?~ map toJSON (enumFromTo minBound maxBound :: [DRepStatus])
+
data DRepType = NormalDRep | SoleVoter
@@ -624,14 +707,16 @@ instance ToSchema DRepType where
data DRep
= DRep
- { dRepDrepId :: DRepHash
- , dRepView :: Text
- , dRepUrl :: Maybe Text
- , dRepMetadataHash :: Maybe Text
- , dRepDeposit :: Integer
- , dRepVotingPower :: Maybe Integer
- , dRepStatus :: DRepStatus
- , dRepType :: DRepType
+ { dRepDrepId :: DRepHash
+ , dRepView :: Text
+ , dRepUrl :: Maybe Text
+ , dRepMetadataHash :: Maybe Text
+ , dRepDeposit :: Integer
+ , dRepVotingPower :: Maybe Integer
+ , dRepStatus :: DRepStatus
+ , dRepType :: DRepType
+ , dRepLatestTxHash :: Maybe HexText
+ , dRepLatestRegistrationDate :: UTCTime
}
deriving (Generic, Show)
@@ -640,14 +725,16 @@ deriveJSON (jsonOptions "dRep") ''DRep
exampleDrep :: Text
exampleDrep =
- "{\"drepId\": \"d3a62ffe9c214e1a6a9809f7ab2a104c117f85e1f171f8f839d94be5\","
- <> "\"view\": \"drep1l8uyy66sm8u82h82gc8hkcy2xu24dl8ffsh58aa0v7d37yp48u8\","
- <> "\"url\": \"https://proposal.metadata.xyz\","
- <> "\"metadataHash\": \"9af10e89979e51b8cdc827c963124a1ef4920d1253eef34a1d5cfe76438e3f11\","
- <> "\"deposit\": 0,"
- <> "\"votingPower\": 0,"
- <> "\"status\": \"Active\","
- <> "\"type\": \"DRep\"}"
+ "{\"drepId\": \"d3a62ffe9c214e1a6a9809f7ab2a104c117f85e1f171f8f839d94be5\","
+ <> "\"view\": \"drep1l8uyy66sm8u82h82gc8hkcy2xu24dl8ffsh58aa0v7d37yp48u8\","
+ <> "\"url\": \"https://proposal.metadata.xyz\","
+ <> "\"metadataHash\": \"9af10e89979e51b8cdc827c963124a1ef4920d1253eef34a1d5cfe76438e3f11\","
+ <> "\"deposit\": 0,"
+ <> "\"votingPower\": 0,"
+ <> "\"status\": \"Active\","
+ <> "\"type\": \"DRep\","
+ <> "\"latestTxHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\","
+ <> "\"latestRegistrationDate\": \"1970-01-01T00:00:00Z\"}"
-- ToSchema instance for DRep
instance ToSchema DRep where
@@ -664,7 +751,60 @@ instance ToSchema DRep where
?~ toJSON exampleDrep
+exampleListDRepsResponse :: Text
+exampleListDRepsResponse =
+ "{ \"page\": 0,"
+ <> "\"pageSize\": 1,"
+ <> "\"total\": 1000,"
+ <> "\"elements\": ["
+ <> exampleDrep <> "]}"
+
+data ListDRepsResponse
+ = ListDRepsResponse
+ { listDRepsResponsePage :: Integer
+ , listDRepsResponsePageSize :: Integer
+ , listDRepsResponseTotal :: Integer
+ , listDRepsResponseElements :: [DRep]
+ }
+ deriving (Generic, Show)
+deriveJSON (jsonOptions "listDRepsResponse") ''ListDRepsResponse
+
+instance ToSchema ListDRepsResponse where
+ declareNamedSchema proxy = do
+ NamedSchema name_ schema_ <-
+ genericDeclareNamedSchema
+ ( fromAesonOptions $
+ jsonOptions "listDRepsResponse"
+ )
+ proxy
+ return $
+ NamedSchema name_ $
+ schema_
+ & description ?~ "ListProposalsResponse"
+ & example
+ ?~ toJSON exampleListDRepsResponse
+
+
+data DelegationResponse
+ = DelegationResponse
+ { delegationResponseDRepHash :: Maybe HexText
+ , delegationResponseDRepView :: Text
+ , delegationResponseTxHash :: HexText
+ }
+deriveJSON (jsonOptions "delegationResponse") ''DelegationResponse
+
+exampleDelegationResponse :: Text
+exampleDelegationResponse = "{\"drepHash\": \"b4e4184bfedf920fec53cdc327de4da661ae427784c0ccca9e3c2f50\","
+ <> "\"drepView\": \"drep1l8uyy66sm8u82h82gc8hkcy2xu24dl8ffsh58aa0v7d37yp48u8\","
+ <> "\"txHash\": \"47c14a128cd024f1b990c839d67720825921ad87ed875def42641ddd2169b39c\"}"
+
+instance ToSchema DelegationResponse where
+ declareNamedSchema _ = pure $ NamedSchema (Just "DelegationResponse") $ mempty
+ & type_ ?~ OpenApiObject
+ & description ?~ "Delegation Response"
+ & example
+ ?~ toJSON exampleDelegationResponse
data GetNetworkMetricsResponse
= GetNetworkMetricsResponse
diff --git a/govtool/backend/src/VVA/AdaHolder.hs b/govtool/backend/src/VVA/AdaHolder.hs
index 1e177235f..8258445d6 100644
--- a/govtool/backend/src/VVA/AdaHolder.hs
+++ b/govtool/backend/src/VVA/AdaHolder.hs
@@ -24,6 +24,7 @@ import qualified Database.PostgreSQL.Simple as SQL
import VVA.Config
import VVA.Pool (ConnectionPool, withPool)
+import VVA.Types
sqlFrom :: ByteString -> SQL.Query
sqlFrom bs = fromString $ unpack $ Text.decodeUtf8 bs
@@ -37,12 +38,12 @@ getCurrentDelegationSql = sqlFrom $(embedFile "sql/get-current-delegation.sql")
getCurrentDelegation ::
(Has ConnectionPool r, Has VVAConfig r, MonadReader r m, MonadIO m) =>
Text ->
- m (Maybe Text)
+ m (Maybe Delegation)
getCurrentDelegation stakeKey = withPool $ \conn -> do
result <- liftIO $ SQL.query conn getCurrentDelegationSql (SQL.Only stakeKey)
case result of
[] -> return Nothing
- [SQL.Only delegation] -> return $ Just delegation
+ [(mDRepHash, dRepView, txHash)] -> return $ Just $ Delegation mDRepHash dRepView txHash
_ -> error ("multiple delegations for stake key: " <> unpack stakeKey)
getVotingPowerSql :: SQL.Query
diff --git a/govtool/backend/src/VVA/DRep.hs b/govtool/backend/src/VVA/DRep.hs
index eede66a81..d5db8d115 100644
--- a/govtool/backend/src/VVA/DRep.hs
+++ b/govtool/backend/src/VVA/DRep.hs
@@ -59,9 +59,10 @@ listDReps ::
m [DRepRegistration]
listDReps = withPool $ \conn -> do
results <- liftIO $ SQL.query_ conn listDRepsSql
+ timeZone <- liftIO getCurrentTimeZone
return
- [ DRepRegistration drepHash drepView url dataHash (floor @Scientific deposit) votingPower status drepType
- | (drepHash, drepView, url, dataHash, deposit, votingPower, isActive, wasDRep) <- results
+ [ DRepRegistration drepHash drepView url dataHash (floor @Scientific deposit) votingPower status drepType txHash (localTimeToUTC timeZone date)
+ | (drepHash, drepView, url, dataHash, deposit, votingPower, isActive, wasDRep, txHash, date) <- results
, let status = case (isActive, deposit) of
(_, d) | d < 0 -> Retired
(isActive, d) | d >= 0 && isActive -> Active
@@ -82,14 +83,14 @@ getVotes ::
getVotes drepId selectedProposals = withPool $ \conn -> do
results <- liftIO $ SQL.query conn getVotesSql (SQL.Only drepId)
let proposalsToSelect = if null selectedProposals
- then [ govActionId | (_, govActionId, _, _, _, _, _, _) <- results]
+ then [ govActionId | (_, govActionId, _, _, _, _, _, _, _) <- results]
else selectedProposals
proposals <- Proposal.getProposals (Just proposalsToSelect)
let proposalMap = M.fromList $ map (\x -> (proposalId x, x)) proposals
timeZone <- liftIO getCurrentTimeZone
return
- ([ Vote proposalId' drepId' vote' url' docHash' epochNo' (localTimeToUTC timeZone date')
- | (proposalId', govActionId', drepId', vote', url', docHash', epochNo', date') <- results
+ ([ Vote proposalId' drepId' vote' url' docHash' epochNo' (localTimeToUTC timeZone date') voteTxHash'
+ | (proposalId', govActionId', drepId', vote', url', docHash', epochNo', date', voteTxHash') <- results
, govActionId' `elem` proposalsToSelect
], proposals)
@@ -117,6 +118,10 @@ getDRepInfo drepId = withPool $ \conn -> do
, url
, dataHash
, votingPower
+ , drepRegisterTx
+ , drepRetireTx
+ , soleVoterRegisterTx
+ , soleVoterRetireTx
)] ->
return $ DRepInfo
{ dRepInfoIsRegisteredAsDRep = fromMaybe False isRegisteredAsDRep
@@ -127,5 +132,9 @@ getDRepInfo drepId = withPool $ \conn -> do
, dRepInfoUrl = url
, dRepInfoDataHash = dataHash
, dRepInfoVotingPower = votingPower
+ , dRepInfoDRepRegisterTx = drepRegisterTx
+ , dRepInfoDRepRetireTx = drepRetireTx
+ , dRepInfoSoleVoterRegisterTx = soleVoterRegisterTx
+ , dRepInfoSoleVoterRetireTx = soleVoterRetireTx
}
- [] -> return $ DRepInfo False False False False Nothing Nothing Nothing Nothing
+ [] -> return $ DRepInfo False False False False Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing
diff --git a/govtool/backend/src/VVA/Proposal.hs b/govtool/backend/src/VVA/Proposal.hs
index e2c949992..970ebde78 100644
--- a/govtool/backend/src/VVA/Proposal.hs
+++ b/govtool/backend/src/VVA/Proposal.hs
@@ -87,6 +87,7 @@ getProposals mProposalIds = withPool $ \conn -> do
, motivation'
, rationale'
, metadataJson'
+ , references'
, yesVotes'
, noVotes'
, abstainVotes'
@@ -111,6 +112,7 @@ getProposals mProposalIds = withPool $ \conn -> do
motivation'
rationale'
metadataJson'
+ references'
(floor @Scientific yesVotes')
(floor @Scientific noVotes')
(floor @Scientific abstainVotes')
diff --git a/govtool/backend/src/VVA/Types.hs b/govtool/backend/src/VVA/Types.hs
index 15ac3595f..7b128045c 100644
--- a/govtool/backend/src/VVA/Types.hs
+++ b/govtool/backend/src/VVA/Types.hs
@@ -62,6 +62,7 @@ data Vote
, voteDocHash :: Maybe Text
, voteEpochNo :: Integer
, voteDate :: UTCTime
+ , voteTxHash :: Text
}
data DRepInfo
@@ -74,22 +75,28 @@ data DRepInfo
, dRepInfoUrl :: Maybe Text
, dRepInfoDataHash :: Maybe Text
, dRepInfoVotingPower :: Maybe Integer
+ , dRepInfoDRepRegisterTx :: Maybe Text
+ , dRepInfoDRepRetireTx :: Maybe Text
+ , dRepInfoSoleVoterRegisterTx :: Maybe Text
+ , dRepInfoSoleVoterRetireTx :: Maybe Text
}
-data DRepStatus = Retired | Active | Inactive
+data DRepStatus = Active | Inactive | Retired deriving (Eq, Ord)
-data DRepType = DRep | SoleVoter
+data DRepType = DRep | SoleVoter deriving (Eq)
data DRepRegistration
= DRepRegistration
- { dRepRegistrationDRepHash :: Text
- , dRepRegistrationView :: Text
- , dRepRegistrationUrl :: Maybe Text
- , dRepRegistrationDataHash :: Maybe Text
- , dRepRegistrationDeposit :: Integer
- , dRepRegistrationVotingPower :: Maybe Integer
- , dRepRegistrationStatus :: DRepStatus
- , dRepRegistrationType :: DRepType
+ { dRepRegistrationDRepHash :: Text
+ , dRepRegistrationView :: Text
+ , dRepRegistrationUrl :: Maybe Text
+ , dRepRegistrationDataHash :: Maybe Text
+ , dRepRegistrationDeposit :: Integer
+ , dRepRegistrationVotingPower :: Maybe Integer
+ , dRepRegistrationStatus :: DRepStatus
+ , dRepRegistrationType :: DRepType
+ , dRepRegistrationLatestTxHash :: Maybe Text
+ , dRepRegistrationLatestRegistrationDate :: UTCTime
}
data Proposal
@@ -110,6 +117,7 @@ data Proposal
, proposalMotivaiton :: Maybe Text
, proposalRationale :: Maybe Text
, proposalMetadata :: Maybe Value
+ , proposalReferences :: Maybe Value
, proposalYesVotes :: Integer
, proposalNoVotes :: Integer
, proposalAbstainVotes :: Integer
@@ -124,7 +132,7 @@ data CacheEnv
, getProposalCache :: Cache.Cache (Text, Integer) Proposal
, currentEpochCache :: Cache.Cache () (Maybe Value)
, adaHolderVotingPowerCache :: Cache.Cache Text Integer
- , adaHolderGetCurrentDelegationCache :: Cache.Cache Text (Maybe Text)
+ , adaHolderGetCurrentDelegationCache :: Cache.Cache Text (Maybe Delegation)
, dRepGetVotesCache :: Cache.Cache Text ([Vote], [Proposal])
, dRepInfoCache :: Cache.Cache Text DRepInfo
, dRepVotingPowerCache :: Cache.Cache Text Integer
@@ -145,3 +153,10 @@ data NetworkMetrics
, networkMetricsAlwaysAbstainVotingPower :: Integer
, networkMetricsAlwaysNoConfidenceVotingPower :: Integer
}
+
+data Delegation
+ = Delegation
+ { delegationDRepHash :: Maybe Text
+ , delegationDRepView :: Text
+ , delegationTxHash :: Text
+ }
\ No newline at end of file
diff --git a/govtool/frontend/.env.example b/govtool/frontend/.env.example
new file mode 100644
index 000000000..f7ac65b56
--- /dev/null
+++ b/govtool/frontend/.env.example
@@ -0,0 +1,6 @@
+VITE_BASE_URL=""
+VITE_NETWORK_FLAG=0
+VITE_SENTRY_DSN=""
+VITE_GTM_ID=""
+VITE_IS_DEV=true
+VITE_USERSNAP_SPACE_API_KEY=""
\ No newline at end of file
diff --git a/govtool/frontend/.gitignore b/govtool/frontend/.gitignore
index 69d430815..ba36087a4 100644
--- a/govtool/frontend/.gitignore
+++ b/govtool/frontend/.gitignore
@@ -6,3 +6,4 @@
/.lighthouseci
/yarn-error.log
.env
+coverage
\ No newline at end of file
diff --git a/govtool/frontend/Makefile b/govtool/frontend/Makefile
index 24f0702dc..a9c19da18 100644
--- a/govtool/frontend/Makefile
+++ b/govtool/frontend/Makefile
@@ -15,10 +15,11 @@ build-frontend: docker-login
if [[ "$(cardano_network)" = "mainnet" ]]; then NETWORK_FLAG=1; else NETWORK_FLAG=0; fi; \
$(call check_image_on_ecr,frontend,$(frontend_image_tag)) || \
$(docker) build --tag "$(repo_url)/frontend:$(frontend_image_tag)" \
- --build-arg VITE_BASE_URL="https://$(domain)/api" \
+ --build-arg VITE_BASE_URL="https://$(domain)" \
--build-arg VITE_GTM_ID="$${GTM_ID}" \
--build-arg VITE_NETWORK_FLAG="$$NETWORK_FLAG" \
--build-arg VITE_SENTRY_DSN="$${SENTRY_DSN}" \
+ --build-arg VITE_USERSNAP_SPACE_API_KEY="$${USERSNAP_SPACE_API_KEY}" \
$(root_dir)/govtool/frontend
.PHONY: push-frontend
diff --git a/govtool/frontend/README.md b/govtool/frontend/README.md
index b66001800..18593d402 100644
--- a/govtool/frontend/README.md
+++ b/govtool/frontend/README.md
@@ -138,6 +138,8 @@ direnv allow
yarn dev
```
+*To update the yarn.lock file after changes are made, run `nix develop .#js` for a developer shell with correct yarn/nodejs versions*
+
## After development
Check our [Contributing Documentation](../../CONTRIBUTING.md) on how to submit a PR.
diff --git a/govtool/frontend/default.nix b/govtool/frontend/default.nix
index 29be71953..7ad429b41 100644
--- a/govtool/frontend/default.nix
+++ b/govtool/frontend/default.nix
@@ -1,22 +1,42 @@
-{ pkgs ? import {} }:
+{ pkgs ? import {}
+, VITE_BASE_URL ? "http://localhost"
+, VITE_IS_DEV ? "true"
+, VITE_GTM_ID ? ""
+, VITE_SENTRY_DSN ? ""
+, CARDANO_NETWORK ? "sanchonet"
+}:
let
- project = pkgs.mkYarnPackage {
- name = "govtool-frontend";
+ VITE_NETWORK_FLAG = if CARDANO_NETWORK == "mainnet" then "1" else "0";
+ nodeModules = pkgs.mkYarnPackage {
+ name = "govtool-node-modules";
src = ./.;
packageJSON = ./package.json;
yarnLock = ./yarn.lock;
nodejs = pkgs.nodejs_18;
};
-in
-project.overrideAttrs (attrs: {
- shellHook = ''
- function warn() { tput setaf $2; echo "$1"; tput sgr0; }
+ staticSite = pkgs.stdenv.mkDerivation {
+ name = "govtool-website";
+ src = ./.;
+ buildInputs = [pkgs.yarn nodeModules];
+ inherit VITE_BASE_URL VITE_IS_DEV VITE_GTM_ID VITE_SENTRY_DSN VITE_NETWORK_FLAG;
+ buildPhase = ''
+ ln -s ${nodeModules}/libexec/voltaire-voting-app/node_modules node_modules
+ yarn build
+ '';
+ installPhase = ''
+ mv dist $out
+ '';
+ };
+ devShell = pkgs.mkShell {
+ shellHook = ''
+ function warn() { tput setaf $2; echo "$1"; tput sgr0; }
- tput bold
- warn "Welcome to GovTool!" 4
- warn "This is a frontend development shell." 4
- warn "Read the ${./README.md} to get more info about this module." 8
- rm -rf ./node_modules
- ln -s ${project.out}/libexec/voltaire-voting-app/node_modules ./node_modules
- '';
-})
+ tput bold
+ warn "Welcome to GovTool!" 4
+ warn "This is a frontend development shell." 4
+ warn "Read the ${./README.md} to get more info about this module." 8
+ rm -rf ./node_modules
+ ln -s ${nodeModules.out}/libexec/voltaire-voting-app/node_modules ./node_modules
+ '';
+ };
+in { inherit nodeModules devShell staticSite; }
diff --git a/govtool/frontend/maintenance-page/index.html b/govtool/frontend/maintenance-page/index.html
index f0438c102..47643b5ce 100644
--- a/govtool/frontend/maintenance-page/index.html
+++ b/govtool/frontend/maintenance-page/index.html
@@ -153,8 +153,12 @@
GovTool is down
- The SanchoNet GovTool is currently down for maintenance. Please try
- again later.
+ The SanchoNet GovTool Beta is currently down for maintenance.
+ SanchoNet Govtool is connected to SanchoNet testnet, which
+ means that if the network gets upgraded with new features
+ Govtool needs to be updated too.
+
+ Please try again later.
diff --git a/govtool/frontend/package-lock.json b/govtool/frontend/package-lock.json
index b1ab27abd..b8ac93fb6 100644
--- a/govtool/frontend/package-lock.json
+++ b/govtool/frontend/package-lock.json
@@ -11,7 +11,7 @@
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
- "@emurgo/cardano-serialization-lib-asmjs": "12.0.0-alpha.19",
+ "@emurgo/cardano-serialization-lib-asmjs": "12.0.0-alpha.29",
"@hookform/resolvers": "^3.3.1",
"@mui/icons-material": "^5.14.3",
"@mui/material": "^5.14.4",
@@ -19,6 +19,7 @@
"@types/jsonld": "^1.5.13",
"@types/react": "^18.2.12",
"@types/react-gtm-module": "^2.0.2",
+ "@usersnap/browser": "^0.0.5",
"axios": "^1.4.0",
"bech32": "^2.0.0",
"blakejs": "^1.2.1",
@@ -61,6 +62,7 @@
"@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1",
"@vitejs/plugin-react": "^4.0.0",
+ "@vitest/coverage-v8": "^1.5.0",
"@vitest/ui": "^1.1.0",
"chromatic": "^11.3.0",
"eslint": "^8.38.0",
@@ -72,6 +74,7 @@
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.3.4",
"eslint-plugin-storybook": "^0.6.14",
+ "istanbul-badges-readme": "^1.8.5",
"jsdom": "^23.0.1",
"storybook": "^7.4.5",
"typescript": "^5.0.2",
@@ -93,26 +96,38 @@
}
},
"node_modules/@adobe/css-tools": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz",
- "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==",
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz",
+ "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==",
"dev": true,
"license": "MIT"
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
+ "node_modules/@asamuzakjp/dom-selector": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz",
+ "integrity": "sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bidi-js": "^1.0.3",
+ "css-tree": "^2.3.1",
+ "is-potential-custom-element-name": "^1.0.1"
+ }
+ },
"node_modules/@aw-web-design/x-default-browser": {
"version": "1.4.126",
"resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz",
@@ -127,78 +142,22 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
- "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
+ "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
"license": "MIT",
"dependencies": {
- "@babel/highlight": "^7.23.4",
- "chalk": "^2.4.2"
+ "@babel/highlight": "^7.24.2",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
}
},
- "node_modules/@babel/code-frame/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "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/code-frame/node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/@babel/code-frame/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@babel/code-frame/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/@babel/compat-data": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
- "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz",
+ "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -206,22 +165,22 @@
}
},
"node_modules/@babel/core": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz",
- "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz",
+ "integrity": "sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.23.5",
- "@babel/generator": "^7.23.5",
- "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/code-frame": "^7.24.2",
+ "@babel/generator": "^7.24.4",
+ "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helpers": "^7.23.5",
- "@babel/parser": "^7.23.5",
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.5",
- "@babel/types": "^7.23.5",
+ "@babel/helpers": "^7.24.4",
+ "@babel/parser": "^7.24.4",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.1",
+ "@babel/types": "^7.24.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -236,26 +195,16 @@
"url": "https://opencollective.com/babel"
}
},
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/generator": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz",
- "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz",
+ "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.23.5",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
+ "@babel/types": "^7.24.0",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^2.5.1"
},
"engines": {
@@ -289,15 +238,15 @@
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
- "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.22.9",
- "@babel/helper-validator-option": "^7.22.15",
- "browserslist": "^4.21.9",
+ "@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"
},
@@ -315,16 +264,6 @@
"yallist": "^3.0.2"
}
},
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -333,9 +272,9 @@
"license": "ISC"
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz",
- "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz",
+ "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -344,7 +283,7 @@
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-member-expression-to-functions": "^7.23.0",
"@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-replace-supers": "^7.24.1",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
"semver": "^6.3.1"
@@ -356,16 +295,6 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/helper-create-regexp-features-plugin": {
"version": "7.22.15",
"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
@@ -384,20 +313,10 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
- "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
+ "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -462,12 +381,12 @@
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
- "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "version": "7.24.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
+ "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.22.15"
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -507,9 +426,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+ "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
"dev": true,
"license": "MIT",
"engines": {
@@ -535,14 +454,14 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.22.20",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
- "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
+ "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-member-expression-to-functions": "^7.23.0",
"@babel/helper-optimise-call-expression": "^7.22.5"
},
"engines": {
@@ -592,9 +511,9 @@
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
- "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
+ "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
@@ -635,29 +554,30 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz",
- "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz",
+ "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.5",
- "@babel/types": "^7.23.5"
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.1",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
- "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "version": "7.24.2",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
+ "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.22.20",
"chalk": "^2.4.2",
- "js-tokens": "^4.0.0"
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
},
"engines": {
"node": ">=6.9.0"
@@ -720,9 +640,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz",
- "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
+ "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -732,14 +652,31 @@
"node": ">=6.0.0"
}
},
+ "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz",
+ "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.24.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
- "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz",
+ "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -749,15 +686,15 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
- "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz",
+ "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
- "@babel/plugin-transform-optional-chaining": "^7.23.3"
+ "@babel/plugin-transform-optional-chaining": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -767,14 +704,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz",
- "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz",
+ "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -878,13 +815,13 @@
}
},
"node_modules/@babel/plugin-syntax-flow": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz",
- "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz",
+ "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -894,13 +831,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
- "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz",
+ "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -910,13 +847,13 @@
}
},
"node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz",
- "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz",
+ "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -952,13 +889,13 @@
}
},
"node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
- "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
+ "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1078,13 +1015,13 @@
}
},
"node_modules/@babel/plugin-syntax-typescript": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
- "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz",
+ "integrity": "sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1111,13 +1048,13 @@
}
},
"node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
- "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz",
+ "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1127,14 +1064,14 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz",
- "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==",
+ "version": "7.24.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
+ "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-environment-visitor": "^7.22.20",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-remap-async-to-generator": "^7.22.20",
"@babel/plugin-syntax-async-generators": "^7.8.4"
},
@@ -1146,14 +1083,14 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
- "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz",
+ "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-module-imports": "^7.24.1",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-remap-async-to-generator": "^7.22.20"
},
"engines": {
@@ -1164,13 +1101,13 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
- "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz",
+ "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1180,13 +1117,13 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
- "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz",
+ "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1196,14 +1133,14 @@
}
},
"node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
- "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz",
+ "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-create-class-features-plugin": "^7.24.1",
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1213,14 +1150,14 @@
}
},
"node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
- "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz",
+ "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.24.4",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-class-static-block": "^7.14.5"
},
"engines": {
@@ -1231,19 +1168,18 @@
}
},
"node_modules/@babel/plugin-transform-classes": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz",
- "integrity": "sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz",
+ "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-environment-visitor": "^7.22.20",
"@babel/helper-function-name": "^7.23.0",
- "@babel/helper-optimise-call-expression": "^7.22.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/helper-replace-supers": "^7.24.1",
"@babel/helper-split-export-declaration": "^7.22.6",
"globals": "^11.1.0"
},
@@ -1255,14 +1191,14 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
- "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz",
+ "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/template": "^7.22.15"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/template": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1272,13 +1208,13 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
- "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz",
+ "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1288,14 +1224,14 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
- "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz",
+ "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1305,13 +1241,13 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
- "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz",
+ "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1321,13 +1257,13 @@
}
},
"node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
- "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz",
+ "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
},
"engines": {
@@ -1338,14 +1274,14 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
- "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz",
+ "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1355,13 +1291,13 @@
}
},
"node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
- "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz",
+ "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
},
"engines": {
@@ -1372,14 +1308,14 @@
}
},
"node_modules/@babel/plugin-transform-flow-strip-types": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz",
- "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz",
+ "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/plugin-syntax-flow": "^7.23.3"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/plugin-syntax-flow": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1389,13 +1325,14 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz",
- "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz",
+ "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1405,15 +1342,15 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
- "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz",
+ "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-function-name": "^7.23.0",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1423,13 +1360,13 @@
}
},
"node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
- "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz",
+ "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-json-strings": "^7.8.3"
},
"engines": {
@@ -1440,13 +1377,13 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
- "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz",
+ "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1456,13 +1393,13 @@
}
},
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
- "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz",
+ "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
},
"engines": {
@@ -1473,13 +1410,13 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
- "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz",
+ "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1489,14 +1426,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
- "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz",
+ "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1506,14 +1443,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
- "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
+ "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-simple-access": "^7.22.5"
},
"engines": {
@@ -1524,15 +1461,15 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz",
- "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz",
+ "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
@@ -1543,14 +1480,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
- "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz",
+ "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1577,13 +1514,13 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
- "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz",
+ "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1593,13 +1530,13 @@
}
},
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
- "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz",
+ "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
},
"engines": {
@@ -1610,13 +1547,13 @@
}
},
"node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
- "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz",
+ "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
},
"engines": {
@@ -1627,17 +1564,16 @@
}
},
"node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
- "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz",
+ "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.23.3",
- "@babel/helper-compilation-targets": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.23.3"
+ "@babel/plugin-transform-parameters": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1647,14 +1583,14 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
- "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz",
+ "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-replace-supers": "^7.22.20"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/helper-replace-supers": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1664,13 +1600,13 @@
}
},
"node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
- "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz",
+ "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
},
"engines": {
@@ -1681,13 +1617,13 @@
}
},
"node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
- "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz",
+ "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
},
@@ -1699,13 +1635,13 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
- "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz",
+ "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1715,14 +1651,14 @@
}
},
"node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
- "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz",
+ "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-create-class-features-plugin": "^7.24.1",
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1732,15 +1668,15 @@
}
},
"node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.23.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
- "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz",
+ "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-create-class-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.24.1",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
@@ -1751,13 +1687,13 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
- "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz",
+ "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1767,13 +1703,13 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-self": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz",
- "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz",
+ "integrity": "sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1783,13 +1719,13 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-source": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz",
- "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz",
+ "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1799,13 +1735,13 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
- "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz",
+ "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"regenerator-transform": "^0.15.2"
},
"engines": {
@@ -1816,13 +1752,13 @@
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
- "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz",
+ "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1832,13 +1768,13 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
- "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
+ "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1848,13 +1784,13 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
- "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz",
+ "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
},
"engines": {
@@ -1865,13 +1801,13 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
- "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz",
+ "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1881,13 +1817,13 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
- "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz",
+ "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1897,13 +1833,13 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
- "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz",
+ "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1913,16 +1849,16 @@
}
},
"node_modules/@babel/plugin-transform-typescript": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz",
- "integrity": "sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz",
+ "integrity": "sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.22.5",
- "@babel/helper-create-class-features-plugin": "^7.23.5",
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/plugin-syntax-typescript": "^7.23.3"
+ "@babel/helper-create-class-features-plugin": "^7.24.4",
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/plugin-syntax-typescript": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1932,13 +1868,13 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
- "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz",
+ "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1948,14 +1884,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
- "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz",
+ "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1965,14 +1901,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
- "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz",
+ "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1982,14 +1918,14 @@
}
},
"node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
- "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz",
+ "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-create-regexp-features-plugin": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5"
+ "@babel/helper-plugin-utils": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -1999,27 +1935,28 @@
}
},
"node_modules/@babel/preset-env": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz",
- "integrity": "sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz",
+ "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.23.5",
- "@babel/helper-compilation-targets": "^7.22.15",
- "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/compat-data": "^7.24.4",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-plugin-utils": "^7.24.0",
"@babel/helper-validator-option": "^7.23.5",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3",
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1",
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-import-assertions": "^7.23.3",
- "@babel/plugin-syntax-import-attributes": "^7.23.3",
+ "@babel/plugin-syntax-import-assertions": "^7.24.1",
+ "@babel/plugin-syntax-import-attributes": "^7.24.1",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.3",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
@@ -2031,58 +1968,58 @@
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.23.3",
- "@babel/plugin-transform-async-generator-functions": "^7.23.4",
- "@babel/plugin-transform-async-to-generator": "^7.23.3",
- "@babel/plugin-transform-block-scoped-functions": "^7.23.3",
- "@babel/plugin-transform-block-scoping": "^7.23.4",
- "@babel/plugin-transform-class-properties": "^7.23.3",
- "@babel/plugin-transform-class-static-block": "^7.23.4",
- "@babel/plugin-transform-classes": "^7.23.5",
- "@babel/plugin-transform-computed-properties": "^7.23.3",
- "@babel/plugin-transform-destructuring": "^7.23.3",
- "@babel/plugin-transform-dotall-regex": "^7.23.3",
- "@babel/plugin-transform-duplicate-keys": "^7.23.3",
- "@babel/plugin-transform-dynamic-import": "^7.23.4",
- "@babel/plugin-transform-exponentiation-operator": "^7.23.3",
- "@babel/plugin-transform-export-namespace-from": "^7.23.4",
- "@babel/plugin-transform-for-of": "^7.23.3",
- "@babel/plugin-transform-function-name": "^7.23.3",
- "@babel/plugin-transform-json-strings": "^7.23.4",
- "@babel/plugin-transform-literals": "^7.23.3",
- "@babel/plugin-transform-logical-assignment-operators": "^7.23.4",
- "@babel/plugin-transform-member-expression-literals": "^7.23.3",
- "@babel/plugin-transform-modules-amd": "^7.23.3",
- "@babel/plugin-transform-modules-commonjs": "^7.23.3",
- "@babel/plugin-transform-modules-systemjs": "^7.23.3",
- "@babel/plugin-transform-modules-umd": "^7.23.3",
+ "@babel/plugin-transform-arrow-functions": "^7.24.1",
+ "@babel/plugin-transform-async-generator-functions": "^7.24.3",
+ "@babel/plugin-transform-async-to-generator": "^7.24.1",
+ "@babel/plugin-transform-block-scoped-functions": "^7.24.1",
+ "@babel/plugin-transform-block-scoping": "^7.24.4",
+ "@babel/plugin-transform-class-properties": "^7.24.1",
+ "@babel/plugin-transform-class-static-block": "^7.24.4",
+ "@babel/plugin-transform-classes": "^7.24.1",
+ "@babel/plugin-transform-computed-properties": "^7.24.1",
+ "@babel/plugin-transform-destructuring": "^7.24.1",
+ "@babel/plugin-transform-dotall-regex": "^7.24.1",
+ "@babel/plugin-transform-duplicate-keys": "^7.24.1",
+ "@babel/plugin-transform-dynamic-import": "^7.24.1",
+ "@babel/plugin-transform-exponentiation-operator": "^7.24.1",
+ "@babel/plugin-transform-export-namespace-from": "^7.24.1",
+ "@babel/plugin-transform-for-of": "^7.24.1",
+ "@babel/plugin-transform-function-name": "^7.24.1",
+ "@babel/plugin-transform-json-strings": "^7.24.1",
+ "@babel/plugin-transform-literals": "^7.24.1",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.24.1",
+ "@babel/plugin-transform-member-expression-literals": "^7.24.1",
+ "@babel/plugin-transform-modules-amd": "^7.24.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.1",
+ "@babel/plugin-transform-modules-systemjs": "^7.24.1",
+ "@babel/plugin-transform-modules-umd": "^7.24.1",
"@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
- "@babel/plugin-transform-new-target": "^7.23.3",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4",
- "@babel/plugin-transform-numeric-separator": "^7.23.4",
- "@babel/plugin-transform-object-rest-spread": "^7.23.4",
- "@babel/plugin-transform-object-super": "^7.23.3",
- "@babel/plugin-transform-optional-catch-binding": "^7.23.4",
- "@babel/plugin-transform-optional-chaining": "^7.23.4",
- "@babel/plugin-transform-parameters": "^7.23.3",
- "@babel/plugin-transform-private-methods": "^7.23.3",
- "@babel/plugin-transform-private-property-in-object": "^7.23.4",
- "@babel/plugin-transform-property-literals": "^7.23.3",
- "@babel/plugin-transform-regenerator": "^7.23.3",
- "@babel/plugin-transform-reserved-words": "^7.23.3",
- "@babel/plugin-transform-shorthand-properties": "^7.23.3",
- "@babel/plugin-transform-spread": "^7.23.3",
- "@babel/plugin-transform-sticky-regex": "^7.23.3",
- "@babel/plugin-transform-template-literals": "^7.23.3",
- "@babel/plugin-transform-typeof-symbol": "^7.23.3",
- "@babel/plugin-transform-unicode-escapes": "^7.23.3",
- "@babel/plugin-transform-unicode-property-regex": "^7.23.3",
- "@babel/plugin-transform-unicode-regex": "^7.23.3",
- "@babel/plugin-transform-unicode-sets-regex": "^7.23.3",
+ "@babel/plugin-transform-new-target": "^7.24.1",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1",
+ "@babel/plugin-transform-numeric-separator": "^7.24.1",
+ "@babel/plugin-transform-object-rest-spread": "^7.24.1",
+ "@babel/plugin-transform-object-super": "^7.24.1",
+ "@babel/plugin-transform-optional-catch-binding": "^7.24.1",
+ "@babel/plugin-transform-optional-chaining": "^7.24.1",
+ "@babel/plugin-transform-parameters": "^7.24.1",
+ "@babel/plugin-transform-private-methods": "^7.24.1",
+ "@babel/plugin-transform-private-property-in-object": "^7.24.1",
+ "@babel/plugin-transform-property-literals": "^7.24.1",
+ "@babel/plugin-transform-regenerator": "^7.24.1",
+ "@babel/plugin-transform-reserved-words": "^7.24.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.24.1",
+ "@babel/plugin-transform-spread": "^7.24.1",
+ "@babel/plugin-transform-sticky-regex": "^7.24.1",
+ "@babel/plugin-transform-template-literals": "^7.24.1",
+ "@babel/plugin-transform-typeof-symbol": "^7.24.1",
+ "@babel/plugin-transform-unicode-escapes": "^7.24.1",
+ "@babel/plugin-transform-unicode-property-regex": "^7.24.1",
+ "@babel/plugin-transform-unicode-regex": "^7.24.1",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.24.1",
"@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.6",
- "babel-plugin-polyfill-corejs3": "^0.8.5",
- "babel-plugin-polyfill-regenerator": "^0.5.3",
+ "babel-plugin-polyfill-corejs2": "^0.4.10",
+ "babel-plugin-polyfill-corejs3": "^0.10.4",
+ "babel-plugin-polyfill-regenerator": "^0.6.1",
"core-js-compat": "^3.31.0",
"semver": "^6.3.1"
},
@@ -2093,26 +2030,16 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/@babel/preset-flow": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz",
- "integrity": "sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz",
+ "integrity": "sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.15",
- "@babel/plugin-transform-flow-strip-types": "^7.23.3"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/helper-validator-option": "^7.23.5",
+ "@babel/plugin-transform-flow-strip-types": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -2137,17 +2064,17 @@
}
},
"node_modules/@babel/preset-typescript": {
- "version": "7.23.3",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
- "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz",
+ "integrity": "sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.22.5",
- "@babel/helper-validator-option": "^7.22.15",
- "@babel/plugin-syntax-jsx": "^7.23.3",
- "@babel/plugin-transform-modules-commonjs": "^7.23.3",
- "@babel/plugin-transform-typescript": "^7.23.3"
+ "@babel/helper-plugin-utils": "^7.24.0",
+ "@babel/helper-validator-option": "^7.23.5",
+ "@babel/plugin-syntax-jsx": "^7.24.1",
+ "@babel/plugin-transform-modules-commonjs": "^7.24.1",
+ "@babel/plugin-transform-typescript": "^7.24.1"
},
"engines": {
"node": ">=6.9.0"
@@ -2157,16 +2084,16 @@
}
},
"node_modules/@babel/register": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz",
- "integrity": "sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==",
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz",
+ "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"clone-deep": "^4.0.1",
"find-cache-dir": "^2.0.0",
"make-dir": "^2.1.0",
- "pirates": "^4.0.5",
+ "pirates": "^4.0.6",
"source-map-support": "^0.5.16"
},
"engines": {
@@ -2313,9 +2240,9 @@
"license": "MIT"
},
"node_modules/@babel/runtime": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz",
- "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==",
+ "version": "7.24.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz",
+ "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==",
"license": "MIT",
"dependencies": {
"regenerator-runtime": "^0.14.0"
@@ -2325,36 +2252,36 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@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.23.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz",
- "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==",
+ "version": "7.24.1",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz",
+ "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/code-frame": "^7.23.5",
- "@babel/generator": "^7.23.5",
+ "@babel/code-frame": "^7.24.1",
+ "@babel/generator": "^7.24.1",
"@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.22.6",
- "@babel/parser": "^7.23.5",
- "@babel/types": "^7.23.5",
- "debug": "^4.1.0",
+ "@babel/parser": "^7.24.1",
+ "@babel/types": "^7.24.0",
+ "debug": "^4.3.1",
"globals": "^11.1.0"
},
"engines": {
@@ -2362,9 +2289,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz",
- "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+ "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.23.4",
@@ -2404,6 +2331,7 @@
"version": "3.4.1",
"resolved": "https://registry.npmjs.org/@digitalbazaar/http-client/-/http-client-3.4.1.tgz",
"integrity": "sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==",
+ "license": "BSD-3-Clause",
"dependencies": {
"ky": "^0.33.3",
"ky-universal": "^0.11.0",
@@ -2477,9 +2405,9 @@
"license": "MIT"
},
"node_modules/@emotion/is-prop-valid": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
- "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
+ "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
"license": "MIT",
"dependencies": {
"@emotion/memoize": "^0.8.1"
@@ -2492,15 +2420,15 @@
"license": "MIT"
},
"node_modules/@emotion/react": {
- "version": "11.11.1",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz",
- "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==",
+ "version": "11.11.4",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz",
+ "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.11.0",
"@emotion/cache": "^11.11.0",
- "@emotion/serialize": "^1.1.2",
+ "@emotion/serialize": "^1.1.3",
"@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
"@emotion/utils": "^1.2.1",
"@emotion/weak-memoize": "^0.3.1",
@@ -2516,9 +2444,9 @@
}
},
"node_modules/@emotion/serialize": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz",
- "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz",
+ "integrity": "sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==",
"license": "MIT",
"dependencies": {
"@emotion/hash": "^0.9.1",
@@ -2535,15 +2463,15 @@
"license": "MIT"
},
"node_modules/@emotion/styled": {
- "version": "11.11.0",
- "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz",
- "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==",
+ "version": "11.11.5",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz",
+ "integrity": "sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.11.0",
- "@emotion/is-prop-valid": "^1.2.1",
- "@emotion/serialize": "^1.1.2",
+ "@emotion/is-prop-valid": "^1.2.2",
+ "@emotion/serialize": "^1.1.4",
"@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
"@emotion/utils": "^1.2.1"
},
@@ -2585,14 +2513,15 @@
"license": "MIT"
},
"node_modules/@emurgo/cardano-serialization-lib-asmjs": {
- "version": "12.0.0-alpha.19",
- "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.19.tgz",
- "integrity": "sha512-fF3e5qPgJeYDDmPVcyZ7nCuqYI6H3JJ5cSjxnKRRKK/FzYxEsHRoxpLCuZ604A4j/4mYNXVlUYeV4KhgecgUBw=="
+ "version": "12.0.0-alpha.29",
+ "resolved": "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.29.tgz",
+ "integrity": "sha512-E9+jGLo8QciXbkb7dDYEbZL6YlEJfNRwzYkyR4kkuvzAsy0uKe93dtAY1tdj6ECp+NyeH5xqyKU6aUT8rxwm7A==",
+ "license": "MIT"
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.19.8",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz",
- "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
+ "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
"cpu": [
"arm64"
],
@@ -2656,9 +2585,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.23.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
- "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2689,6 +2618,7 @@
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
"integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
@@ -2704,36 +2634,37 @@
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
"integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/@floating-ui/core": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.1.tgz",
- "integrity": "sha512-QgcKYwzcc8vvZ4n/5uklchy8KVdjJwcOeI+HnnTNclJjs2nYsy23DOCf+sSV1kBwD9yDAoVKCkv/gEPzgQU3Pw==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz",
+ "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==",
"license": "MIT",
"dependencies": {
- "@floating-ui/utils": "^0.1.3"
+ "@floating-ui/utils": "^0.2.1"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz",
- "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz",
+ "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==",
"license": "MIT",
"dependencies": {
- "@floating-ui/core": "^1.4.2",
- "@floating-ui/utils": "^0.1.3"
+ "@floating-ui/core": "^1.0.0",
+ "@floating-ui/utils": "^0.2.0"
}
},
"node_modules/@floating-ui/react-dom": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz",
- "integrity": "sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==",
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz",
+ "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==",
"license": "MIT",
"dependencies": {
- "@floating-ui/dom": "^1.5.1"
+ "@floating-ui/dom": "^1.6.1"
},
"peerDependencies": {
"react": ">=16.8.0",
@@ -2741,9 +2672,9 @@
}
},
"node_modules/@floating-ui/utils": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz",
- "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz",
+ "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==",
"license": "MIT"
},
"node_modules/@hapi/hoek": {
@@ -2764,9 +2695,9 @@
}
},
"node_modules/@hookform/resolvers": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.2.tgz",
- "integrity": "sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA==",
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.4.tgz",
+ "integrity": "sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==",
"license": "MIT",
"peerDependencies": {
"react-hook-form": "^7.0.0"
@@ -2777,6 +2708,7 @@
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
"integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@humanwhocodes/object-schema": "^2.0.2",
"debug": "^4.3.1",
@@ -2801,16 +2733,18 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
- "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
- "dev": true
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz",
+ "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==",
+ "dev": true,
+ "license": "BSD-3-Clause"
},
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
"integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"dev": true,
+ "license": "ISC",
"dependencies": {
"string-width": "^5.1.2",
"string-width-cjs": "npm:string-width@^4.2.0",
@@ -2828,6 +2762,7 @@
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=12"
},
@@ -2835,29 +2770,19 @@
"url": "https://github.com/chalk/ansi-regex?sponsor=1"
}
},
- "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "dev": true,
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
"node_modules/@isaacs/cliui/node_modules/emoji-regex": {
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@isaacs/cliui/node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
"integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eastasianwidth": "^0.2.0",
"emoji-regex": "^9.2.2",
@@ -2875,6 +2800,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^6.0.1"
},
@@ -2885,23 +2811,6 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
- "dev": true,
- "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/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -3020,43 +2929,16 @@
}
},
"node_modules/@jest/create-cache-key-function": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz",
- "integrity": "sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.5.1"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/create-cache-key-function/node_modules/@jest/types": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
- "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz",
+ "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^3.0.0",
- "@types/node": "*",
- "@types/yargs": "^16.0.0",
- "chalk": "^4.0.0"
+ "@jest/types": "^29.6.3"
},
"engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@jest/create-cache-key-function/node_modules/@types/yargs": {
- "version": "16.0.9",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
- "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/environment": {
@@ -3181,15 +3063,15 @@
}
},
"node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
- "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz",
+ "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
+ "@babel/core": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@istanbuljs/schema": "^0.1.3",
"istanbul-lib-coverage": "^3.2.0",
"semver": "^7.5.4"
},
@@ -3197,6 +3079,22 @@
"node": ">=10"
}
},
+ "node_modules/@jest/reporters/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@jest/schemas": {
"version": "29.6.3",
"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
@@ -3352,24 +3250,24 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3377,9 +3275,9 @@
}
},
"node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -3394,9 +3292,9 @@
"license": "MIT"
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.20",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
- "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3451,17 +3349,17 @@
}
},
"node_modules/@mui/base": {
- "version": "5.0.0-beta.26",
- "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.26.tgz",
- "integrity": "sha512-gPMRKC84VRw+tjqYoyBzyrBUqHQucMXdlBpYazHa5rCXrb91fYEQk5SqQ2U5kjxx9QxZxTBvWAmZ6DblIgaGhQ==",
+ "version": "5.0.0-beta.40",
+ "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz",
+ "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.23.4",
- "@floating-ui/react-dom": "^2.0.4",
- "@mui/types": "^7.2.10",
- "@mui/utils": "^5.14.20",
+ "@babel/runtime": "^7.23.9",
+ "@floating-ui/react-dom": "^2.0.8",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
"@popperjs/core": "^2.11.8",
- "clsx": "^2.0.0",
+ "clsx": "^2.1.0",
"prop-types": "^15.8.1"
},
"engines": {
@@ -3483,9 +3381,9 @@
}
},
"node_modules/@mui/core-downloads-tracker": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.20.tgz",
- "integrity": "sha512-fXoGe8VOrIYajqALysFuyal1q1YmBARqJ3tmnWYDVl0scu8f6h6tZQbS2K8BY28QwkWNGyv4WRfuUkzN5HR3Ow==",
+ "version": "5.15.15",
+ "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz",
+ "integrity": "sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==",
"license": "MIT",
"funding": {
"type": "opencollective",
@@ -3493,12 +3391,12 @@
}
},
"node_modules/@mui/icons-material": {
- "version": "5.14.19",
- "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.19.tgz",
- "integrity": "sha512-yjP8nluXxZGe3Y7pS+yxBV+hWZSsSBampCxkZwaw+1l+feL+rfP74vbEFbMrX/Kil9I/Y1tWfy5bs/eNvwNpWw==",
+ "version": "5.15.15",
+ "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.15.tgz",
+ "integrity": "sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.23.4"
+ "@babel/runtime": "^7.23.9"
},
"engines": {
"node": ">=12.0.0"
@@ -3519,20 +3417,20 @@
}
},
"node_modules/@mui/material": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.20.tgz",
- "integrity": "sha512-SUcPZnN6e0h1AtrDktEl76Dsyo/7pyEUQ+SAVe9XhHg/iliA0b4Vo+Eg4HbNkELsMbpDsUF4WHp7rgflPG7qYQ==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.23.4",
- "@mui/base": "5.0.0-beta.26",
- "@mui/core-downloads-tracker": "^5.14.20",
- "@mui/system": "^5.14.20",
- "@mui/types": "^7.2.10",
- "@mui/utils": "^5.14.20",
- "@types/react-transition-group": "^4.4.9",
- "clsx": "^2.0.0",
- "csstype": "^3.1.2",
+ "version": "5.15.15",
+ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.15.15.tgz",
+ "integrity": "sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/base": "5.0.0-beta.40",
+ "@mui/core-downloads-tracker": "^5.15.15",
+ "@mui/system": "^5.15.15",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
+ "@types/react-transition-group": "^4.4.10",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
"prop-types": "^15.8.1",
"react-is": "^18.2.0",
"react-transition-group": "^4.4.5"
@@ -3564,13 +3462,13 @@
}
},
"node_modules/@mui/private-theming": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.20.tgz",
- "integrity": "sha512-WV560e1vhs2IHCh0pgUaWHznrcrVoW9+cDCahU1VTkuwPokWVvb71ccWQ1f8Y3tRBPPcNkU2dChkkRJChLmQlQ==",
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz",
+ "integrity": "sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.23.4",
- "@mui/utils": "^5.14.20",
+ "@babel/runtime": "^7.23.9",
+ "@mui/utils": "^5.15.14",
"prop-types": "^15.8.1"
},
"engines": {
@@ -3591,14 +3489,14 @@
}
},
"node_modules/@mui/styled-engine": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.20.tgz",
- "integrity": "sha512-Vs4nGptd9wRslo9zeRkuWcZeIEp+oYbODy+fiZKqqr4CH1Gfi9fdP0Q1tGYk8OiJ2EPB/tZSAyOy62Hyp/iP7g==",
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz",
+ "integrity": "sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.23.4",
+ "@babel/runtime": "^7.23.9",
"@emotion/cache": "^11.11.0",
- "csstype": "^3.1.2",
+ "csstype": "^3.1.3",
"prop-types": "^15.8.1"
},
"engines": {
@@ -3623,18 +3521,18 @@
}
},
"node_modules/@mui/system": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.20.tgz",
- "integrity": "sha512-jKOGtK4VfYZG5kdaryUHss4X6hzcfh0AihT8gmnkfqRtWP7xjY+vPaUhhuSeibE5sqA5wCtdY75z6ep9pxFnIg==",
- "license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.23.4",
- "@mui/private-theming": "^5.14.20",
- "@mui/styled-engine": "^5.14.19",
- "@mui/types": "^7.2.10",
- "@mui/utils": "^5.14.20",
- "clsx": "^2.0.0",
- "csstype": "^3.1.2",
+ "version": "5.15.15",
+ "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz",
+ "integrity": "sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/runtime": "^7.23.9",
+ "@mui/private-theming": "^5.15.14",
+ "@mui/styled-engine": "^5.15.14",
+ "@mui/types": "^7.2.14",
+ "@mui/utils": "^5.15.14",
+ "clsx": "^2.1.0",
+ "csstype": "^3.1.3",
"prop-types": "^15.8.1"
},
"engines": {
@@ -3663,9 +3561,9 @@
}
},
"node_modules/@mui/types": {
- "version": "7.2.10",
- "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.10.tgz",
- "integrity": "sha512-wX1vbDC+lzF7FlhT6A3ffRZgEoKWPF8VqRoTu4lZwouFX2t90KyCMsgepMw5DxLak1BSp/KP86CmtZttikb/gQ==",
+ "version": "7.2.14",
+ "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz",
+ "integrity": "sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==",
"license": "MIT",
"peerDependencies": {
"@types/react": "^17.0.0 || ^18.0.0"
@@ -3677,12 +3575,12 @@
}
},
"node_modules/@mui/utils": {
- "version": "5.14.20",
- "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.20.tgz",
- "integrity": "sha512-Y6yL5MoFmtQml20DZnaaK1znrCEwG6/vRSzW8PKOTrzhyqKIql0FazZRUR7sA5EPASgiyKZfq0FPwISRXm5NdA==",
+ "version": "5.15.14",
+ "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz",
+ "integrity": "sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.23.4",
+ "@babel/runtime": "^7.23.9",
"@types/prop-types": "^15.7.11",
"prop-types": "^15.8.1",
"react-is": "^18.2.0"
@@ -3766,9 +3664,9 @@
}
},
"node_modules/@polka/url": {
- "version": "1.0.0-next.24",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz",
- "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==",
+ "version": "1.0.0-next.25",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
+ "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
"dev": true,
"license": "MIT"
},
@@ -4476,9 +4374,9 @@
}
},
"node_modules/@remix-run/router": {
- "version": "1.13.1",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.13.1.tgz",
- "integrity": "sha512-so+DHzZKsoOcoXrILB4rqDkMDy7NLMErRdOxvzvOKb507YINKUP4Di+shbTZDhSE/pBZ+vr7XGIpcOO0VLSA+Q==",
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==",
"license": "MIT",
"engines": {
"node": ">=14.0.0"
@@ -4507,17 +4405,10 @@
}
}
},
- "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
- "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz",
- "integrity": "sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz",
+ "integrity": "sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==",
"cpu": [
"arm"
],
@@ -4528,9 +4419,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz",
- "integrity": "sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz",
+ "integrity": "sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==",
"cpu": [
"arm64"
],
@@ -4541,9 +4432,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz",
- "integrity": "sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz",
+ "integrity": "sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==",
"cpu": [
"arm64"
],
@@ -4555,9 +4446,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz",
- "integrity": "sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz",
+ "integrity": "sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==",
"cpu": [
"x64"
],
@@ -4568,9 +4459,22 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz",
- "integrity": "sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz",
+ "integrity": "sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz",
+ "integrity": "sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==",
"cpu": [
"arm"
],
@@ -4581,9 +4485,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz",
- "integrity": "sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz",
+ "integrity": "sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==",
"cpu": [
"arm64"
],
@@ -4605,10 +4509,23 @@
"linux"
]
},
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz",
+ "integrity": "sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz",
- "integrity": "sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz",
+ "integrity": "sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==",
"cpu": [
"riscv64"
],
@@ -4618,10 +4535,23 @@
"linux"
]
},
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz",
+ "integrity": "sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz",
- "integrity": "sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz",
+ "integrity": "sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==",
"cpu": [
"x64"
],
@@ -4632,9 +4562,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz",
- "integrity": "sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz",
+ "integrity": "sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==",
"cpu": [
"x64"
],
@@ -4645,9 +4575,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz",
- "integrity": "sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz",
+ "integrity": "sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==",
"cpu": [
"arm64"
],
@@ -4658,9 +4588,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz",
- "integrity": "sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz",
+ "integrity": "sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==",
"cpu": [
"ia32"
],
@@ -4671,9 +4601,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz",
- "integrity": "sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz",
+ "integrity": "sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==",
"cpu": [
"x64"
],
@@ -4684,72 +4614,89 @@
]
},
"node_modules/@sentry-internal/feedback": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.85.0.tgz",
- "integrity": "sha512-MlbIN+N8CWFJBjbqMmARe4+UPo9QRhRar0YoOfmNA2Xqk/EwXcjHWkealosHznXH7tqVbjB25QJpHtDystft/Q==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.110.1.tgz",
+ "integrity": "sha512-0aR3wuEW+SZKOVNamuy0pTQyPmqDjWPPLrB2GAXGT3ZjrVxjEzzVPqk6DVBYxSV2MuJaD507SZnvfoSPNgoBmw==",
+ "license": "MIT",
+ "dependencies": {
+ "@sentry/core": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@sentry-internal/replay-canvas": {
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.110.1.tgz",
+ "integrity": "sha512-zdcCmWFXM4DHOau/BCZVb6jf9zozdbAiJ1MzQ6azuZEuysOl00YfktoWZBbZjjjpWT6025s+wrmFz54t0O+enw==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "7.85.0",
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0"
+ "@sentry/core": "7.110.1",
+ "@sentry/replay": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@sentry-internal/tracing": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.85.0.tgz",
- "integrity": "sha512-p3YMUwkPCy2su9cm/3+7QYR4RiMI0+07DU1BZtht9NLTzY2O87/yvUbn1v2yHR3vJQTy/+7N0ud9/mPBFznRQQ==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.110.1.tgz",
+ "integrity": "sha512-4kTd6EM0OP1SVWl2yLn3KIwlCpld1lyhNDeR8G1aKLm1PN+kVsR6YB/jy9KPPp4Q3lN3W9EkTSES3qhP4jVffQ==",
"license": "MIT",
"dependencies": {
- "@sentry/core": "7.85.0",
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0"
+ "@sentry/core": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@sentry/browser": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.85.0.tgz",
- "integrity": "sha512-x4sH7vTQnZQgy1U7NuN8XwhleAw7YMQitccHeC5m+kpIKGUO7w4Mdvu8rD3dnjmVmZvASpnwocAxy57/vCU6Ww==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-7.110.1.tgz",
+ "integrity": "sha512-H3TZlbdsgxuoVxhotMtBDemvAofx3UPNcS+UjQ40Bd+hKX01IIbEN3i+9RQ0jmcbU6xjf+yhjwp+Ejpm4FmYMw==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/feedback": "7.85.0",
- "@sentry-internal/tracing": "7.85.0",
- "@sentry/core": "7.85.0",
- "@sentry/replay": "7.85.0",
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0"
+ "@sentry-internal/feedback": "7.110.1",
+ "@sentry-internal/replay-canvas": "7.110.1",
+ "@sentry-internal/tracing": "7.110.1",
+ "@sentry/core": "7.110.1",
+ "@sentry/replay": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@sentry/core": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.85.0.tgz",
- "integrity": "sha512-DFDAc4tWmHN5IWhr7XbHCiyF1Xgb95jz8Uj/JTX9atlgodId1UIbER77qpEmH3eQGid/QBdqrlR98zCixgSbwg==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.110.1.tgz",
+ "integrity": "sha512-yC1yeUFQlmHj9u/KxKmwOMVanBmgfX+4MZnZU31QPqN95adyZTwpaYFZl4fH5kDVnz7wXJI0qRP8SxuMePtqhw==",
"license": "MIT",
"dependencies": {
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0"
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@sentry/react": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.85.0.tgz",
- "integrity": "sha512-digw63l1A9n+74rW8uiG575Xh3qWTkmvwgTfNRFvDokDRMqRTP0iQEqZRBrBEzMZ5JUa6s+5NLc1/dbMh1QQgA==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/react/-/react-7.110.1.tgz",
+ "integrity": "sha512-kXdMrDexPyBf0KP/IfgCk5NS1Yfz6tFK/+UKWTxEM5PVRZkHzV7CBdd50IFGL3xMGbJmtE5Bly6WzezqUgWZ5w==",
"license": "MIT",
"dependencies": {
- "@sentry/browser": "7.85.0",
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0",
+ "@sentry/browser": "7.110.1",
+ "@sentry/core": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1",
"hoist-non-react-statics": "^3.3.2"
},
"engines": {
@@ -4760,45 +4707,45 @@
}
},
"node_modules/@sentry/replay": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.85.0.tgz",
- "integrity": "sha512-zVtTKfO+lu5qTwHpETI/oGo8hU3rdKHr3CdI1vRLw+d60PcAa/pWVlXsQeLRTw8PFwE358gHcpFZezj/11afew==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/replay/-/replay-7.110.1.tgz",
+ "integrity": "sha512-R49fGOuKYsJ97EujPTzMjs3ZSuSkLTFFQmVBbsu/o6beRp4kK9l8H7r2BfLEcWJOXdWO5EU4KpRWgIxHaDK2aw==",
"license": "MIT",
"dependencies": {
- "@sentry-internal/tracing": "7.85.0",
- "@sentry/core": "7.85.0",
- "@sentry/types": "7.85.0",
- "@sentry/utils": "7.85.0"
+ "@sentry-internal/tracing": "7.110.1",
+ "@sentry/core": "7.110.1",
+ "@sentry/types": "7.110.1",
+ "@sentry/utils": "7.110.1"
},
"engines": {
"node": ">=12"
}
},
"node_modules/@sentry/types": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.85.0.tgz",
- "integrity": "sha512-R5jR4XkK5tBU2jDiPdSVqzkmjYRr666bcGaFGUHB/xDQCjPsjk+pEmCCL+vpuWoaZmQJUE1hVU7rgnVX81w8zg==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.110.1.tgz",
+ "integrity": "sha512-sZxOpM5gfyxvJeWVvNpHnxERTnlqcozjqNcIv29SZ6wonlkekmxDyJ3uCuPv85VO54WLyA4uzskPKnNFHacI8A==",
"license": "MIT",
"engines": {
"node": ">=8"
}
},
"node_modules/@sentry/utils": {
- "version": "7.85.0",
- "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.85.0.tgz",
- "integrity": "sha512-JZ7seNOLvhjAQ8GeB3GYknPQJkuhF88xAYOaESZP3xPOWBMFUN+IO4RqjMqMLFDniOwsVQS7GB/MfP+hxufieg==",
+ "version": "7.110.1",
+ "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.110.1.tgz",
+ "integrity": "sha512-eibLo2m1a7sHkOHxYYmRujr3D7ek2l9sv26F1SLoQBVDF7Afw5AKyzPmtA1D+4M9P/ux1okj7cGj3SaBrVpxXA==",
"license": "MIT",
"dependencies": {
- "@sentry/types": "7.85.0"
+ "@sentry/types": "7.110.1"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@sideway/address": {
- "version": "4.1.4",
- "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
- "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
+ "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -4827,9 +4774,9 @@
"license": "MIT"
},
"node_modules/@sinonjs/commons": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
- "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -4847,13 +4794,13 @@
}
},
"node_modules/@storybook/addon-actions": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.3.tgz",
- "integrity": "sha512-f4HXteYE8IJXztAK+ab5heSjXWNWvyIAU63T3Fqe3zmqONwCerUKY54Op+RkAZc/R6aALTxvGRKAH2ff8g2vjQ==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz",
+ "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core-events": "7.6.3",
+ "@storybook/core-events": "7.6.17",
"@storybook/global": "^5.0.0",
"@types/uuid": "^9.0.1",
"dequal": "^2.0.2",
@@ -4880,9 +4827,9 @@
}
},
"node_modules/@storybook/addon-backgrounds": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.3.tgz",
- "integrity": "sha512-ZZFNf8FBYBsuXvXdVk3sBgxJTn6s0HznuEE9OmAA7tMsLEDlUiWS9LEvjX2jX5K0kWivHTkJDTXV0NcLL1vWAg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz",
+ "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4896,13 +4843,13 @@
}
},
"node_modules/@storybook/addon-controls": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.3.tgz",
- "integrity": "sha512-xsM3z+CY1YOPqrcCldQLoon947fbd/o3gSO7hM3NwKiw/2WikExPO3VM4R2oi4W4PvnhkSOIO+ZDRuSs1yFmOg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz",
+ "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/blocks": "7.6.3",
+ "@storybook/blocks": "7.6.17",
"lodash": "^4.17.21",
"ts-dedent": "^2.0.0"
},
@@ -4912,9 +4859,9 @@
}
},
"node_modules/@storybook/addon-coverage": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@storybook/addon-coverage/-/addon-coverage-1.0.0.tgz",
- "integrity": "sha512-7RMllRtDwyWH2fOeCS7ZG8o5eDTd44C0ZwA+m7dJDrnOXled75RddBPMYF+BsJjeAAWOkWxsII05EKCgS7QG2A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-coverage/-/addon-coverage-1.0.1.tgz",
+ "integrity": "sha512-jGDYPBbh3+LXMDw0Nmw+fUEDH3kuHvHSOjE1fqi4ac00CnwHnyD5PD6RFSpVxR4Fw/tCDPmKEubbOzQCSZGyJg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4930,15 +4877,15 @@
}
},
"node_modules/@storybook/addon-coverage/node_modules/istanbul-lib-instrument": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
- "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz",
+ "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "@babel/core": "^7.12.3",
- "@babel/parser": "^7.14.7",
- "@istanbuljs/schema": "^0.1.2",
+ "@babel/core": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@istanbuljs/schema": "^0.1.3",
"istanbul-lib-coverage": "^3.2.0",
"semver": "^7.5.4"
},
@@ -4946,6 +4893,22 @@
"node": ">=10"
}
},
+ "node_modules/@storybook/addon-coverage/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@storybook/addon-coverage/node_modules/source-map": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
@@ -4957,27 +4920,27 @@
}
},
"node_modules/@storybook/addon-docs": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.3.tgz",
- "integrity": "sha512-2Ts+3EFg9ehkQdbjBWnCH1SE0BdyCLN6hO2N030tGxi0Vko9t9O7NLj5qdBwxLcEzb/XzL4zWukzfU17pktQwA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz",
+ "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@jest/transform": "^29.3.1",
"@mdx-js/react": "^2.1.5",
- "@storybook/blocks": "7.6.3",
- "@storybook/client-logger": "7.6.3",
- "@storybook/components": "7.6.3",
- "@storybook/csf-plugin": "7.6.3",
- "@storybook/csf-tools": "7.6.3",
+ "@storybook/blocks": "7.6.17",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/components": "7.6.17",
+ "@storybook/csf-plugin": "7.6.17",
+ "@storybook/csf-tools": "7.6.17",
"@storybook/global": "^5.0.0",
"@storybook/mdx2-csf": "^1.0.0",
- "@storybook/node-logger": "7.6.3",
- "@storybook/postinstall": "7.6.3",
- "@storybook/preview-api": "7.6.3",
- "@storybook/react-dom-shim": "7.6.3",
- "@storybook/theming": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/postinstall": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/react-dom-shim": "7.6.17",
+ "@storybook/theming": "7.6.17",
+ "@storybook/types": "7.6.17",
"fs-extra": "^11.1.0",
"remark-external-links": "^8.0.0",
"remark-slug": "^6.0.0",
@@ -4993,25 +4956,25 @@
}
},
"node_modules/@storybook/addon-essentials": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.3.tgz",
- "integrity": "sha512-bpbt5O0wcB83VLZg8QMXut+8g+7EF4iuevpwiynN9mbpQFvG49c6SE6T2eFJKTvVb4zszyfcNA0Opne2G83wZw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/addon-actions": "7.6.3",
- "@storybook/addon-backgrounds": "7.6.3",
- "@storybook/addon-controls": "7.6.3",
- "@storybook/addon-docs": "7.6.3",
- "@storybook/addon-highlight": "7.6.3",
- "@storybook/addon-measure": "7.6.3",
- "@storybook/addon-outline": "7.6.3",
- "@storybook/addon-toolbars": "7.6.3",
- "@storybook/addon-viewport": "7.6.3",
- "@storybook/core-common": "7.6.3",
- "@storybook/manager-api": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/preview-api": "7.6.3",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz",
+ "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@storybook/addon-actions": "7.6.17",
+ "@storybook/addon-backgrounds": "7.6.17",
+ "@storybook/addon-controls": "7.6.17",
+ "@storybook/addon-docs": "7.6.17",
+ "@storybook/addon-highlight": "7.6.17",
+ "@storybook/addon-measure": "7.6.17",
+ "@storybook/addon-outline": "7.6.17",
+ "@storybook/addon-toolbars": "7.6.17",
+ "@storybook/addon-viewport": "7.6.17",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/manager-api": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -5024,9 +4987,9 @@
}
},
"node_modules/@storybook/addon-highlight": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.3.tgz",
- "integrity": "sha512-Z9AJ05XCTzFZPAxQSkQf9/Hazf5/QQI0jYSsvKqt7Vk+03q5727oD9KcIY5IHPYqQqN9fHExQh1eyqY8AnS8mg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz",
+ "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5038,14 +5001,14 @@
}
},
"node_modules/@storybook/addon-interactions": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.3.tgz",
- "integrity": "sha512-Gm2UJvQC8xs9KIbVZQegTLT3VBsEZIRsXy3htNqWjSdoJZK5M4/YJ3jB247CA/Jc+Mkj7d5SlJe+bCGEzjKTbw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz",
+ "integrity": "sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@storybook/global": "^5.0.0",
- "@storybook/types": "7.6.3",
+ "@storybook/types": "7.6.17",
"jest-mock": "^27.0.6",
"polished": "^4.2.2",
"ts-dedent": "^2.2.0"
@@ -5097,9 +5060,9 @@
}
},
"node_modules/@storybook/addon-links": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.3.tgz",
- "integrity": "sha512-dUIf6Y0nckxZfVQvQSqcthaycRxy69dCJLo3aORrOPL8NvGz3v1bK0AUded5wv8vnOVxfSx/Zqu7MyFr9xyjOA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz",
+ "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5121,9 +5084,9 @@
}
},
"node_modules/@storybook/addon-measure": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.3.tgz",
- "integrity": "sha512-DqxADof04ktA5GSA8XnckYGdVYyC4oN8vfKSGcPzpcKrJ2uVr0BXbcyJAEcJAshEJimmpA6nH5TxabXDFBZgPQ==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz",
+ "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5136,9 +5099,9 @@
}
},
"node_modules/@storybook/addon-onboarding": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-1.0.9.tgz",
- "integrity": "sha512-HlHm05Py18XOf4g7abiWkvb2WteoHcRNk1PY3Wtsmjuu5aAAjBmp4mVEg59xEeA2HAMICZ2fb72NIpFlBvDN+g==",
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-1.0.11.tgz",
+ "integrity": "sha512-0Sa7PJDsM6AANOWZX7vq3kgCbS9AZFjr3tfr3bLGfXviwIBKjoZDDdIErJkS3D4mNcDa78lYQvp3PTCKwLIJ9A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5151,9 +5114,9 @@
}
},
"node_modules/@storybook/addon-outline": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.3.tgz",
- "integrity": "sha512-M7d2tcqBBl+mPBUS6Nrwis50QYSCcmT/uKamud7CnlIWsMH/5GZFfAzGSLY5ETfiGsSFYssOwrXLOV4y0enu2g==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz",
+ "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5166,9 +5129,9 @@
}
},
"node_modules/@storybook/addon-toolbars": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.3.tgz",
- "integrity": "sha512-8GpwOt0J5yLrJhTr9/h0a/LTDjt49FhdvdxiVWLlLMrjIXSIc7j193ZgoHfnlwVhJS5zojcjB+HmRw/E+AneoA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz",
+ "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==",
"dev": true,
"license": "MIT",
"funding": {
@@ -5177,9 +5140,9 @@
}
},
"node_modules/@storybook/addon-viewport": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.3.tgz",
- "integrity": "sha512-I9FQxHi4W7RUyZut4NziYa+nkBCpD1k2YpEDE5IwSC3lqQpDzFZN89eNWQtZ38tIU4c90jL3L1k69IHvANGHsA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz",
+ "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5191,23 +5154,23 @@
}
},
"node_modules/@storybook/blocks": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.3.tgz",
- "integrity": "sha512-EyjyNNCZMcV9UnBSujwduiq+F1VLVX/f16fTTPqqZOHigyfrG5LoEYC6dwOC4yO/xfWY+h3qJ51yiugMxVl0Vg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz",
+ "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/channels": "7.6.3",
- "@storybook/client-logger": "7.6.3",
- "@storybook/components": "7.6.3",
- "@storybook/core-events": "7.6.3",
+ "@storybook/channels": "7.6.17",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/components": "7.6.17",
+ "@storybook/core-events": "7.6.17",
"@storybook/csf": "^0.1.2",
- "@storybook/docs-tools": "7.6.3",
+ "@storybook/docs-tools": "7.6.17",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.6.3",
- "@storybook/preview-api": "7.6.3",
- "@storybook/theming": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/manager-api": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/theming": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/lodash": "^4.14.167",
"color-convert": "^2.0.1",
"dequal": "^2.0.2",
@@ -5244,16 +5207,16 @@
}
},
"node_modules/@storybook/builder-manager": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.3.tgz",
- "integrity": "sha512-eLMjRudhiRsg7kgbmPcCkuVf2ut753fbiVR7REtqIYwq5vu8UeNOzt1vA6HgfsUj77/7+1zG8/zeyBv/5nY5mw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz",
+ "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
- "@storybook/core-common": "7.6.3",
- "@storybook/manager": "7.6.3",
- "@storybook/node-logger": "7.6.3",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/manager": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
"@types/ejs": "^3.1.1",
"@types/find-cache-dir": "^3.2.1",
"@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
@@ -5344,20 +5307,20 @@
}
},
"node_modules/@storybook/builder-vite": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.6.3.tgz",
- "integrity": "sha512-r/G/6wdwgbhMiMZ8Z+Js8VLjIo7a0DG5SxJorTHSWNi0+jyM+3Qlg3Xj96I8yL4gfTIKWVScHqHprhjRb2E64g==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.6.17.tgz",
+ "integrity": "sha512-2Q32qalI401EsKKr9Hkk8TAOcHEerqwsjCpQgTNJnCu6GgCVKoVUcb99oRbR9Vyg0xh+jb19XiWqqQujFtLYlQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/channels": "7.6.3",
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-common": "7.6.3",
- "@storybook/csf-plugin": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/preview": "7.6.3",
- "@storybook/preview-api": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/channels": "7.6.17",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/csf-plugin": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/preview": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/find-cache-dir": "^3.2.1",
"browser-assert": "^1.2.1",
"es-module-lexer": "^0.9.3",
@@ -5390,14 +5353,14 @@
}
},
"node_modules/@storybook/channels": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.3.tgz",
- "integrity": "sha512-o9J0TBbFon16tUlU5V6kJgzAlsloJcS1cTHWqh3VWczohbRm+X1PLNUihJ7Q8kBWXAuuJkgBu7RQH7Ib46WyYg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz",
+ "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-events": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-events": "7.6.17",
"@storybook/global": "^5.0.0",
"qs": "^6.10.0",
"telejson": "^7.2.0",
@@ -5409,9 +5372,9 @@
}
},
"node_modules/@storybook/cli": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.3.tgz",
- "integrity": "sha512-OuYnzZlAtpGm4rDgI4ZWkNbAkddutlJh6KmoU9oQAlZP0zmETyJN8REUWjj5T9Z1AS2iXjCMGlFVd4TC8nKocw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz",
+ "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5419,14 +5382,14 @@
"@babel/preset-env": "^7.23.2",
"@babel/types": "^7.23.0",
"@ndelangen/get-tarball": "^3.0.7",
- "@storybook/codemod": "7.6.3",
- "@storybook/core-common": "7.6.3",
- "@storybook/core-events": "7.6.3",
- "@storybook/core-server": "7.6.3",
- "@storybook/csf-tools": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/telemetry": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/codemod": "7.6.17",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/core-events": "7.6.17",
+ "@storybook/core-server": "7.6.17",
+ "@storybook/csf-tools": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/telemetry": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/semver": "^7.3.4",
"@yarnpkg/fslib": "2.10.3",
"@yarnpkg/libzip": "2.3.0",
@@ -5451,7 +5414,6 @@
"puppeteer-core": "^2.1.1",
"read-pkg-up": "^7.0.1",
"semver": "^7.3.7",
- "simple-update-notifier": "^2.0.0",
"strip-json-comments": "^3.0.1",
"tempy": "^1.0.1",
"ts-dedent": "^2.0.0",
@@ -5525,10 +5487,26 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@storybook/cli/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@storybook/client-logger": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.3.tgz",
- "integrity": "sha512-BpsCnefrBFdxD6ukMjAblm1D6zB4U5HR1I85VWw6LOqZrfzA6l/1uBxItz0XG96HTjngbvAabWf5k7ZFCx5UCg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz",
+ "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5540,9 +5518,9 @@
}
},
"node_modules/@storybook/codemod": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.3.tgz",
- "integrity": "sha512-A1i8+WQfNg3frVcwSyu8E/cDkCu88Sw7JiGNnq9iW2e2oWMr2awpCDgXp8WfTK+HiDb2X1Pq5y/GmUlh3qr77Q==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz",
+ "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5550,9 +5528,9 @@
"@babel/preset-env": "^7.23.2",
"@babel/types": "^7.23.0",
"@storybook/csf": "^0.1.2",
- "@storybook/csf-tools": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/csf-tools": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/cross-spawn": "^6.0.2",
"cross-spawn": "^7.0.3",
"globby": "^11.0.2",
@@ -5567,19 +5545,19 @@
}
},
"node_modules/@storybook/components": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.3.tgz",
- "integrity": "sha512-UNV0WoUo+W0huOLvoEMuqRN/VB4p0CNswrXN1mi/oGWvAFJ8idu63lSuV4uQ/LKxAZ6v3Kpdd+oK/o+OeOoL6w==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz",
+ "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@radix-ui/react-select": "^1.2.2",
"@radix-ui/react-toolbar": "^1.0.4",
- "@storybook/client-logger": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
"@storybook/csf": "^0.1.2",
"@storybook/global": "^5.0.0",
- "@storybook/theming": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/theming": "7.6.17",
+ "@storybook/types": "7.6.17",
"memoizerific": "^1.11.3",
"use-resize-observer": "^9.1.0",
"util-deprecate": "^1.0.2"
@@ -5594,14 +5572,14 @@
}
},
"node_modules/@storybook/core-client": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.3.tgz",
- "integrity": "sha512-RM0Svlajddl8PP4Vq7LK8T22sFefNcTDgo82iRPZzGz0oH8LT0oXGFanj2Nkn0jruOBFClkiJ7EcwrbGJZHELg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz",
+ "integrity": "sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/client-logger": "7.6.3",
- "@storybook/preview-api": "7.6.3"
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/preview-api": "7.6.17"
},
"funding": {
"type": "opencollective",
@@ -5609,15 +5587,15 @@
}
},
"node_modules/@storybook/core-common": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.3.tgz",
- "integrity": "sha512-/ZE4BEyGwBHCQCOo681GyBKF4IqCiwVV/ZJCHTMTHFCPLJT2r+Qwv4tnI7xt1kwflOlbBlG6B6CvAqTjjVw/Ew==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz",
+ "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core-events": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/core-events": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/find-cache-dir": "^3.2.1",
"@types/node": "^18.0.0",
"@types/node-fetch": "^2.6.4",
@@ -5662,9 +5640,9 @@
}
},
"node_modules/@storybook/core-common/node_modules/@types/node": {
- "version": "18.19.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz",
- "integrity": "sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==",
+ "version": "18.19.31",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz",
+ "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5757,17 +5735,17 @@
}
},
"node_modules/@storybook/core-common/node_modules/glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "version": "10.3.12",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz",
+ "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==",
"dev": true,
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
+ "jackspeak": "^2.3.6",
"minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
+ "minipass": "^7.0.4",
+ "path-scurry": "^1.10.2"
},
"bin": {
"glob": "dist/esm/bin.mjs"
@@ -5796,9 +5774,9 @@
}
},
"node_modules/@storybook/core-common/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -5864,9 +5842,9 @@
}
},
"node_modules/@storybook/core-events": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.3.tgz",
- "integrity": "sha512-Vu3JX1mjtR8AX84lyqWsi2s2lhD997jKRWVznI3wx+UpTk8t7TTMLFk2rGYJRjaornhrqwvLYpnmtxRSxW9BOQ==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz",
+ "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5878,27 +5856,27 @@
}
},
"node_modules/@storybook/core-server": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.3.tgz",
- "integrity": "sha512-IsM24MmiFmtZeyqoijiExpIPkJNBaWQg9ttkkHS6iYwf3yFNBpYVbvuX2OpT7FDdiF3uTl0R8IvfnJR58tHD7w==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz",
+ "integrity": "sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@aw-web-design/x-default-browser": "1.4.126",
"@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-manager": "7.6.3",
- "@storybook/channels": "7.6.3",
- "@storybook/core-common": "7.6.3",
- "@storybook/core-events": "7.6.3",
+ "@storybook/builder-manager": "7.6.17",
+ "@storybook/channels": "7.6.17",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/core-events": "7.6.17",
"@storybook/csf": "^0.1.2",
- "@storybook/csf-tools": "7.6.3",
+ "@storybook/csf-tools": "7.6.17",
"@storybook/docs-mdx": "^0.1.0",
"@storybook/global": "^5.0.0",
- "@storybook/manager": "7.6.3",
- "@storybook/node-logger": "7.6.3",
- "@storybook/preview-api": "7.6.3",
- "@storybook/telemetry": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/manager": "7.6.17",
+ "@storybook/node-logger": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/telemetry": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/detect-port": "^1.3.0",
"@types/node": "^18.0.0",
"@types/pretty-hrtime": "^1.0.0",
@@ -5911,7 +5889,7 @@
"express": "^4.17.3",
"fs-extra": "^11.1.0",
"globby": "^11.0.2",
- "ip": "^2.0.0",
+ "ip": "^2.0.1",
"lodash": "^4.17.21",
"open": "^8.4.0",
"pretty-hrtime": "^1.0.3",
@@ -5932,41 +5910,35 @@
}
},
"node_modules/@storybook/core-server/node_modules/@types/node": {
- "version": "18.19.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz",
- "integrity": "sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==",
+ "version": "18.19.31",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz",
+ "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
}
},
- "node_modules/@storybook/core-server/node_modules/ws": {
- "version": "8.14.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
- "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
+ "node_modules/@storybook/core-server/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
},
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
+ "bin": {
+ "semver": "bin/semver.js"
},
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/@storybook/csf": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.2.tgz",
- "integrity": "sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA==",
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.4.tgz",
+ "integrity": "sha512-B9UI/lsQMjF+oEfZCI6YXNoeuBcGZoOP5x8yKbe2tIEmsMjSztFKkpPzi5nLCnBk/MBtl6QJeI3ksJnbsWPkOw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -5974,13 +5946,13 @@
}
},
"node_modules/@storybook/csf-plugin": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.3.tgz",
- "integrity": "sha512-8bMYPsWw2tv+fqZ5H436l4x1KLSB6gIcm6snsjyF916yCHG6WcWm+EI6+wNUoySEtrQY2AiwFJqE37wI5OUJFg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz",
+ "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/csf-tools": "7.6.3",
+ "@storybook/csf-tools": "7.6.17",
"unplugin": "^1.3.1"
},
"funding": {
@@ -5989,9 +5961,9 @@
}
},
"node_modules/@storybook/csf-tools": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.3.tgz",
- "integrity": "sha512-Zi3pg2pg88/mvBKewkfWhFUR1J4uYpHI5fSjOE+J/FeZObX/DIE7r+wJxZ0UBGyrk0Wy7Jajlb2uSP56Y0i19w==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz",
+ "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6000,7 +5972,7 @@
"@babel/traverse": "^7.23.2",
"@babel/types": "^7.23.0",
"@storybook/csf": "^0.1.2",
- "@storybook/types": "7.6.3",
+ "@storybook/types": "7.6.17",
"fs-extra": "^11.1.0",
"recast": "^0.23.1",
"ts-dedent": "^2.0.0"
@@ -6018,15 +5990,15 @@
"license": "MIT"
},
"node_modules/@storybook/docs-tools": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.3.tgz",
- "integrity": "sha512-6MtirRCQIkBeQ3bksPignZgUuFmjWqcFleTEN6vrNEfbCzMlMvuBGfm9tl4sS3n8ATWmKGj87DcJepPOT3FB4A==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz",
+ "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/core-common": "7.6.3",
- "@storybook/preview-api": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/doctrine": "^0.0.3",
"assert": "^2.1.0",
"doctrine": "^3.0.0",
@@ -6083,133 +6055,59 @@
"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
}
},
- "node_modules/@storybook/jest/node_modules/@jest/types/node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "node_modules/@storybook/jest/node_modules/@types/yargs": {
+ "version": "16.0.9",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
+ "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@storybook/jest/node_modules/jest-mock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*"
},
"engines": {
- "node": ">=10"
- },
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@storybook/manager": {
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz",
+ "integrity": "sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==",
+ "dev": true,
+ "license": "MIT",
"funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/jest/node_modules/@testing-library/jest-dom": {
- "version": "6.1.5",
- "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.5.tgz",
- "integrity": "sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==",
+ "node_modules/@storybook/manager-api": {
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz",
+ "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@adobe/css-tools": "^4.3.1",
- "@babel/runtime": "^7.9.2",
- "aria-query": "^5.0.0",
- "chalk": "^3.0.0",
- "css.escape": "^1.5.1",
- "dom-accessibility-api": "^0.5.6",
- "lodash": "^4.17.15",
- "redent": "^3.0.0"
- },
- "engines": {
- "node": ">=14",
- "npm": ">=6",
- "yarn": ">=1"
- },
- "peerDependencies": {
- "@jest/globals": ">= 28",
- "@types/jest": ">= 28",
- "jest": ">= 28",
- "vitest": ">= 0.32"
- },
- "peerDependenciesMeta": {
- "@jest/globals": {
- "optional": true
- },
- "@types/jest": {
- "optional": true
- },
- "jest": {
- "optional": true
- },
- "vitest": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/jest/node_modules/@types/yargs": {
- "version": "16.0.9",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
- "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/yargs-parser": "*"
- }
- },
- "node_modules/@storybook/jest/node_modules/chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/jest/node_modules/jest-mock": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
- "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jest/types": "^27.5.1",
- "@types/node": "*"
- },
- "engines": {
- "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
- }
- },
- "node_modules/@storybook/manager": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.3.tgz",
- "integrity": "sha512-6eMaogHANCSVV2zLPt4Q7fp8RT+AdlOe6IR0583AuqpepcFzj33iGNYABk2rmXAlkD0WzoLcC4H5mouU0fduLA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/manager-api": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.3.tgz",
- "integrity": "sha512-soDH7GZuukkhYRGzlw4jhCm5EzjfkuIAtb37/DFplqxuVbvlyJEVzkMUM2KQO7kq0/8GlWPiZ5mn56wagYyhKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@storybook/channels": "7.6.3",
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-events": "7.6.3",
+ "@storybook/channels": "7.6.17",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-events": "7.6.17",
"@storybook/csf": "^0.1.2",
"@storybook/global": "^5.0.0",
- "@storybook/router": "7.6.3",
- "@storybook/theming": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/router": "7.6.17",
+ "@storybook/theming": "7.6.17",
+ "@storybook/types": "7.6.17",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "semver": "^7.3.7",
"store2": "^2.14.2",
"telejson": "^7.2.0",
"ts-dedent": "^2.0.0"
@@ -6227,9 +6125,9 @@
"license": "MIT"
},
"node_modules/@storybook/node-logger": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.3.tgz",
- "integrity": "sha512-7yL0CMHuh1DhpUAoKCU0a53DvxBpkUom9SX5RaC1G2A9BK/B3XcHtDPAC0uyUwNCKLJMZo9QtmJspvxWjR0LtA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz",
+ "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==",
"dev": true,
"license": "MIT",
"funding": {
@@ -6238,9 +6136,9 @@
}
},
"node_modules/@storybook/postinstall": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.3.tgz",
- "integrity": "sha512-WpgdpJpY6rionluxjFZLbKiSDjvQJ5cPgufjvBRuXTsnVOsH3JNRWnPdkQkJLT9uTUMoNcyBMxbjYkK3vU6wSg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz",
+ "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==",
"dev": true,
"license": "MIT",
"funding": {
@@ -6249,9 +6147,9 @@
}
},
"node_modules/@storybook/preview": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.3.tgz",
- "integrity": "sha512-obSmKN8arWSHuLbCDM1H0lTVRMvAP/l7vOi6TQtFi6TxBz9MRCJA3Ugc0PZrbDADVZP+cp0ZJA0JQtAm+SqNAA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz",
+ "integrity": "sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -6260,18 +6158,18 @@
}
},
"node_modules/@storybook/preview-api": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.3.tgz",
- "integrity": "sha512-uPaK7yLE1P++F+IOb/1j9pgdCwfMYZrUPHogF/Mf9r4cfEjDCcIeKgGMcsbU1KnkzNQQGPh8JRzRr/iYnLjswg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz",
+ "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/channels": "7.6.3",
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-events": "7.6.3",
+ "@storybook/channels": "7.6.17",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-events": "7.6.17",
"@storybook/csf": "^0.1.2",
"@storybook/global": "^5.0.0",
- "@storybook/types": "7.6.3",
+ "@storybook/types": "7.6.17",
"@types/qs": "^6.9.5",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
@@ -6287,19 +6185,19 @@
}
},
"node_modules/@storybook/react": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.6.3.tgz",
- "integrity": "sha512-W+530cC0BAU+yBc7NzSXYWR3e8Lo5qMsmFJjWYK7zGW/YZGhSG3mjhF9pDzNM+cMtHvUS6qf5PJPQM8jePpPhg==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz",
+ "integrity": "sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-client": "7.6.3",
- "@storybook/docs-tools": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-client": "7.6.17",
+ "@storybook/docs-tools": "7.6.17",
"@storybook/global": "^5.0.0",
- "@storybook/preview-api": "7.6.3",
- "@storybook/react-dom-shim": "7.6.3",
- "@storybook/types": "7.6.3",
+ "@storybook/preview-api": "7.6.17",
+ "@storybook/react-dom-shim": "7.6.17",
+ "@storybook/types": "7.6.17",
"@types/escodegen": "^0.0.6",
"@types/estree": "^0.0.51",
"@types/node": "^18.0.0",
@@ -6334,9 +6232,9 @@
}
},
"node_modules/@storybook/react-dom-shim": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.3.tgz",
- "integrity": "sha512-UtaEaTQB27aBsAmn5IfAYkX2xl4wWWXkoAO/jUtx86FQ/r85FG0zxh/rac6IgzjYUqzjJtjIeLdeciG/48hMMA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz",
+ "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==",
"dev": true,
"license": "MIT",
"funding": {
@@ -6349,16 +6247,16 @@
}
},
"node_modules/@storybook/react-vite": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.6.3.tgz",
- "integrity": "sha512-sPrNJbnThmxsSeNj6vyG9pCCnnYzyiS+f7DVy2qeQrXvEuCYiQc503bavE3BKLxqjZQ3SkbhPsiEHcaw3I9x7A==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.6.17.tgz",
+ "integrity": "sha512-4dIm3CuRl44X1TLzN3WoZh/bChzJF7Ud28li9atj9C8db0bb/y0zl8cahrsRFoR7/LyfqdOVLqaztrnA5SsWfg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@joshwooding/vite-plugin-react-docgen-typescript": "0.3.0",
"@rollup/pluginutils": "^5.0.2",
- "@storybook/builder-vite": "7.6.3",
- "@storybook/react": "7.6.3",
+ "@storybook/builder-vite": "7.6.17",
+ "@storybook/react": "7.6.17",
"@vitejs/plugin-react": "^3.0.1",
"magic-string": "^0.30.0",
"react-docgen": "^7.0.0"
@@ -6417,23 +6315,36 @@
"license": "MIT"
},
"node_modules/@storybook/react/node_modules/@types/node": {
- "version": "18.19.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz",
- "integrity": "sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==",
+ "version": "18.19.31",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz",
+ "integrity": "sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
}
},
+ "node_modules/@storybook/react/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/@storybook/router": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.3.tgz",
- "integrity": "sha512-NZfhJqsXYca9mZCL/LGx6FmZDbrxX2S4ImW7Tqdtcc/sSlZ0BpCDkNUTesCA287cmoKMhXZRh/+bU+C2h2a+bw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz",
+ "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/client-logger": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
"memoizerific": "^1.11.3",
"qs": "^6.10.0"
},
@@ -6443,15 +6354,15 @@
}
},
"node_modules/@storybook/telemetry": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.3.tgz",
- "integrity": "sha512-NDCZWhVIUI3M6Lq4M/HPOvZqDXqANDNbI3kyHr4pFGoVaCUXuDPokL9wR+CZcMvATkJ1gHrfLPBdcRq6Biw3Iw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz",
+ "integrity": "sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/client-logger": "7.6.3",
- "@storybook/core-common": "7.6.3",
- "@storybook/csf-tools": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
+ "@storybook/core-common": "7.6.17",
+ "@storybook/csf-tools": "7.6.17",
"chalk": "^4.1.0",
"detect-package-manager": "^2.0.1",
"fetch-retry": "^5.0.2",
@@ -6524,17 +6435,17 @@
}
},
"node_modules/@storybook/test-runner/node_modules/glob": {
- "version": "10.3.10",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
- "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+ "version": "10.3.12",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz",
+ "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==",
"dev": true,
"license": "ISC",
"dependencies": {
"foreground-child": "^3.1.0",
- "jackspeak": "^2.3.5",
+ "jackspeak": "^2.3.6",
"minimatch": "^9.0.1",
- "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
- "path-scurry": "^1.10.1"
+ "minipass": "^7.0.4",
+ "path-scurry": "^1.10.2"
},
"bin": {
"glob": "dist/esm/bin.mjs"
@@ -6547,9 +6458,9 @@
}
},
"node_modules/@storybook/test-runner/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -6597,29 +6508,15 @@
"ts-dedent": "^2.2.0"
}
},
- "node_modules/@storybook/testing-library/node_modules/@testing-library/user-event": {
- "version": "14.5.1",
- "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.1.tgz",
- "integrity": "sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=12",
- "npm": ">=6"
- },
- "peerDependencies": {
- "@testing-library/dom": ">=7.21.4"
- }
- },
"node_modules/@storybook/theming": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.3.tgz",
- "integrity": "sha512-9ToNU2LM6a2kVBjOXitXEeEOuMurVLhn+uaZO1dJjv8NGnJVYiLwNPwrLsImiUD8/XXNuil972aanBR6+Aj9jw==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz",
+ "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@emotion/use-insertion-effect-with-fallbacks": "^1.0.0",
- "@storybook/client-logger": "7.6.3",
+ "@storybook/client-logger": "7.6.17",
"@storybook/global": "^5.0.0",
"memoizerific": "^1.11.3"
},
@@ -6633,13 +6530,13 @@
}
},
"node_modules/@storybook/types": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.3.tgz",
- "integrity": "sha512-vj9Jzg5eR52l8O9512QywbQpNdo67Z6BQWR8QoZRcG+/Bhzt08YI8IZMPQLFMKzcmWDPK0blQ4GfyKDYplMjPA==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz",
+ "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/channels": "7.6.3",
+ "@storybook/channels": "7.6.17",
"@types/babel__core": "^7.0.0",
"@types/express": "^4.7.0",
"file-system-cache": "2.3.0"
@@ -6650,14 +6547,14 @@
}
},
"node_modules/@swc/core": {
- "version": "1.3.100",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.100.tgz",
- "integrity": "sha512-7dKgTyxJjlrMwFZYb1auj3Xq0D8ZBe+5oeIgfMlRU05doXZypYJe0LAk0yjj3WdbwYzpF+T1PLxwTWizI0pckw==",
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.14.tgz",
+ "integrity": "sha512-tHXg6OxboUsqa/L7DpsCcFnxhLkqN/ht5pCwav1HnvfthbiNIJypr86rNx4cUnQDJepETviSqBTIjxa7pSpGDQ==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
- "@swc/counter": "^0.1.1",
+ "@swc/counter": "^0.1.2",
"@swc/types": "^0.1.5"
},
"engines": {
@@ -6668,15 +6565,16 @@
"url": "https://opencollective.com/swc"
},
"optionalDependencies": {
- "@swc/core-darwin-arm64": "1.3.100",
- "@swc/core-darwin-x64": "1.3.100",
- "@swc/core-linux-arm64-gnu": "1.3.100",
- "@swc/core-linux-arm64-musl": "1.3.100",
- "@swc/core-linux-x64-gnu": "1.3.100",
- "@swc/core-linux-x64-musl": "1.3.100",
- "@swc/core-win32-arm64-msvc": "1.3.100",
- "@swc/core-win32-ia32-msvc": "1.3.100",
- "@swc/core-win32-x64-msvc": "1.3.100"
+ "@swc/core-darwin-arm64": "1.4.14",
+ "@swc/core-darwin-x64": "1.4.14",
+ "@swc/core-linux-arm-gnueabihf": "1.4.14",
+ "@swc/core-linux-arm64-gnu": "1.4.14",
+ "@swc/core-linux-arm64-musl": "1.4.14",
+ "@swc/core-linux-x64-gnu": "1.4.14",
+ "@swc/core-linux-x64-musl": "1.4.14",
+ "@swc/core-win32-arm64-msvc": "1.4.14",
+ "@swc/core-win32-ia32-msvc": "1.4.14",
+ "@swc/core-win32-x64-msvc": "1.4.14"
},
"peerDependencies": {
"@swc/helpers": "^0.5.0"
@@ -6688,9 +6586,9 @@
}
},
"node_modules/@swc/core-darwin-arm64": {
- "version": "1.3.100",
- "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.100.tgz",
- "integrity": "sha512-XVWFsKe6ei+SsDbwmsuRkYck1SXRpO60Hioa4hoLwR8fxbA9eVp6enZtMxzVVMBi8ej5seZ4HZQeAWepbukiBw==",
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.14.tgz",
+ "integrity": "sha512-8iPfLhYNspBl836YYsfv6ErXwDUqJ7IMieddV3Ey/t/97JAEAdNDUdtTKDtbyP0j/Ebyqyn+fKcqwSq7rAof0g==",
"cpu": [
"arm64"
],
@@ -6705,20 +6603,21 @@
}
},
"node_modules/@swc/counter": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz",
- "integrity": "sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
"dev": true,
"license": "Apache-2.0"
},
"node_modules/@swc/jest": {
- "version": "0.2.29",
- "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz",
- "integrity": "sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==",
+ "version": "0.2.36",
+ "resolved": "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz",
+ "integrity": "sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@jest/create-cache-key-function": "^27.4.2",
+ "@jest/create-cache-key-function": "^29.7.0",
+ "@swc/counter": "^0.1.3",
"jsonc-parser": "^3.2.0"
},
"engines": {
@@ -6729,16 +6628,19 @@
}
},
"node_modules/@swc/types": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz",
- "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==",
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz",
+ "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
},
"node_modules/@testing-library/dom": {
- "version": "9.3.3",
- "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz",
- "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==",
+ "version": "9.3.4",
+ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz",
+ "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6778,6 +6680,13 @@
"deep-equal": "^2.0.5"
}
},
+ "node_modules/@testing-library/dom/node_modules/dom-accessibility-api": {
+ "version": "0.5.16",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
+ "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@testing-library/dom/node_modules/pretty-format": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
@@ -6801,9 +6710,9 @@
"license": "MIT"
},
"node_modules/@testing-library/jest-dom": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.6.tgz",
- "integrity": "sha512-YwuiOdYEcxhfC2u5iNKlvg2Q5MgbutovP6drq7J1HrCbvR+G58BbtoCoq+L/kNlrNFsu2Kt3jaFAviLVxYHJZg==",
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz",
+ "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6812,7 +6721,7 @@
"aria-query": "^5.0.0",
"chalk": "^3.0.0",
"css.escape": "^1.5.1",
- "dom-accessibility-api": "^0.5.6",
+ "dom-accessibility-api": "^0.6.3",
"lodash": "^4.17.15",
"redent": "^3.0.0"
},
@@ -6823,6 +6732,7 @@
},
"peerDependencies": {
"@jest/globals": ">= 28",
+ "@types/bun": "latest",
"@types/jest": ">= 28",
"jest": ">= 28",
"vitest": ">= 0.32"
@@ -6831,6 +6741,9 @@
"@jest/globals": {
"optional": true
},
+ "@types/bun": {
+ "optional": true
+ },
"@types/jest": {
"optional": true
},
@@ -6857,9 +6770,9 @@
}
},
"node_modules/@testing-library/react": {
- "version": "14.1.2",
- "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.1.2.tgz",
- "integrity": "sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==",
+ "version": "14.3.1",
+ "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz",
+ "integrity": "sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6875,16 +6788,6 @@
"react-dom": "^18.0.0"
}
},
- "node_modules/@testing-library/react/node_modules/@types/react-dom": {
- "version": "18.2.18",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz",
- "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/react": "*"
- }
- },
"node_modules/@testing-library/user-event": {
"version": "14.5.2",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz",
@@ -6921,9 +6824,9 @@
}
},
"node_modules/@types/babel__generator": {
- "version": "7.6.7",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz",
- "integrity": "sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==",
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6942,9 +6845,9 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.20.4",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz",
- "integrity": "sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==",
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
+ "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7044,9 +6947,9 @@
}
},
"node_modules/@types/express-serve-static-core": {
- "version": "4.17.41",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz",
- "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==",
+ "version": "4.19.0",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz",
+ "integrity": "sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7095,14 +6998,12 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
"integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
- "dev": true,
"license": "MIT"
},
"node_modules/@types/istanbul-lib-report": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
"integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-coverage": "*"
@@ -7112,7 +7013,6 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
"integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"@types/istanbul-lib-report": "*"
@@ -7241,31 +7141,33 @@
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/jsonld": {
"version": "1.5.13",
"resolved": "https://registry.npmjs.org/@types/jsonld/-/jsonld-1.5.13.tgz",
"integrity": "sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/@types/lodash": {
- "version": "4.14.202",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
- "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==",
+ "version": "4.17.0",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz",
+ "integrity": "sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==",
"license": "MIT"
},
"node_modules/@types/mdx": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz",
- "integrity": "sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==",
+ "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,
"license": "MIT"
},
"node_modules/@types/mime": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz",
- "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==",
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
"dev": true,
"license": "MIT"
},
@@ -7284,19 +7186,18 @@
"license": "MIT"
},
"node_modules/@types/node": {
- "version": "20.10.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz",
- "integrity": "sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==",
- "dev": true,
+ "version": "20.12.7",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
+ "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
"license": "MIT",
"dependencies": {
"undici-types": "~5.26.4"
}
},
"node_modules/@types/node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7325,15 +7226,15 @@
"license": "MIT"
},
"node_modules/@types/prop-types": {
- "version": "15.7.11",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz",
- "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==",
+ "version": "15.7.12",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
+ "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
"license": "MIT"
},
"node_modules/@types/qs": {
- "version": "6.9.10",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz",
- "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==",
+ "version": "6.9.15",
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz",
+ "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==",
"dev": true,
"license": "MIT"
},
@@ -7345,20 +7246,19 @@
"license": "MIT"
},
"node_modules/@types/react": {
- "version": "18.2.42",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz",
- "integrity": "sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==",
+ "version": "18.2.79",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz",
+ "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==",
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
- "@types/scheduler": "*",
"csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
- "version": "18.2.17",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz",
- "integrity": "sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==",
+ "version": "18.2.25",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz",
+ "integrity": "sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -7372,9 +7272,9 @@
"license": "MIT"
},
"node_modules/@types/react-transition-group": {
- "version": "4.4.9",
- "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.9.tgz",
- "integrity": "sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==",
+ "version": "4.4.10",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz",
+ "integrity": "sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==",
"license": "MIT",
"dependencies": {
"@types/react": "*"
@@ -7387,16 +7287,10 @@
"dev": true,
"license": "MIT"
},
- "node_modules/@types/scheduler": {
- "version": "0.16.8",
- "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz",
- "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==",
- "license": "MIT"
- },
"node_modules/@types/semver": {
- "version": "7.5.6",
- "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
- "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "version": "7.5.8",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
"dev": true,
"license": "MIT"
},
@@ -7411,23 +7305,16 @@
"@types/node": "*"
}
},
- "node_modules/@types/send/node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@types/serve-static": {
- "version": "1.15.5",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz",
- "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==",
+ "version": "1.15.7",
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
+ "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/http-errors": "*",
- "@types/mime": "*",
- "@types/node": "*"
+ "@types/node": "*",
+ "@types/send": "*"
}
},
"node_modules/@types/stack-utils": {
@@ -7445,9 +7332,9 @@
"license": "MIT"
},
"node_modules/@types/uuid": {
- "version": "9.0.7",
- "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz",
- "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==",
+ "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,
"license": "MIT"
},
@@ -7475,26 +7362,26 @@
"version": "21.0.3",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.3.1.tgz",
- "integrity": "sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz",
+ "integrity": "sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@eslint-community/regexpp": "^4.5.1",
- "@typescript-eslint/scope-manager": "7.3.1",
- "@typescript-eslint/type-utils": "7.3.1",
- "@typescript-eslint/utils": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1",
+ "@eslint-community/regexpp": "^4.10.0",
+ "@typescript-eslint/scope-manager": "7.7.0",
+ "@typescript-eslint/type-utils": "7.7.0",
+ "@typescript-eslint/utils": "7.7.0",
+ "@typescript-eslint/visitor-keys": "7.7.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
- "ignore": "^5.2.4",
+ "ignore": "^5.3.1",
"natural-compare": "^1.4.0",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "semver": "^7.6.0",
+ "ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -7513,77 +7400,20 @@
}
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz",
- "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz",
- "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz",
- "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "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/eslint-plugin/node_modules/@typescript-eslint/utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz",
- "integrity": "sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz",
+ "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "7.3.1",
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/typescript-estree": "7.3.1",
- "semver": "^7.5.4"
+ "@types/json-schema": "^7.0.15",
+ "@types/semver": "^7.5.8",
+ "@typescript-eslint/scope-manager": "7.7.0",
+ "@typescript-eslint/types": "7.7.0",
+ "@typescript-eslint/typescript-estree": "7.7.0",
+ "semver": "^7.6.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -7596,48 +7426,33 @@
"eslint": "^8.56.0"
}
},
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz",
- "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==",
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "lru-cache": "^6.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
- "dev": true,
- "dependencies": {
- "brace-expansion": "^2.0.1"
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=10"
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.3.1.tgz",
- "integrity": "sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz",
+ "integrity": "sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/scope-manager": "7.3.1",
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/typescript-estree": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1",
+ "@typescript-eslint/scope-manager": "7.7.0",
+ "@typescript-eslint/types": "7.7.0",
+ "@typescript-eslint/typescript-estree": "7.7.0",
+ "@typescript-eslint/visitor-keys": "7.7.0",
"debug": "^4.3.4"
},
"engines": {
@@ -7656,28 +7471,16 @@
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz",
- "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==",
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz",
+ "integrity": "sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "@typescript-eslint/types": "7.7.0",
+ "@typescript-eslint/visitor-keys": "7.7.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz",
- "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==",
- "dev": true,
"engines": {
"node": "^18.18.0 || >=20.0.0"
},
@@ -7686,20 +7489,17 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz",
- "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==",
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz",
+ "integrity": "sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1",
+ "@typescript-eslint/typescript-estree": "7.7.0",
+ "@typescript-eslint/utils": "7.7.0",
"debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
+ "ts-api-utils": "^1.3.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -7708,20 +7508,29 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
+ "peerDependencies": {
+ "eslint": "^8.56.0"
+ },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz",
- "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==",
+ "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz",
+ "integrity": "sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "eslint-visitor-keys": "^3.4.1"
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "@types/json-schema": "^7.0.15",
+ "@types/semver": "^7.5.8",
+ "@typescript-eslint/scope-manager": "7.7.0",
+ "@typescript-eslint/types": "7.7.0",
+ "@typescript-eslint/typescript-estree": "7.7.0",
+ "semver": "^7.6.0"
},
"engines": {
"node": "^18.18.0 || >=20.0.0"
@@ -7729,51 +7538,56 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^8.56.0"
}
},
- "node_modules/@typescript-eslint/parser/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "node_modules/@typescript-eslint/type-utils/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "lru-cache": "^6.0.0"
},
- "engines": {
- "node": ">=16 || 14 >=14.17"
+ "bin": {
+ "semver": "bin/semver.js"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/@typescript-eslint/scope-manager": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
- "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "node_modules/@typescript-eslint/types": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz",
+ "integrity": "sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==",
"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"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/type-utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.3.1.tgz",
- "integrity": "sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==",
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz",
+ "integrity": "sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==",
"dev": true,
+ "license": "BSD-2-Clause",
"dependencies": {
- "@typescript-eslint/typescript-estree": "7.3.1",
- "@typescript-eslint/utils": "7.3.1",
+ "@typescript-eslint/types": "7.7.0",
+ "@typescript-eslint/visitor-keys": "7.7.0",
"debug": "^4.3.4",
- "ts-api-utils": "^1.0.1"
+ "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"
@@ -7782,131 +7596,90 @@
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
- "peerDependencies": {
- "eslint": "^8.56.0"
- },
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz",
- "integrity": "sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz",
- "integrity": "sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==",
- "dev": true,
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "node": ">=16 || 14 >=14.17"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz",
- "integrity": "sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==",
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
+ "license": "ISC",
"dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/visitor-keys": "7.3.1",
- "debug": "^4.3.4",
- "globby": "^11.1.0",
- "is-glob": "^4.0.3",
- "minimatch": "9.0.3",
- "semver": "^7.5.4",
- "ts-api-utils": "^1.0.1"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
+ "lru-cache": "^6.0.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "bin": {
+ "semver": "bin/semver.js"
},
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
+ "engines": {
+ "node": ">=10"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz",
- "integrity": "sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==",
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "@eslint-community/eslint-utils": "^4.4.0",
- "@types/json-schema": "^7.0.12",
- "@types/semver": "^7.5.0",
- "@typescript-eslint/scope-manager": "7.3.1",
- "@typescript-eslint/types": "7.3.1",
- "@typescript-eslint/typescript-estree": "7.3.1",
- "semver": "^7.5.4"
+ "@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": "^18.18.0 || >=20.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
- "eslint": "^8.56.0"
- }
- },
- "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz",
- "integrity": "sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==",
- "dev": true,
- "dependencies": {
- "@typescript-eslint/types": "7.3.1",
- "eslint-visitor-keys": "^3.4.1"
- },
- "engines": {
- "node": "^18.18.0 || >=20.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/typescript-eslint"
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^2.0.1"
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
},
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/types": {
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
@@ -7920,7 +7693,7 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
- "node_modules/@typescript-eslint/typescript-estree": {
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
@@ -7948,21 +7721,15 @@
}
}
},
- "node_modules/@typescript-eslint/utils": {
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
- "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
"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"
+ "eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -7970,47 +7737,36 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
- },
- "peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
- "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "node_modules/@typescript-eslint/utils/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "ISC",
"dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/@typescript-eslint/utils/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
+ "node": ">=10"
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "5.62.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
- "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "version": "7.7.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz",
+ "integrity": "sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "5.62.0",
- "eslint-visitor-keys": "^3.3.0"
+ "@typescript-eslint/types": "7.7.0",
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": "^18.18.0 || >=20.0.0"
},
"funding": {
"type": "opencollective",
@@ -8024,6 +7780,12 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/@usersnap/browser": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/@usersnap/browser/-/browser-0.0.5.tgz",
+ "integrity": "sha512-EG6SOy63lKqqwgS03Olj7iQkptuCIYd2T/o9dM5KYa518F+jycWxlNFVY0Yd5uvzyIRoEAs9TN0goaBHXPBJ3w==",
+ "license": "MIT"
+ },
"node_modules/@vitejs/plugin-react": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz",
@@ -8044,15 +7806,56 @@
"vite": "^4.2.0 || ^5.0.0"
}
},
+ "node_modules/@vitest/coverage-v8": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.5.0.tgz",
+ "integrity": "sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.1",
+ "@bcoe/v8-coverage": "^0.2.3",
+ "debug": "^4.3.4",
+ "istanbul-lib-coverage": "^3.2.2",
+ "istanbul-lib-report": "^3.0.1",
+ "istanbul-lib-source-maps": "^5.0.4",
+ "istanbul-reports": "^3.1.6",
+ "magic-string": "^0.30.5",
+ "magicast": "^0.3.3",
+ "picocolors": "^1.0.0",
+ "std-env": "^3.5.0",
+ "strip-literal": "^2.0.0",
+ "test-exclude": "^6.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/vitest"
+ },
+ "peerDependencies": {
+ "vitest": "1.5.0"
+ }
+ },
+ "node_modules/@vitest/coverage-v8/node_modules/istanbul-lib-source-maps": {
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz",
+ "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.23",
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@vitest/expect": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz",
- "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.0.tgz",
+ "integrity": "sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/spy": "1.2.2",
- "@vitest/utils": "1.2.2",
+ "@vitest/spy": "1.5.0",
+ "@vitest/utils": "1.5.0",
"chai": "^4.3.10"
},
"funding": {
@@ -8060,13 +7863,13 @@
}
},
"node_modules/@vitest/runner": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz",
- "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.0.tgz",
+ "integrity": "sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "1.2.2",
+ "@vitest/utils": "1.5.0",
"p-limit": "^5.0.0",
"pathe": "^1.1.1"
},
@@ -8104,9 +7907,9 @@
}
},
"node_modules/@vitest/snapshot": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz",
- "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.0.tgz",
+ "integrity": "sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8119,9 +7922,9 @@
}
},
"node_modules/@vitest/spy": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz",
- "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.0.tgz",
+ "integrity": "sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8132,35 +7935,36 @@
}
},
"node_modules/@vitest/ui": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.1.0.tgz",
- "integrity": "sha512-7yU1QRFBplz0xJqcgt+agcbrNFdBmLo8UUppdKkFmYx+Ih0+yMYQOyr7kOB+YoggJY/p5ZzXxdbiOz7NBX2y+w==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-1.5.0.tgz",
+ "integrity": "sha512-ETcToK2TzICf/Oartvt19IH7yR4oCs8GrQk5hRhZ5oZFaSdDHTh6o3EdzyxOaY24NZ20cXYYNGjj1se/5vHfFg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/utils": "1.1.0",
+ "@vitest/utils": "1.5.0",
"fast-glob": "^3.3.2",
"fflate": "^0.8.1",
"flatted": "^3.2.9",
"pathe": "^1.1.1",
"picocolors": "^1.0.0",
- "sirv": "^2.0.3"
+ "sirv": "^2.0.4"
},
"funding": {
"url": "https://opencollective.com/vitest"
},
"peerDependencies": {
- "vitest": "^1.0.0"
+ "vitest": "1.5.0"
}
},
- "node_modules/@vitest/ui/node_modules/@vitest/utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.0.tgz",
- "integrity": "sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==",
+ "node_modules/@vitest/utils": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.0.tgz",
+ "integrity": "sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==",
"dev": true,
"license": "MIT",
"dependencies": {
"diff-sequences": "^29.6.3",
+ "estree-walker": "^3.0.3",
"loupe": "^2.3.7",
"pretty-format": "^29.7.0"
},
@@ -8168,20 +7972,14 @@
"url": "https://opencollective.com/vitest"
}
},
- "node_modules/@vitest/utils": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz",
- "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==",
+ "node_modules/@vitest/utils/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
"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"
+ "@types/estree": "^1.0.0"
}
},
"node_modules/@yarnpkg/fslib": {
@@ -8229,12 +8027,14 @@
"node_modules/@yarnpkg/lockfile": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
- "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "license": "BSD-2-Clause"
},
"node_modules/abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+ "license": "MIT",
"dependencies": {
"event-target-shim": "^5.0.0"
},
@@ -8257,9 +8057,9 @@
}
},
"node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -8300,9 +8100,9 @@
}
},
"node_modules/agent-base": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
- "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz",
+ "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8468,9 +8268,9 @@
"license": "Python-2.0"
},
"node_modules/aria-hidden": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz",
- "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
+ "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8495,6 +8295,7 @@
"resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
"integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"is-array-buffer": "^3.0.4"
@@ -8514,15 +8315,17 @@
"license": "MIT"
},
"node_modules/array-includes": {
- "version": "3.1.7",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz",
- "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==",
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz",
+ "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
"is-string": "^1.0.7"
},
"engines": {
@@ -8547,6 +8350,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
"integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -8567,6 +8371,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz",
"integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -8587,6 +8392,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz",
"integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -8605,6 +8411,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz",
"integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -8623,6 +8430,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
"integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -8635,6 +8443,7 @@
"resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
"integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"define-properties": "^1.2.1",
@@ -8648,6 +8457,7 @@
"resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
"integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
"call-bind": "^1.0.5",
@@ -8706,7 +8516,8 @@
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz",
"integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/async": {
"version": "3.2.5",
@@ -8732,6 +8543,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "license": "ISC",
"engines": {
"node": ">= 4.0.0"
}
@@ -8741,6 +8553,7 @@
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
"integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
},
@@ -8756,17 +8569,18 @@
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz",
"integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==",
"dev": true,
+ "license": "MPL-2.0",
"engines": {
"node": ">=4"
}
},
"node_modules/axios": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz",
- "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==",
+ "version": "1.6.8",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
+ "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"license": "MIT",
"dependencies": {
- "follow-redirects": "^1.15.0",
+ "follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
@@ -8776,6 +8590,7 @@
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz",
"integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"dequal": "^2.0.3"
}
@@ -8846,16 +8661,6 @@
"node": ">=8"
}
},
- "node_modules/babel-plugin-istanbul/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/babel-plugin-jest-hoist": {
"version": "29.6.3",
"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
@@ -8888,52 +8693,42 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
- "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
+ "version": "0.4.10",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
+ "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "@babel/helper-define-polyfill-provider": "^0.6.1",
"semver": "^6.3.1"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.8.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz",
- "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==",
+ "version": "0.10.4",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
+ "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.3",
- "core-js-compat": "^3.33.1"
+ "@babel/helper-define-polyfill-provider": "^0.6.1",
+ "core-js-compat": "^3.36.1"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
- "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
+ "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.4.3"
+ "@babel/helper-define-polyfill-provider": "^0.6.1"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -9031,6 +8826,16 @@
"node": ">=12.0.0"
}
},
+ "node_modules/bidi-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "require-from-string": "^2.0.2"
+ }
+ },
"node_modules/big-integer": {
"version": "1.6.52",
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
@@ -9051,13 +8856,16 @@
}
},
"node_modules/binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/bl": {
@@ -9150,14 +8958,14 @@
"license": "MIT"
},
"node_modules/body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
+ "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"dev": true,
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
- "content-type": "~1.0.4",
+ "content-type": "~1.0.5",
"debug": "2.6.9",
"depd": "2.0.0",
"destroy": "1.2.0",
@@ -9165,7 +8973,7 @@
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
"qs": "6.11.0",
- "raw-body": "2.5.1",
+ "raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
},
@@ -9274,9 +9082,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.22.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
- "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
"dev": true,
"funding": [
{
@@ -9294,8 +9102,8 @@
],
"license": "MIT",
"dependencies": {
- "caniuse-lite": "^1.0.30001565",
- "electron-to-chromium": "^1.4.601",
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
"node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.13"
},
@@ -9410,6 +9218,7 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
"integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -9454,9 +9263,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001566",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz",
- "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==",
+ "version": "1.0.30001610",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz",
+ "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==",
"dev": true,
"funding": [
{
@@ -9477,12 +9286,13 @@
"node_modules/canonicalize": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/canonicalize/-/canonicalize-1.0.8.tgz",
- "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A=="
+ "integrity": "sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==",
+ "license": "Apache-2.0"
},
"node_modules/chai": {
- "version": "4.3.10",
- "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz",
- "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz",
+ "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9538,16 +9348,10 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
"license": "MIT",
"dependencies": {
"anymatch": "~3.1.2",
@@ -9561,6 +9365,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -9577,6 +9384,7 @@
"resolved": "https://registry.npmjs.org/chromatic/-/chromatic-11.3.0.tgz",
"integrity": "sha512-q1ZtJDJrjLGnz60ivpC16gmd7KFzcaA4eTb7gcytCqbaKqlHhCFr1xQmcUDsm14CK7JsqdkFU6S+JQdOd2ZNJg==",
"dev": true,
+ "license": "MIT",
"bin": {
"chroma": "dist/bin.js",
"chromatic": "dist/bin.js",
@@ -9610,6 +9418,16 @@
"node": ">=8"
}
},
+ "node_modules/citty": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz",
+ "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "consola": "^3.2.3"
+ }
+ },
"node_modules/cjs-module-lexer": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz",
@@ -9654,9 +9472,9 @@
}
},
"node_modules/cli-table3": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz",
+ "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9670,18 +9488,30 @@
}
},
"node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+ "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^6.2.0"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+ "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=8"
}
},
"node_modules/clone": {
@@ -9723,9 +9553,9 @@
}
},
"node_modules/clsx": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz",
- "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz",
+ "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==",
"license": "MIT",
"engines": {
"node": ">=6"
@@ -9790,13 +9620,6 @@
"simple-swizzle": "^0.2.2"
}
},
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
@@ -9911,7 +9734,18 @@
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz",
"integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/consola": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz",
+ "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.18.0 || >=16.10.0"
+ }
},
"node_modules/content-disposition": {
"version": "0.5.4",
@@ -9965,9 +9799,9 @@
"license": "MIT"
},
"node_modules/cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -9982,13 +9816,13 @@
"license": "MIT"
},
"node_modules/core-js-compat": {
- "version": "3.33.3",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz",
- "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==",
+ "version": "3.36.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz",
+ "integrity": "sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "browserslist": "^4.22.1"
+ "browserslist": "^4.23.0"
},
"funding": {
"type": "opencollective",
@@ -10018,6 +9852,15 @@
"node": ">=10"
}
},
+ "node_modules/cosmiconfig/node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/create-jest": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
@@ -10064,6 +9907,20 @@
"node": ">=8"
}
},
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
"node_modules/css.escape": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz",
@@ -10072,22 +9929,22 @@
"license": "MIT"
},
"node_modules/cssstyle": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz",
- "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz",
+ "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"rrweb-cssom": "^0.6.0"
},
"engines": {
- "node": ">=14"
+ "node": ">=18"
}
},
"node_modules/csstype": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
- "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
"license": "MIT"
},
"node_modules/cwd": {
@@ -10108,12 +9965,14 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz",
"integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==",
- "dev": true
+ "dev": true,
+ "license": "BSD-2-Clause"
},
"node_modules/data-uri-to-buffer": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz",
"integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==",
+ "license": "MIT",
"engines": {
"node": ">= 12"
}
@@ -10137,6 +9996,7 @@
"resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz",
"integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -10154,6 +10014,7 @@
"resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz",
"integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -10171,6 +10032,7 @@
"resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz",
"integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -10217,6 +10079,13 @@
}
}
},
+ "node_modules/debug/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
@@ -10235,9 +10104,9 @@
"license": "MIT"
},
"node_modules/dedent": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
- "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz",
+ "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -10362,6 +10231,7 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
"es-errors": "^1.3.0",
@@ -10403,9 +10273,9 @@
}
},
"node_modules/defu": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.3.tgz",
- "integrity": "sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==",
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
"dev": true,
"license": "MIT"
},
@@ -10596,9 +10466,9 @@
}
},
"node_modules/dom-accessibility-api": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz",
- "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==",
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz",
+ "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==",
"dev": true,
"license": "MIT"
},
@@ -10675,16 +10545,16 @@
}
},
"node_modules/dotenv": {
- "version": "16.3.1",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz",
- "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
+ "version": "16.4.5",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz",
+ "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==",
"dev": true,
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
},
"funding": {
- "url": "https://github.com/motdotla/dotenv?sponsor=1"
+ "url": "https://dotenvx.com"
}
},
"node_modules/dotenv-expand": {
@@ -10714,7 +10584,8 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/ee-first": {
"version": "1.1.1",
@@ -10724,9 +10595,9 @@
"license": "MIT"
},
"node_modules/ejs": {
- "version": "3.1.9",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
- "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -10740,9 +10611,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.603",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.603.tgz",
- "integrity": "sha512-Dvo5OGjnl7AZTU632dFJtWj0uJK835eeOVQIuRcmBmsFsTNn3cL05FqOyHAfGQDIoHfLhyJ1Tya3PJ0ceMz54g==",
+ "version": "1.4.737",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.737.tgz",
+ "integrity": "sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==",
"dev": true,
"license": "ISC"
},
@@ -10810,9 +10681,9 @@
}
},
"node_modules/envinfo": {
- "version": "7.11.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz",
- "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==",
+ "version": "7.12.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz",
+ "integrity": "sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==",
"dev": true,
"license": "MIT",
"bin": {
@@ -10832,10 +10703,11 @@
}
},
"node_modules/es-abstract": {
- "version": "1.23.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz",
- "integrity": "sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==",
+ "version": "1.23.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
+ "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-buffer-byte-length": "^1.0.1",
"arraybuffer.prototype.slice": "^1.0.3",
@@ -10876,11 +10748,11 @@
"safe-regex-test": "^1.0.3",
"string.prototype.trim": "^1.2.9",
"string.prototype.trimend": "^1.0.8",
- "string.prototype.trimstart": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.8",
"typed-array-buffer": "^1.0.2",
"typed-array-byte-length": "^1.0.1",
"typed-array-byte-offset": "^1.0.2",
- "typed-array-length": "^1.0.5",
+ "typed-array-length": "^1.0.6",
"unbox-primitive": "^1.0.2",
"which-typed-array": "^1.1.15"
},
@@ -10895,6 +10767,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
"integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.4"
},
@@ -10906,6 +10779,7 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
@@ -10936,6 +10810,7 @@
"resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz",
"integrity": "sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -10968,6 +10843,7 @@
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz",
"integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
@@ -10980,6 +10856,7 @@
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
"integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"get-intrinsic": "^1.2.4",
"has-tostringtag": "^1.0.2",
@@ -10994,6 +10871,7 @@
"resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz",
"integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"hasown": "^2.0.0"
}
@@ -11003,6 +10881,7 @@
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-callable": "^1.1.4",
"is-date-object": "^1.0.1",
@@ -11023,9 +10902,9 @@
"license": "MIT"
},
"node_modules/esbuild": {
- "version": "0.19.8",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz",
- "integrity": "sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
+ "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -11035,28 +10914,29 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/android-arm": "0.19.8",
- "@esbuild/android-arm64": "0.19.8",
- "@esbuild/android-x64": "0.19.8",
- "@esbuild/darwin-arm64": "0.19.8",
- "@esbuild/darwin-x64": "0.19.8",
- "@esbuild/freebsd-arm64": "0.19.8",
- "@esbuild/freebsd-x64": "0.19.8",
- "@esbuild/linux-arm": "0.19.8",
- "@esbuild/linux-arm64": "0.19.8",
- "@esbuild/linux-ia32": "0.19.8",
- "@esbuild/linux-loong64": "0.19.8",
- "@esbuild/linux-mips64el": "0.19.8",
- "@esbuild/linux-ppc64": "0.19.8",
- "@esbuild/linux-riscv64": "0.19.8",
- "@esbuild/linux-s390x": "0.19.8",
- "@esbuild/linux-x64": "0.19.8",
- "@esbuild/netbsd-x64": "0.19.8",
- "@esbuild/openbsd-x64": "0.19.8",
- "@esbuild/sunos-x64": "0.19.8",
- "@esbuild/win32-arm64": "0.19.8",
- "@esbuild/win32-ia32": "0.19.8",
- "@esbuild/win32-x64": "0.19.8"
+ "@esbuild/aix-ppc64": "0.19.12",
+ "@esbuild/android-arm": "0.19.12",
+ "@esbuild/android-arm64": "0.19.12",
+ "@esbuild/android-x64": "0.19.12",
+ "@esbuild/darwin-arm64": "0.19.12",
+ "@esbuild/darwin-x64": "0.19.12",
+ "@esbuild/freebsd-arm64": "0.19.12",
+ "@esbuild/freebsd-x64": "0.19.12",
+ "@esbuild/linux-arm": "0.19.12",
+ "@esbuild/linux-arm64": "0.19.12",
+ "@esbuild/linux-ia32": "0.19.12",
+ "@esbuild/linux-loong64": "0.19.12",
+ "@esbuild/linux-mips64el": "0.19.12",
+ "@esbuild/linux-ppc64": "0.19.12",
+ "@esbuild/linux-riscv64": "0.19.12",
+ "@esbuild/linux-s390x": "0.19.12",
+ "@esbuild/linux-x64": "0.19.12",
+ "@esbuild/netbsd-x64": "0.19.12",
+ "@esbuild/openbsd-x64": "0.19.12",
+ "@esbuild/sunos-x64": "0.19.12",
+ "@esbuild/win32-arm64": "0.19.12",
+ "@esbuild/win32-ia32": "0.19.12",
+ "@esbuild/win32-x64": "0.19.12"
}
},
"node_modules/esbuild-plugin-alias": {
@@ -11067,9 +10947,9 @@
"license": "MIT"
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11122,6 +11002,7 @@
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
"integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
@@ -11177,6 +11058,7 @@
"resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-19.0.4.tgz",
"integrity": "sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"eslint-config-airbnb-base": "^15.0.0",
"object.assign": "^4.1.2",
@@ -11198,6 +11080,7 @@
"resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz",
"integrity": "sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"confusing-browser-globals": "^1.0.10",
"object.assign": "^4.1.2",
@@ -11212,20 +11095,12 @@
"eslint-plugin-import": "^2.25.2"
}
},
- "node_modules/eslint-config-airbnb-base/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-import-resolver-node": {
"version": "0.3.9",
"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz",
"integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^3.2.7",
"is-core-module": "^2.13.0",
@@ -11237,6 +11112,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -11246,6 +11122,7 @@
"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
"integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"debug": "^3.2.7"
},
@@ -11263,6 +11140,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -11272,6 +11150,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz",
"integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.7",
"array.prototype.findlastindex": "^1.2.3",
@@ -11303,6 +11182,7 @@
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ms": "^2.1.1"
}
@@ -11312,6 +11192,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -11319,20 +11200,12 @@
"node": ">=0.10.0"
}
},
- "node_modules/eslint-plugin-import/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-plugin-jest": {
"version": "27.9.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@typescript-eslint/utils": "^5.10.0"
},
@@ -11358,6 +11231,7 @@
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz",
"integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@babel/runtime": "^7.23.2",
"aria-query": "^5.3.0",
@@ -11387,13 +11261,15 @@
"version": "9.2.2",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "dev": true
+ "dev": true,
+ "license": "MIT"
},
"node_modules/eslint-plugin-react": {
"version": "7.34.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz",
"integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.7",
"array.prototype.findlast": "^1.2.4",
@@ -11449,6 +11325,7 @@
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
"integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"esutils": "^2.0.2"
},
@@ -11461,6 +11338,7 @@
"resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
"integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -11473,15 +11351,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/eslint-plugin-react/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/eslint-plugin-storybook": {
"version": "0.6.15",
"resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.15.tgz",
@@ -11512,20 +11381,27 @@
}
},
"node_modules/eslint-scope": {
- "version": "7.2.2",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
- "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
"dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"esrecurse": "^4.3.0",
- "estraverse": "^5.2.0"
+ "estraverse": "^4.1.1"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-scope/node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
}
},
"node_modules/eslint-visitor-keys": {
@@ -11541,6 +11417,23 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "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/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -11572,9 +11465,9 @@
}
},
"node_modules/eslint/node_modules/globals": {
- "version": "13.23.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
- "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -11650,19 +11543,6 @@
"url": "https://opencollective.com/eslint"
}
},
- "node_modules/espree/node_modules/acorn": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
- "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
"node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
@@ -11714,14 +11594,11 @@
}
},
"node_modules/estree-walker": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
- "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.0"
- }
+ "license": "MIT"
},
"node_modules/esutils": {
"version": "2.0.3",
@@ -11747,6 +11624,7 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
@@ -11822,18 +11700,18 @@
"license": "MIT"
},
"node_modules/express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
+ "version": "4.19.2",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
+ "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
- "body-parser": "1.20.1",
+ "body-parser": "1.20.2",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
- "cookie": "0.5.0",
+ "cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "2.0.0",
@@ -12010,9 +11888,9 @@
"license": "MIT"
},
"node_modules/fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -12053,6 +11931,7 @@
"url": "https://paypal.me/jimmywarting"
}
],
+ "license": "MIT",
"dependencies": {
"node-domexception": "^1.0.0",
"web-streams-polyfill": "^3.0.3"
@@ -12069,9 +11948,9 @@
"license": "MIT"
},
"node_modules/fflate": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.1.tgz",
- "integrity": "sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==",
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
+ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
"dev": true,
"license": "MIT"
},
@@ -12279,6 +12158,7 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz",
"integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==",
+ "license": "Apache-2.0",
"dependencies": {
"micromatch": "^4.0.2"
}
@@ -12299,16 +12179,16 @@
}
},
"node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true,
"license": "ISC"
},
"node_modules/flow-parser": {
- "version": "0.223.3",
- "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.223.3.tgz",
- "integrity": "sha512-9KxxDKSB22ovMpSULbOL/QAQGPN6M0YMS3PubQvB0jVc4W7QP6VhasIVic7MzKcJSh0BAVs4J6SZjoH0lDDNlg==",
+ "version": "0.233.0",
+ "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.233.0.tgz",
+ "integrity": "sha512-E/mv51GYJfLuRX6fZnw4M52gBxYa8pkHUOgNEZOcQK2RTXS8YXeU5rlalkTcY99UpwbeNVCSUFKaavpOksi/pQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -12316,9 +12196,9 @@
}
},
"node_modules/follow-redirects": {
- "version": "1.15.3",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz",
- "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==",
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
@@ -12377,6 +12257,7 @@
"version": "4.0.10",
"resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
"integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+ "license": "MIT",
"dependencies": {
"fetch-blob": "^3.1.2"
},
@@ -12504,6 +12385,7 @@
"resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
"integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
@@ -12561,6 +12443,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
"integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2",
@@ -12636,6 +12519,7 @@
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
"integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"es-errors": "^1.3.0",
@@ -12649,18 +12533,19 @@
}
},
"node_modules/giget": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz",
- "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==",
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz",
+ "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "colorette": "^2.0.20",
- "defu": "^6.1.2",
- "https-proxy-agent": "^7.0.2",
- "mri": "^1.2.0",
- "node-fetch-native": "^1.4.0",
- "pathe": "^1.1.1",
+ "citty": "^0.1.6",
+ "consola": "^3.2.3",
+ "defu": "^6.1.4",
+ "node-fetch-native": "^1.6.3",
+ "nypm": "^0.3.8",
+ "ohash": "^1.1.3",
+ "pathe": "^1.1.2",
"tar": "^6.2.0"
},
"bin": {
@@ -12792,6 +12677,7 @@
"resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
"integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.1.3"
},
@@ -12911,6 +12797,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
+ "license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
},
@@ -12922,6 +12809,7 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
"integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -12946,6 +12834,7 @@
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
@@ -12987,6 +12876,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -13157,9 +13047,9 @@
}
},
"node_modules/http-proxy-agent": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
- "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13171,9 +13061,9 @@
}
},
"node_modules/https-proxy-agent": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
- "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz",
+ "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -13195,9 +13085,9 @@
}
},
"node_modules/i18next": {
- "version": "23.7.19",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.7.19.tgz",
- "integrity": "sha512-1aP+YSJl+nLxr42ZJtNhpWpNWYsc6nCbVCf2x4uizIX1BYfcigiRMlb3vOkE1p3+qrI+aD6h5G2Fg+2d2oMIOQ==",
+ "version": "23.11.2",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.11.2.tgz",
+ "integrity": "sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA==",
"funding": [
{
"type": "individual",
@@ -13217,18 +13107,6 @@
"@babel/runtime": "^7.23.2"
}
},
- "node_modules/i18next/node_modules/@babel/runtime": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
- "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -13263,9 +13141,9 @@
"license": "BSD-3-Clause"
},
"node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -13365,6 +13243,7 @@
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
"integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"hasown": "^2.0.0",
@@ -13385,9 +13264,9 @@
}
},
"node_modules/ip": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
- "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz",
+ "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==",
"dev": true,
"license": "MIT"
},
@@ -13433,6 +13312,7 @@
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
"integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"get-intrinsic": "^1.2.1"
@@ -13455,6 +13335,7 @@
"resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
"integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"has-tostringtag": "^1.0.0"
},
@@ -13538,6 +13419,7 @@
"resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz",
"integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"is-typed-array": "^1.1.13"
},
@@ -13601,6 +13483,7 @@
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
"integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -13678,11 +13561,14 @@
}
},
"node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -13709,6 +13595,7 @@
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
"integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
},
@@ -13796,11 +13683,14 @@
}
},
"node_modules/is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -13810,6 +13700,7 @@
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
"integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7"
},
@@ -13870,6 +13761,7 @@
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
"integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"which-typed-array": "^1.1.14"
},
@@ -13901,11 +13793,14 @@
}
},
"node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -13915,6 +13810,7 @@
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
"integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2"
},
@@ -13923,14 +13819,17 @@
}
},
"node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -13980,6 +13879,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/istanbul-badges-readme": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/istanbul-badges-readme/-/istanbul-badges-readme-1.8.5.tgz",
+ "integrity": "sha512-VEh90ofuufPZIbLeDF2g14wpe0sebhirG0xHooYKpNPYOkGXm6y+HJFotQqIzCg0NmbCnlKnOPL1B2oxG7/piA==",
+ "dev": true,
+ "bin": {
+ "istanbul-badges-readme": "lib/index.js"
+ }
+ },
"node_modules/istanbul-lib-coverage": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
@@ -14019,16 +13927,6 @@
"node": ">=8"
}
},
- "node_modules/istanbul-lib-instrument/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/istanbul-lib-processinfo": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz",
@@ -14078,6 +13976,22 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/istanbul-lib-report/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/istanbul-lib-source-maps": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
@@ -14094,9 +14008,9 @@
}
},
"node_modules/istanbul-reports": {
- "version": "3.1.6",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
- "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
+ "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -14112,6 +14026,7 @@
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
"integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-properties": "^1.2.1",
"get-intrinsic": "^1.2.1",
@@ -14125,6 +14040,7 @@
"resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
"integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
"dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
"@isaacs/cliui": "^8.0.2"
},
@@ -14254,15 +14170,48 @@
"jest": "bin/jest.js"
},
"engines": {
- "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-cli/node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/jest-cli/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
},
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
"node_modules/jest-cli/node_modules/y18n": {
@@ -14744,6 +14693,22 @@
"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/jest-snapshot/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/jest-util": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
@@ -14816,14 +14781,11 @@
}
},
"node_modules/jest-watch-typeahead/node_modules/ansi-escapes": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz",
- "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz",
+ "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "type-fest": "^3.0.0"
- },
"engines": {
"node": ">=14.16"
},
@@ -14913,19 +14875,6 @@
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/jest-watch-typeahead/node_modules/type-fest": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
- "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
- "dev": true,
- "license": "(MIT OR CC0-1.0)",
- "engines": {
- "node": ">=14.16"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/jest-watcher": {
"version": "29.7.0",
"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
@@ -14979,15 +14928,15 @@
}
},
"node_modules/joi": {
- "version": "17.11.0",
- "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz",
- "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==",
+ "version": "17.12.3",
+ "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.3.tgz",
+ "integrity": "sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "@hapi/hoek": "^9.0.0",
- "@hapi/topo": "^5.0.0",
- "@sideway/address": "^4.1.3",
+ "@hapi/hoek": "^9.3.0",
+ "@hapi/topo": "^5.1.0",
+ "@sideway/address": "^4.1.5",
"@sideway/formula": "^3.0.1",
"@sideway/pinpoint": "^2.0.0"
}
@@ -15018,9 +14967,9 @@
}
},
"node_modules/jscodeshift": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.1.tgz",
- "integrity": "sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz",
+ "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15058,13 +15007,14 @@
}
},
"node_modules/jsdom": {
- "version": "23.0.1",
- "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.0.1.tgz",
- "integrity": "sha512-2i27vgvlUsGEBO9+/kJQRbtqtm+191b5zAZrU/UezVmnC2dlDAFLgDYJvAEi94T4kjsRKkezEtLQTgsNEsW2lQ==",
+ "version": "23.2.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz",
+ "integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "cssstyle": "^3.0.0",
+ "@asamuzakjp/dom-selector": "^2.0.1",
+ "cssstyle": "^4.0.1",
"data-urls": "^5.0.0",
"decimal.js": "^10.4.3",
"form-data": "^4.0.0",
@@ -15072,7 +15022,6 @@
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.2",
"is-potential-custom-element-name": "^1.0.1",
- "nwsapi": "^2.2.7",
"parse5": "^7.1.2",
"rrweb-cssom": "^0.6.0",
"saxes": "^6.0.0",
@@ -15083,7 +15032,7 @@
"whatwg-encoding": "^3.1.1",
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0",
- "ws": "^8.14.2",
+ "ws": "^8.16.0",
"xml-name-validator": "^5.0.0"
},
"engines": {
@@ -15135,6 +15084,7 @@
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz",
"integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==",
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.5",
"isarray": "^2.0.5",
@@ -15169,9 +15119,9 @@
}
},
"node_modules/jsonc-parser": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
- "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
+ "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==",
"dev": true,
"license": "MIT"
},
@@ -15191,6 +15141,7 @@
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz",
"integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==",
+ "license": "Public Domain",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -15199,6 +15150,7 @@
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/jsonld/-/jsonld-8.3.2.tgz",
"integrity": "sha512-MwBbq95szLwt8eVQ1Bcfwmgju/Y5P2GdtlHE2ncyfuYjIdEhluUVyj1eudacf1mOkWIoS9GpDBTECqhmq7EOaA==",
+ "license": "BSD-3-Clause",
"dependencies": {
"@digitalbazaar/http-client": "^3.4.1",
"canonicalize": "^1.0.1",
@@ -15214,6 +15166,7 @@
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
"integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flat": "^1.3.1",
@@ -15254,6 +15207,7 @@
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz",
"integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==",
+ "license": "MIT",
"dependencies": {
"graceful-fs": "^4.1.11"
}
@@ -15272,6 +15226,7 @@
"version": "0.33.3",
"resolved": "https://registry.npmjs.org/ky/-/ky-0.33.3.tgz",
"integrity": "sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==",
+ "license": "MIT",
"engines": {
"node": ">=14.16"
},
@@ -15283,6 +15238,7 @@
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/ky-universal/-/ky-universal-0.11.0.tgz",
"integrity": "sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==",
+ "license": "MIT",
"dependencies": {
"abort-controller": "^3.0.0",
"node-fetch": "^3.2.10"
@@ -15307,6 +15263,7 @@
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz",
"integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==",
+ "license": "MIT",
"dependencies": {
"data-uri-to-buffer": "^4.0.0",
"fetch-blob": "^3.1.4",
@@ -15324,13 +15281,15 @@
"version": "0.3.22",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
"integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==",
- "dev": true
+ "dev": true,
+ "license": "CC0-1.0"
},
"node_modules/language-tags": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz",
"integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"language-subtag-registry": "^0.3.20"
},
@@ -15524,9 +15483,9 @@
}
},
"node_modules/magic-string": {
- "version": "0.30.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
- "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "version": "0.30.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz",
+ "integrity": "sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -15536,6 +15495,17 @@
"node": ">=12"
}
},
+ "node_modules/magicast": {
+ "version": "0.3.4",
+ "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz",
+ "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.24.4",
+ "@babel/types": "^7.24.0",
+ "source-map-js": "^1.2.0"
+ }
+ },
"node_modules/make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -15552,16 +15522,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/makeerror": {
"version": "1.0.12",
"resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -15580,9 +15540,9 @@
"license": "MIT"
},
"node_modules/markdown-to-jsx": {
- "version": "7.3.2",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz",
- "integrity": "sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==",
+ "version": "7.4.7",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz",
+ "integrity": "sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -15593,13 +15553,13 @@
}
},
"node_modules/match-sorter": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz",
- "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==",
+ "version": "6.3.4",
+ "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz",
+ "integrity": "sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.12.5",
- "remove-accents": "0.4.2"
+ "@babel/runtime": "^7.23.8",
+ "remove-accents": "0.5.0"
}
},
"node_modules/mdast-util-definitions": {
@@ -15627,6 +15587,13 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -15843,39 +15810,16 @@
"license": "MIT"
},
"node_modules/mlly": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz",
- "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==",
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz",
+ "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "acorn": "^8.10.0",
- "pathe": "^1.1.1",
+ "acorn": "^8.11.3",
+ "pathe": "^1.1.2",
"pkg-types": "^1.0.3",
- "ufo": "^1.3.0"
- }
- },
- "node_modules/mlly/node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/mri": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
- "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
+ "ufo": "^1.3.2"
}
},
"node_modules/mrmime": {
@@ -15889,9 +15833,9 @@
}
},
"node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true,
"license": "MIT"
},
@@ -15974,6 +15918,7 @@
"url": "https://paypal.me/jimmywarting"
}
],
+ "license": "MIT",
"engines": {
"node": ">=10.5.0"
}
@@ -16000,9 +15945,9 @@
}
},
"node_modules/node-fetch-native": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.1.tgz",
- "integrity": "sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==",
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz",
+ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==",
"dev": true,
"license": "MIT"
},
@@ -16058,107 +16003,264 @@
"dev": true,
"license": "MIT"
},
- "node_modules/normalize-package-data": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
- "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nyc": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
+ "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "caching-transform": "^4.0.0",
+ "convert-source-map": "^1.7.0",
+ "decamelize": "^1.2.0",
+ "find-cache-dir": "^3.2.0",
+ "find-up": "^4.1.0",
+ "foreground-child": "^2.0.0",
+ "get-package-type": "^0.1.0",
+ "glob": "^7.1.6",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-hook": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.0",
+ "istanbul-lib-processinfo": "^2.0.2",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "make-dir": "^3.0.0",
+ "node-preload": "^0.2.1",
+ "p-map": "^3.0.0",
+ "process-on-spawn": "^1.0.0",
+ "resolve-from": "^5.0.0",
+ "rimraf": "^3.0.0",
+ "signal-exit": "^3.0.2",
+ "spawn-wrap": "^2.0.0",
+ "test-exclude": "^6.0.0",
+ "yargs": "^15.0.2"
+ },
+ "bin": {
+ "nyc": "bin/nyc.js"
+ },
+ "engines": {
+ "node": ">=8.9"
+ }
+ },
+ "node_modules/nyc/node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nypm": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz",
+ "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "citty": "^0.1.6",
+ "consola": "^3.2.3",
+ "execa": "^8.0.1",
+ "pathe": "^1.1.2",
+ "ufo": "^1.4.0"
+ },
+ "bin": {
+ "nypm": "dist/cli.mjs"
+ },
+ "engines": {
+ "node": "^14.16.0 || >=16.10.0"
+ }
+ },
+ "node_modules/nypm/node_modules/execa": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+ "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^8.0.1",
+ "human-signals": "^5.0.0",
+ "is-stream": "^3.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^5.1.0",
+ "onetime": "^6.0.0",
+ "signal-exit": "^4.1.0",
+ "strip-final-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=16.17"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/nypm/node_modules/get-stream": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+ "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/nypm/node_modules/human-signals": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+ "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=16.17.0"
+ }
+ },
+ "node_modules/nypm/node_modules/is-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+ "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
"dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "hosted-git-info": "^2.1.4",
- "resolve": "^1.10.0",
- "semver": "2 || 3 || 4 || 5",
- "validate-npm-package-license": "^3.0.1"
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/normalize-package-data/node_modules/semver": {
- "version": "5.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "node_modules/nypm/node_modules/mimic-fn": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
"dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "node_modules/nypm/node_modules/npm-run-path": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "path-key": "^4.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "node_modules/nypm/node_modules/onetime": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+ "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "path-key": "^3.0.0"
+ "mimic-fn": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/nwsapi": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz",
- "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
+ "node_modules/nypm/node_modules/path-key": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+ "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
- "node_modules/nyc": {
- "version": "15.1.0",
- "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz",
- "integrity": "sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==",
+ "node_modules/nypm/node_modules/signal-exit": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+ "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.2",
- "caching-transform": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "decamelize": "^1.2.0",
- "find-cache-dir": "^3.2.0",
- "find-up": "^4.1.0",
- "foreground-child": "^2.0.0",
- "get-package-type": "^0.1.0",
- "glob": "^7.1.6",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-hook": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.0",
- "istanbul-lib-processinfo": "^2.0.2",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "make-dir": "^3.0.0",
- "node-preload": "^0.2.1",
- "p-map": "^3.0.0",
- "process-on-spawn": "^1.0.0",
- "resolve-from": "^5.0.0",
- "rimraf": "^3.0.0",
- "signal-exit": "^3.0.2",
- "spawn-wrap": "^2.0.0",
- "test-exclude": "^6.0.0",
- "yargs": "^15.0.2"
- },
- "bin": {
- "nyc": "bin/nyc.js"
- },
"engines": {
- "node": ">=8.9"
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/nyc/node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "node_modules/nypm/node_modules/strip-final-newline": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+ "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
},
"node_modules/object-assign": {
"version": "4.1.1",
@@ -16180,14 +16282,14 @@
}
},
"node_modules/object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -16229,6 +16331,7 @@
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz",
"integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16243,6 +16346,7 @@
"resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
"integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16261,6 +16365,7 @@
"resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz",
"integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16271,13 +16376,18 @@
}
},
"node_modules/object.hasown": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz",
- "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz",
+ "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.23.2",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -16288,6 +16398,7 @@
"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz",
"integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -16306,6 +16417,13 @@
"integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==",
"license": "MIT"
},
+ "node_modules/ohash": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz",
+ "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/on-finished": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
@@ -16428,6 +16546,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "license": "MIT",
"engines": {
"node": ">=0.10.0"
}
@@ -16590,6 +16709,7 @@
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.0.tgz",
"integrity": "sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==",
+ "license": "MIT",
"dependencies": {
"@yarnpkg/lockfile": "^1.1.0",
"chalk": "^4.1.2",
@@ -16619,6 +16739,7 @@
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "license": "MIT",
"dependencies": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
@@ -16633,6 +16754,7 @@
"version": "7.4.2",
"resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
"integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
+ "license": "MIT",
"dependencies": {
"is-docker": "^2.0.0",
"is-wsl": "^2.1.1"
@@ -16648,6 +16770,7 @@
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "license": "ISC",
"dependencies": {
"glob": "^7.1.3"
},
@@ -16655,25 +16778,30 @@
"rimraf": "bin.js"
}
},
+ "node_modules/patch-package/node_modules/semver": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/patch-package/node_modules/slash": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
"integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "license": "MIT",
"engines": {
"node": ">=6"
}
},
- "node_modules/patch-package/node_modules/yaml": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
- "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14"
- }
- },
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
@@ -16709,13 +16837,13 @@
"license": "MIT"
},
"node_modules/path-scurry": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz",
- "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==",
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz",
+ "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==",
"dev": true,
"license": "BlueOak-1.0.0",
"dependencies": {
- "lru-cache": "^9.1.1 || ^10.0.0",
+ "lru-cache": "^10.2.0",
"minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
},
"engines": {
@@ -16726,9 +16854,9 @@
}
},
"node_modules/path-scurry/node_modules/lru-cache": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
- "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz",
+ "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==",
"dev": true,
"license": "ISC",
"engines": {
@@ -16762,9 +16890,9 @@
}
},
"node_modules/pathe": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
- "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
"dev": true,
"license": "MIT"
},
@@ -16801,7 +16929,6 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
- "devOptional": true,
"license": "ISC"
},
"node_modules/picomatch": {
@@ -16862,13 +16989,13 @@
}
},
"node_modules/playwright": {
- "version": "1.40.1",
- "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz",
- "integrity": "sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==",
+ "version": "1.43.1",
+ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz",
+ "integrity": "sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "playwright-core": "1.40.1"
+ "playwright-core": "1.43.1"
},
"bin": {
"playwright": "cli.js"
@@ -16881,9 +17008,9 @@
}
},
"node_modules/playwright-core": {
- "version": "1.40.1",
- "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz",
- "integrity": "sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==",
+ "version": "1.43.1",
+ "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz",
+ "integrity": "sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -16908,9 +17035,9 @@
}
},
"node_modules/polished": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
- "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz",
+ "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16925,14 +17052,15 @@
"resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
"integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/postcss": {
- "version": "8.4.32",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz",
- "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==",
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"devOptional": true,
"funding": [
{
@@ -16952,7 +17080,7 @@
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
+ "source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
@@ -17240,9 +17368,9 @@
}
},
"node_modules/pure-rand": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz",
- "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+ "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
"dev": true,
"funding": [
{
@@ -17257,13 +17385,13 @@
"license": "MIT"
},
"node_modules/qs": {
- "version": "6.11.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
- "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+ "version": "6.12.1",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
+ "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
- "side-channel": "^1.0.4"
+ "side-channel": "^1.0.6"
},
"engines": {
"node": ">=0.6"
@@ -17322,9 +17450,9 @@
}
},
"node_modules/raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
+ "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,
"license": "MIT",
"dependencies": {
@@ -17341,6 +17469,7 @@
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/rdf-canonize/-/rdf-canonize-3.4.0.tgz",
"integrity": "sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==",
+ "license": "BSD-3-Clause",
"dependencies": {
"setimmediate": "^1.0.5"
},
@@ -17403,9 +17532,9 @@
}
},
"node_modules/react-docgen": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.1.tgz",
- "integrity": "sha512-rCz0HBIT0LWbIM+///LfRrJoTKftIzzwsYDf0ns5KwaEjejMHQRtphcns+IXFHDNY9pnz6G8l/JbbI6pD4EAIA==",
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz",
+ "integrity": "sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17500,9 +17629,9 @@
"license": "MIT"
},
"node_modules/react-hook-form": {
- "version": "7.48.2",
- "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz",
- "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==",
+ "version": "7.51.3",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.3.tgz",
+ "integrity": "sha512-cvJ/wbHdhYx8aviSWh28w9ImjmVsb5Y05n1+FW786vEZQJV5STNM0pW6ujS+oiBecb0ARBxJFyAnXj9+GHXACQ==",
"license": "MIT",
"engines": {
"node": ">=12.22.0"
@@ -17516,12 +17645,12 @@
}
},
"node_modules/react-i18next": {
- "version": "14.0.1",
- "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.0.1.tgz",
- "integrity": "sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw==",
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.1.0.tgz",
+ "integrity": "sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==",
"license": "MIT",
"dependencies": {
- "@babel/runtime": "^7.22.5",
+ "@babel/runtime": "^7.23.9",
"html-parse-stringify": "^3.0.1"
},
"peerDependencies": {
@@ -17537,18 +17666,6 @@
}
}
},
- "node_modules/react-i18next/node_modules/@babel/runtime": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
- "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/react-is": {
"version": "18.2.0",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
@@ -17633,9 +17750,9 @@
}
},
"node_modules/react-remove-scroll-bar": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
- "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz",
+ "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -17656,12 +17773,12 @@
}
},
"node_modules/react-router": {
- "version": "6.20.1",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.20.1.tgz",
- "integrity": "sha512-ccvLrB4QeT5DlaxSFFYi/KR8UMQ4fcD8zBcR71Zp1kaYTC5oJKYAp1cbavzGrogwxca+ubjkd7XjFZKBW8CxPA==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz",
+ "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==",
"license": "MIT",
"dependencies": {
- "@remix-run/router": "1.13.1"
+ "@remix-run/router": "1.15.3"
},
"engines": {
"node": ">=14.0.0"
@@ -17671,13 +17788,13 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.20.1",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.20.1.tgz",
- "integrity": "sha512-npzfPWcxfQN35psS7rJgi/EW0Gx6EsNjfdJSAk73U/HqMEJZ2k/8puxfwHFgDQhBGmS3+sjnGbMdMSV45axPQw==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz",
+ "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==",
"license": "MIT",
"dependencies": {
- "@remix-run/router": "1.13.1",
- "react-router": "6.20.1"
+ "@remix-run/router": "1.15.3",
+ "react-router": "6.22.3"
},
"engines": {
"node": ">=14.0.0"
@@ -17818,16 +17935,16 @@
}
},
"node_modules/recast": {
- "version": "0.23.4",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz",
- "integrity": "sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==",
+ "version": "0.23.6",
+ "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.6.tgz",
+ "integrity": "sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "assert": "^2.0.0",
"ast-types": "^0.16.1",
"esprima": "~4.0.0",
"source-map": "~0.6.1",
+ "tiny-invariant": "^1.3.3",
"tslib": "^2.0.1"
},
"engines": {
@@ -17853,6 +17970,7 @@
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
"integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -17890,9 +18008,9 @@
}
},
"node_modules/regenerator-runtime": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
- "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==",
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
"license": "MIT"
},
"node_modules/regenerator-transform": {
@@ -17910,6 +18028,7 @@
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
"integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"define-properties": "^1.2.1",
@@ -18011,9 +18130,9 @@
}
},
"node_modules/remove-accents": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz",
- "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz",
+ "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==",
"license": "MIT"
},
"node_modules/require-directory": {
@@ -18026,6 +18145,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -18217,6 +18346,7 @@
"resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
"integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"get-intrinsic": "^1.2.4",
@@ -18242,6 +18372,7 @@
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
"integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.6",
"es-errors": "^1.3.0",
@@ -18303,18 +18434,13 @@
}
},
"node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
"license": "ISC",
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
"bin": {
"semver": "bin/semver.js"
- },
- "engines": {
- "node": ">=10"
}
},
"node_modules/send": {
@@ -18372,13 +18498,6 @@
"node": ">=4"
}
},
- "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,
- "license": "MIT"
- },
"node_modules/serve-static": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
@@ -18406,6 +18525,7 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -18423,6 +18543,7 @@
"resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
"integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
"es-errors": "^1.3.0",
@@ -18436,7 +18557,8 @@
"node_modules/setimmediate": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA=="
+ "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "license": "MIT"
},
"node_modules/setprototypeof": {
"version": "1.2.0",
@@ -18484,6 +18606,7 @@
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
"integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -18526,19 +18649,6 @@
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
"license": "MIT"
},
- "node_modules/simple-update-notifier": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz",
- "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.5.3"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/sirv": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
@@ -18582,9 +18692,9 @@
}
},
"node_modules/source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"devOptional": true,
"license": "BSD-3-Clause",
"engines": {
@@ -18666,9 +18776,9 @@
}
},
"node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true,
"license": "CC-BY-3.0"
},
@@ -18684,9 +18794,9 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
- "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
"dev": true,
"license": "CC0-1.0"
},
@@ -18758,20 +18868,20 @@
}
},
"node_modules/store2": {
- "version": "2.14.2",
- "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz",
- "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==",
+ "version": "2.14.3",
+ "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz",
+ "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==",
"dev": true,
- "license": "(MIT OR GPL-3.0)"
+ "license": "MIT"
},
"node_modules/storybook": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.3.tgz",
- "integrity": "sha512-H3odxahMiR8vVW7ltlqcHhn3UVH5ta03weKlY7xvpv5DV+thZ+mEO2cDYfsufCSg0Ldb5LQ4qq3OyLVdpDBN8g==",
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz",
+ "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@storybook/cli": "7.6.3"
+ "@storybook/cli": "7.6.17"
},
"bin": {
"sb": "index.js",
@@ -18783,13 +18893,13 @@
}
},
"node_modules/storybook-addon-manual-mocks": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/storybook-addon-manual-mocks/-/storybook-addon-manual-mocks-1.0.3.tgz",
- "integrity": "sha512-/3+3kY8SETjlKIqxnX5MddLJAAFjPxzmj20yS+uxMhwAAyQacrarKjgBKZVy35ohpcc3LQCKZs3RLA6YEDOb1g==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/storybook-addon-manual-mocks/-/storybook-addon-manual-mocks-1.0.4.tgz",
+ "integrity": "sha512-qOsmyJhTKW8ZpUjR91nYopXG+/1CkpA5HP3nDIoMUaYwedaeBgeLq+G7xr18AV+K9hDGwb5oho/gq1y7q0dIfA==",
"license": "MIT",
"peerDependencies": {
- "vite": "^4",
- "webpack": "^5"
+ "vite": "*",
+ "webpack": "*"
},
"peerDependenciesMeta": {
"vite": {
@@ -18801,19 +18911,58 @@
}
},
"node_modules/storybook-addon-module-mock": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/storybook-addon-module-mock/-/storybook-addon-module-mock-1.1.2.tgz",
- "integrity": "sha512-IU0r+vMjfbCC4m54l60hEK1iPFSlXPW1D57FtU9O9/mvQSok4z18HEUNv9RXv9L7IwhcYSQ+gtWuB8l1oLDiSw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/storybook-addon-module-mock/-/storybook-addon-module-mock-1.1.6.tgz",
+ "integrity": "sha512-ZNCF1LVNuY3XmDGWYnTiufNe4kwW7srve9moI823I6r3ck7yoAWG4fG+QczjZOYKgxlk6FKEMiKMjHfkcpBHQA==",
"license": "MIT",
"dependencies": {
- "minimatch": "*",
+ "jest-mock": "^27.3.0",
+ "minimatch": "^9.0.3",
"react-json-tree": "^0.18.0"
}
},
+ "node_modules/storybook-addon-module-mock/node_modules/@jest/types": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+ "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/storybook-addon-module-mock/node_modules/@types/yargs": {
+ "version": "16.0.9",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz",
+ "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/storybook-addon-module-mock/node_modules/jest-mock": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+ "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
+ "license": "MIT",
+ "dependencies": {
+ "@jest/types": "^27.5.1",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
"node_modules/storybook-addon-module-mock/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "version": "9.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
+ "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
@@ -18826,9 +18975,9 @@
}
},
"node_modules/stream-shift": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
- "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz",
+ "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==",
"dev": true,
"license": "MIT"
},
@@ -18877,6 +19026,7 @@
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
@@ -18891,6 +19041,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz",
"integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -18917,6 +19068,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
"integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -18935,6 +19087,7 @@
"resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz",
"integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
@@ -18945,14 +19098,18 @@
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
- "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+ "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -18977,6 +19134,7 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -19031,30 +19189,24 @@
}
},
"node_modules/strip-literal": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
- "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz",
+ "integrity": "sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "acorn": "^8.10.0"
+ "js-tokens": "^9.0.0"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
- "node_modules/strip-literal/node_modules/acorn": {
- "version": "8.11.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "node_modules/strip-literal/node_modules/js-tokens": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz",
+ "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==",
"dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
+ "license": "MIT"
},
"node_modules/stylis": {
"version": "4.2.0",
@@ -19101,9 +19253,9 @@
"license": "BSD-3-Clause"
},
"node_modules/tar": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz",
- "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
"dev": true,
"license": "ISC",
"dependencies": {
@@ -19333,23 +19485,23 @@
"license": "MIT"
},
"node_modules/tiny-invariant": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
- "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
"dev": true,
"license": "MIT"
},
"node_modules/tinybench": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz",
- "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.7.0.tgz",
+ "integrity": "sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==",
"dev": true,
"license": "MIT"
},
"node_modules/tinypool": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz",
- "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==",
+ "version": "0.8.4",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz",
+ "integrity": "sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -19357,9 +19509,9 @@
}
},
"node_modules/tinyspy": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz",
- "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz",
+ "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==",
"dev": true,
"license": "MIT",
"engines": {
@@ -19370,6 +19522,7 @@
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "license": "MIT",
"dependencies": {
"os-tmpdir": "~1.0.2"
},
@@ -19406,9 +19559,9 @@
}
},
"node_modules/tocbot": {
- "version": "4.23.0",
- "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.23.0.tgz",
- "integrity": "sha512-5DWuSZXsqG894mkGb8ZsQt9myyQyVxE50AiGRZ0obV0BVUTVkaZmc9jbgpknaAAPUm4FIrzGkEseD6FuQJYJDQ==",
+ "version": "4.25.0",
+ "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz",
+ "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==",
"dev": true,
"license": "MIT"
},
@@ -19492,6 +19645,7 @@
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=16"
},
@@ -19514,6 +19668,7 @@
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
"integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"@types/json5": "^0.0.29",
"json5": "^1.0.2",
@@ -19526,6 +19681,7 @@
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"minimist": "^1.2.0"
},
@@ -19538,6 +19694,7 @@
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
"integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
"dev": true,
+ "license": "MIT",
"engines": {
"node": ">=4"
}
@@ -19633,6 +19790,7 @@
"resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
"integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"es-errors": "^1.3.0",
@@ -19647,6 +19805,7 @@
"resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
"integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
@@ -19666,6 +19825,7 @@
"resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
"integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.7",
@@ -19682,10 +19842,11 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
- "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz",
+ "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"for-each": "^0.3.3",
@@ -19719,9 +19880,9 @@
}
},
"node_modules/typescript": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
- "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {
@@ -19733,9 +19894,9 @@
}
},
"node_modules/ufo": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz",
- "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==",
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz",
+ "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==",
"dev": true,
"license": "MIT"
},
@@ -19758,6 +19919,7 @@
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
"integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"call-bind": "^1.0.2",
"has-bigints": "^1.0.2",
@@ -19769,9 +19931,10 @@
}
},
"node_modules/undici": {
- "version": "5.28.3",
- "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz",
- "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==",
+ "version": "5.28.4",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
+ "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+ "license": "MIT",
"dependencies": {
"@fastify/busboy": "^2.0.0"
},
@@ -19783,7 +19946,6 @@
"version": "5.26.5",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
- "dev": true,
"license": "MIT"
},
"node_modules/unicode-canonical-property-names-ecmascript": {
@@ -19915,29 +20077,19 @@
}
},
"node_modules/unplugin": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.1.tgz",
- "integrity": "sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==",
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz",
+ "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "acorn": "^8.11.2",
- "chokidar": "^3.5.3",
+ "acorn": "^8.11.3",
+ "chokidar": "^3.6.0",
"webpack-sources": "^3.2.3",
- "webpack-virtual-modules": "^0.6.0"
- }
- },
- "node_modules/unplugin/node_modules/acorn": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
- "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
+ "webpack-virtual-modules": "^0.6.1"
},
"engines": {
- "node": ">=0.4.0"
+ "node": ">=14.0.0"
}
},
"node_modules/untildify": {
@@ -20003,9 +20155,9 @@
}
},
"node_modules/use-callback-ref": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
- "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz",
+ "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20139,9 +20291,9 @@
}
},
"node_modules/vite": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz",
- "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==",
+ "version": "4.5.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
+ "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
"devOptional": true,
"license": "MIT",
"dependencies": {
@@ -20195,9 +20347,9 @@
}
},
"node_modules/vite-node": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz",
- "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.5.0.tgz",
+ "integrity": "sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20218,9 +20370,9 @@
}
},
"node_modules/vite-node/node_modules/@esbuild/darwin-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz",
- "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==",
+ "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"
],
@@ -20235,9 +20387,9 @@
}
},
"node_modules/vite-node/node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz",
- "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz",
+ "integrity": "sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==",
"cpu": [
"arm64"
],
@@ -20248,9 +20400,9 @@
]
},
"node_modules/vite-node/node_modules/esbuild": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
- "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -20261,37 +20413,40 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.19.11",
- "@esbuild/android-arm": "0.19.11",
- "@esbuild/android-arm64": "0.19.11",
- "@esbuild/android-x64": "0.19.11",
- "@esbuild/darwin-arm64": "0.19.11",
- "@esbuild/darwin-x64": "0.19.11",
- "@esbuild/freebsd-arm64": "0.19.11",
- "@esbuild/freebsd-x64": "0.19.11",
- "@esbuild/linux-arm": "0.19.11",
- "@esbuild/linux-arm64": "0.19.11",
- "@esbuild/linux-ia32": "0.19.11",
- "@esbuild/linux-loong64": "0.19.11",
- "@esbuild/linux-mips64el": "0.19.11",
- "@esbuild/linux-ppc64": "0.19.11",
- "@esbuild/linux-riscv64": "0.19.11",
- "@esbuild/linux-s390x": "0.19.11",
- "@esbuild/linux-x64": "0.19.11",
- "@esbuild/netbsd-x64": "0.19.11",
- "@esbuild/openbsd-x64": "0.19.11",
- "@esbuild/sunos-x64": "0.19.11",
- "@esbuild/win32-arm64": "0.19.11",
- "@esbuild/win32-ia32": "0.19.11",
- "@esbuild/win32-x64": "0.19.11"
+ "@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/vite-node/node_modules/rollup": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz",
- "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz",
+ "integrity": "sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
"bin": {
"rollup": "dist/bin/rollup"
},
@@ -20300,32 +20455,35 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.9.2",
- "@rollup/rollup-android-arm64": "4.9.2",
- "@rollup/rollup-darwin-arm64": "4.9.2",
- "@rollup/rollup-darwin-x64": "4.9.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.9.2",
- "@rollup/rollup-linux-arm64-gnu": "4.9.2",
- "@rollup/rollup-linux-arm64-musl": "4.9.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-musl": "4.9.2",
- "@rollup/rollup-win32-arm64-msvc": "4.9.2",
- "@rollup/rollup-win32-ia32-msvc": "4.9.2",
- "@rollup/rollup-win32-x64-msvc": "4.9.2",
+ "@rollup/rollup-android-arm-eabi": "4.14.3",
+ "@rollup/rollup-android-arm64": "4.14.3",
+ "@rollup/rollup-darwin-arm64": "4.14.3",
+ "@rollup/rollup-darwin-x64": "4.14.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.14.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.14.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.14.3",
+ "@rollup/rollup-linux-arm64-musl": "4.14.3",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.14.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.14.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.14.3",
+ "@rollup/rollup-linux-x64-gnu": "4.14.3",
+ "@rollup/rollup-linux-x64-musl": "4.14.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.14.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.14.3",
+ "@rollup/rollup-win32-x64-msvc": "4.14.3",
"fsevents": "~2.3.2"
}
},
"node_modules/vite-node/node_modules/vite": {
- "version": "5.0.12",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
- "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
+ "version": "5.2.9",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz",
+ "integrity": "sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "esbuild": "^0.19.3",
- "postcss": "^8.4.32",
- "rollup": "^4.2.0"
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.38",
+ "rollup": "^4.13.0"
},
"bin": {
"vite": "bin/vite.js"
@@ -20402,16 +20560,6 @@
"node": ">=8"
}
},
- "node_modules/vite-plugin-istanbul/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/vite/node_modules/@esbuild/darwin-arm64": {
"version": "0.18.20",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
@@ -20468,19 +20616,18 @@
}
},
"node_modules/vitest": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz",
- "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.0.tgz",
+ "integrity": "sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@vitest/expect": "1.2.2",
- "@vitest/runner": "1.2.2",
- "@vitest/snapshot": "1.2.2",
- "@vitest/spy": "1.2.2",
- "@vitest/utils": "1.2.2",
+ "@vitest/expect": "1.5.0",
+ "@vitest/runner": "1.5.0",
+ "@vitest/snapshot": "1.5.0",
+ "@vitest/spy": "1.5.0",
+ "@vitest/utils": "1.5.0",
"acorn-walk": "^8.3.2",
- "cac": "^6.7.14",
"chai": "^4.3.10",
"debug": "^4.3.4",
"execa": "^8.0.1",
@@ -20489,11 +20636,11 @@
"pathe": "^1.1.1",
"picocolors": "^1.0.0",
"std-env": "^3.5.0",
- "strip-literal": "^1.3.0",
+ "strip-literal": "^2.0.0",
"tinybench": "^2.5.1",
- "tinypool": "^0.8.2",
+ "tinypool": "^0.8.3",
"vite": "^5.0.0",
- "vite-node": "1.2.2",
+ "vite-node": "1.5.0",
"why-is-node-running": "^2.2.2"
},
"bin": {
@@ -20508,8 +20655,8 @@
"peerDependencies": {
"@edge-runtime/vm": "*",
"@types/node": "^18.0.0 || >=20.0.0",
- "@vitest/browser": "^1.0.0",
- "@vitest/ui": "^1.0.0",
+ "@vitest/browser": "1.5.0",
+ "@vitest/ui": "1.5.0",
"happy-dom": "*",
"jsdom": "*"
},
@@ -20535,9 +20682,9 @@
}
},
"node_modules/vitest/node_modules/@esbuild/darwin-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz",
- "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==",
+ "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"
],
@@ -20552,9 +20699,9 @@
}
},
"node_modules/vitest/node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz",
- "integrity": "sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz",
+ "integrity": "sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==",
"cpu": [
"arm64"
],
@@ -20575,9 +20722,9 @@
}
},
"node_modules/vitest/node_modules/esbuild": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
- "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz",
+ "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -20588,29 +20735,29 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.19.11",
- "@esbuild/android-arm": "0.19.11",
- "@esbuild/android-arm64": "0.19.11",
- "@esbuild/android-x64": "0.19.11",
- "@esbuild/darwin-arm64": "0.19.11",
- "@esbuild/darwin-x64": "0.19.11",
- "@esbuild/freebsd-arm64": "0.19.11",
- "@esbuild/freebsd-x64": "0.19.11",
- "@esbuild/linux-arm": "0.19.11",
- "@esbuild/linux-arm64": "0.19.11",
- "@esbuild/linux-ia32": "0.19.11",
- "@esbuild/linux-loong64": "0.19.11",
- "@esbuild/linux-mips64el": "0.19.11",
- "@esbuild/linux-ppc64": "0.19.11",
- "@esbuild/linux-riscv64": "0.19.11",
- "@esbuild/linux-s390x": "0.19.11",
- "@esbuild/linux-x64": "0.19.11",
- "@esbuild/netbsd-x64": "0.19.11",
- "@esbuild/openbsd-x64": "0.19.11",
- "@esbuild/sunos-x64": "0.19.11",
- "@esbuild/win32-arm64": "0.19.11",
- "@esbuild/win32-ia32": "0.19.11",
- "@esbuild/win32-x64": "0.19.11"
+ "@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/vitest/node_modules/execa": {
@@ -20687,9 +20834,9 @@
}
},
"node_modules/vitest/node_modules/npm-run-path": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
- "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+ "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -20732,11 +20879,14 @@
}
},
"node_modules/vitest/node_modules/rollup": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz",
- "integrity": "sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==",
+ "version": "4.14.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz",
+ "integrity": "sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.5"
+ },
"bin": {
"rollup": "dist/bin/rollup"
},
@@ -20745,19 +20895,22 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.9.2",
- "@rollup/rollup-android-arm64": "4.9.2",
- "@rollup/rollup-darwin-arm64": "4.9.2",
- "@rollup/rollup-darwin-x64": "4.9.2",
- "@rollup/rollup-linux-arm-gnueabihf": "4.9.2",
- "@rollup/rollup-linux-arm64-gnu": "4.9.2",
- "@rollup/rollup-linux-arm64-musl": "4.9.2",
- "@rollup/rollup-linux-riscv64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-gnu": "4.9.2",
- "@rollup/rollup-linux-x64-musl": "4.9.2",
- "@rollup/rollup-win32-arm64-msvc": "4.9.2",
- "@rollup/rollup-win32-ia32-msvc": "4.9.2",
- "@rollup/rollup-win32-x64-msvc": "4.9.2",
+ "@rollup/rollup-android-arm-eabi": "4.14.3",
+ "@rollup/rollup-android-arm64": "4.14.3",
+ "@rollup/rollup-darwin-arm64": "4.14.3",
+ "@rollup/rollup-darwin-x64": "4.14.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.14.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.14.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.14.3",
+ "@rollup/rollup-linux-arm64-musl": "4.14.3",
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.14.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.14.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.14.3",
+ "@rollup/rollup-linux-x64-gnu": "4.14.3",
+ "@rollup/rollup-linux-x64-musl": "4.14.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.14.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.14.3",
+ "@rollup/rollup-win32-x64-msvc": "4.14.3",
"fsevents": "~2.3.2"
}
},
@@ -20788,15 +20941,15 @@
}
},
"node_modules/vitest/node_modules/vite": {
- "version": "5.0.12",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
- "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
+ "version": "5.2.9",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz",
+ "integrity": "sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "esbuild": "^0.19.3",
- "postcss": "^8.4.32",
- "rollup": "^4.2.0"
+ "esbuild": "^0.20.1",
+ "postcss": "^8.4.38",
+ "rollup": "^4.13.0"
},
"bin": {
"vite": "bin/vite.js"
@@ -20982,9 +21135,9 @@
}
},
"node_modules/watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+ "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -21009,6 +21162,7 @@
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",
"integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==",
+ "license": "MIT",
"engines": {
"node": ">= 8"
}
@@ -21127,6 +21281,7 @@
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
"integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"function.prototype.name": "^1.1.5",
"has-tostringtag": "^1.0.0",
@@ -21149,16 +21304,19 @@
}
},
"node_modules/which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "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"
@@ -21176,6 +21334,7 @@
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
"integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
"call-bind": "^1.0.7",
@@ -21215,18 +21374,18 @@
"license": "MIT"
},
"node_modules/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
},
"funding": {
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
@@ -21238,6 +21397,7 @@
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
"integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
"dev": true,
+ "license": "MIT",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
@@ -21250,6 +21410,73 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
+ "node_modules/wrap-ansi/node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "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",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "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",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrap-ansi/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "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",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "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/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -21338,12 +21565,15 @@
"license": "ISC"
},
"node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
+ "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==",
"license": "ISC",
+ "bin": {
+ "yaml": "bin.mjs"
+ },
"engines": {
- "node": ">= 6"
+ "node": ">= 14"
}
},
"node_modules/yargs": {
@@ -21383,33 +21613,6 @@
"node": ">=6"
}
},
- "node_modules/yargs/node_modules/cliui": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
- "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.0",
- "wrap-ansi": "^6.2.0"
- }
- },
- "node_modules/yargs/node_modules/wrap-ansi": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
- "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/yauzl": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
@@ -21435,9 +21638,9 @@
}
},
"node_modules/yup": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/yup/-/yup-1.3.2.tgz",
- "integrity": "sha512-6KCM971iQtJ+/KUaHdrhVr2LDkfhBtFPRnsG1P8F4q3uUVQ2RfEM9xekpha9aA4GXWJevjM10eDcPQ1FfWlmaQ==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz",
+ "integrity": "sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==",
"license": "MIT",
"dependencies": {
"property-expr": "^2.0.5",
diff --git a/govtool/frontend/package.json b/govtool/frontend/package.json
index b27e98257..c98fa4870 100644
--- a/govtool/frontend/package.json
+++ b/govtool/frontend/package.json
@@ -14,14 +14,18 @@
"preview": "vite preview",
"storybook": "storybook dev -p 6006",
"test": "vitest",
- "test-storybook": "test-storybook",
+ "test:coverage": "vitest --coverage",
+ "test:make-badges": "npx istanbul-badges-readme --readmeDir='../../'",
+ "test:verbose": "vitest --reporter=verbose",
+ "test:ui": "vitest --ui",
+ "test:storybook": "test-storybook",
"test:watch": "vitest watch",
"tsc": "npx tsc --noEmit --skipLibCheck"
},
"dependencies": {
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
- "@emurgo/cardano-serialization-lib-asmjs": "12.0.0-alpha.19",
+ "@emurgo/cardano-serialization-lib-asmjs": "12.0.0-alpha.29",
"@hookform/resolvers": "^3.3.1",
"@mui/icons-material": "^5.14.3",
"@mui/material": "^5.14.4",
@@ -29,6 +33,7 @@
"@types/jsonld": "^1.5.13",
"@types/react": "^18.2.12",
"@types/react-gtm-module": "^2.0.2",
+ "@usersnap/browser": "^0.0.5",
"axios": "^1.4.0",
"bech32": "^2.0.0",
"blakejs": "^1.2.1",
@@ -71,6 +76,7 @@
"@typescript-eslint/eslint-plugin": "^7.3.1",
"@typescript-eslint/parser": "^7.3.1",
"@vitejs/plugin-react": "^4.0.0",
+ "@vitest/coverage-v8": "^1.5.0",
"@vitest/ui": "^1.1.0",
"chromatic": "^11.3.0",
"eslint": "^8.38.0",
diff --git a/govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.19.patch b/govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.29.patch
similarity index 84%
rename from govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.19.patch
rename to govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.29.patch
index bf0c63b21..5905fb1f6 100644
--- a/govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.19.patch
+++ b/govtool/frontend/patches/@emurgo+cardano-serialization-lib-asmjs+12.0.0-alpha.29.patch
@@ -1,12 +1,12 @@
diff --git a/node_modules/@emurgo/cardano-serialization-lib-asmjs/package.json b/node_modules/@emurgo/cardano-serialization-lib-asmjs/package.json
-index 7140a36..999ac42 100644
+index f3f9dc2..5048761 100644
--- a/node_modules/@emurgo/cardano-serialization-lib-asmjs/package.json
+++ b/node_modules/@emurgo/cardano-serialization-lib-asmjs/package.json
-@@ -18,6 +18,7 @@
- "cardano_serialization_lib.js.flow"
+@@ -19,6 +19,7 @@
],
"module": "cardano_serialization_lib.js",
-+ "main":"cardano_serialization_lib.js",
"types": "cardano_serialization_lib.d.ts",
++ "main":"cardano_serialization_lib.js",
"sideEffects": [
"./cardano_serialization_lib.js",
+ "./snippets/*"
diff --git a/govtool/frontend/public/icons/DRepDirectory.svg b/govtool/frontend/public/icons/DRepDirectory.svg
new file mode 100644
index 000000000..b6cf0553d
--- /dev/null
+++ b/govtool/frontend/public/icons/DRepDirectory.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/govtool/frontend/public/icons/DRepDirectoryActive.svg b/govtool/frontend/public/icons/DRepDirectoryActive.svg
new file mode 100644
index 000000000..7e012314e
--- /dev/null
+++ b/govtool/frontend/public/icons/DRepDirectoryActive.svg
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/govtool/frontend/public/icons/Loader.svg b/govtool/frontend/public/icons/Loader.svg
new file mode 100644
index 000000000..2f2281a1d
--- /dev/null
+++ b/govtool/frontend/public/icons/Loader.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/govtool/frontend/src/App.tsx b/govtool/frontend/src/App.tsx
index c73ca3bfb..2e90bca47 100644
--- a/govtool/frontend/src/App.tsx
+++ b/govtool/frontend/src/App.tsx
@@ -15,7 +15,9 @@ import {
CreateGovernanceAction,
Dashboard,
DashboardGovernanceActionsCategory,
- DelegateTodRep,
+ DRepDetails,
+ DRepDirectory,
+ DRepDirectoryContent,
ErrorPage,
GovernanceActionDetails,
GovernanceActions,
@@ -104,12 +106,28 @@ export default () => {
path={PATHS.dashboardGovernanceActionsCategory}
element={ }
/>
+ }>
+ }
+ />
+ }
+ />
+
+
+ }>
+ }
+ />
+ } />
}
/>
- } />
} />
} />
{
+ it("should execute onChange with the correct value on click", () => {
+ const handleChange = vi.fn();
+ render(
+ ,
+ );
+
+ const radio = screen.getByTestId("action-radio");
+ fireEvent.click(radio);
+
+ expect(handleChange).toHaveBeenCalledTimes(1);
+ expect(handleChange).toHaveBeenCalledWith("test-value");
+ });
+
+ it("should change styles based on isChecked change", () => {
+ const { rerender } = render(
+ {}}
+ dataTestId="action-radio"
+ />,
+ );
+ let radio = screen.getByTestId("action-radio");
+
+ expect(radio).toHaveStyle("borderColor: white");
+ expect(radio).toHaveStyle("backgroundColor: rgb(255, 255, 255)");
+
+ rerender(
+ {}}
+ dataTestId="action-radio"
+ />,
+ );
+ radio = screen.getByTestId("action-radio");
+
+ expect(radio).toHaveStyle("borderColor: specialCyanBorder");
+ expect(radio).toHaveStyle("backgroundColor: specialCyan");
+ });
+
+ it("should display correct title and optional subtitle", () => {
+ render(
+ {}}
+ dataTestId="action-radio"
+ />,
+ );
+
+ const title = screen.getByText("Main Title");
+ const subtitle = screen.getByText("Sub Title");
+
+ expect(title).toBeInTheDocument();
+ expect(subtitle).toBeInTheDocument();
+ });
+
+ it("should display tooltip text when InfoOutlinedIcon is hovered over", async () => {
+ render(
+ {}}
+ dataTestId="action-radio"
+ />,
+ );
+
+ const icon = screen.getByTestId("InfoOutlinedIcon");
+ fireEvent.mouseOver(icon);
+
+ const tooltip = await screen.findByText("Info Here", {}, { timeout: 500 });
+ expect(tooltip).toBeInTheDocument();
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/Button.tsx b/govtool/frontend/src/components/atoms/Button.tsx
index 97b9f100e..5ce22bf48 100644
--- a/govtool/frontend/src/components/atoms/Button.tsx
+++ b/govtool/frontend/src/components/atoms/Button.tsx
@@ -19,6 +19,7 @@ export const Button = ({
sx={{
fontSize: size === "extraLarge" ? 16 : 14,
height: buttonHeight,
+ whiteSpace: "nowrap",
...sx,
}}
variant={variant}
diff --git a/govtool/frontend/src/components/atoms/ContentBox.tsx b/govtool/frontend/src/components/atoms/ContentBox.tsx
new file mode 100644
index 000000000..c2f058766
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/ContentBox.tsx
@@ -0,0 +1,8 @@
+import { Box, BoxProps } from "@mui/material";
+import { FC } from "react";
+
+export const ContentBox: FC = ({ children, ...props }) => (
+
+ {children}
+
+);
diff --git a/govtool/frontend/src/components/atoms/CopyButton.test.tsx b/govtool/frontend/src/components/atoms/CopyButton.test.tsx
new file mode 100644
index 000000000..8f7666858
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/CopyButton.test.tsx
@@ -0,0 +1,69 @@
+import { describe, it, expect, vi } from "vitest";
+import { render, screen } from "@testing-library/react";
+import userEvent from "@testing-library/user-event";
+import { SnackbarProvider } from "@context";
+import { CopyButton } from "@atoms";
+
+Object.defineProperty(global.navigator, "clipboard", {
+ value: {
+ writeText: vi.fn(),
+ },
+ writable: true,
+});
+
+vi.mock("@hooks", () => ({
+ useTranslation: () => ({
+ t: (key: string) => key,
+ }),
+ useScreenDimension: () => ({
+ isMobile: false,
+ }),
+}));
+
+const writeTextMock = navigator.clipboard.writeText as unknown as {
+ mockClear: () => void;
+};
+
+describe("CopyButton", () => {
+ beforeEach(() => {
+ writeTextMock.mockClear();
+ });
+
+ it("renders correctly with the default icon", () => {
+ render( );
+ const image = screen.getByRole("img");
+ expect(image).toHaveAttribute("src", "/icons/Copy.svg");
+ });
+
+ it("renders the blue icon when variant is 'blue'", () => {
+ render( );
+ const image = screen.getByRole("img");
+ expect(image).toHaveAttribute("src", "/icons/CopyBlue.svg");
+ });
+
+ it("renders the blue thin icon when variant is 'blueThin'", () => {
+ render( );
+ const image = screen.getByRole("img");
+ expect(image).toHaveAttribute("src", "/icons/CopyBlueThin.svg");
+ });
+
+ it("renders the white icon when isChecked prop is true", () => {
+ render( );
+ const image = screen.getByRole("img");
+ expect(image).toHaveAttribute("src", "/icons/CopyWhite.svg");
+ });
+
+ it("copies text to clipboard and shows success alert on click", async () => {
+ render(
+
+ ,
+ ,
+ );
+
+ const copyButton = screen.getByTestId("copy-button");
+ await userEvent.click(copyButton);
+ expect(navigator.clipboard.writeText).toHaveBeenCalledWith("Example Text");
+
+ expect(screen.getByText("alerts.copiedToClipboard")).toBeInTheDocument();
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/DrawerLink.test.tsx b/govtool/frontend/src/components/atoms/DrawerLink.test.tsx
new file mode 100644
index 000000000..70449e3a8
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/DrawerLink.test.tsx
@@ -0,0 +1,90 @@
+import { describe, it, expect, vi } from "vitest";
+import { render, screen, fireEvent } from "@testing-library/react";
+import { MemoryRouter, Route, Routes } from "react-router-dom";
+import { DrawerLink } from "@atoms";
+import { theme } from "@/theme";
+
+describe("DrawerLink", () => {
+ const mockOnClick = vi.fn();
+
+ it("renders correctly with mandatory props", () => {
+ render(
+
+
+ ,
+ );
+
+ const linkElement = screen.getByRole("link");
+ expect(linkElement).toHaveAttribute("href", "/home");
+ expect(screen.getByText("Home")).toBeInTheDocument();
+ });
+
+ it("applies active styles correctly when active", () => {
+ render(
+
+
+ }
+ />
+
+ ,
+ );
+
+ const linkElement = screen.getByRole("link");
+ expect(linkElement).toHaveStyle(
+ `backgroundColor: ${theme.palette.highlightBlue}`,
+ );
+ });
+
+ it("does not apply active styles when not active", () => {
+ render(
+
+
+ ,
+ );
+
+ const linkElement = screen.getByRole("link");
+ expect(linkElement).not.toHaveStyle(
+ `backgroundColor: ${theme.palette.highlightBlue}`,
+ );
+ });
+
+ it("renders with an icon and activeIcon", () => {
+ const icon = "icon-path.png";
+ const activeIcon = "active-icon-path.png";
+
+ render(
+
+
+
+ }
+ />
+
+ ,
+ );
+
+ const img = screen.getByAltText("icon") as HTMLImageElement;
+ expect(img.src).toContain("active-icon-path.png");
+ });
+
+ it("executes onClick callback when clicked", () => {
+ render(
+
+
+ ,
+ );
+
+ const linkElement = screen.getByRole("link");
+ fireEvent.click(linkElement);
+ expect(mockOnClick).toHaveBeenCalled();
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/Loader/Loader.css b/govtool/frontend/src/components/atoms/Loader/Loader.css
new file mode 100644
index 000000000..99885ceca
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/Loader/Loader.css
@@ -0,0 +1,8 @@
+@keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ 100% {
+ transform: rotate(360deg);
+ }
+}
diff --git a/govtool/frontend/src/components/atoms/Loader/Loader.tsx b/govtool/frontend/src/components/atoms/Loader/Loader.tsx
new file mode 100644
index 000000000..3224db678
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/Loader/Loader.tsx
@@ -0,0 +1,15 @@
+import { ICONS } from "@/consts";
+import "./Loader.css";
+
+type Props = {
+ size: number;
+};
+export const Loader = ({ size = 100 }: Props) => (
+
+
+
+);
diff --git a/govtool/frontend/src/components/atoms/Loader/index.ts b/govtool/frontend/src/components/atoms/Loader/index.ts
new file mode 100644
index 000000000..f9f5a2b49
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/Loader/index.ts
@@ -0,0 +1 @@
+export * from "./Loader";
diff --git a/govtool/frontend/src/components/atoms/LoadingButton.test.tsx b/govtool/frontend/src/components/atoms/LoadingButton.test.tsx
new file mode 100644
index 000000000..f6e543bd9
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/LoadingButton.test.tsx
@@ -0,0 +1,53 @@
+import { describe, it, expect } from "vitest";
+import { render, screen } from "@testing-library/react";
+import { LoadingButton } from "@atoms";
+
+describe("LoadingButton", () => {
+ it("renders its children", () => {
+ render(Click me );
+ expect(screen.getByText("Click me")).toBeInTheDocument();
+ });
+
+ it("is disabled when isLoading is true", () => {
+ render(Loading... );
+ expect(screen.getByRole("button", { name: "Loading..." })).toBeDisabled();
+ });
+
+ it("is disabled when disabled prop is true", () => {
+ render(Disabled );
+ expect(screen.getByRole("button", { name: "Disabled" })).toBeDisabled();
+ });
+
+ it("shows a CircularProgress when isLoading", () => {
+ render(Loading... );
+ expect(screen.getByRole("progressbar")).toBeInTheDocument();
+ });
+
+ it("applies different heights based on size prop", () => {
+ const { rerender } = render(
+ Small Button ,
+ );
+
+ expect(screen.getByText("Small Button")).toHaveStyle({ height: "32px" });
+
+ rerender(Medium Button );
+ expect(screen.getByText("Medium Button")).toHaveStyle({ height: "36px" });
+
+ rerender(Large Button );
+ expect(screen.getByText("Large Button")).toHaveStyle({ height: "40px" });
+
+ rerender(
+ Extra Large Button ,
+ );
+ expect(screen.getByText("Extra Large Button")).toHaveStyle("height: 48px");
+ });
+
+ it("applies custom styles via sx prop", () => {
+ const customStyles = { backgroundColor: "specialCyan" };
+ render(Styled Button );
+
+ expect(screen.getByText("Styled Button")).toHaveStyle({
+ backgroundColor: "specialCyan",
+ });
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/PagePaddingBox.tsx b/govtool/frontend/src/components/atoms/PagePaddingBox.tsx
new file mode 100644
index 000000000..72f0abc4c
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/PagePaddingBox.tsx
@@ -0,0 +1,8 @@
+import { Box, BoxProps } from "@mui/material";
+import { FC } from "react";
+
+export const PagePaddingBox: FC = ({ children, ...props }) => (
+
+ {children}
+
+);
diff --git a/govtool/frontend/src/components/atoms/StakeRadio.tsx b/govtool/frontend/src/components/atoms/StakeRadio.tsx
index 61dd45b39..ab054286a 100644
--- a/govtool/frontend/src/components/atoms/StakeRadio.tsx
+++ b/govtool/frontend/src/components/atoms/StakeRadio.tsx
@@ -71,6 +71,7 @@ export const StakeRadio: FC = ({ ...props }) => {
{t("votingPower")}
+ :
{powerIsLoading ? (
diff --git a/govtool/frontend/src/components/atoms/StatusPill.tsx b/govtool/frontend/src/components/atoms/StatusPill.tsx
new file mode 100644
index 000000000..e8fbf0377
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/StatusPill.tsx
@@ -0,0 +1,44 @@
+import { Chip, ChipProps, styled } from "@mui/material";
+import { cyan, errorRed, successGreen } from "@/consts";
+import { DRepStatus } from "@/models";
+
+interface StatusPillProps {
+ status: DRepStatus;
+ label?: string;
+ size?: 'small' | 'medium';
+ sx?: ChipProps['sx'];
+}
+
+export const StatusPill = ({
+ status,
+ label = status,
+ size = 'small',
+ sx
+}: StatusPillProps) => (
+
+);
+
+const bgColor = {
+ [DRepStatus.Active]: successGreen.c200,
+ [DRepStatus.Inactive]: cyan.c100,
+ [DRepStatus.Retired]: errorRed.c100,
+};
+
+const textColor = {
+ [DRepStatus.Active]: successGreen.c700,
+ [DRepStatus.Inactive]: cyan.c500,
+ [DRepStatus.Retired]: errorRed.c500,
+};
+
+const StyledChip = styled(Chip)<{ status: DRepStatus }>(({ theme, status }) => ({
+ backgroundColor: bgColor[status],
+ color: textColor[status],
+ border: `2px solid ${theme.palette.neutralWhite}`,
+ fontSize: '0.75rem',
+ textTransform: 'capitalize',
+}));
diff --git a/govtool/frontend/src/components/atoms/VotePill.test.tsx b/govtool/frontend/src/components/atoms/VotePill.test.tsx
new file mode 100644
index 000000000..24f09a4d0
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/VotePill.test.tsx
@@ -0,0 +1,55 @@
+import { describe, it, expect } from "vitest";
+import { render } from "@testing-library/react";
+import { VotePill } from "@atoms";
+
+describe("VotePill", () => {
+ it('renders the VotePill component with "yes" vote correctly', () => {
+ const { getByText } = render( );
+ const voteText = getByText("yes");
+ expect(voteText).toBeInTheDocument();
+ expect(voteText.parentNode).toHaveStyle({
+ borderColor: "#C0E4BA",
+ backgroundColor: "#F0F9EE",
+ });
+ });
+
+ it('renders the VotePill component with "no" vote correctly', () => {
+ const { getByText } = render( );
+ const voteText = getByText("no");
+ expect(voteText).toBeInTheDocument();
+ expect(voteText.parentNode).toHaveStyle({
+ borderColor: "#EDACAC",
+ backgroundColor: "#FBEBEB",
+ });
+ });
+
+ it('renders the VotePill component with "abstain" vote correctly', () => {
+ const { getByText } = render( );
+ const voteText = getByText("abstain");
+ expect(voteText).toBeInTheDocument();
+ expect(voteText.parentNode).toHaveStyle({
+ borderColor: "#99ADDE",
+ backgroundColor: "#E6EBF7",
+ });
+ });
+
+ it("handles custom width and maxWidth props correctly", () => {
+ const { container } = render(
+ ,
+ );
+ const pillBox = container.firstChild;
+ expect(pillBox).toHaveStyle({
+ width: "100px",
+ maxWidth: "120px",
+ });
+ });
+
+ it("defaults width and maxWidth when not provided", () => {
+ const { container } = render( );
+ const pillBox = container.firstChild;
+ expect(pillBox).toHaveStyle({
+ width: "auto",
+ maxWidth: "auto",
+ });
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/VotingPowerChips.test.tsx b/govtool/frontend/src/components/atoms/VotingPowerChips.test.tsx
new file mode 100644
index 000000000..af80779fc
--- /dev/null
+++ b/govtool/frontend/src/components/atoms/VotingPowerChips.test.tsx
@@ -0,0 +1,95 @@
+import { render, screen, fireEvent } from "@testing-library/react";
+import { describe, it, expect, vi } from "vitest";
+import * as Hooks from "@hooks";
+import * as Context from "@context";
+import * as Utils from "@utils";
+import { VotingPowerChips } from "@atoms";
+
+describe("VotingPowerChips", () => {
+ const mockUseCardano = vi.spyOn(Context, "useCardano");
+ const mockUseGetDRepVotingPowerQuery = vi.spyOn(
+ Hooks,
+ "useGetDRepVotingPowerQuery",
+ );
+ const mockUseScreenDimension = vi.spyOn(Hooks, "useScreenDimension");
+ const mockCorrectAdaFormat = vi.spyOn(Utils, "correctAdaFormat");
+ const mockUseTranslation = vi.spyOn(Hooks, "useTranslation");
+ const mockUseGetVoterInfo = vi.spyOn(Hooks, "useGetVoterInfo");
+
+ it("renders loading spinner when data is loading", () => {
+ mockUseCardano.mockReturnValue({
+ isEnableLoading: 'demos',
+ } as ReturnType);
+ mockUseGetDRepVotingPowerQuery.mockReturnValue(
+ {} as ReturnType,
+ );
+ mockUseScreenDimension.mockReturnValue({
+ isMobile: false,
+ screenWidth: 1024,
+ } as ReturnType);
+ mockUseTranslation.mockReturnValue({
+ t: (key: string) => key,
+ } as ReturnType);
+ mockUseGetVoterInfo.mockReturnValue(
+ { voter: { isRegisteredAsDRep: true } } as ReturnType,
+ );
+
+ render( );
+ expect(screen.getByRole("progressbar")).toBeInTheDocument();
+ });
+
+ it("displays formatted ADA amount when data is available and not loading", () => {
+ mockUseCardano.mockReturnValue({
+ isEnableLoading: null,
+ } as ReturnType);
+ mockUseGetDRepVotingPowerQuery.mockReturnValue({
+ dRepVotingPower: 1000,
+ } as ReturnType);
+ mockUseScreenDimension.mockReturnValue({
+ isMobile: false,
+ screenWidth: 1024,
+ } as ReturnType);
+ mockUseTranslation.mockReturnValue({
+ t: (key: string) => key,
+ } as ReturnType);
+ mockUseGetVoterInfo.mockReturnValue({
+ voter: { isRegisteredAsDRep: true },
+ } as ReturnType);
+ mockCorrectAdaFormat.mockReturnValue(1000);
+
+ render( );
+ expect(screen.getByText(/₳ 1000/)).toBeInTheDocument();
+ });
+
+ it("displays the tooltip correctly for non-mobile DRep registered users", async () => {
+ mockUseCardano.mockReturnValue({
+ isEnableLoading: null,
+ } as ReturnType);
+ mockUseGetDRepVotingPowerQuery.mockReturnValue({
+ dRepVotingPower: 1000,
+ } as ReturnType);
+ mockUseScreenDimension.mockReturnValue({
+ isMobile: false,
+ screenWidth: 800,
+ } as ReturnType);
+ mockUseTranslation.mockReturnValue({
+ t: (key: string) => key,
+ } as ReturnType);
+ mockUseGetVoterInfo.mockReturnValue({
+ voter: { isRegisteredAsDRep: true },
+ } as ReturnType);
+ mockCorrectAdaFormat.mockReturnValue(1000);
+
+ render( );
+
+ const icon = screen.getByTestId("InfoOutlinedIcon");
+ fireEvent.mouseOver(icon);
+
+ const tooltip = await screen.findByText(
+ "tooltips.votingPower.heading",
+ {},
+ { timeout: 500 },
+ );
+ expect(tooltip).toBeInTheDocument();
+ });
+});
diff --git a/govtool/frontend/src/components/atoms/VotingPowerChips.tsx b/govtool/frontend/src/components/atoms/VotingPowerChips.tsx
index 4e5381e56..a81cfb582 100644
--- a/govtool/frontend/src/components/atoms/VotingPowerChips.tsx
+++ b/govtool/frontend/src/components/atoms/VotingPowerChips.tsx
@@ -4,7 +4,6 @@ import InfoOutlinedIcon from "@mui/icons-material/InfoOutlined";
import { Typography, Tooltip } from "@atoms";
import { useCardano } from "@context";
import {
- useGetAdaHolderVotingPowerQuery,
useGetDRepVotingPowerQuery,
useGetVoterInfo,
useScreenDimension,
@@ -13,67 +12,62 @@ import {
import { correctAdaFormat } from "@utils";
export const VotingPowerChips = () => {
- const { stakeKey, isEnableLoading } = useCardano();
- const { dRepVotingPower } = useGetDRepVotingPowerQuery();
- const { votingPower } = useGetAdaHolderVotingPowerQuery(stakeKey);
+ const { isEnableLoading } = useCardano();
+ const { voter } = useGetVoterInfo();
+ const { dRepVotingPower } = useGetDRepVotingPowerQuery(voter);
const { isMobile, screenWidth } = useScreenDimension();
const { t } = useTranslation();
- const { voter } = useGetVoterInfo();
return (
-
- {voter?.isRegisteredAsDRep && (
-
-
-
- )}
- {screenWidth >= 1024 && (
-
- {t("votingPower")}
-
- )}
- {(voter?.isRegisteredAsDRep && dRepVotingPower === undefined) ||
- (!voter?.isRegisteredAsDRep && votingPower === undefined) ||
- isEnableLoading ||
- !voter ? (
+ (voter?.isRegisteredAsDRep || voter?.isRegisteredAsSoleVoter) && (
+
+ {!isMobile && (
+
+
+
+ )}
+ {screenWidth >= 1024 && (
+
+ {t("votingPower")}:
+
+ )}
+ {dRepVotingPower === undefined || isEnableLoading || !voter ? (
- ) : (
-
- ₳{" "}
- {voter?.isRegisteredAsDRep
- ? correctAdaFormat(dRepVotingPower) ?? 0
- : correctAdaFormat(votingPower) ?? 0}
-
- )}
-
+ ) : (
+
+ ₳ {correctAdaFormat(dRepVotingPower) ?? 0}
+
+ )}
+
+ )
);
};
diff --git a/govtool/frontend/src/components/atoms/index.ts b/govtool/frontend/src/components/atoms/index.ts
index 186752f80..4fe856a38 100644
--- a/govtool/frontend/src/components/atoms/index.ts
+++ b/govtool/frontend/src/components/atoms/index.ts
@@ -2,6 +2,7 @@ export * from "./ActionRadio";
export * from "./Background";
export * from "./Button";
export * from "./Checkbox";
+export * from "./ContentBox";
export * from "./CopyButton";
export * from "./DrawerLink";
export * from "./ExternalModalButton";
@@ -16,15 +17,18 @@ export * from "./modal/Modal";
export * from "./modal/ModalContents";
export * from "./modal/ModalHeader";
export * from "./modal/ModalWrapper";
+export * from "./PagePaddingBox";
export * from "./Radio";
export * from "./ScrollToManage";
export * from "./ScrollToTop";
export * from "./Spacer";
+export * from "./StatusPill";
export * from "./StakeRadio";
export * from "./TextArea";
export * from "./Tooltip";
export * from "./Typography";
export * from "./VotePill";
export * from "./VotingPowerChips";
+export * from "./Loader";
export * from "./types";
diff --git a/govtool/frontend/src/components/molecules/AutomatedVotingCard.tsx b/govtool/frontend/src/components/molecules/AutomatedVotingCard.tsx
new file mode 100644
index 000000000..7734f9f30
--- /dev/null
+++ b/govtool/frontend/src/components/molecules/AutomatedVotingCard.tsx
@@ -0,0 +1,161 @@
+import { Box, Divider } from "@mui/material";
+
+import { Button, LoadingButton, Typography } from "@atoms";
+import { primaryBlue } from "@consts";
+import { useModal } from "@context";
+import { useScreenDimension, useTranslation } from "@hooks";
+import { openInNewTab, testIdFromLabel } from "@utils";
+
+import { Card } from "./Card";
+import { AutomatedVotingCardProps } from "./types";
+
+export const AutomatedVotingCard = ({
+ description,
+ inProgress,
+ isConnected,
+ isDelegateLoading,
+ isSelected,
+ onClickDelegate,
+ onClickInfo,
+ title,
+ votingPower,
+ transactionId,
+}: AutomatedVotingCardProps) => {
+ const { isMobile, screenWidth } = useScreenDimension();
+ const { openModal } = useModal();
+ const { t } = useTranslation();
+ const testIdLabel = testIdFromLabel(title);
+
+ const onClickShowTransaction = () =>
+ openInNewTab(`https://sancho.cexplorer.io/tx/${transactionId}`);
+
+ return (
+ `${theme.palette.neutralWhite}40`,
+ boxShadow: `0px 4px 15px 0px ${primaryBlue.c100}`,
+ display: "flex",
+ flex: 1,
+ flexDirection: screenWidth < 1024 ? "column" : "row",
+ justifyContent: "space-between",
+ mt: inProgress || isSelected ? 2 : 0,
+ py: 2.25,
+ }}
+ >
+
+ {title}
+
+ {description}
+
+ {transactionId && (
+
+ {t("dashboard.cards.showTransaction")}
+
+ )}
+
+ {!inProgress && !isSelected && (
+ <>
+
+
+
+ {t("dRepDirectory.votingPower")}
+
+
+ {"₳ "}
+ {votingPower}
+
+
+
+
+
+ {t("info")}
+
+ {!isConnected ? (
+ openModal({ type: "chooseWallet" })}
+ size={isMobile ? "medium" : "large"}
+ sx={{ flex: screenWidth < 768 ? 1 : undefined }}
+ >
+ {t("connectToDelegate")}
+
+ ) : (
+ !isSelected && (
+
+ {t("delegate")}
+
+ )
+ )}
+
+ >
+ )}
+
+ );
+};
diff --git a/govtool/frontend/src/components/molecules/Breadcrumbs.tsx b/govtool/frontend/src/components/molecules/Breadcrumbs.tsx
index c0766d345..83f191034 100644
--- a/govtool/frontend/src/components/molecules/Breadcrumbs.tsx
+++ b/govtool/frontend/src/components/molecules/Breadcrumbs.tsx
@@ -4,12 +4,14 @@ import Divider from "@mui/material/Divider";
import { useScreenDimension } from "@hooks";
import { Typography } from "@atoms";
+import { getMetadataDataMissingStatusTranslation } from "@/utils";
+import { MetadataValidationStatus } from "@/models";
type BreadcrumbsProps = {
elementOne: string;
elementOnePath: To;
elementTwo: string;
- isDataMissing: boolean;
+ isDataMissing: MetadataValidationStatus | boolean;
};
export const Breadcrumbs = ({
@@ -19,7 +21,6 @@ export const Breadcrumbs = ({
isDataMissing,
}: BreadcrumbsProps) => {
const { isMobile } = useScreenDimension();
-
return (
- {isDataMissing || elementTwo}
+ {(isDataMissing !== false &&
+ getMetadataDataMissingStatusTranslation(
+ isDataMissing as MetadataValidationStatus,
+ )) ||
+ elementTwo}
);
diff --git a/govtool/frontend/src/components/molecules/CenteredBoxPageWrapper.tsx b/govtool/frontend/src/components/molecules/CenteredBoxPageWrapper.tsx
index c9ad0c9b9..5b6ce0822 100644
--- a/govtool/frontend/src/components/molecules/CenteredBoxPageWrapper.tsx
+++ b/govtool/frontend/src/components/molecules/CenteredBoxPageWrapper.tsx
@@ -3,7 +3,7 @@ import { Box, Link } from "@mui/material";
import { Background, Typography } from "@atoms";
import { ICONS } from "@consts";
-import { DashboardTopNav } from "@organisms";
+import { DashboardTopNav, Footer } from "@organisms";
import { useScreenDimension } from "@hooks";
import { useNavigate } from "react-router-dom";
import { theme } from "@/theme";
@@ -82,6 +82,9 @@ export const CenteredBoxPageWrapper: FC> = ({
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
);
diff --git a/govtool/frontend/src/components/molecules/DashboardActionCard.tsx b/govtool/frontend/src/components/molecules/DashboardActionCard.tsx
index feb9f39fb..a3d127e56 100644
--- a/govtool/frontend/src/components/molecules/DashboardActionCard.tsx
+++ b/govtool/frontend/src/components/molecules/DashboardActionCard.tsx
@@ -3,8 +3,9 @@ import { FC, ReactNode } from "react";
import { Button, LoadingButton, LoadingButtonProps, Typography } from "@atoms";
import { useScreenDimension, useTranslation } from "@hooks";
+import { openInNewTab } from "@utils";
+
import { Card } from "./Card";
-import { openInNewTab } from "@/utils";
export type DashboardActionCardProps = {
buttons?: LoadingButtonProps[];
@@ -16,7 +17,8 @@ export type DashboardActionCardProps = {
isInProgressOnCard?: boolean;
state?: "active" | "inProgress" | "default";
title?: ReactNode;
- transactionId?: string;
+ transactionId?: string | null;
+ isSpaceBetweenButtons?: boolean;
};
export const DashboardActionCard: FC = ({
@@ -33,6 +35,7 @@ export const DashboardActionCard: FC = ({
state = "default",
title,
transactionId,
+ isSpaceBetweenButtons,
} = props;
const { screenWidth } = useScreenDimension();
@@ -103,20 +106,21 @@ export const DashboardActionCard: FC = ({
)}
) : null}
+ {children}
+ {transactionId && (
+
+ {t("dashboard.cards.showTransaction")}
+
+ )}
- {children}
- {transactionId && (
-
- {t("dashboard.cards.showTransaction")}
-
- )}
diff --git a/govtool/frontend/src/components/molecules/DataActionsBar.tsx b/govtool/frontend/src/components/molecules/DataActionsBar.tsx
index f8f1587c5..f66274ced 100644
--- a/govtool/frontend/src/components/molecules/DataActionsBar.tsx
+++ b/govtool/frontend/src/components/molecules/DataActionsBar.tsx
@@ -86,7 +86,7 @@ export const DataActionsBar: FC = ({ ...props }) => {
fontWeight: 500,
height: 48,
padding: "16px 24px",
- width: 500,
+ maxWidth: 500,
}}
/>
{
const { t } = useTranslation();
const gaMetadataErrorMessage = {
- [GAMetedataErrors.DATA_MISSING]: t("errors.gAMetadata.message.dataMissing"),
- [GAMetedataErrors.INCORRECT_FORMAT]: t(
+ [MetadataValidationStatus.URL_NOT_FOUND]: t(
+ "errors.gAMetadata.message.dataMissing",
+ ),
+ [MetadataValidationStatus.INVALID_JSONLD]: t(
"errors.gAMetadata.message.incorrectFormat",
),
- [GAMetedataErrors.NOT_VERIFIABLE]: t(
+ [MetadataValidationStatus.INVALID_HASH]: t(
"errors.gAMetadata.message.notVerifiable",
),
- }[isDataMissing as GAMetedataErrors];
+ [MetadataValidationStatus.INCORRECT_FORMAT]: t(
+ "errors.gAMetadata.message.incorrectFormat",
+ ),
+ }[isDataMissing as MetadataValidationStatus];
const gaMetadataErrorDescription = {
- [GAMetedataErrors.DATA_MISSING]: t(
+ [MetadataValidationStatus.URL_NOT_FOUND]: t(
"errors.gAMetadata.description.dataMissing",
),
- [GAMetedataErrors.INCORRECT_FORMAT]: t(
+ [MetadataValidationStatus.INVALID_JSONLD]: t(
"errors.gAMetadata.description.incorrectFormat",
),
- [GAMetedataErrors.NOT_VERIFIABLE]: t(
+ [MetadataValidationStatus.INVALID_HASH]: t(
"errors.gAMetadata.description.notVerifiable",
),
- }[isDataMissing as GAMetedataErrors];
+ [MetadataValidationStatus.INCORRECT_FORMAT]: t(
+ "errors.gAMetadata.description.incorrectFormat",
+ ),
+ }[isDataMissing as MetadataValidationStatus];
return isDataMissing && !isSubmitted && !isInProgress ? (
@@ -29,14 +32,24 @@ export const GovernanceActionCardHeader = ({
fontSize: 18,
fontWeight: 600,
lineHeight: "24px",
+ display: "-webkit-box",
+ WebkitBoxOrient: "vertical",
+ WebkitLineClamp: 2,
+ wordBreak: "break-word",
...(isDataMissing && { color: "#9E2323" }),
}}
>
- {isDataMissing || title}
+ {(isDataMissing !== false &&
+ getMetadataDataMissingStatusTranslation(
+ isDataMissing as MetadataValidationStatus,
+ )) ||
+ title}
{isDataMissing && typeof isDataMissing === "string" && (
{
+export const GovernanceActionCardMyVote = ({ voteTxHash, vote }: Props) => {
const { t } = useTranslation();
return (
@@ -41,8 +42,7 @@ export const GovernanceActionCardMyVote = ({ vote }: Props) => {
- // TODO: Confirm/change the link
- openInNewTab("https://adanordic.com/latest_transactions")
+ openInNewTab(`https://sancho.cexplorer.io/tx/${voteTxHash}`)
}
variant="text"
size="small"
diff --git a/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardHeader.tsx b/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardHeader.tsx
index 6f5a7a22a..6ea3c2d29 100644
--- a/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardHeader.tsx
+++ b/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardHeader.tsx
@@ -3,11 +3,12 @@ import { Box } from "@mui/material";
import { Typography } from "@atoms";
import { Share } from "@molecules";
-import { GAMetedataErrors } from "@utils";
+import { MetadataValidationStatus } from "@models";
+import { getMetadataDataMissingStatusTranslation } from "@/utils";
type GovernanceActionDetailsCardHeaderProps = {
title?: string;
- isDataMissing: boolean | GAMetedataErrors;
+ isDataMissing: boolean | MetadataValidationStatus;
};
export const GovernanceActionDetailsCardHeader = ({
@@ -47,7 +48,11 @@ export const GovernanceActionDetailsCardHeader = ({
}}
variant="title2"
>
- {isDataMissing || title}
+ {(isDataMissing !== false &&
+ getMetadataDataMissingStatusTranslation(
+ isDataMissing as MetadataValidationStatus,
+ )) ||
+ title}
diff --git a/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardLinks.tsx b/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardLinks.tsx
index 6d08028a6..9dcd48dfe 100644
--- a/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardLinks.tsx
+++ b/govtool/frontend/src/components/molecules/GovernanceActionDetailsCardLinks.tsx
@@ -1,66 +1,64 @@
import { Box } from "@mui/material";
import { Typography } from "@atoms";
+import { ICONS } from "@consts";
+import { useModal } from "@context";
import { useScreenDimension, useTranslation } from "@hooks";
import { LinkWithIcon } from "@molecules";
-import { ICONS } from "@/consts";
-import { useModal } from "@/context";
-// TODO: When BE is ready, pass links as props
-const LINKS = [
- "https://docs.sanchogov.tools/support/get-help-in-discord",
- "https://docs.sanchogov.tools/how-to-use-the-govtool/prerequsites",
- "https://docs.sanchogov.tools/faqs",
- "https://docs.sanchogov.tools/",
-];
-
-export const GovernanceActionDetailsCardLinks = () => {
+export const GovernanceActionDetailsCardLinks = ({
+ links,
+}: {
+ links?: string[];
+}) => {
const { isMobile } = useScreenDimension();
const { t } = useTranslation();
const { openModal } = useModal();
return (
- <>
-
- {t("govActions.supportingLinks")}
-
-
- {LINKS.map((link) => (
- {
- openModal({
- type: "externalLink",
- state: {
- externalLink: link,
- },
- });
- }}
- icon={ }
- cutWithEllipsis
- />
- ))}
-
- >
+ links && (
+ <>
+
+ {t("govActions.supportingLinks")}
+
+
+ {links.map((link) => (
+ {
+ openModal({
+ type: "externalLink",
+ state: {
+ externalLink: link,
+ },
+ });
+ }}
+ icon={ }
+ cutWithEllipsis
+ />
+ ))}
+
+ >
+ )
);
};
diff --git a/govtool/frontend/src/components/molecules/GovernanceVotedOnCard.tsx b/govtool/frontend/src/components/molecules/GovernanceVotedOnCard.tsx
index bdc2e499d..6ab4b9a96 100644
--- a/govtool/frontend/src/components/molecules/GovernanceVotedOnCard.tsx
+++ b/govtool/frontend/src/components/molecules/GovernanceVotedOnCard.tsx
@@ -106,7 +106,7 @@ export const GovernanceVotedOnCard = ({ votedProposal, inProgress }: Props) => {
isCopyButton
isSliderCard
/>
-
+
= ({ title }) => {
+ const { isMobile } = useScreenDimension();
+
+ return (
+ `1px solid ${theme.palette.neutralWhite}`}
+ py={3}
+ >
+
+
+ {title}
+
+
+
+ );
+};
diff --git a/govtool/frontend/src/components/molecules/Share.tsx b/govtool/frontend/src/components/molecules/Share.tsx
index a57e7763d..e1c6f1122 100644
--- a/govtool/frontend/src/components/molecules/Share.tsx
+++ b/govtool/frontend/src/components/molecules/Share.tsx
@@ -1,5 +1,5 @@
-import { useState } from "react";
-import { Box, Popover } from "@mui/material";
+import { MouseEvent, useState } from "react";
+import { Box, ButtonBase, Popover } from "@mui/material";
import { Typography } from "@atoms";
import { ICONS } from "@consts";
@@ -9,20 +9,22 @@ import { useTranslation } from "@hooks";
export const Share = ({ link }: { link: string }) => {
const { addSuccessAlert } = useSnackbar();
const { t } = useTranslation();
- const [anchorEl, setAnchorEl] = useState(null);
+ const [anchorEl, setAnchorEl] = useState(null);
+ const [isActive, setIsActive] = useState(true);
- const handleClick = (e: React.MouseEvent) => {
- setAnchorEl(e.currentTarget);
+ const handleClick = (event: MouseEvent) => {
+ setAnchorEl(event.currentTarget);
};
const handleClose = () => {
setAnchorEl(null);
};
- const onCopy = (e: React.MouseEvent) => {
+ const onCopy = (event: MouseEvent) => {
navigator.clipboard.writeText(link);
addSuccessAlert(t("alerts.copiedToClipboard"));
- e.stopPropagation();
+ setIsActive(false);
+ event.stopPropagation();
};
const open = Boolean(anchorEl);
@@ -30,29 +32,34 @@ export const Share = ({ link }: { link: string }) => {
return (
<>
- ({
alignItems: "center",
- bgcolor: "#F7F9FB",
+ bgcolor: open ? "#F7F9FB" : "transparent",
borderRadius: 50,
- boxShadow: "2px 2px 15px 0px #2F62DC47",
+ boxShadow: open ? theme.shadows[1] : "none",
cursor: "pointer",
display: "flex",
justifyContent: "center",
padding: 1.5,
- }}
+ transition: "all 0.3s",
+ "&:hover": {
+ boxShadow: theme.shadows[1],
+ bgcolor: "#F7F9FB",
+ },
+ })}
>
-
-
+
+
{
{t("share")}
- theme.shadows[1],
cursor: "pointer",
display: "flex",
height: 48,
@@ -88,8 +100,10 @@ export const Share = ({ link }: { link: string }) => {
}}
>
-
- {t("clickToCopyLink")}
+
+
+ {isActive ? t("clickToCopyLink") : t("linkCopied")}
+
>
diff --git a/govtool/frontend/src/components/molecules/WalletOption.tsx b/govtool/frontend/src/components/molecules/WalletOption.tsx
index 1b60e6dc7..ff47e46c1 100644
--- a/govtool/frontend/src/components/molecules/WalletOption.tsx
+++ b/govtool/frontend/src/components/molecules/WalletOption.tsx
@@ -1,5 +1,5 @@
import { FC, useCallback } from "react";
-import { useNavigate } from "react-router-dom";
+import { To, useNavigate } from "react-router-dom";
import { Box, CircularProgress, Typography } from "@mui/material";
import { PATHS } from "@consts";
@@ -12,22 +12,28 @@ export interface WalletOption {
name: string;
cip95Available: boolean;
dataTestId?: string;
+ pathToNavigate?: To;
}
-export const WalletOptionButton: FC = ({ ...props }) => {
+export const WalletOptionButton: FC = ({
+ dataTestId,
+ icon,
+ label,
+ name,
+ cip95Available,
+ pathToNavigate,
+}) => {
const { enable, isEnableLoading } = useCardano();
const {
palette: { lightBlue },
} = theme;
const navigate = useNavigate();
- const { dataTestId, icon, label, name, cip95Available } = props;
-
const enableByWalletName = useCallback(async () => {
if (isEnableLoading) return;
const result = await enable(name);
if (result?.stakeKey) {
- navigate(PATHS.dashboard);
+ navigate(pathToNavigate ?? PATHS.dashboard);
return;
}
navigate(PATHS.stakeKeys);
diff --git a/govtool/frontend/src/components/molecules/index.ts b/govtool/frontend/src/components/molecules/index.ts
index dad2697b0..1a33c71f7 100644
--- a/govtool/frontend/src/components/molecules/index.ts
+++ b/govtool/frontend/src/components/molecules/index.ts
@@ -1,4 +1,5 @@
export * from "./ActionCard";
+export * from "./AutomatedVotingCard";
export * from "./Breadcrumbs";
export * from "./Card";
export * from "./CenteredBoxBottomButtons";
@@ -9,6 +10,7 @@ export * from "./DataActionsBar";
export * from "./DataActionsFilters";
export * from "./DataActionsSorting";
export * from "./DataMissingInfoBox";
+export * from "./DelegationAction";
export * from "./DRepInfoCard";
export * from "./EmptyStateGovernanceActionsCategory";
export * from "./Field";
@@ -26,10 +28,11 @@ export * from "./GovernanceActionsDatesBox";
export * from "./GovernanceVotedOnCard";
export * from "./LinkWithIcon";
export * from "./OrderActionsChip";
+export * from "./PageTitle";
+export * from "./Share";
export * from "./Share";
export * from "./SliderArrow";
export * from "./SliderArrows";
-export * from "./SoleVoterAction";
export * from "./Step";
export * from "./VoteActionForm";
export * from "./VotesSubmitted";
diff --git a/govtool/frontend/src/components/molecules/types.ts b/govtool/frontend/src/components/molecules/types.ts
index f67f05ba1..9f54e76e2 100644
--- a/govtool/frontend/src/components/molecules/types.ts
+++ b/govtool/frontend/src/components/molecules/types.ts
@@ -26,3 +26,16 @@ export type EmptyStateGovernanceActionsCategoryProps = {
category?: string;
isSearch?: boolean;
};
+
+export type AutomatedVotingCardProps = {
+ description: string;
+ inProgress?: boolean;
+ isConnected?: boolean;
+ isSelected?: boolean;
+ onClickDelegate: () => void;
+ onClickInfo: () => void;
+ title: string;
+ votingPower: string | number;
+ isDelegateLoading?: boolean;
+ transactionId?: string;
+};
diff --git a/govtool/frontend/src/components/organisms/AutomatedVotingOptions.tsx b/govtool/frontend/src/components/organisms/AutomatedVotingOptions.tsx
new file mode 100644
index 000000000..52772f98d
--- /dev/null
+++ b/govtool/frontend/src/components/organisms/AutomatedVotingOptions.tsx
@@ -0,0 +1,121 @@
+import { useState } from "react";
+import {
+ Accordion,
+ AccordionDetails,
+ AccordionSummary,
+ Box,
+ Chip,
+} from "@mui/material";
+
+import { Typography } from "@atoms";
+import { ICONS } from "@consts";
+import { PendingTransaction } from "@context";
+import { useTranslation } from "@hooks";
+import { AutomatedVotingCard } from "@molecules";
+import { openInNewTab } from "@/utils";
+
+type AutomatedVotingOptionsProps = {
+ currentDelegation?: string | null;
+ delegate: (delegateTo: string) => void;
+ votingPower: string;
+ delegationInProgress?: string;
+ isConnected?: boolean;
+ isDelegationLoading?: boolean;
+ pendingTransaction?: PendingTransaction;
+};
+
+export const AutomatedVotingOptions = ({
+ currentDelegation,
+ delegate,
+ delegationInProgress,
+ isConnected,
+ isDelegationLoading,
+ pendingTransaction,
+ votingPower,
+}: AutomatedVotingOptionsProps) => {
+ const { t } = useTranslation();
+
+ const [isOpen, setIsOpen] = useState(false);
+
+ // TODO: Change to certain automated voted option if available
+ const onClickInfo = () => openInNewTab("https://docs.sanchogov.tools/");
+
+ return (
+ setIsOpen(isExpanded)}
+ sx={(theme) => ({
+ bgcolor: `${theme.palette.lightBlue}80`,
+ border: `1px solid ${theme.palette.neutralWhite}`,
+ })}
+ >
+ }
+ sx={{ borderRadius: 3, px: { xxs: 2, md: 3 } }}
+ >
+ {t("dRepDirectory.automatedVotingOptions")}
+ {currentDelegation && !isOpen && (
+ // TODO this Chip is temporary, since there were no design for this case
+ theme.palette.neutralWhite,
+ fontWeight: 400,
+ ml: 2,
+ textTransform: "uppercase",
+ }}
+ />
+ )}
+
+
+
+ delegate("abstain")}
+ onClickInfo={onClickInfo}
+ title={t("dRepDirectory.abstainCardTitle")}
+ votingPower={votingPower}
+ transactionId={
+ pendingTransaction?.delegate?.resourceId === "abstain"
+ ? pendingTransaction?.delegate?.transactionHash
+ : undefined
+ }
+ />
+ delegate("no confidence")}
+ onClickInfo={onClickInfo}
+ title={t("dRepDirectory.noConfidenceTitle")}
+ votingPower={votingPower}
+ transactionId={
+ pendingTransaction?.delegate?.resourceId === "no confidence"
+ ? pendingTransaction?.delegate?.transactionHash
+ : undefined
+ }
+ />
+
+
+
+ );
+};
diff --git a/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/ChooseGovernanceActionType.tsx b/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/ChooseGovernanceActionType.tsx
index 49dd7af0d..7b9e0c1f0 100644
--- a/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/ChooseGovernanceActionType.tsx
+++ b/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/ChooseGovernanceActionType.tsx
@@ -1,5 +1,6 @@
import { Dispatch, SetStateAction } from "react";
import { ActionRadio, Spacer, Typography } from "@atoms";
+import { GovernanceActionTootlip } from "@consts";
import {
useCreateGovernanceActionForm,
useScreenDimension,
@@ -34,7 +35,6 @@ export const ChooseGovernanceActionType = ({
setValue("governance_action_type", value as GovernanceActionType);
};
- // TODO: Add tooltips when they will be available
const renderGovernanceActionTypes = () =>
Object.keys(GovernanceActionType).map(
(type, index, governanceActionTypes) => {
@@ -43,9 +43,14 @@ export const ChooseGovernanceActionType = ({
{index + 1 < governanceActionTypes.length ?
: null}
diff --git a/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/StorageInformation.tsx b/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/StorageInformation.tsx
index 015ae75d1..83ff98967 100644
--- a/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/StorageInformation.tsx
+++ b/govtool/frontend/src/components/organisms/CreateGovernanceActionSteps/StorageInformation.tsx
@@ -33,9 +33,10 @@ export const StorageInformation = ({ setStep }: StorageInformationProps) => {
const fileName = getValues("governance_action_type");
- // TODO: Change link to correct
const openGuideAboutStoringInformation = () =>
- openInNewTab("https://sancho.network/");
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/how-to-create-a-metadata-anchor",
+ );
const isActionButtonDisabled = !watch("storingURL") || !!errors.storingURL;
@@ -103,25 +104,6 @@ export const StorageInformation = ({ setStep }: StorageInformationProps) => {
/>
- }
- onClick={openGuideAboutStoringInformation}
- size="extraLarge"
- sx={{ width: "fit-content" }}
- variant="text"
- >
- {t("createGovernanceAction.storingInformationStep2Link")}
-
- }
label={t("createGovernanceAction.storingInformationStep2Label")}
stepNumber={2}
/>
diff --git a/govtool/frontend/src/components/organisms/DRepCard.tsx b/govtool/frontend/src/components/organisms/DRepCard.tsx
new file mode 100644
index 000000000..f5be3ea28
--- /dev/null
+++ b/govtool/frontend/src/components/organisms/DRepCard.tsx
@@ -0,0 +1,192 @@
+import { useNavigate } from "react-router-dom";
+import { Box, ButtonBase, Divider } from "@mui/material";
+
+import { Button, StatusPill, Typography } from "@atoms";
+import { ICONS, PATHS } from "@consts";
+import { useModal, useSnackbar } from "@context";
+import { useTranslation } from "@hooks";
+import { DRepData } from "@models";
+import { Card } from "@molecules";
+import { correctAdaFormat } from "@utils";
+
+type DRepCardProps = {
+ dRep: DRepData;
+ isConnected: boolean;
+ isInProgress?: boolean;
+ isMe?: boolean;
+ onDelegate?: () => void;
+};
+
+export const DRepCard = ({
+ dRep: { status, type, view, votingPower },
+ isConnected,
+ isInProgress,
+ isMe,
+ onDelegate,
+}: DRepCardProps) => {
+ const navigate = useNavigate();
+ const { t } = useTranslation();
+ const { addSuccessAlert } = useSnackbar();
+ const { openModal } = useModal();
+
+ const openChooseWalletModal = () =>
+ openModal({
+ type: "chooseWallet",
+ state: {
+ pathToNavigate: PATHS.dashboardDRepDirectoryDRep.replace(
+ ":dRepId",
+ view,
+ ),
+ },
+ });
+
+ return (
+
+
+
+
+
+ {type}
+ {
+ navigator.clipboard.writeText(view);
+ addSuccessAlert(t("alerts.copiedToClipboard"));
+ e.stopPropagation();
+ }}
+ sx={{
+ gap: 1,
+ maxWidth: "100%",
+ "&:hover": {
+ opacity: 0.6,
+ transition: "opacity 0.3s",
+ },
+ }}
+ >
+
+ {view}
+
+
+
+
+
+
+
+
+ {t("votingPower")}
+
+
+ ₳ {correctAdaFormat(votingPower)}
+
+
+ ({ borderColor: palette.lightBlue })}
+ />
+
+
+ {t("status")}
+
+
+
+
+
+
+
+
+
+ navigate(
+ (isConnected
+ ? PATHS.dashboardDRepDirectoryDRep
+ : PATHS.dRepDirectoryDRep
+ ).replace(":dRepId", view),
+ )
+ }
+ >
+ {t("viewDetails")}
+
+ {status === "Active" &&
+ isConnected &&
+ onDelegate &&
+ !isMe &&
+ !isInProgress && (
+
+ {t("delegate")}
+
+ )}
+ {status === "Active" && !isConnected && (
+
+ {t("connectToDelegate")}
+
+ )}
+
+
+
+ );
+};
+
+const ellipsisStyles = {
+ overflow: "hidden",
+ textOverflow: "ellipsis",
+ whiteSpace: "nowrap",
+} as const;
diff --git a/govtool/frontend/src/components/organisms/DashboardCards.tsx b/govtool/frontend/src/components/organisms/DashboardCards.tsx
index 300e7502c..779cb2276 100644
--- a/govtool/frontend/src/components/organisms/DashboardCards.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardCards.tsx
@@ -42,47 +42,48 @@ export const DashboardCards = () => {
}
return (
- = 1728
- ? "repeat(3, minmax(300px, 570px))"
- : "repeat(2, minmax(300px, 530px))",
- justifyContent: screenWidth < 1024 ? "center" : "flex-start",
- px: screenWidth < 640 ? 2 : 5,
- py: 3,
- rowGap: 3,
- }}
- >
-
+
+ = 1728
+ ? "repeat(3, minmax(300px, 570px))"
+ : "repeat(2, minmax(300px, 530px))",
+ justifyContent: screenWidth < 1024 ? "center" : "flex-start",
+ px: screenWidth < 640 ? 2 : 5,
+ py: 3,
+ rowGap: 3,
+ }}
+ >
+
-
+
-
+
-
+
-
+
+
);
};
diff --git a/govtool/frontend/src/components/organisms/DashboardCards/DRepDashboardCard.tsx b/govtool/frontend/src/components/organisms/DashboardCards/DRepDashboardCard.tsx
index 04f2b8849..65c9fd22b 100644
--- a/govtool/frontend/src/components/organisms/DashboardCards/DRepDashboardCard.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardCards/DRepDashboardCard.tsx
@@ -41,6 +41,9 @@ export const DRepDashboardCard = ({
),
};
+ const navigateToDrepDirectory = () =>
+ navigate(PATHS.dashboardDRepDirectoryDRep.replace(":dRepId", dRepIDBech32));
+
const cardProps: Partial = (() => {
// transaction in progress
if (inProgress) {
@@ -49,6 +52,7 @@ export const DRepDashboardCard = ({
state: "inProgress",
...(pendingTransaction.registerAsDrep && {
description: t("dashboard.cards.drep.registrationInProgress"),
+ transactionId: pendingTransaction?.registerAsDrep.transactionHash,
title: t("dashboard.cards.drep.dRepRegistration"),
}),
...(pendingTransaction.retireAsDrep && {
@@ -58,10 +62,12 @@ export const DRepDashboardCard = ({
values={{ deposit: correctAdaFormat(voter?.deposit) }}
/>
),
+ transactionId: pendingTransaction?.retireAsDrep.transactionHash,
title: t("dashboard.cards.drep.dRepRetirement"),
}),
...(pendingTransaction.updateMetaData && {
description: t("dashboard.cards.drep.metadataUpdateInProgress"),
+ transactionId: pendingTransaction?.updateMetaData.transactionHash,
title: t("dashboard.cards.drep.dRepUpdate"),
}),
};
@@ -74,8 +80,7 @@ export const DRepDashboardCard = ({
{
children: t("dashboard.cards.drep.viewDetails"),
dataTestId: "view-drep-details-button",
- // TODO: change navigation to drep explorer
- onClick: () => navigate("/"),
+ onClick: navigateToDrepDirectory,
variant: "outlined",
sx: { backgroundColor: "arcticWhite" },
},
@@ -88,6 +93,7 @@ export const DRepDashboardCard = ({
],
description: t("dashboard.cards.drep.registeredDescription"),
state: "active",
+ transactionId: voter?.dRepRegisterTxHash,
title: t("dashboard.cards.drep.registeredTitle"),
};
}
@@ -115,6 +121,7 @@ export const DRepDashboardCard = ({
description: (
),
+ transactionId: voter?.dRepRetireTxHash,
title: t("dashboard.cards.drep.notRegisteredWasRegisteredTitle"),
};
}
@@ -130,10 +137,6 @@ export const DRepDashboardCard = ({
return (
{voter?.isRegisteredAsDRep && !pendingTransaction?.retireAsDrep && (
diff --git a/govtool/frontend/src/components/organisms/DashboardCards/DelegateDashboardCard.tsx b/govtool/frontend/src/components/organisms/DashboardCards/DelegateDashboardCard.tsx
index 6f68f06a9..6aabe7efd 100644
--- a/govtool/frontend/src/components/organisms/DashboardCards/DelegateDashboardCard.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardCards/DelegateDashboardCard.tsx
@@ -1,18 +1,20 @@
+import { useCallback } from "react";
import { useNavigate } from "react-router-dom";
import { Trans } from "react-i18next";
import { IMAGES, PATHS } from "@consts";
+import { PendingTransaction } from "@context";
import { useTranslation } from "@hooks";
+import { CurrentDelegation } from "@models";
import {
- CopyableInfo,
DashboardActionCard,
DashboardActionCardProps,
+ DelegationAction,
} from "@molecules";
import { correctAdaFormat, formHexToBech32, openInNewTab } from "@utils";
-import { PendingTransaction } from "@/context/pendingTransaction";
type DelegateDashboardCardProps = {
- currentDelegation: string;
+ currentDelegation: CurrentDelegation;
delegateTx: PendingTransaction["delegate"];
dRepID: string;
votingPower: number;
@@ -27,45 +29,55 @@ export const DelegateDashboardCard = ({
const navigate = useNavigate();
const { t } = useTranslation();
+ const learnMoreButton = {
+ children: t("learnMore"),
+ dataTestId: "delegate-learn-more-button",
+ onClick: () =>
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/ways-to-use-your-voting-power",
+ ),
+ sx: { backgroundColor: "arcticWhite" },
+ };
+
+ const displayedDelegationId = getDisplayedDelegationId({
+ currentDelegation: currentDelegation?.dRepView,
+ delegateTo: delegateTx?.resourceId,
+ dRepID,
+ });
+
+ const onClickDelegateToAnotherDRep = () =>
+ navigate(PATHS.dashboardDRepDirectory);
+
const ada = correctAdaFormat(votingPower);
const cardProps: Partial = (() => {
// transaction in progress
if (delegateTx) {
return {
- buttons: [
- {
- children: t("seeTransaction"),
- dataTestId: "see-transaction-button",
- onClick: () =>
- openInNewTab("https://adanordic.com/latest_transactions"),
- },
- ],
- description: getProgressDescription(
- delegateTx?.resourceId,
- dRepID,
- ada
- ),
+ buttons: [learnMoreButton],
+ description: getProgressDescription(delegateTx?.resourceId, ada),
state: "inProgress",
- title: t("dashboard.delegation.votingPowerDelegation"),
+ title: t("dashboard.cards.delegation.inProgress.title"),
};
}
// current delegation
if (currentDelegation) {
return {
- buttons: [
- {
- children: t("dashboard.delegation.changeDelegation"),
- dataTestId: "change-dRep-button",
- onClick: () => navigate(PATHS.delegateTodRep),
- },
- ],
- description: getDelegationDescription(currentDelegation, dRepID, ada),
+ buttons: currentDelegation?.dRepView
+ ? [
+ learnMoreButton,
+ {
+ children: t("dashboard.cards.delegation.delegateToAnotherDRep"),
+ dataTestId: "delegate-to-another-drep-button",
+ onClick: onClickDelegateToAnotherDRep,
+ sx: { backgroundColor: "arcticWhite" },
+ },
+ ]
+ : [learnMoreButton],
+ description: getDelegationDescription(currentDelegation.dRepView),
state: "active",
- title: (
-
- ),
+ title: getDelegationTitle(currentDelegation.dRepView, ada),
};
}
@@ -73,96 +85,94 @@ export const DelegateDashboardCard = ({
return {
buttons: [
{
- children: t("delegate"),
+ children: t("dashboard.cards.delegation.noDelegationActionButton"),
dataTestId: "delegate-button",
- onClick: () => navigate(PATHS.delegateTodRep),
+ onClick: () => navigate(PATHS.dashboardDRepDirectory),
variant: "contained",
},
- {
- children: t("learnMore"),
- dataTestId: "delegate-learn-more-button",
- onClick: () =>
- openInNewTab(
- "https://docs.sanchogov.tools/faqs/ways-to-use-your-voting-power"
- ),
- },
+ learnMoreButton,
],
- description: (
-
- ),
- title: t("dashboard.delegation.useYourVotingPower"),
+ description: t("dashboard.cards.delegation.noDelegationDescription"),
+ title: t("dashboard.cards.delegation.noDelegationTitle"),
};
})();
- const displayedDelegationId = getDisplayedDelegationId(
- currentDelegation,
- delegateTx?.resourceId,
- dRepID
+ const navigateToDRepDetails = useCallback(
+ () =>
+ navigate(
+ PATHS.dashboardDRepDirectoryDRep.replace(
+ ":dRepId",
+ displayedDelegationId || "",
+ ),
+ ),
+ [displayedDelegationId],
);
return (
{displayedDelegationId && (
-
)}
);
};
-const getDelegationDescription = (
- currentDelegation: string,
- dRepID: string,
- ada: number
-) => {
+const getDelegationTitle = (currentDelegation: string | null, ada: number) => {
const key =
- currentDelegation === dRepID
- ? "dashboard.delegation.toYourself"
- : currentDelegation === "drep_always_no_confidence"
- ? "dashboard.delegation.voteNo"
- : currentDelegation === "drep_always_abstain"
- ? "dashboard.delegation.voteAbstain"
- : currentDelegation
- ? "dashboard.delegation.toDRep"
- : undefined;
+ currentDelegation === "drep_always_no_confidence"
+ ? "dashboard.cards.delegation.noConfidenceDelegationTitle"
+ : currentDelegation === "drep_always_abstain"
+ ? "dashboard.cards.delegation.abstainDelegationTitle"
+ : "dashboard.cards.delegation.dRepDelegationTitle";
+
return ;
};
-const getProgressDescription = (
- delegateTo: string,
- dRepID: string,
- ada: number
-) => {
+const getDelegationDescription = (currentDelegation: string | null) => {
+ const key =
+ currentDelegation === "drep_always_no_confidence"
+ ? "dashboard.cards.delegation.noDescription"
+ : currentDelegation === "drep_always_abstain"
+ ? "dashboard.cards.delegation.abstainDescription"
+ : undefined;
+ return ;
+};
+
+const getProgressDescription = (delegateTo: string, ada: number) => {
const key = (() => {
if (!delegateTo) return undefined;
switch (delegateTo) {
- case dRepID:
- return "dashboard.delegation.inProgress.toYourself";
case "no confidence":
- return "dashboard.delegation.inProgress.voteNo";
+ return "dashboard.cards.delegation.inProgress.no";
case "abstain":
- return "dashboard.delegation.inProgress.voteAbstain";
+ return "dashboard.cards.delegation.inProgress.abstain";
default:
- return "dashboard.delegation.inProgress.toDRep";
+ return "dashboard.cards.delegation.inProgress.dRep";
}
})();
return ;
};
-const getDisplayedDelegationId = (
- currentDelegation: string,
- delegateTo: string | undefined,
- dRepID: string
-) => {
+const getDisplayedDelegationId = ({
+ dRepID,
+ currentDelegation,
+ delegateTo,
+}: {
+ dRepID: string;
+ currentDelegation?: string | null;
+ delegateTo?: string;
+}) => {
const restrictedNames = [
dRepID,
"drep_always_abstain",
@@ -178,8 +188,9 @@ const getDisplayedDelegationId = (
}
return undefined;
}
- if (!restrictedNames.includes(currentDelegation)) {
- return formHexToBech32(currentDelegation);
+
+ if (!restrictedNames.includes(currentDelegation ?? "")) {
+ return formHexToBech32(currentDelegation ?? "");
}
return undefined;
};
diff --git a/govtool/frontend/src/components/organisms/DashboardCards/SoleVoterDashboardCard.tsx b/govtool/frontend/src/components/organisms/DashboardCards/SoleVoterDashboardCard.tsx
index 68be628f1..fd244b3d5 100644
--- a/govtool/frontend/src/components/organisms/DashboardCards/SoleVoterDashboardCard.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardCards/SoleVoterDashboardCard.tsx
@@ -1,27 +1,21 @@
import { useNavigate } from "react-router-dom";
import { Trans } from "react-i18next";
+import { LoadingButtonProps } from "@atoms";
import { IMAGES, PATHS } from "@consts";
import { PendingTransaction } from "@context";
import { useTranslation } from "@hooks";
-import {
- DashboardActionCard,
- DashboardActionCardProps,
- SoleVoterAction,
-} from "@molecules";
-import { correctAdaFormat, openInNewTab } from "@utils";
-import { LoadingButtonProps } from "@atoms";
import { VoterInfo } from "@models";
+import { DashboardActionCard, DashboardActionCardProps } from "@molecules";
+import { correctAdaFormat, openInNewTab } from "@utils";
type SoleVoterDashboardCardProps = {
- dRepIDBech32: string;
pendingTransaction: PendingTransaction;
voter: VoterInfo;
votingPower: number;
};
export const SoleVoterDashboardCard = ({
- dRepIDBech32,
pendingTransaction,
voter,
votingPower,
@@ -31,9 +25,6 @@ export const SoleVoterDashboardCard = ({
const ada = correctAdaFormat(votingPower);
- // TODO: Add navigation to DRep explorer
- const onClickAction = () => navigate("/");
-
// learn more button
const learnMoreButton: LoadingButtonProps = {
children: t("learnMore"),
@@ -55,11 +46,13 @@ export const SoleVoterDashboardCard = ({
state: "inProgress",
...(pendingTransaction.registerAsSoleVoter && {
description: t("dashboard.cards.soleVoter.registrationInProgress"),
+ transactionId:
+ pendingTransaction?.registerAsSoleVoter?.transactionHash,
title: t("dashboard.cards.soleVoter.registration"),
- transactionId: pendingTransaction.registerAsSoleVoter.resourceId,
}),
...(pendingTransaction.retireAsSoleVoter && {
description: t("dashboard.cards.soleVoter.retirementInProgress"),
+ transactionId: pendingTransaction?.retireAsSoleVoter?.transactionHash,
title: t("dashboard.cards.soleVoter.retirement"),
}),
};
@@ -84,6 +77,7 @@ export const SoleVoterDashboardCard = ({
/>
),
state: "active",
+ transactionId: voter?.soleVoterRegisterTxHash,
title: t("dashboard.cards.soleVoter.youAreSoleVoterTitle"),
};
}
@@ -106,6 +100,7 @@ export const SoleVoterDashboardCard = ({
values={{ votingPower: ada }}
/>
),
+ transactionId: voter?.soleVoterRetireTxHash,
title: t("dashboard.cards.soleVoter.wasSoleVoterTitle"),
};
}
@@ -132,23 +127,6 @@ export const SoleVoterDashboardCard = ({
})();
return (
-
- {(pendingTransaction?.registerAsSoleVoter ||
- voter.isRegisteredAsSoleVoter) && (
-
- )}
-
+
);
};
diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx
index 426ad82b4..ee9729745 100644
--- a/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActionDetails.tsx
@@ -132,6 +132,7 @@ export const DashboardGovernanceActionDetails = () => {
details={state ? state.details : data.proposal.details}
url={state ? state.url : data.proposal.url}
title={state ? state.title : data.proposal.title}
+ links={state ? state.references : data.proposal.references}
about={state ? state.about : data.proposal.about}
motivation={state ? state.motivation : data.proposal.motivation}
rationale={state ? state.rationale : data.proposal.rationale}
diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx
index ab224032e..d2a2619e6 100644
--- a/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActions.tsx
@@ -2,10 +2,12 @@ import { useState, useEffect } from "react";
import { Box, CircularProgress, Tab, Tabs, styled } from "@mui/material";
import { useLocation } from "react-router-dom";
-import { GOVERNANCE_ACTIONS_FILTERS, GOVERNANCE_ACTIONS_SORTING } from "@consts";
-import { useCardano } from "@context";
import {
- useDataActionsBar,
+ GOVERNANCE_ACTIONS_FILTERS,
+ GOVERNANCE_ACTIONS_SORTING,
+} from "@consts";
+import { useCardano, useDataActionsBar } from "@context";
+import {
useGetProposalsQuery,
useGetVoterInfo,
useScreenDimension,
diff --git a/govtool/frontend/src/components/organisms/DashboardGovernanceActionsVotedOn.tsx b/govtool/frontend/src/components/organisms/DashboardGovernanceActionsVotedOn.tsx
index 145f2e4cf..5e5667109 100644
--- a/govtool/frontend/src/components/organisms/DashboardGovernanceActionsVotedOn.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardGovernanceActionsVotedOn.tsx
@@ -22,7 +22,11 @@ export const DashboardGovernanceActionsVotedOn = ({
searchPhrase,
sorting,
}: DashboardGovernanceActionsVotedOnProps) => {
- const { data, areDRepVotesLoading } = useGetDRepVotesQuery(filters, sorting);
+ const { data, areDRepVotesLoading } = useGetDRepVotesQuery(
+ filters,
+ sorting,
+ searchPhrase,
+ );
const { isMobile } = useScreenDimension();
const { pendingTransaction } = useCardano();
const { t } = useTranslation();
diff --git a/govtool/frontend/src/components/organisms/DashboardTopNav.tsx b/govtool/frontend/src/components/organisms/DashboardTopNav.tsx
index 787735251..369483e7a 100644
--- a/govtool/frontend/src/components/organisms/DashboardTopNav.tsx
+++ b/govtool/frontend/src/components/organisms/DashboardTopNav.tsx
@@ -40,6 +40,7 @@ export const DashboardTopNav = ({
return (
<>
void;
-}
-
-export const DelegateTodRepStepOne = ({ setStep }: DelegateProps) => {
- const navigate = useNavigate();
- const {
- dRepID,
- buildSignSubmitConwayCertTx,
- buildVoteDelegationCert,
- stakeKey,
- } = useCardano();
- const { voter } = useGetVoterInfo();
- const { currentDelegation } = useGetAdaHolderCurrentDelegationQuery(stakeKey);
- const { openModal, closeModal } = useModal();
- const [areOptions, setAreOptions] = useState(false);
- const [chosenOption, setChosenOption] = useState("");
- const [isDelegationLoading, setIsDelegationLoading] =
- useState(false);
- const {
- palette: { boxShadow2 },
- } = theme;
- const { isMobile } = useScreenDimension();
- const { t } = useTranslation();
-
- const { votingPower } = useGetAdaHolderVotingPowerQuery(stakeKey);
- const correctAdaRepresentation = correctAdaFormat(votingPower);
-
- const openSuccessDelegationModal = useCallback(() => {
- openModal({
- type: "statusModal",
- state: {
- status: "success",
- title: t("modals.delegation.title"),
- message: t("modals.delegation.message"),
- link: "https://adanordic.com/latest_transactions",
- buttonText: t("modals.common.goToDashboard"),
- onSubmit: () => {
- navigate(PATHS.dashboard);
- closeModal();
- },
- dataTestId: "delegation-transaction-submitted-modal",
- },
- });
- }, []);
-
- const openErrorDelegationModal = useCallback((errorMessage: string) => {
- openModal({
- type: "statusModal",
- state: {
- status: "warning",
- title: t("modals.delegation.title"),
- message: errorMessage,
- isWarning: true,
- buttonText: t("modals.common.goToDashboard"),
- onSubmit: () => {
- navigate(PATHS.dashboard);
- closeModal();
- },
- dataTestId: "delegation-transaction-error-modal",
- },
- });
- }, []);
-
- useEffect(() => {
- if (
- !areOptions &&
- (chosenOption === "no confidence" || chosenOption === "abstain")
- ) {
- setChosenOption("");
- }
- }, [chosenOption, areOptions]);
-
- const delegate = useCallback(async () => {
- setIsDelegationLoading(true);
- try {
- const certBuilder = await buildVoteDelegationCert(chosenOption);
- const result = await buildSignSubmitConwayCertTx({
- certBuilder,
- type: "delegate",
- resourceId: chosenOption,
- });
- if (result) openSuccessDelegationModal();
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- const errorMessage = error.info ? error.info : error;
-
- openErrorDelegationModal(errorMessage);
- } finally {
- setIsDelegationLoading(false);
- }
- }, [chosenOption, buildSignSubmitConwayCertTx, buildVoteDelegationCert]);
-
- const renderDelegateButton = useMemo(
- () => (
- {
- if (chosenOption === "Delegate to DRep") {
- setStep(2);
- } else {
- delegate();
- }
- }}
- size="extraLarge"
- sx={{
- px: 6,
- width: isMobile ? "100%" : "auto",
- }}
- variant="contained"
- >
- {chosenOption !== dRepID ? t("nextStep") : t("delegate")}
-
- ),
- [
- chosenOption,
- delegate,
- voter?.isRegisteredAsDRep,
- voter?.isRegisteredAsSoleVoter,
- dRepID,
- isDelegationLoading,
- isMobile,
- ],
- );
-
- const renderCancelButton = useMemo(
- () => (
- navigate(PATHS.dashboard)}
- size="extraLarge"
- sx={{
- px: 6,
- width: isMobile ? "100%" : "auto",
- }}
- variant="outlined"
- >
- {t("cancel")}
-
- ),
- [isMobile],
- );
-
- return (
-
-
- {!isMobile && (
-
-
-
-
- {t("delegation.votingPowerToDelegate")}
-
-
- {`₳ ${correctAdaRepresentation}`}
-
-
-
-
- )}
-
- {t("delegation.heading")}
-
-
- {t("delegation.description")}
-
-
- {(voter?.isRegisteredAsDRep || voter?.isRegisteredAsSoleVoter) &&
- currentDelegation !== dRepID && (
-
-
-
- )}
-
-
-
- setAreOptions((prev) => !prev)}
- textAlign="center"
- sx={[
- {
- "&:hover": { cursor: "pointer" },
- display: "flex",
- alignItems: "center",
- justifyContent: "center",
- },
- ]}
- >
-
- {t("delegation.otherOptions")}
-
-
-
- {areOptions ? (
- <>
-
-
-
-
-
-
- >
- ) : null}
-
-
-
- {isMobile ? renderDelegateButton : renderCancelButton}
-
- {isMobile ? renderCancelButton : renderDelegateButton}
-
-
- );
-};
diff --git a/govtool/frontend/src/components/organisms/DelegateTodRepStepTwo.tsx b/govtool/frontend/src/components/organisms/DelegateTodRepStepTwo.tsx
deleted file mode 100644
index 7ac503d7a..000000000
--- a/govtool/frontend/src/components/organisms/DelegateTodRepStepTwo.tsx
+++ /dev/null
@@ -1,132 +0,0 @@
-import { useMemo } from "react";
-import { Box, Link } from "@mui/material";
-
-import {
- useScreenDimension,
- useDelegateTodRepForm,
- useTranslation,
-} from "@hooks";
-import { openInNewTab } from "@utils";
-import { Button, LoadingButton, Typography } from "../atoms";
-import { theme } from "@/theme";
-import { ControlledField } from ".";
-
-interface DelegateProps {
- setStep: (newStep: number) => void;
-}
-
-export const DelegateTodRepStepTwo = ({ setStep }: DelegateProps) => {
- const { isMobile } = useScreenDimension();
- const { t } = useTranslation();
-
- const {
- palette: { boxShadow2 },
- } = theme;
-
- const {
- control,
- delegate,
- errors,
- isDelegateButtonDisabled,
- isDelegationLoading,
- } = useDelegateTodRepForm();
-
- const renderDelegateButton = useMemo(
- () => (
-
- {t("delegate")}
-
- ),
- [isDelegateButtonDisabled, delegate, isMobile, isDelegationLoading],
- );
-
- const renderBackButton = useMemo(
- () => (
- setStep(1)}
- size="extraLarge"
- sx={{
- px: 6,
- width: isMobile ? "100%" : "auto",
- }}
- variant="outlined"
- >
- {t("back")}
-
- ),
- [isMobile],
- );
-
- return (
-
-
-
- {t("delegation.pasteDRepId")}
-
-
- {t("delegation.dRepIdDescription")}
-
-
-
-
-
- openInNewTab(
- "https://docs.sanchogov.tools/faqs/where-can-i-find-a-drep-id",
- )
- }
- alignSelf="center"
- mt={4}
- sx={[{ "&:hover": { cursor: "pointer" } }]}
- >
-
- {t("delegation.whereFindDRepId")}
-
-
-
-
- {isMobile ? renderDelegateButton : renderBackButton}
-
- {isMobile ? renderBackButton : renderDelegateButton}
-
-
- );
-};
diff --git a/govtool/frontend/src/components/organisms/Drawer.tsx b/govtool/frontend/src/components/organisms/Drawer.tsx
index b69c1dd51..638f52886 100644
--- a/govtool/frontend/src/components/organisms/Drawer.tsx
+++ b/govtool/frontend/src/components/organisms/Drawer.tsx
@@ -1,38 +1,37 @@
-import { Box, Grid } from '@mui/material';
-import { NavLink } from 'react-router-dom';
+import { Box, Grid } from "@mui/material";
+import { NavLink } from "react-router-dom";
-import { DrawerLink, Typography } from "@atoms";
-import { CONNECTED_NAV_ITEMS, ICONS, IMAGES, PATHS } from "@consts";
-import { useGetVoterInfo, useTranslation } from "@hooks";
+import { DrawerLink, Spacer } from "@atoms";
+import { CONNECTED_NAV_ITEMS, IMAGES, PATHS } from "@consts";
+import { useGetVoterInfo } from "@hooks";
import { WalletInfoCard, DRepInfoCard } from "@molecules";
import { openInNewTab } from "@utils";
export const Drawer = () => {
const { voter } = useGetVoterInfo();
- const { t } = useTranslation();
return (
{
))}
-
+
{voter?.isRegisteredAsDRep && }
-
+
-
-
- openInNewTab(
- "https://docs.sanchogov.tools/support/get-help-in-discord",
- )
- }
- />
-
-
- {t('footer.copyright')}
-
);
diff --git a/govtool/frontend/src/components/organisms/EditDRepInfoSteps/EditDRepStorageInformation.tsx b/govtool/frontend/src/components/organisms/EditDRepInfoSteps/EditDRepStorageInformation.tsx
index 5a7b6293c..119664349 100644
--- a/govtool/frontend/src/components/organisms/EditDRepInfoSteps/EditDRepStorageInformation.tsx
+++ b/govtool/frontend/src/components/organisms/EditDRepInfoSteps/EditDRepStorageInformation.tsx
@@ -35,9 +35,10 @@ export const EditDRepStorageInformation = ({
const fileName = getValues("dRepName");
- // TODO: Change link to correct
const openGuideAboutStoringInformation = () =>
- openInNewTab("https://sancho.network/");
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/how-to-create-a-metadata-anchor",
+ );
const isActionButtonDisabled = !watch("storingURL") || !!errors.storingURL;
diff --git a/govtool/frontend/src/components/organisms/Footer.tsx b/govtool/frontend/src/components/organisms/Footer.tsx
index a4662818c..09e87e8bb 100644
--- a/govtool/frontend/src/components/organisms/Footer.tsx
+++ b/govtool/frontend/src/components/organisms/Footer.tsx
@@ -1,44 +1,113 @@
import { Box, Link } from "@mui/material";
-import { Typography } from "@atoms";
+import { Button, Typography } from "@atoms";
+import { ICONS } from "@consts";
+import { useUsersnapApi } from "@context";
import { useScreenDimension, useTranslation } from "@hooks";
-import { openInNewTab } from "@utils";
+import { openInNewTab, testIdFromLabel } from "@utils";
+
+type FooterLinkProps = {
+ label: string;
+ onClick: () => void;
+};
+
+const FooterLink = ({ label, onClick }: FooterLinkProps) => (
+
+ {label}
+
+);
export const Footer = () => {
- const { isMobile, pagePadding } = useScreenDimension();
+ const { screenWidth } = useScreenDimension();
const { t } = useTranslation();
+ const { openFeedbackWindow } = useUsersnapApi();
+
+ const onClickHelp = () =>
+ openInNewTab("https://docs.sanchogov.tools/support/get-help-in-discord");
+
+ const onClickPrivacyPolicy = () =>
+ openInNewTab("https://docs.sanchogov.tools/legal/privacy-policy");
+
+ // TODO: change term of service link
+ const onClickTermOfService = () =>
+ openInNewTab("https://docs.sanchogov.tools/legal/privacy-policy");
+
+ const onClickFeedback = () => openFeedbackWindow();
return (
-
-
+ <>
+
{t("footer.copyright")}
-
-
-
- openInNewTab("https://docs.sanchogov.tools/legal/privacy-policy")
- }
- sx={[{ textDecoration: "none" }]}
- mr={6}
+
-
+
+
+
+ }
+ sx={{ color: "#26252D" }}
+ variant="text"
+ >
+ {t("menu.help")}
+
+
- {t("footer.privacyPolicy")}
-
-
+ {t("feedback")}
+
+
-
+ >
);
};
diff --git a/govtool/frontend/src/components/organisms/GovernanceActionDetailsCard.tsx b/govtool/frontend/src/components/organisms/GovernanceActionDetailsCard.tsx
index 689c5b24a..7cc4656ee 100644
--- a/govtool/frontend/src/components/organisms/GovernanceActionDetailsCard.tsx
+++ b/govtool/frontend/src/components/organisms/GovernanceActionDetailsCard.tsx
@@ -7,7 +7,7 @@ import {
GovernanceActionDetailsCardVotes,
} from "@molecules";
import { GovernanceActionDetailsCardData } from "@organisms";
-import { GAMetedataErrors } from "@utils";
+import { MetadataValidationStatus } from "@models";
type GovernanceActionDetailsCardProps = {
abstainVotes: number;
@@ -24,8 +24,9 @@ type GovernanceActionDetailsCardProps = {
motivation?: string;
rationale?: string;
yesVotes: number;
+ links?: string[];
govActionId: string;
- isDataMissing: boolean | GAMetedataErrors;
+ isDataMissing: boolean | MetadataValidationStatus;
isDashboard?: boolean;
isVoter?: boolean;
voteFromEP?: string;
@@ -46,6 +47,7 @@ export const GovernanceActionDetailsCard = ({
details,
url,
title,
+ links,
about,
motivation,
rationale,
@@ -91,23 +93,24 @@ export const GovernanceActionDetailsCard = ({
/>
)}
{
const { t } = useTranslation();
const { screenWidth } = useScreenDimension();
@@ -120,7 +123,7 @@ export const GovernanceActionDetailsCardData = ({
{details && Object.keys(details).length !== 0 && (
)}
-
+
);
};
diff --git a/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx b/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx
index 6367de288..5efe5ca99 100644
--- a/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx
+++ b/govtool/frontend/src/components/organisms/GovernanceActionsToVote.tsx
@@ -6,7 +6,7 @@ import { PATHS } from "@consts";
import { useCardano } from "@context";
import { useScreenDimension, useTranslation } from "@hooks";
import { GovernanceActionCard } from "@molecules";
-import { getProposalTypeLabel, getFullGovActionId, openInNewTab } from "@utils";
+import { getProposalTypeTitle, getFullGovActionId, openInNewTab } from "@utils";
import { Slider } from "@organisms";
type GovernanceActionsToVoteProps = {
@@ -63,7 +63,7 @@ export const GovernanceActionsToVote = ({
`${action.txHash ?? ""}${action.index ?? ""}`
) {
openInNewTab(
- "https://adanordic.com/latest_transactions",
+ `https://sancho.cexplorer.io/tx/${pendingTransaction?.vote?.transactionHash}`,
);
} else {
navigate(
@@ -103,7 +103,7 @@ export const GovernanceActionsToVote = ({
onDashboard={onDashboard}
searchPhrase={searchPhrase}
sorting={sorting}
- title={getProposalTypeLabel(item.title)}
+ title={getProposalTypeTitle(item.title)}
/>
{index < proposals.length - 1 && (
diff --git a/govtool/frontend/src/components/organisms/Hero.tsx b/govtool/frontend/src/components/organisms/Hero.tsx
index 6ef7aa1b9..e870a5ae9 100644
--- a/govtool/frontend/src/components/organisms/Hero.tsx
+++ b/govtool/frontend/src/components/organisms/Hero.tsx
@@ -1,4 +1,4 @@
-import { useCallback } from "react";
+import { useMemo } from "react";
import { useNavigate } from "react-router-dom";
import { Trans } from "react-i18next";
import { Box, Link } from "@mui/material";
@@ -17,11 +17,24 @@ export const Hero = () => {
const { t } = useTranslation();
const IMAGE_SIZE = screenWidth < 640 ? 300 : screenWidth < 860 ? 400 : 600;
- const onClickVotingPower = useCallback(
- () =>
- openInNewTab("https://docs.sanchogov.tools/faqs/what-is-voting-power"),
- [],
- );
+ const paddingHorizontal = useMemo(() => {
+ if (screenWidth < 640) return 3;
+ if (screenWidth < 1512) return 9.375;
+ if (screenWidth < 1728) return 14;
+ if (screenWidth < 1920) return 27.375;
+ if (screenWidth < 2560) return 39.375;
+ return 49.25;
+ }, [screenWidth]);
+
+ const imageRightMargin = useMemo(() => {
+ if (screenWidth <= 860) return -(IMAGE_SIZE / 4);
+ if (screenWidth <= 1440) return -(IMAGE_SIZE / 15);
+ if (screenWidth <= 1728) return screenWidth / 20;
+ return screenWidth / 11;
+ }, [screenWidth]);
+
+ const onClickVotingPower = () =>
+ openInNewTab("https://docs.sanchogov.tools/faqs/what-is-voting-power");
return (
{
flexDirection="row"
overflow="visible"
position="relative"
- px={screenWidth < 640 ? 3 : screenWidth < 1512 ? 10 : 14}
+ px={paddingHorizontal}
>
{
= 1728
- ? IMAGE_SIZE / 8
- : screenWidth >= 1512
- ? -(IMAGE_SIZE / 12)
- : screenWidth >= 860
- ? -(IMAGE_SIZE / 8)
- : -(IMAGE_SIZE / 4)
- }
+ right={imageRightMargin}
top={-80}
zIndex={-1}
>
diff --git a/govtool/frontend/src/components/organisms/HomeCards.tsx b/govtool/frontend/src/components/organisms/HomeCards.tsx
index 8ea58947c..b381a24b0 100644
--- a/govtool/frontend/src/components/organisms/HomeCards.tsx
+++ b/govtool/frontend/src/components/organisms/HomeCards.tsx
@@ -18,39 +18,34 @@ export const HomeCards = () => {
openModal({ type: "chooseWallet" });
}, [openModal]);
- const onClickLearnMoreAboutDelegation = useCallback(
- () =>
- openInNewTab(
- "https://docs.sanchogov.tools/faqs/ways-to-use-your-voting-power",
- ),
- [],
- );
+ const onClickLearnMoreAboutDelegation = () =>
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/ways-to-use-your-voting-power",
+ );
- const onClickLearnMoreAboutDRepRegistration = useCallback(
- () =>
- openInNewTab(
- "https://docs.sanchogov.tools/faqs/what-does-it-mean-to-register-as-a-drep",
- ),
- [],
- );
+ const onClickLearnMoreAboutDRepRegistration = () =>
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/what-does-it-mean-to-register-as-a-drep",
+ );
- const onClickLearnMoreAboutSoleVoterRegistration = useCallback(
- // TODO: Update the link
- () => openInNewTab("https://docs.sanchogov.tools/"),
- [],
- );
+ // TODO: Update the link
+ const onClickLearnMoreAboutSoleVoterRegistration = () =>
+ openInNewTab("https://docs.sanchogov.tools/");
- const onClickLearnMoreAboutProposingGovAction = useCallback(
- // TODO: Update the link
- () => openInNewTab("https://docs.sanchogov.tools/"),
- [],
- );
+ // TODO: Update the link
+ const onClickLearnMoreAboutProposingGovAction = () =>
+ openInNewTab("https://docs.sanchogov.tools/");
const navigateToGovActions = useCallback(
() => navigate(PATHS.governanceActions),
[navigate],
);
+ const navigateToDRepDirecotry = useCallback(
+ () => navigate(PATHS.dRepDirectory),
+ [navigate],
+ );
+
return (
{
? "repeat(1, minmax(300px, 866px))"
: "repeat(2, minmax(300px, 866px))"
}
- justifyItems="center"
+ justifyContent="center"
mb={screenWidth < 640 ? 10 : 17}
mt={screenWidth < 640 ? 10 : 14.5}
px={
@@ -79,7 +74,7 @@ export const HomeCards = () => {
dataTestIdFirstButton="delegate-connect-wallet-button"
dataTestIdSecondButton="delegate-learn-more-button"
description={t("home.cards.delegate.description")}
- firstButtonAction={openWalletModal}
+ firstButtonAction={navigateToDRepDirecotry}
firstButtonLabel={t("home.cards.delegate.firstButtonLabel")}
imageHeight={80}
imageURL={IMAGES.govActionDelegateImage}
diff --git a/govtool/frontend/src/components/organisms/ChooseWalletModal.tsx b/govtool/frontend/src/components/organisms/Modal/ChooseWalletModal.tsx
similarity index 93%
rename from govtool/frontend/src/components/organisms/ChooseWalletModal.tsx
rename to govtool/frontend/src/components/organisms/Modal/ChooseWalletModal.tsx
index e66f28ab3..043beb1e3 100644
--- a/govtool/frontend/src/components/organisms/ChooseWalletModal.tsx
+++ b/govtool/frontend/src/components/organisms/Modal/ChooseWalletModal.tsx
@@ -2,13 +2,20 @@ import { Box, Link, Typography } from "@mui/material";
import { useMemo } from "react";
import { ModalContents, ModalHeader, ModalWrapper } from "@atoms";
+import { useModal } from "@context";
import type { WalletOption } from "@molecules";
import { WalletOptionButton } from "@molecules";
import { openInNewTab } from "@utils";
import { useTranslation } from "@hooks";
+import { To } from "react-router-dom";
+
+type ChooseWalletModalState = {
+ pathToNavigate?: To;
+};
export const ChooseWalletModal = () => {
const { t } = useTranslation();
+ const { state } = useModal();
const walletOptions: WalletOption[] = useMemo(() => {
if (!window.cardano) return [];
@@ -81,6 +88,7 @@ export const ChooseWalletModal = () => {
label={label}
name={name}
cip95Available={cip95Available}
+ pathToNavigate={state?.pathToNavigate}
/>
))
)}
diff --git a/govtool/frontend/src/components/organisms/ExternalLinkModal.tsx b/govtool/frontend/src/components/organisms/Modal/ExternalLinkModal.tsx
similarity index 100%
rename from govtool/frontend/src/components/organisms/ExternalLinkModal.tsx
rename to govtool/frontend/src/components/organisms/Modal/ExternalLinkModal.tsx
diff --git a/govtool/frontend/src/components/organisms/Modal/LoadingModal.tsx b/govtool/frontend/src/components/organisms/Modal/LoadingModal.tsx
new file mode 100644
index 000000000..2c95b9574
--- /dev/null
+++ b/govtool/frontend/src/components/organisms/Modal/LoadingModal.tsx
@@ -0,0 +1,36 @@
+import { Typography } from "@mui/material";
+
+import { Loader, ModalContents, ModalHeader, ModalWrapper } from "@atoms";
+import { useModal } from "@context";
+import { useScreenDimension } from "@/hooks";
+
+export interface LoadingModalState {
+ message: React.ReactNode;
+ title: string;
+ dataTestId: string;
+}
+
+export const LoadingModal = () => {
+ const { state } = useModal();
+ const { isMobile } = useScreenDimension();
+
+ return (
+
+
+
+ {state?.title}
+
+
+
+ {state?.message}{" "}
+
+
+
+ );
+};
diff --git a/govtool/frontend/src/components/organisms/StatusModal.tsx b/govtool/frontend/src/components/organisms/Modal/StatusModal.tsx
similarity index 82%
rename from govtool/frontend/src/components/organisms/StatusModal.tsx
rename to govtool/frontend/src/components/organisms/Modal/StatusModal.tsx
index ce8f2665d..ca5adb5d1 100644
--- a/govtool/frontend/src/components/organisms/StatusModal.tsx
+++ b/govtool/frontend/src/components/organisms/Modal/StatusModal.tsx
@@ -2,9 +2,9 @@ import { Button, Link, Typography } from "@mui/material";
import { ModalContents, ModalHeader, ModalWrapper } from "@atoms";
import { ICONS, IMAGES } from "@consts";
-import { useModal } from "@context";
-import { openInNewTab } from "@/utils";
-import { useScreenDimension, useTranslation } from "@/hooks";
+import { useModal, useUsersnapApi } from "@context";
+import { openInNewTab } from "@utils";
+import { useScreenDimension, useTranslation } from "@hooks";
export interface StatusModalState {
buttonText?: string;
@@ -26,6 +26,12 @@ export const StatusModal = () => {
const { state, closeModal } = useModal();
const { isMobile } = useScreenDimension();
const { t } = useTranslation();
+ const { openFeedbackWindow } = useUsersnapApi();
+
+ const onClickFeedback = () => {
+ openFeedbackWindow();
+ closeModal();
+ };
return (
@@ -46,7 +52,15 @@ export const StatusModal = () => {
{state?.message}{" "}
{state?.link && (
@@ -95,7 +109,7 @@ export const StatusModal = () => {
{state?.feedbackText && (
>;
@@ -35,9 +35,10 @@ export const DRepStorageInformation = ({
const fileName = getValues("dRepName");
- // TODO: Change link to correct
const openGuideAboutStoringInformation = () =>
- openInNewTab("https://sancho.network/");
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/how-to-create-a-metadata-anchor",
+ );
const isActionButtonDisabled = !watch("storingURL") || !!errors.storingURL;
@@ -93,7 +94,7 @@ export const DRepStorageInformation = ({
}}
variant="outlined"
>
- {`${fileName}.jsonld`}
+ {`${ellipsizeText(fileName, 8)}.jsonld`}
}
label={t("registration.storingInformationStep1Label")}
diff --git a/govtool/frontend/src/components/organisms/RegisterAsDRepSteps/WhatRetirementMeans.tsx b/govtool/frontend/src/components/organisms/RegisterAsDRepSteps/WhatRetirementMeans.tsx
index 23f0fe766..4a95e2ddf 100644
--- a/govtool/frontend/src/components/organisms/RegisterAsDRepSteps/WhatRetirementMeans.tsx
+++ b/govtool/frontend/src/components/organisms/RegisterAsDRepSteps/WhatRetirementMeans.tsx
@@ -2,7 +2,12 @@ import { useCallback, useState } from "react";
import { Typography } from "@atoms";
import { useCardano, useModal } from "@context";
-import { useGetVoterInfo, useScreenDimension, useTranslation } from "@hooks";
+import {
+ useGetVoterInfo,
+ useScreenDimension,
+ useTranslation,
+ useWalletErrorModal,
+} from "@hooks";
import { BgCard } from "..";
@@ -22,6 +27,7 @@ export const WhatRetirementMeans = ({
const [isRetirementLoading, setIsRetirementLoading] =
useState(false);
const { voter } = useGetVoterInfo();
+ const openWalletErrorModal = useWalletErrorModal();
const onSubmit = () => {
onClickCancel();
@@ -49,7 +55,7 @@ export const WhatRetirementMeans = ({
state: {
buttonText: t("modals.common.goToDashboard"),
dataTestId: "retirement-transaction-submitted-modal",
- link: "https://adanordic.com/latest_transactions",
+ link: `https://sancho.cexplorer.io/tx/${result}`,
message: t("modals.retirement.message"),
onSubmit,
status: "success",
@@ -59,18 +65,11 @@ export const WhatRetirementMeans = ({
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- const errorMessage = error.info ? error.info : error;
-
- openModal({
- type: "statusModal",
- state: {
- buttonText: t("modals.common.goToDashboard"),
- dataTestId: "retirement-transaction-error-modal",
- message: errorMessage,
- onSubmit,
- status: "warning",
- title: t("modals.common.oops"),
- },
+ openWalletErrorModal({
+ error,
+ onSumbit: onClickCancel,
+ buttonText: t("modals.common.goToDashboard"),
+ dataTestId: "retirement-transaction-error-modal",
});
} finally {
setIsRetirementLoading(false);
diff --git a/govtool/frontend/src/components/organisms/RegisterAsSoleVoterBox.tsx b/govtool/frontend/src/components/organisms/RegisterAsSoleVoterBox.tsx
index 445b0a474..d7fe60c77 100644
--- a/govtool/frontend/src/components/organisms/RegisterAsSoleVoterBox.tsx
+++ b/govtool/frontend/src/components/organisms/RegisterAsSoleVoterBox.tsx
@@ -6,7 +6,7 @@ import { PATHS } from "@consts";
import { RegisterAsSoleVoterBoxContent } from "@organisms";
import { CenteredBoxBottomButtons } from "@molecules";
import { useCardano, useModal } from "@context";
-import { useGetVoterInfo } from "@/hooks";
+import { useGetVoterInfo, useWalletErrorModal } from "@hooks";
export const RegisterAsSoleVoterBox = () => {
const [isLoading, setIsLoading] = useState(false);
@@ -17,6 +17,7 @@ export const RegisterAsSoleVoterBox = () => {
const { openModal, closeModal } = useModal();
const { t } = useTranslation();
const { voter } = useGetVoterInfo();
+ const openWalletErrorModal = useWalletErrorModal();
const onRegister = useCallback(async () => {
setIsLoading(true);
@@ -36,7 +37,7 @@ export const RegisterAsSoleVoterBox = () => {
status: "success",
title: t("modals.registration.title"),
message: t("modals.registration.message"),
- link: "https://adanordic.com/latest_transactions",
+ link: `https://sancho.cexplorer.io/tx/${result}`,
buttonText: t("modals.common.goToDashboard"),
onSubmit: () => {
navigate(PATHS.dashboard);
@@ -47,22 +48,12 @@ export const RegisterAsSoleVoterBox = () => {
});
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (e: any) {
- const errorMessage = e.info ? e.info : e;
-
- openModal({
- type: "statusModal",
- state: {
- status: "warning",
- title: t("modals.common.oops"),
- message: errorMessage,
- buttonText: t("modals.common.goToDashboard"),
- onSubmit: () => {
- navigate(PATHS.dashboard);
- closeModal();
- },
- dataTestId: "registration-transaction-error-modal",
- },
+ } catch (error: any) {
+ openWalletErrorModal({
+ error,
+ buttonText: t("modals.common.goToDashboard"),
+ onSumbit: () => navigate(PATHS.dashboard),
+ dataTestId: "registration-transaction-error-modal",
});
} finally {
setIsLoading(false);
diff --git a/govtool/frontend/src/components/organisms/RetireAsSoleVoterBox.tsx b/govtool/frontend/src/components/organisms/RetireAsSoleVoterBox.tsx
index 081e05d40..d8acfa91e 100644
--- a/govtool/frontend/src/components/organisms/RetireAsSoleVoterBox.tsx
+++ b/govtool/frontend/src/components/organisms/RetireAsSoleVoterBox.tsx
@@ -6,7 +6,7 @@ import { PATHS } from "@consts";
import { CenteredBoxBottomButtons } from "@molecules";
import { useCardano, useModal } from "@context";
import { RetireAsSoleVoterBoxContent } from "@organisms";
-import { useGetVoterInfo } from "@/hooks";
+import { useGetVoterInfo, useWalletErrorModal } from "@hooks";
export const RetireAsSoleVoterBox = () => {
const [isLoading, setIsLoading] = useState(false);
@@ -20,6 +20,7 @@ export const RetireAsSoleVoterBox = () => {
const { openModal, closeModal } = useModal();
const { t } = useTranslation();
const { voter } = useGetVoterInfo();
+ const openWalletErrorModal = useWalletErrorModal();
const onRetire = useCallback(async () => {
try {
@@ -44,7 +45,7 @@ export const RetireAsSoleVoterBox = () => {
status: "success",
title: t("modals.retirement.title"),
message: t("modals.retirement.message"),
- link: "https://adanordic.com/latest_transactions",
+ link: `https://sancho.cexplorer.io/tx/${result}`,
buttonText: t("modals.common.goToDashboard"),
dataTestId: "retirement-transaction-submitted-modal",
onSubmit: () => {
@@ -56,21 +57,11 @@ export const RetireAsSoleVoterBox = () => {
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- const errorMessage = error.info ? error.info : error;
-
- openModal({
- type: "statusModal",
- state: {
- status: "warning",
- message: errorMessage,
- buttonText: t("modals.common.goToDashboard"),
- title: t("modals.common.oops"),
- dataTestId: "retirement-transaction-error-modal",
- onSubmit: () => {
- navigate(PATHS.dashboard);
- closeModal();
- },
- },
+ openWalletErrorModal({
+ error,
+ buttonText: t("modals.common.goToDashboard"),
+ onSumbit: () => navigate(PATHS.dashboard),
+ dataTestId: "retirement-transaction-error-modal",
});
} finally {
setIsLoading(false);
diff --git a/govtool/frontend/src/components/organisms/VoteContext/VoteContextStoringInformation.tsx b/govtool/frontend/src/components/organisms/VoteContext/VoteContextStoringInformation.tsx
index 96d91b3a8..3646a7cb7 100644
--- a/govtool/frontend/src/components/organisms/VoteContext/VoteContextStoringInformation.tsx
+++ b/govtool/frontend/src/components/organisms/VoteContext/VoteContextStoringInformation.tsx
@@ -34,9 +34,10 @@ export const VoteContextStoringInformation = ({
onClickDownloadJson,
} = useVoteContextForm(setSavedHash, setStep, setErrorMessage);
- // TODO: Change link to correct
const openGuideAboutStoringInformation = () =>
- openInNewTab("https://sancho.network/");
+ openInNewTab(
+ "https://docs.sanchogov.tools/faqs/how-to-create-a-metadata-anchor",
+ );
const isContinueDisabled = !watch("storingURL");
diff --git a/govtool/frontend/src/components/organisms/index.ts b/govtool/frontend/src/components/organisms/index.ts
index f4931d142..298b66492 100644
--- a/govtool/frontend/src/components/organisms/index.ts
+++ b/govtool/frontend/src/components/organisms/index.ts
@@ -1,6 +1,6 @@
+export * from "./AutomatedVotingOptions";
export * from "./BgCard";
export * from "./ChooseStakeKeyPanel";
-export * from "./ChooseWalletModal";
export * from "./ControlledField";
export * from "./CreateGovernanceActionSteps";
export * from "./DashboardCards";
@@ -10,12 +10,11 @@ export * from "./DashboardGovernanceActionDetails";
export * from "./DashboardGovernanceActions";
export * from "./DashboardGovernanceActionsVotedOn";
export * from "./DashboardTopNav";
-export * from "./DelegateTodRepStepOne";
-export * from "./DelegateTodRepStepTwo";
export * from "./Drawer";
export * from "./DrawerMobile";
+export * from "./DRepCard";
export * from "./EditDRepInfoSteps";
-export * from "./ExternalLinkModal";
+export * from "./Modal";
export * from "./Footer";
export * from "./GovernanceActionDetailsCard";
export * from "./GovernanceActionDetailsCardData";
@@ -28,7 +27,5 @@ export * from "./RegisterAsSoleVoterBoxContent";
export * from "./RetireAsSoleVoterBox";
export * from "./RetireAsSoleVoterBoxContent";
export * from "./Slider";
-export * from "./StatusModal";
export * from "./TopNav";
export * from "./VoteContext";
-export * from "./VotingPowerModal";
diff --git a/govtool/frontend/src/consts/dRepDirectory/filters.ts b/govtool/frontend/src/consts/dRepDirectory/filters.ts
new file mode 100644
index 000000000..f6a089f8e
--- /dev/null
+++ b/govtool/frontend/src/consts/dRepDirectory/filters.ts
@@ -0,0 +1,6 @@
+import { DRepStatus } from "@/models";
+
+export const DREP_DIRECTORY_FILTERS = Object.values(DRepStatus).map((status) => ({
+ key: status,
+ label: status,
+}));
diff --git a/govtool/frontend/src/consts/dRepDirectory/index.ts b/govtool/frontend/src/consts/dRepDirectory/index.ts
new file mode 100644
index 000000000..93e21800d
--- /dev/null
+++ b/govtool/frontend/src/consts/dRepDirectory/index.ts
@@ -0,0 +1,2 @@
+export * from "./filters";
+export * from "./sorting";
diff --git a/govtool/frontend/src/consts/dRepDirectory/sorting.ts b/govtool/frontend/src/consts/dRepDirectory/sorting.ts
new file mode 100644
index 000000000..9604e9c61
--- /dev/null
+++ b/govtool/frontend/src/consts/dRepDirectory/sorting.ts
@@ -0,0 +1,14 @@
+export const DREP_DIRECTORY_SORTING = [
+ {
+ key: "RegistrationDate",
+ label: "Registration date",
+ },
+ {
+ key: "VotingPower",
+ label: "Voting power",
+ },
+ {
+ key: "Status",
+ label: "Status",
+ },
+];
diff --git a/govtool/frontend/src/consts/externalDataModalConfig.ts b/govtool/frontend/src/consts/externalDataModalConfig.ts
index 1508004f4..36dd10836 100644
--- a/govtool/frontend/src/consts/externalDataModalConfig.ts
+++ b/govtool/frontend/src/consts/externalDataModalConfig.ts
@@ -1,5 +1,6 @@
import { ModalState } from "@/context";
import I18n from "@/i18n";
+import { MetadataValidationStatus } from "@/models";
export enum MetadataHashValidationErrors {
INVALID_URL = "Invalid URL",
@@ -29,13 +30,13 @@ const urlCannotBeFound = {
};
export const storageInformationErrorModals: Record<
- MetadataHashValidationErrors,
+ MetadataValidationStatus,
ModalState<
typeof externalDataDoesntMatchModal | typeof urlCannotBeFound
>["state"]
> = {
- [MetadataHashValidationErrors.INVALID_URL]: urlCannotBeFound,
- [MetadataHashValidationErrors.FETCH_ERROR]: urlCannotBeFound,
- [MetadataHashValidationErrors.INVALID_JSON]: externalDataDoesntMatchModal,
- [MetadataHashValidationErrors.INVALID_HASH]: externalDataDoesntMatchModal,
+ [MetadataValidationStatus.URL_NOT_FOUND]: urlCannotBeFound,
+ [MetadataValidationStatus.INCORRECT_FORMAT]: externalDataDoesntMatchModal,
+ [MetadataValidationStatus.INVALID_JSONLD]: externalDataDoesntMatchModal,
+ [MetadataValidationStatus.INVALID_HASH]: externalDataDoesntMatchModal,
};
diff --git a/govtool/frontend/src/consts/governanceAction/fields.ts b/govtool/frontend/src/consts/governanceAction/fields.ts
index b46cc8480..59fec4bcd 100644
--- a/govtool/frontend/src/consts/governanceAction/fields.ts
+++ b/govtool/frontend/src/consts/governanceAction/fields.ts
@@ -7,6 +7,11 @@ import {
SharedGovernanceActionFieldSchema,
} from "@/types/governanceAction";
+export const GovernanceActionTootlip = {
+ Info: I18n.t("govActions.tooltips.info"),
+ Treasury: I18n.t("govActions.tooltips.treasury"),
+};
+
export const CIP_100 =
"https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#";
export const CIP_108 =
@@ -19,6 +24,12 @@ export const sharedGovernanceActionFields: SharedGovernanceActionFieldSchema = {
placeholderI18nKey:
"createGovernanceAction.fields.declarations.title.placeholder",
rules: {
+ maxLength: {
+ value: 80,
+ message: I18n.t("createGovernanceAction.fields.validations.maxLength", {
+ maxLength: 80,
+ }),
+ },
required: {
value: true,
message: I18n.t("createGovernanceAction.fields.validations.required"),
diff --git a/govtool/frontend/src/consts/governanceAction/filters.ts b/govtool/frontend/src/consts/governanceAction/filters.ts
index 26b18c02b..dbe25adbc 100644
--- a/govtool/frontend/src/consts/governanceAction/filters.ts
+++ b/govtool/frontend/src/consts/governanceAction/filters.ts
@@ -1,30 +1,39 @@
+import I18n from "@/i18n";
+
export const GOVERNANCE_ACTIONS_FILTERS = [
{
key: "NoConfidence",
- label: "No Confidence",
+ title: I18n.t("govActions.type.noConfidence.title"),
+ label: I18n.t("govActions.type.noConfidence.label"),
},
{
key: "NewCommittee",
- label: "New Constitutional Committee or Quorum Size",
+ title: I18n.t("govActions.type.newCommittee.title"),
+ label: I18n.t("govActions.type.newCommittee.label"),
},
{
key: "NewConstitution",
- label: "Update to the Constitution",
+ title: I18n.t("govActions.type.newConstitution.title"),
+ label: I18n.t("govActions.type.newConstitution.label"),
},
{
key: "HardForkInitiation",
- label: "Hard Fork",
+ title: I18n.t("govActions.type.hardFork.title"),
+ label: I18n.t("govActions.type.hardFork.label"),
},
{
key: "ParameterChange",
- label: "Protocol Parameter Changes",
+ title: I18n.t("govActions.type.parameterChange.title"),
+ label: I18n.t("govActions.type.parameterChange.label"),
},
{
key: "TreasuryWithdrawals",
- label: "Treasury Withdrawals",
+ title: I18n.t("govActions.type.treasuryWithdrawals.title"),
+ label: I18n.t("govActions.type.treasuryWithdrawals.label"),
},
{
key: "InfoAction",
- label: "Info Action",
+ title: I18n.t("govActions.type.infoAction.title"),
+ label: I18n.t("govActions.type.infoAction.label"),
},
];
diff --git a/govtool/frontend/src/consts/icons.ts b/govtool/frontend/src/consts/icons.ts
index dfabf260d..dff246b62 100644
--- a/govtool/frontend/src/consts/icons.ts
+++ b/govtool/frontend/src/consts/icons.ts
@@ -15,6 +15,8 @@ export const ICONS = {
dashboardIcon: "/icons/Dashboard.svg",
download: "/icons/Download.svg",
drawerIcon: "/icons/DrawerIcon.svg",
+ dRepDirectoryActiveIcon: "/icons/DRepDirectoryActive.svg",
+ dRepDirectoryIcon: "/icons/DRepDirectory.svg",
externalLinkIcon: "/icons/ExternalLink.svg",
faqsActiveIcon: "/icons/FaqsActive.svg",
faqsIcon: "/icons/Faqs.svg",
@@ -32,4 +34,5 @@ export const ICONS = {
sortWhiteIcon: "/icons/SortWhite.svg",
timerIcon: "/icons/Timer.svg",
warningIcon: "/icons/Warning.svg",
+ loaderIcon: "/icons/Loader.svg",
};
diff --git a/govtool/frontend/src/consts/index.ts b/govtool/frontend/src/consts/index.ts
index 22a9c3bbc..87b876b2e 100644
--- a/govtool/frontend/src/consts/index.ts
+++ b/govtool/frontend/src/consts/index.ts
@@ -1,6 +1,7 @@
export * from "./externalDataModalConfig";
export * from "./colors";
export * from "./dRepActions";
+export * from "./dRepDirectory";
export * from "./governanceAction";
export * from "./icons";
export * from "./images";
diff --git a/govtool/frontend/src/consts/navItems.ts b/govtool/frontend/src/consts/navItems.ts
index 1c3d0ec37..4c6922b32 100644
--- a/govtool/frontend/src/consts/navItems.ts
+++ b/govtool/frontend/src/consts/navItems.ts
@@ -1,3 +1,4 @@
+import i18n from "@/i18n";
import { ICONS } from "./icons";
import { PATHS } from "./paths";
@@ -5,25 +6,30 @@ export const NAV_ITEMS = [
{
dataTestId: "dashboard-link",
navTo: PATHS.home,
- label: "Dashboard",
+ label: i18n.t("dashboard.title"),
newTabLink: null,
},
+ {
+ dataTestId: "drep-directory-link",
+ navTo: PATHS.dRepDirectory,
+ label: i18n.t("dRepDirectory.title"),
+ },
{
dataTestId: "governance-actions-link",
navTo: PATHS.governanceActions,
- label: "Governance Actions",
+ label: i18n.t("govActions.title"),
newTabLink: null,
},
{
dataTestId: "guides-link",
navTo: "",
- label: "Guides",
+ label: i18n.t("menu.guides"),
newTabLink: "https://docs.sanchogov.tools/about/what-is-sanchonet-govtool",
},
{
dataTestId: "faqs-link",
navTo: "",
- label: "FAQs",
+ label: i18n.t("menu.faqs"),
newTabLink: "https://docs.sanchogov.tools/faqs",
},
];
@@ -31,15 +37,22 @@ export const NAV_ITEMS = [
export const CONNECTED_NAV_ITEMS = [
{
dataTestId: "dashboard-link",
- label: "Dashboard",
+ label: i18n.t("dashboard.title"),
navTo: PATHS.dashboard,
activeIcon: ICONS.dashboardActiveIcon,
icon: ICONS.dashboardIcon,
newTabLink: null,
},
+ {
+ dataTestId: "drep-directory-link",
+ label: i18n.t("dRepDirectory.title"),
+ navTo: PATHS.dashboardDRepDirectory,
+ activeIcon: ICONS.dRepDirectoryActiveIcon,
+ icon: ICONS.dRepDirectoryIcon,
+ },
{
dataTestId: "governance-actions-link",
- label: "Governance Actions",
+ label: i18n.t("govActions.title"),
navTo: PATHS.dashboardGovernanceActions,
activeIcon: ICONS.governanceActionsActiveIcon,
icon: ICONS.governanceActionsIcon,
@@ -47,7 +60,7 @@ export const CONNECTED_NAV_ITEMS = [
},
{
dataTestId: "guides-link",
- label: "Guides",
+ label: i18n.t("menu.guides"),
navTo: "",
activeIcon: ICONS.guidesActiveIcon,
icon: ICONS.guidesIcon,
@@ -55,7 +68,7 @@ export const CONNECTED_NAV_ITEMS = [
},
{
dataTestId: "faqs-link",
- label: "FAQs",
+ label: i18n.t("menu.faqs"),
navTo: "",
activeIcon: ICONS.faqsActiveIcon,
icon: ICONS.faqsIcon,
diff --git a/govtool/frontend/src/consts/paths.ts b/govtool/frontend/src/consts/paths.ts
index 3361f31a3..f51a27926 100644
--- a/govtool/frontend/src/consts/paths.ts
+++ b/govtool/frontend/src/consts/paths.ts
@@ -5,7 +5,10 @@ export const PATHS = {
dashboardGovernanceActionsAction: "/connected/governance_actions/:proposalId",
dashboardGovernanceActionsCategory:
"/connected/governance_actions/category/:category",
- delegateTodRep: "/delegate",
+ dashboardDRepDirectory: "/connected/drep_directory",
+ dashboardDRepDirectoryDRep: "/connected/drep_directory/:dRepId",
+ dRepDirectory: "/drep_directory",
+ dRepDirectoryDRep: "/drep_directory/:dRepId",
editDrepMetadata: "/edit_drep",
error: "/error",
faqs: "/faqs",
diff --git a/govtool/frontend/src/consts/queryKeys.ts b/govtool/frontend/src/consts/queryKeys.ts
index 66a12b0b1..ccfdffe3f 100644
--- a/govtool/frontend/src/consts/queryKeys.ts
+++ b/govtool/frontend/src/consts/queryKeys.ts
@@ -1,7 +1,7 @@
export const QUERY_KEYS = {
getAdaHolderCurrentDelegationKey: "getAdaHolderCurrentDelegationKey",
getAdaHolderVotingPowerKey: "getAdaHolderVotingPowerKey",
- useGetDRepListKey: "useGetDRepListKey",
+ useGetDRepListInfiniteKey: "useGetDRepListInfiniteKey",
useGetDRepVotesKey: "useGetDRepVotesKey",
useGetDRepVotingPowerKey: "useGetDRepVotingPowerKey",
useGetProposalKey: "useGetProposalKey",
@@ -10,3 +10,7 @@ export const QUERY_KEYS = {
useGetDRepInfoKey: "useGetDRepInfoKey",
useGetVoteContextFromFile: "useGetVoteContextFromFile",
};
+
+export const MUTATION_KEYS = {
+ postValidateKey: "postValidateKey",
+};
diff --git a/govtool/frontend/src/context/contextProviders.tsx b/govtool/frontend/src/context/contextProviders.tsx
index 8dd95da9c..451beb2f0 100644
--- a/govtool/frontend/src/context/contextProviders.tsx
+++ b/govtool/frontend/src/context/contextProviders.tsx
@@ -1,6 +1,7 @@
import { CardanoProvider, useCardano } from "./wallet";
import { ModalProvider, useModal } from "./modal";
import { SnackbarProvider, useSnackbar } from "./snackbar";
+import { DataActionsBarProvider } from "./dataActionsBar";
interface Props {
children: React.ReactNode;
@@ -9,7 +10,9 @@ interface Props {
const ContextProviders = ({ children }: Props) => (
- {children}
+
+ {children}
+
);
diff --git a/govtool/frontend/src/context/dataActionsBar.tsx b/govtool/frontend/src/context/dataActionsBar.tsx
new file mode 100644
index 000000000..eab02a6f6
--- /dev/null
+++ b/govtool/frontend/src/context/dataActionsBar.tsx
@@ -0,0 +1,137 @@
+import React, {
+ createContext,
+ useContext,
+ useState,
+ useCallback,
+ Dispatch,
+ SetStateAction,
+ useEffect,
+ useMemo,
+ FC,
+} from "react";
+import { useLocation } from "react-router-dom";
+
+import { useDebounce } from "@hooks";
+
+interface DataActionsBarContextType {
+ chosenFilters: string[];
+ chosenFiltersLength: number;
+ chosenSorting: string;
+ closeFilters: () => void;
+ closeSorts: () => void;
+ debouncedSearchText: string;
+ filtersOpen: boolean;
+ searchText: string;
+ setChosenFilters: Dispatch>;
+ setChosenSorting: Dispatch>;
+ setFiltersOpen: Dispatch>;
+ setSearchText: Dispatch>;
+ setSortOpen: Dispatch>;
+ sortingActive: boolean;
+ sortOpen: boolean;
+}
+
+const DataActionsBarContext = createContext<
+ DataActionsBarContextType | undefined
+>(undefined);
+DataActionsBarContext.displayName = "DataActionsBarContext";
+
+interface ProviderProps {
+ children: React.ReactNode;
+}
+
+const DataActionsBarProvider: FC = ({ children }) => {
+ const [searchText, setSearchText] = useState("");
+ const debouncedSearchText = useDebounce(searchText, 300);
+ const [filtersOpen, setFiltersOpen] = useState(false);
+ const [chosenFilters, setChosenFilters] = useState([]);
+ const [sortOpen, setSortOpen] = useState(false);
+ const [chosenSorting, setChosenSorting] = useState("");
+ const [lastPath, setLastPath] = useState("");
+
+ const { pathname } = useLocation();
+
+ const closeFilters = useCallback(() => {
+ setFiltersOpen(false);
+ }, []);
+
+ const closeSorts = useCallback(() => {
+ setSortOpen(false);
+ }, []);
+
+ const resetState = useCallback(() => {
+ setSearchText("");
+ setChosenFilters([]);
+ setChosenSorting("");
+ }, []);
+
+ const userMovedToDifferentAppArea =
+ pathname !== lastPath && !pathname.startsWith(lastPath);
+ const userOpenedGADetailsFromCategoryPage =
+ lastPath.includes("governance_actions/category") &&
+ pathname.includes("governance_actions/");
+ const userMovedFromGAListToCategoryPage =
+ lastPath.endsWith("governance_actions") &&
+ pathname.includes("governance_actions/category");
+
+ useEffect(() => {
+ if (
+ (userMovedToDifferentAppArea && !userOpenedGADetailsFromCategoryPage) ||
+ userMovedFromGAListToCategoryPage
+ ) {
+ resetState();
+ }
+ }, [pathname, resetState]);
+
+ useEffect(() => {
+ setLastPath(pathname);
+ }, [searchText, chosenFilters, chosenSorting]);
+
+ const contextValue = useMemo(
+ () => ({
+ chosenFilters,
+ chosenFiltersLength: chosenFilters.length,
+ chosenSorting,
+ closeFilters,
+ closeSorts,
+ debouncedSearchText,
+ filtersOpen,
+ searchText,
+ setChosenFilters,
+ setChosenSorting,
+ setFiltersOpen,
+ setSearchText,
+ setSortOpen,
+ sortingActive: Boolean(chosenSorting),
+ sortOpen,
+ }),
+ [
+ chosenFilters,
+ chosenSorting,
+ debouncedSearchText,
+ filtersOpen,
+ searchText,
+ sortOpen,
+ closeFilters,
+ closeSorts,
+ ],
+ );
+
+ return (
+
+ {children}
+
+ );
+};
+
+function useDataActionsBar() {
+ const context = useContext(DataActionsBarContext);
+ if (!context) {
+ throw new Error(
+ "useDataActionsBar must be used within a DataActionsBarProvider",
+ );
+ }
+ return context;
+}
+
+export { DataActionsBarProvider, useDataActionsBar };
diff --git a/govtool/frontend/src/context/index.ts b/govtool/frontend/src/context/index.ts
index 4fe6a9c62..3a67109b3 100644
--- a/govtool/frontend/src/context/index.ts
+++ b/govtool/frontend/src/context/index.ts
@@ -1,5 +1,7 @@
export * from "./contextProviders";
+export * from "./dataActionsBar";
export * from "./modal";
export * from "./pendingTransaction";
export * from "./snackbar";
+export * from "./usersnapContext";
export * from "./wallet";
diff --git a/govtool/frontend/src/context/modal.tsx b/govtool/frontend/src/context/modal.tsx
index cebfab96b..bedfb2515 100644
--- a/govtool/frontend/src/context/modal.tsx
+++ b/govtool/frontend/src/context/modal.tsx
@@ -7,6 +7,7 @@ import {
StatusModal,
VoteContextModal,
VotingPowerModal,
+ LoadingModal,
} from "@organisms";
import { basicReducer, callAll, BasicReducer } from "@utils";
@@ -23,6 +24,7 @@ interface ContextModal {
export type ModalType =
| "none"
+ | "loadingModal"
| "chooseWallet"
| "statusModal"
| "externalLink"
@@ -33,6 +35,9 @@ const modals: Record = {
none: {
component: null,
},
+ loadingModal: {
+ component: ,
+ },
chooseWallet: {
component: ,
},
diff --git a/govtool/frontend/src/context/usersnapContext.tsx b/govtool/frontend/src/context/usersnapContext.tsx
new file mode 100644
index 000000000..55ea92831
--- /dev/null
+++ b/govtool/frontend/src/context/usersnapContext.tsx
@@ -0,0 +1,93 @@
+import React, {
+ useEffect,
+ useState,
+ useContext,
+ useCallback,
+ useMemo,
+} from "react";
+import { InitOptions, WidgetApi, loadSpace } from "@usersnap/browser";
+
+type WidgetValues = {
+ assignee?: string;
+ custom?: object;
+ labels?: Array;
+ visitor?: string;
+};
+type WidgetEventApi = {
+ setValue: (
+ key: K,
+ value: WidgetValues[K],
+ ) => void;
+};
+
+type WidgetBeforeSubmitEvent = {
+ apiKey: string;
+ api: WidgetEventApi;
+ values: WidgetValues;
+};
+
+type WidgetOpenEvent = {
+ api: WidgetEventApi;
+ type: "open";
+};
+
+type SpaceEventCallback = (
+ event: WidgetOpenEvent | WidgetBeforeSubmitEvent,
+) => void;
+
+type SpaceEventName = "open" | "close" | "beforeSubmit" | "submit";
+
+const API_KEY = import.meta.env.VITE_USERSNAP_SPACE_API_KEY;
+
+type UsersnapProviderProps = {
+ initParams?: InitOptions;
+ children?: React.ReactNode;
+};
+
+type UsersnapAPI = {
+ init: (params?: InitOptions | undefined) => Promise;
+ logEvent: (eventName: string) => Promise;
+ show: (apiKey: string) => Promise;
+ hide: (apiKey: string) => Promise;
+ destroy: () => Promise;
+ on: (eventName: SpaceEventName, callback: SpaceEventCallback) => void;
+ off: (eventName: SpaceEventName, callback: SpaceEventCallback) => void;
+};
+
+const defaultValues = {
+ openFeedbackWindow: () => {},
+};
+
+export const UsersnapContext = React.createContext(defaultValues);
+
+export const UsersnapProvider = ({
+ initParams,
+ children,
+}: UsersnapProviderProps) => {
+ const [usersnapApi, setUsersnapApi] = useState(null);
+
+ const openFeedbackWindow = useCallback(() => {
+ if (usersnapApi) {
+ usersnapApi.logEvent("open_feedback");
+ }
+ }, [usersnapApi]);
+
+ useEffect(() => {
+ loadSpace(API_KEY).then((api) => {
+ api.init(initParams);
+ setUsersnapApi(api);
+ });
+ }, [initParams]);
+
+ const value = useMemo(() => ({ openFeedbackWindow }), [openFeedbackWindow]);
+
+ return (
+
+ {children}
+
+ );
+};
+
+export function useUsersnapApi() {
+ return useContext(UsersnapContext);
+}
diff --git a/govtool/frontend/src/hooks/forms/useCreateGovernanceActionForm.ts b/govtool/frontend/src/hooks/forms/useCreateGovernanceActionForm.ts
index e8ff4f660..87b05f9c5 100644
--- a/govtool/frontend/src/hooks/forms/useCreateGovernanceActionForm.ts
+++ b/govtool/frontend/src/hooks/forms/useCreateGovernanceActionForm.ts
@@ -7,10 +7,8 @@ import { useTranslation } from "react-i18next";
import { NodeObject } from "jsonld";
import {
- CIP_100,
CIP_108,
GOVERNANCE_ACTION_CONTEXT,
- MetadataHashValidationErrors,
PATHS,
storageInformationErrorModals,
} from "@consts";
@@ -19,13 +17,17 @@ import {
canonizeJSON,
downloadJson,
generateJsonld,
- validateMetadataHash,
+ generateMetadataBody,
} from "@utils";
+import { useWalletErrorModal } from "@hooks";
+import { MetadataValidationStatus } from "@models";
import {
GovernanceActionFieldSchemas,
GovernanceActionType,
} from "@/types/governanceAction";
+import { useValidateMutation } from "../mutations";
+
export type CreateGovernanceActionValues = {
links?: { link: string }[];
storeData?: boolean;
@@ -43,17 +45,28 @@ export const defaulCreateGovernanceActionValues: CreateGovernanceActionValues =
export const useCreateGovernanceActionForm = (
setStep?: Dispatch>,
) => {
+ // Local state
+ const [isLoading, setIsLoading] = useState(false);
+ const [hash, setHash] = useState(null);
+ const [json, setJson] = useState(null);
+
+ // DApp Connector
const {
buildNewInfoGovernanceAction,
buildTreasuryGovernanceAction,
buildSignSubmitConwayCertTx,
} = useCardano();
+
+ // App Management
const { t } = useTranslation();
- const [isLoading, setIsLoading] = useState(false);
- const [hash, setHash] = useState(null);
- const [json, setJson] = useState(null);
const navigate = useNavigate();
const { openModal, closeModal } = useModal();
+ const openWalletErrorModal = useWalletErrorModal();
+
+ // Queries
+ const { validateMetadata } = useValidateMutation();
+
+ // Form
const {
control,
formState: { errors, isValid },
@@ -66,6 +79,7 @@ export const useCreateGovernanceActionForm = (
} = useFormContext();
const govActionType = watch("governance_action_type");
+ // Navigation
const backToForm = useCallback(() => {
setStep?.(3);
closeModal();
@@ -76,31 +90,17 @@ export const useCreateGovernanceActionForm = (
closeModal();
}, []);
+ // Business Logic
const generateMetadata = useCallback(async () => {
- const data = getValues();
-
if (!govActionType) {
throw new Error("Governance action type is not defined");
}
- const acceptedKeys = ["title", "motivation", "abstract", "rationale"];
-
- const filteredData = Object.entries(data)
- .filter(([key]) => acceptedKeys.includes(key))
- .map(([key, value]) => [CIP_108 + key, value]);
-
- const references = (data as CreateGovernanceActionValues).links
- ?.filter((link) => link.link)
- .map((link) => ({
- "@type": "Other",
- [`${CIP_100}reference-label`]: "Label",
- [`${CIP_100}reference-uri`]: link.link,
- }));
-
- const body = {
- ...Object.fromEntries(filteredData),
- [`${CIP_108}references`]: references,
- };
+ const body = generateMetadataBody({
+ data: getValues(),
+ acceptedKeys: ["title", "motivation", "abstract", "rationale"],
+ standardReference: CIP_108,
+ });
const jsonld = await generateJsonld(body, GOVERNANCE_ACTION_CONTEXT);
@@ -119,37 +119,6 @@ export const useCreateGovernanceActionForm = (
downloadJson(json, govActionType);
}, [govActionType, json]);
- const validateHash = useCallback(
- async (storingUrl: string, localHash: string | null) => {
- try {
- if (!localHash) {
- throw new Error(MetadataHashValidationErrors.INVALID_HASH);
- }
- await validateMetadataHash(storingUrl, localHash);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- if (
- Object.values(MetadataHashValidationErrors).includes(error.message)
- ) {
- openModal({
- type: "statusModal",
- state: {
- ...storageInformationErrorModals[
- error.message as MetadataHashValidationErrors
- ],
- onSubmit: backToForm,
- onCancel: backToDashboard,
- // TODO: Open usersnap feedback
- onFeedback: backToDashboard,
- },
- });
- }
- throw error;
- }
- },
- [backToForm],
- );
-
const buildTransaction = useCallback(
async (data: CreateGovernanceActionValues) => {
if (!hash) return;
@@ -181,10 +150,8 @@ export const useCreateGovernanceActionForm = (
default:
throw new Error(t("errors.invalidGovernanceActionType"));
}
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- console.error(error);
- throw error;
+ } catch (error) {
+ captureException(error);
}
},
[hash],
@@ -208,12 +175,34 @@ export const useCreateGovernanceActionForm = (
});
}, []);
+ const showLoadingModal = useCallback(() => {
+ openModal({
+ type: "loadingModal",
+ state: {
+ title: t("modals.pendingValidation.title"),
+ message: t("modals.pendingValidation.message"),
+ dataTestId: "storing-information-loading",
+ },
+ });
+ }, []);
+
const onSubmit = useCallback(
async (data: CreateGovernanceActionValues) => {
try {
setIsLoading(true);
+ showLoadingModal();
+ if (!hash) {
+ throw new Error(MetadataValidationStatus.INVALID_HASH);
+ }
+ const { status } = await validateMetadata({
+ url: data.storingURL,
+ hash,
+ });
+
+ if (status) {
+ throw status;
+ }
- await validateHash(data.storingURL, hash);
const govActionBuilder = await buildTransaction(data);
await buildSignSubmitConwayCertTx({
govActionBuilder,
@@ -223,12 +212,33 @@ export const useCreateGovernanceActionForm = (
showSuccessModal();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- captureException(error);
+ if (
+ Object.values(MetadataValidationStatus).includes(
+ error as MetadataValidationStatus,
+ )
+ ) {
+ openModal({
+ type: "statusModal",
+ state: {
+ ...storageInformationErrorModals[
+ error as MetadataValidationStatus
+ ],
+ onSubmit: backToForm,
+ onCancel: backToDashboard,
+ },
+ });
+ } else {
+ openWalletErrorModal({
+ error,
+ dataTestId: "create-governance-action-error-modal",
+ });
+ captureException(error);
+ }
} finally {
setIsLoading(false);
}
},
- [hash],
+ [hash, buildTransaction, buildSignSubmitConwayCertTx],
);
return {
diff --git a/govtool/frontend/src/hooks/forms/useDelegateTodRepForm.tsx b/govtool/frontend/src/hooks/forms/useDelegateTodRepForm.tsx
index 12794fd79..7de68755c 100644
--- a/govtool/frontend/src/hooks/forms/useDelegateTodRepForm.tsx
+++ b/govtool/frontend/src/hooks/forms/useDelegateTodRepForm.tsx
@@ -4,7 +4,7 @@ import { useForm, useWatch } from "react-hook-form";
import { PATHS } from "@consts";
import { useCardano, useModal } from "@context";
-import { useGetDRepListQuery, useTranslation } from "@hooks";
+import { useGetDRepListInfiniteQuery, useTranslation } from "@hooks";
import { formHexToBech32 } from "@utils";
export interface DelegateTodrepFormValues {
@@ -13,7 +13,9 @@ export interface DelegateTodrepFormValues {
export const useDelegateTodRepForm = () => {
const { buildSignSubmitConwayCertTx, buildVoteDelegationCert } = useCardano();
- const { data: drepList } = useGetDRepListQuery();
+ const { dRepData: drepList } = useGetDRepListInfiniteQuery({
+ page: 0,
+ });
const { openModal, closeModal, modal } = useModal();
const [isLoading, setIsLoading] = useState(false);
const navigate = useNavigate();
diff --git a/govtool/frontend/src/hooks/forms/useEditDRepInfoForm.ts b/govtool/frontend/src/hooks/forms/useEditDRepInfoForm.ts
index 89795269c..b3796ae9b 100644
--- a/govtool/frontend/src/hooks/forms/useEditDRepInfoForm.ts
+++ b/govtool/frontend/src/hooks/forms/useEditDRepInfoForm.ts
@@ -7,10 +7,8 @@ import { captureException } from "@sentry/react";
import { NodeObject } from "jsonld";
import {
- CIP_100,
CIP_QQQ,
DREP_CONTEXT,
- MetadataHashValidationErrors,
PATHS,
storageInformationErrorModals,
} from "@consts";
@@ -19,8 +17,11 @@ import {
canonizeJSON,
downloadJson,
generateJsonld,
- validateMetadataHash,
+ generateMetadataBody,
} from "@utils";
+import { MetadataValidationStatus } from "@models";
+import { useWalletErrorModal } from "@hooks";
+import { useValidateMutation } from "../mutations";
export type EditDRepInfoValues = {
bio?: string;
@@ -43,24 +44,24 @@ export const defaultEditDRepInfoValues: EditDRepInfoValues = {
export const useEditDRepInfoForm = (
setStep?: Dispatch>,
) => {
- const { t } = useTranslation();
- const navigate = useNavigate();
+ // Local state
const [isLoading, setIsLoading] = useState(false);
const [hash, setHash] = useState(null);
const [json, setJson] = useState(null);
- const { closeModal, openModal } = useModal();
+
+ // DApp Connector
const { buildDRepUpdateCert, buildSignSubmitConwayCertTx } = useCardano();
- const backToForm = useCallback(() => {
- setStep?.(1);
- closeModal();
- }, [setStep]);
+ // App Management
+ const { closeModal, openModal } = useModal();
+ const { t } = useTranslation();
+ const navigate = useNavigate();
+ const openWalletErrorModal = useWalletErrorModal();
- const backToDashboard = useCallback(() => {
- navigate(PATHS.dashboard);
- closeModal();
- }, []);
+ // Queries
+ const { validateMetadata } = useValidateMutation();
+ // Form
const {
control,
getValues,
@@ -70,30 +71,27 @@ export const useEditDRepInfoForm = (
resetField,
watch,
} = useFormContext();
-
const dRepName = watch("dRepName");
const isError = Object.keys(errors).length > 0;
+ // Navigation
+ const backToForm = useCallback(() => {
+ setStep?.(1);
+ closeModal();
+ }, [setStep]);
+
+ const backToDashboard = useCallback(() => {
+ navigate(PATHS.dashboard);
+ closeModal();
+ }, []);
+
+ // Business Logic
const generateMetadata = useCallback(async () => {
- const data = getValues();
- const acceptedKeys = ["dRepName", "bio", "email"];
-
- const filteredData = Object.entries(data)
- .filter(([key]) => acceptedKeys.includes(key))
- .map(([key, value]) => [CIP_QQQ + key, value]);
-
- const references = (data as EditDRepInfoValues).links
- ?.filter((link) => link.link)
- .map((link) => ({
- "@type": "Other",
- [`${CIP_100}reference-label`]: "Label",
- [`${CIP_100}reference-uri`]: link.link,
- }));
-
- const body = {
- ...Object.fromEntries(filteredData),
- [`${CIP_QQQ}references`]: references,
- };
+ const body = generateMetadataBody({
+ data: getValues(),
+ acceptedKeys: ["dRepName", "bio", "email"],
+ standardReference: CIP_QQQ,
+ });
const jsonld = await generateJsonld(body, DREP_CONTEXT, CIP_QQQ);
@@ -108,39 +106,19 @@ export const useEditDRepInfoForm = (
const onClickDownloadJson = async () => {
if (!json) return;
-
downloadJson(json, dRepName);
};
- const validateHash = useCallback(
- async (storingUrl: string) => {
- try {
- if (!hash) throw new Error(MetadataHashValidationErrors.INVALID_HASH);
-
- await validateMetadataHash(storingUrl, hash);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- if (
- Object.values(MetadataHashValidationErrors).includes(error.message)
- ) {
- openModal({
- type: "statusModal",
- state: {
- ...storageInformationErrorModals[
- error.message as MetadataHashValidationErrors
- ],
- onSubmit: backToForm,
- onCancel: backToDashboard,
- // TODO: Open usersnap feedback
- onFeedback: backToDashboard,
- },
- });
- }
- throw error;
- }
- },
- [backToForm, hash],
- );
+ const showLoadingModal = useCallback(() => {
+ openModal({
+ type: "loadingModal",
+ state: {
+ title: t("modals.pendingValidation.title"),
+ message: t("modals.pendingValidation.message"),
+ dataTestId: "storing-information-loading",
+ },
+ });
+ }, []);
const showSuccessModal = useCallback(() => {
openModal({
@@ -160,12 +138,21 @@ export const useEditDRepInfoForm = (
async (data: EditDRepInfoValues) => {
const url = data.storingURL;
- if (!hash) return;
-
try {
+ if (!hash) throw MetadataValidationStatus.INVALID_HASH;
+
setIsLoading(true);
+ showLoadingModal();
+
+ const { status } = await validateMetadata({
+ url,
+ hash,
+ });
+
+ if (status) {
+ throw status;
+ }
- await validateHash(url);
const updateDRepMetadataCert = await buildDRepUpdateCert(url, hash);
await buildSignSubmitConwayCertTx({
certBuilder: updateDRepMetadataCert,
@@ -175,12 +162,31 @@ export const useEditDRepInfoForm = (
showSuccessModal();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- captureException(error);
+ if (Object.values(MetadataValidationStatus).includes(error)) {
+ openModal({
+ type: "statusModal",
+ state: {
+ ...storageInformationErrorModals[
+ error as MetadataValidationStatus
+ ],
+ onSubmit: backToForm,
+ onCancel: backToDashboard,
+ },
+ });
+ } else {
+ captureException(error);
+
+ openWalletErrorModal({
+ error,
+ onSumbit: () => backToDashboard(),
+ dataTestId: "edit-drep-transaction-error-modal",
+ });
+ }
} finally {
setIsLoading(false);
}
},
- [buildDRepUpdateCert, buildSignSubmitConwayCertTx, hash, validateHash],
+ [buildDRepUpdateCert, buildSignSubmitConwayCertTx, hash],
);
return {
diff --git a/govtool/frontend/src/hooks/forms/useRegisterAsdRepForm.tsx b/govtool/frontend/src/hooks/forms/useRegisterAsdRepForm.tsx
index 22c2aa4cd..88cd630aa 100644
--- a/govtool/frontend/src/hooks/forms/useRegisterAsdRepForm.tsx
+++ b/govtool/frontend/src/hooks/forms/useRegisterAsdRepForm.tsx
@@ -7,21 +7,23 @@ import { captureException } from "@sentry/react";
import { NodeObject } from "jsonld";
import {
- CIP_100,
CIP_QQQ,
DREP_CONTEXT,
- MetadataHashValidationErrors,
PATHS,
storageInformationErrorModals,
} from "@consts";
import { useCardano, useModal } from "@context";
+import { MetadataValidationStatus } from "@models";
import {
canonizeJSON,
downloadJson,
+ ellipsizeText,
generateJsonld,
- validateMetadataHash,
+ generateMetadataBody,
} from "@utils";
-import { useGetVoterInfo } from "..";
+
+import { useGetVoterInfo, useWalletErrorModal } from "@hooks";
+import { useValidateMutation } from "../mutations";
export type RegisterAsDRepValues = {
bio?: string;
@@ -44,26 +46,26 @@ export const defaultRegisterAsDRepValues: RegisterAsDRepValues = {
export const useRegisterAsdRepForm = (
setStep?: Dispatch>,
) => {
- const { t } = useTranslation();
- const navigate = useNavigate();
+ // Local state
const [isLoading, setIsLoading] = useState(false);
const [hash, setHash] = useState(null);
const [json, setJson] = useState(null);
- const { closeModal, openModal } = useModal();
+
+ // DApp Connector
const { buildDRepRegCert, buildDRepUpdateCert, buildSignSubmitConwayCertTx } =
useCardano();
- const { voter } = useGetVoterInfo();
- const backToForm = useCallback(() => {
- setStep?.(2);
- closeModal();
- }, [setStep]);
+ // App Management
+ const { t } = useTranslation();
+ const navigate = useNavigate();
+ const { closeModal, openModal } = useModal();
+ const openWalletErrorModal = useWalletErrorModal();
- const backToDashboard = useCallback(() => {
- navigate(PATHS.dashboard);
- closeModal();
- }, []);
+ // Queries
+ const { validateMetadata } = useValidateMutation();
+ const { voter } = useGetVoterInfo();
+ // Form
const {
control,
getValues,
@@ -77,26 +79,24 @@ export const useRegisterAsdRepForm = (
const dRepName = watch("dRepName");
const isError = Object.keys(errors).length > 0;
+ // Navigation
+ const backToForm = useCallback(() => {
+ setStep?.(2);
+ closeModal();
+ }, [setStep]);
+
+ const backToDashboard = useCallback(() => {
+ navigate(PATHS.dashboard);
+ closeModal();
+ }, []);
+
+ // Business Logic
const generateMetadata = useCallback(async () => {
- const data = getValues();
- const acceptedKeys = ["dRepName", "bio", "email"];
-
- const filteredData = Object.entries(data)
- .filter(([key]) => acceptedKeys.includes(key))
- .map(([key, value]) => [CIP_QQQ + key, value]);
-
- const references = (data as RegisterAsDRepValues).links
- ?.filter((link) => link.link)
- .map((link) => ({
- "@type": "Other",
- [`${CIP_100}reference-label`]: "Label",
- [`${CIP_100}reference-uri`]: link.link,
- }));
-
- const body = {
- ...Object.fromEntries(filteredData),
- [`${CIP_QQQ}references`]: references,
- };
+ const body = generateMetadataBody({
+ data: getValues(),
+ acceptedKeys: ["dRepName", "bio", "email"],
+ standardReference: CIP_QQQ,
+ });
const jsonld = await generateJsonld(body, DREP_CONTEXT, CIP_QQQ);
@@ -112,39 +112,9 @@ export const useRegisterAsdRepForm = (
const onClickDownloadJson = async () => {
if (!json) return;
- downloadJson(json, dRepName);
+ downloadJson(json, ellipsizeText(dRepName, 16, ""));
};
- const validateHash = useCallback(
- async (storingUrl: string) => {
- try {
- if (!hash) throw new Error(MetadataHashValidationErrors.INVALID_HASH);
-
- await validateMetadataHash(storingUrl, hash);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- if (
- Object.values(MetadataHashValidationErrors).includes(error.message)
- ) {
- openModal({
- type: "statusModal",
- state: {
- ...storageInformationErrorModals[
- error.message as MetadataHashValidationErrors
- ],
- onSubmit: backToForm,
- onCancel: backToDashboard,
- // TODO: Open usersnap feedback
- onFeedback: backToDashboard,
- },
- });
- }
- throw error;
- }
- },
- [backToForm, hash],
- );
-
const createRegistrationCert = useCallback(
async (data: RegisterAsDRepValues) => {
if (!hash) return;
@@ -156,10 +126,8 @@ export const useRegisterAsdRepForm = (
}
return await buildDRepRegCert(url, hash);
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
- } catch (error: any) {
- console.error(error);
- throw error;
+ } catch (error) {
+ captureException(error);
}
},
[
@@ -170,6 +138,17 @@ export const useRegisterAsdRepForm = (
],
);
+ const showLoadingModal = useCallback(() => {
+ openModal({
+ type: "loadingModal",
+ state: {
+ title: t("modals.pendingValidation.title"),
+ message: t("modals.pendingValidation.message"),
+ dataTestId: "storing-information-loading",
+ },
+ });
+ }, []);
+
const showSuccessModal = useCallback(() => {
openModal({
type: "statusModal",
@@ -187,9 +166,19 @@ export const useRegisterAsdRepForm = (
const onSubmit = useCallback(
async (data: RegisterAsDRepValues) => {
try {
+ if (!hash) throw MetadataValidationStatus.INVALID_HASH;
+
setIsLoading(true);
+ showLoadingModal();
- await validateHash(data.storingURL);
+ const { status } = await validateMetadata({
+ url: data.storingURL,
+ hash,
+ });
+
+ if (status) {
+ throw status;
+ }
const registerAsDRepCert = await createRegistrationCert(data);
await buildSignSubmitConwayCertTx({
certBuilder: registerAsDRepCert,
@@ -199,12 +188,31 @@ export const useRegisterAsdRepForm = (
showSuccessModal();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- captureException(error);
+ if (Object.values(MetadataValidationStatus).includes(error)) {
+ openModal({
+ type: "statusModal",
+ state: {
+ ...storageInformationErrorModals[
+ error as MetadataValidationStatus
+ ],
+ onSubmit: backToForm,
+ onCancel: backToDashboard,
+ },
+ });
+ } else {
+ captureException(error);
+
+ openWalletErrorModal({
+ error,
+ onSumbit: () => backToDashboard(),
+ dataTestId: "registration-transaction-error-modal",
+ });
+ }
} finally {
setIsLoading(false);
}
},
- [buildSignSubmitConwayCertTx, createRegistrationCert, hash, validateHash],
+ [buildSignSubmitConwayCertTx, createRegistrationCert, hash],
);
return {
diff --git a/govtool/frontend/src/hooks/forms/useVoteActionForm.tsx b/govtool/frontend/src/hooks/forms/useVoteActionForm.tsx
index 50d85c5e6..b554413a4 100644
--- a/govtool/frontend/src/hooks/forms/useVoteActionForm.tsx
+++ b/govtool/frontend/src/hooks/forms/useVoteActionForm.tsx
@@ -6,6 +6,7 @@ import { useLocation, useNavigate } from "react-router-dom";
import { PATHS } from "@consts";
import { useCardano, useSnackbar } from "@context";
+import { useWalletErrorModal } from "@hooks";
export interface VoteActionFormValues {
vote: string;
@@ -34,9 +35,10 @@ export const useVoteActionForm = (
const [isLoading, setIsLoading] = useState(false);
const { buildSignSubmitConwayCertTx, buildVote, isPendingTransaction } =
useCardano();
- const { addErrorAlert, addSuccessAlert } = useSnackbar();
+ const { addSuccessAlert } = useSnackbar();
const navigate = useNavigate();
const { state } = useLocation();
+ const openWalletErrorModal = useWalletErrorModal();
const {
control,
@@ -84,8 +86,11 @@ export const useVoteActionForm = (
},
});
}
- } catch (e) {
- addErrorAlert("Please try again later");
+ } catch (error) {
+ openWalletErrorModal({
+ error,
+ dataTestId: "vote-transaction-error-modal",
+ });
} finally {
setIsLoading(false);
}
diff --git a/govtool/frontend/src/hooks/forms/useVoteContextForm.tsx b/govtool/frontend/src/hooks/forms/useVoteContextForm.tsx
index 27cfccede..c8f78b8b0 100644
--- a/govtool/frontend/src/hooks/forms/useVoteContextForm.tsx
+++ b/govtool/frontend/src/hooks/forms/useVoteContextForm.tsx
@@ -2,19 +2,18 @@ import { Dispatch, SetStateAction, useCallback, useState } from "react";
import { NodeObject } from "jsonld";
import { useFormContext } from "react-hook-form";
import { blake2bHex } from "blakejs";
+import { captureException } from "@sentry/react";
-import {
- CIP_108,
- MetadataHashValidationErrors,
- VOTE_TEST_CONTEXT,
-} from "@consts";
+import { CIP_108, VOTE_TEST_CONTEXT } from "@consts";
import {
canonizeJSON,
downloadJson,
generateJsonld,
- validateMetadataHash,
+ generateMetadataBody,
} from "@utils";
-import { captureException } from "@sentry/react";
+import { MetadataValidationStatus } from "@models";
+
+import { useValidateMutation } from "../mutations";
export type VoteContextFormValues = {
voteContextText: string;
@@ -27,6 +26,7 @@ export const useVoteContextForm = (
setStep?: Dispatch>,
setErrorMessage?: Dispatch>,
) => {
+ const { validateMetadata } = useValidateMutation();
const [hash, setHash] = useState(null);
const [json, setJson] = useState(null);
@@ -42,17 +42,11 @@ export const useVoteContextForm = (
} = useFormContext();
const generateMetadata = useCallback(async () => {
- const data = getValues();
-
- const acceptedKeys = ["voteContextText"];
-
- const filteredData = Object.entries(data)
- .filter(([key]) => acceptedKeys.includes(key))
- .map(([key, value]) => [CIP_108 + key, value]);
-
- const body = {
- ...Object.fromEntries(filteredData),
- };
+ const body = generateMetadataBody({
+ data: getValues(),
+ acceptedKeys: ["voteContextText"],
+ standardReference: CIP_108,
+ });
const jsonld = await generateJsonld(body, VOTE_TEST_CONTEXT);
const canonizedJson = await canonizeJSON(jsonld);
@@ -71,18 +65,19 @@ export const useVoteContextForm = (
}, [json]);
const validateHash = useCallback(
- async (storingUrl: string, localHash: string | null) => {
+ async (url: string, localHash: string | null) => {
try {
if (!localHash) {
- throw new Error(MetadataHashValidationErrors.INVALID_HASH);
+ throw new Error(MetadataValidationStatus.INVALID_HASH);
+ }
+ const result = await validateMetadata({ url, hash: localHash });
+ if (result.status) {
+ throw result.status;
}
- await validateMetadataHash(storingUrl, localHash);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
} catch (error: any) {
- if (
- Object.values(MetadataHashValidationErrors).includes(error.message)
- ) {
- if (setErrorMessage) setErrorMessage(error.message);
+ if (Object.values(MetadataValidationStatus).includes(error)) {
+ if (setErrorMessage) setErrorMessage(error);
if (setStep) setStep(4);
}
throw error;
diff --git a/govtool/frontend/src/hooks/index.ts b/govtool/frontend/src/hooks/index.ts
index da6b8743b..e2a7c78e7 100644
--- a/govtool/frontend/src/hooks/index.ts
+++ b/govtool/frontend/src/hooks/index.ts
@@ -1,13 +1,14 @@
export { useTranslation } from "react-i18next";
-export * from "./useDataActionsBar";
export * from "./useDebounce";
+export * from "./useDelegateToDrep";
export * from "./useFetchNextPageDetector";
export * from "./useOutsideClick";
export * from "./useSaveScrollPosition";
export * from "./useScreenDimension";
export * from "./useSlider";
export * from "./useWalletConnectionListener";
+export * from "./useWalletErrorModal";
export * from "./forms";
export * from "./queries";
diff --git a/govtool/frontend/src/hooks/mutations/index.ts b/govtool/frontend/src/hooks/mutations/index.ts
new file mode 100644
index 000000000..c70ff462e
--- /dev/null
+++ b/govtool/frontend/src/hooks/mutations/index.ts
@@ -0,0 +1 @@
+export * from "./metadataValidation";
diff --git a/govtool/frontend/src/hooks/mutations/metadataValidation/index.ts b/govtool/frontend/src/hooks/mutations/metadataValidation/index.ts
new file mode 100644
index 000000000..61abbe804
--- /dev/null
+++ b/govtool/frontend/src/hooks/mutations/metadataValidation/index.ts
@@ -0,0 +1 @@
+export * from "./useValidateMutation";
diff --git a/govtool/frontend/src/hooks/mutations/metadataValidation/useValidateMutation.ts b/govtool/frontend/src/hooks/mutations/metadataValidation/useValidateMutation.ts
new file mode 100644
index 000000000..9363ca7f1
--- /dev/null
+++ b/govtool/frontend/src/hooks/mutations/metadataValidation/useValidateMutation.ts
@@ -0,0 +1,18 @@
+import { useMutation } from "react-query";
+
+import { postValidate } from "@services";
+import { MUTATION_KEYS } from "@consts";
+import { MetadataValidationDTO } from "@models";
+
+export const useValidateMutation = () => {
+ const { data, isLoading, mutateAsync } = useMutation({
+ mutationFn: (body: MetadataValidationDTO) => postValidate(body),
+ mutationKey: [MUTATION_KEYS.postValidateKey],
+ });
+
+ return {
+ validateMetadata: mutateAsync,
+ validationStatus: data,
+ isValidating: isLoading,
+ };
+};
diff --git a/govtool/frontend/src/hooks/queries/useGetDRepListQuery.ts b/govtool/frontend/src/hooks/queries/useGetDRepListQuery.ts
index 806d55072..4ae33f960 100644
--- a/govtool/frontend/src/hooks/queries/useGetDRepListQuery.ts
+++ b/govtool/frontend/src/hooks/queries/useGetDRepListQuery.ts
@@ -1,22 +1,73 @@
-import { useQuery } from "react-query";
+import { UseInfiniteQueryOptions, useInfiniteQuery } from "react-query";
import { QUERY_KEYS } from "@consts";
import { useCardano } from "@context";
-import { getDRepList } from "@services";
+import { GetDRepListArguments, getDRepList } from "@services";
+import { InfinityDRepData } from "@/models";
-export const useGetDRepListQuery = () => {
+export const useGetDRepListInfiniteQuery = (
+ {
+ filters = [],
+ pageSize = 10,
+ searchPhrase,
+ sorting,
+ status,
+ }: GetDRepListArguments,
+ options?: UseInfiniteQueryOptions,
+) => {
const { pendingTransaction } = useCardano();
- const { data, isLoading } = useQuery({
- queryKey: [
- QUERY_KEYS.useGetDRepListKey,
- (pendingTransaction.registerAsSoleVoter ||
+ const {
+ data,
+ isLoading,
+ fetchNextPage,
+ hasNextPage,
+ isFetching,
+ isFetchingNextPage,
+ isPreviousData,
+ } = useInfiniteQuery(
+ [
+ QUERY_KEYS.useGetDRepListInfiniteKey,
+ (
+ pendingTransaction.registerAsSoleVoter ||
pendingTransaction.registerAsDrep ||
pendingTransaction.retireAsSoleVoter ||
- pendingTransaction.retireAsDrep)?.transactionHash,
+ pendingTransaction.retireAsDrep
+ )?.transactionHash,
+ filters,
+ searchPhrase,
+ sorting,
+ status,
],
- queryFn: getDRepList,
- });
+ async ({ pageParam = 0 }) =>
+ getDRepList({
+ page: pageParam,
+ pageSize,
+ filters,
+ searchPhrase,
+ sorting,
+ status,
+ }),
+ {
+ getNextPageParam: (lastPage) => {
+ if (lastPage.elements.length === 0) {
+ return undefined;
+ }
- return { data, isLoading };
+ return lastPage.page + 1;
+ },
+ enabled: options?.enabled,
+ keepPreviousData: options?.keepPreviousData,
+ },
+ );
+
+ return {
+ dRepListFetchNextPage: fetchNextPage,
+ dRepListHasNextPage: hasNextPage,
+ isDRepListFetching: isFetching,
+ isDRepListFetchingNextPage: isFetchingNextPage,
+ isDRepListLoading: isLoading,
+ dRepData: data?.pages.flatMap((page) => page.elements),
+ isPreviousData,
+ };
};
diff --git a/govtool/frontend/src/hooks/queries/useGetDRepVotesQuery.ts b/govtool/frontend/src/hooks/queries/useGetDRepVotesQuery.ts
index 81ed7c9a8..3578ba955 100644
--- a/govtool/frontend/src/hooks/queries/useGetDRepVotesQuery.ts
+++ b/govtool/frontend/src/hooks/queries/useGetDRepVotesQuery.ts
@@ -5,17 +5,30 @@ import { useCardano } from "@context";
import { getDRepVotes } from "@services";
import { VotedProposalToDisplay } from "@/models/api";
-export const useGetDRepVotesQuery = (filters: string[], sorting: string) => {
+export const useGetDRepVotesQuery = (
+ type?: string[],
+ sort?: string,
+ search?: string,
+) => {
const { dRepID, pendingTransaction } = useCardano();
const { data, isLoading, refetch, isRefetching } = useQuery({
queryKey: [
QUERY_KEYS.useGetDRepVotesKey,
pendingTransaction.vote?.transactionHash,
- filters,
- sorting,
+ type,
+ sort,
+ search,
],
- queryFn: () => getDRepVotes({ dRepID, filters, sorting }),
+ queryFn: () =>
+ getDRepVotes({
+ dRepID,
+ params: {
+ ...(search && { search }),
+ ...(sort && { sort }),
+ ...(type && { type }),
+ },
+ }),
enabled: !!dRepID,
});
diff --git a/govtool/frontend/src/hooks/queries/useGetDRepVotingPowerQuery.ts b/govtool/frontend/src/hooks/queries/useGetDRepVotingPowerQuery.ts
index 03247b518..5c7709fe9 100644
--- a/govtool/frontend/src/hooks/queries/useGetDRepVotingPowerQuery.ts
+++ b/govtool/frontend/src/hooks/queries/useGetDRepVotingPowerQuery.ts
@@ -3,11 +3,10 @@ import { useQuery } from "react-query";
import { QUERY_KEYS } from "@consts";
import { useCardano } from "@context";
import { getDRepVotingPower } from "@services";
-import { useGetVoterInfo } from ".";
+import { VoterInfo } from "@/models";
-export const useGetDRepVotingPowerQuery = () => {
+export const useGetDRepVotingPowerQuery = (voter?: VoterInfo) => {
const { dRepID } = useCardano();
- const { voter } = useGetVoterInfo();
const { data, isLoading } = useQuery({
queryKey: [
diff --git a/govtool/frontend/src/hooks/queries/useGetProposalsInfiniteQuery.ts b/govtool/frontend/src/hooks/queries/useGetProposalsInfiniteQuery.ts
index 7bde94cee..3bae61e10 100644
--- a/govtool/frontend/src/hooks/queries/useGetProposalsInfiniteQuery.ts
+++ b/govtool/frontend/src/hooks/queries/useGetProposalsInfiniteQuery.ts
@@ -24,11 +24,16 @@ export const useGetProposalsInfiniteQuery = ({
});
const mappedElements = await Promise.all(
data.elements.map(async (proposal: ActionType) => {
- const isDataMissing = await checkIsMissingGAMetadata({
+ const { metadata, status } = await checkIsMissingGAMetadata({
hash: proposal?.metadataHash ?? "",
url: proposal?.url ?? "",
});
- return { ...proposal, isDataMissing };
+ // workaround for the missing data in db-sync
+ return {
+ ...proposal,
+ ...metadata,
+ isDataMissing: status || false,
+ };
}),
);
diff --git a/govtool/frontend/src/hooks/queries/useGetProposalsQuery.ts b/govtool/frontend/src/hooks/queries/useGetProposalsQuery.ts
index 2bcb4f3c5..e6b0d6a38 100644
--- a/govtool/frontend/src/hooks/queries/useGetProposalsQuery.ts
+++ b/govtool/frontend/src/hooks/queries/useGetProposalsQuery.ts
@@ -33,11 +33,12 @@ export const useGetProposalsQuery = ({
allProposals
.flatMap((proposal) => proposal.elements)
.map(async (proposal) => {
- const isDataMissing = await checkIsMissingGAMetadata({
+ const { metadata, status } = await checkIsMissingGAMetadata({
hash: proposal?.metadataHash ?? "",
url: proposal?.url ?? "",
});
- return { ...proposal, isDataMissing };
+ // workaround for the missing data in db-sync
+ return { ...proposal, ...metadata, isDataMissing: status || false };
}),
);
diff --git a/govtool/frontend/src/hooks/useDataActionsBar.tsx b/govtool/frontend/src/hooks/useDataActionsBar.tsx
deleted file mode 100644
index 61723d0ea..000000000
--- a/govtool/frontend/src/hooks/useDataActionsBar.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { useState, useCallback, Dispatch, SetStateAction } from "react";
-
-import {
- useDebounce,
-} from "@hooks";
-
-type UseDataActionsBarReturnType = {
- chosenFilters: string[];
- chosenFiltersLength: number;
- chosenSorting: string;
- closeFilters: () => void;
- closeSorts: () => void;
- debouncedSearchText: string;
- filtersOpen: boolean;
- searchText: string;
- setChosenFilters: Dispatch>;
- setChosenSorting: Dispatch>;
- setFiltersOpen: Dispatch>;
- setSearchText: Dispatch>;
- setSortOpen: Dispatch>;
- sortingActive: boolean;
- sortOpen: boolean;
-};
-
-export const useDataActionsBar = (): UseDataActionsBarReturnType => {
- const [searchText, setSearchText] = useState("");
- const debouncedSearchText = useDebounce(searchText, 300);
- const [filtersOpen, setFiltersOpen] = useState(false);
- const [chosenFilters, setChosenFilters] = useState([]);
- const [sortOpen, setSortOpen] = useState(false);
- const [chosenSorting, setChosenSorting] = useState("");
-
- const closeFilters = useCallback(() => {
- setFiltersOpen(false);
- }, [setFiltersOpen]);
-
- const closeSorts = useCallback(() => {
- setSortOpen(false);
- }, [setSortOpen]);
-
- return {
- chosenFilters,
- chosenFiltersLength: chosenFilters.length,
- chosenSorting,
- closeFilters,
- closeSorts,
- debouncedSearchText,
- filtersOpen,
- searchText,
- setChosenFilters,
- setChosenSorting,
- setFiltersOpen,
- setSearchText,
- setSortOpen,
- sortingActive: Boolean(chosenSorting),
- sortOpen,
- };
-};
diff --git a/govtool/frontend/src/hooks/useDelegateToDrep.ts b/govtool/frontend/src/hooks/useDelegateToDrep.ts
new file mode 100644
index 000000000..5a4394446
--- /dev/null
+++ b/govtool/frontend/src/hooks/useDelegateToDrep.ts
@@ -0,0 +1,51 @@
+import { useCallback, useState } from "react";
+import * as Sentry from "@sentry/react";
+import { useTranslation, useWalletErrorModal } from "@hooks";
+import { useCardano, useSnackbar } from "@/context";
+
+export const useDelegateTodRep = () => {
+ const { buildSignSubmitConwayCertTx, buildVoteDelegationCert } = useCardano();
+ const { t } = useTranslation();
+ const { addSuccessAlert, addErrorAlert } = useSnackbar();
+ const openWalletErrorModal = useWalletErrorModal();
+
+ const [isDelegating, setIsDelegating] = useState(false);
+
+ const delegate = useCallback(
+ async (dRepId: string | undefined) => {
+ if (!dRepId) return;
+ setIsDelegating(true);
+ try {
+ const certBuilder = await buildVoteDelegationCert(dRepId);
+ const result = await buildSignSubmitConwayCertTx({
+ certBuilder,
+ type: "delegate",
+ resourceId: dRepId,
+ });
+ if (result) {
+ addSuccessAlert(t("alerts.delegate.success"));
+ }
+ } catch (error) {
+ openWalletErrorModal({
+ error,
+ dataTestId: "delegate-transaction-error-modal",
+ });
+ Sentry.captureException(error);
+ } finally {
+ setIsDelegating(false);
+ }
+ },
+ [
+ addErrorAlert,
+ addSuccessAlert,
+ buildSignSubmitConwayCertTx,
+ buildVoteDelegationCert,
+ t,
+ ],
+ );
+
+ return {
+ delegate,
+ isDelegating,
+ };
+};
diff --git a/govtool/frontend/src/hooks/useWalletErrorModal.tsx b/govtool/frontend/src/hooks/useWalletErrorModal.tsx
new file mode 100644
index 000000000..78f7a2896
--- /dev/null
+++ b/govtool/frontend/src/hooks/useWalletErrorModal.tsx
@@ -0,0 +1,42 @@
+import { useModal } from "@context";
+import { useTranslation } from "react-i18next";
+
+type WalletErrorModalProps = {
+ error: unknown;
+ onSumbit?: () => void;
+ title?: string;
+ buttonText?: string;
+ dataTestId?: string;
+};
+
+export const useWalletErrorModal = () => {
+ const { openModal, closeModal } = useModal();
+ const { t } = useTranslation();
+
+ const openWalletErrorModal = ({
+ error,
+ onSumbit,
+ title,
+ buttonText,
+ dataTestId,
+ }: WalletErrorModalProps) => {
+ const errorMessage = (error && typeof error === 'object' && 'info' in error) ? error.info : error;
+
+ openModal({
+ type: "statusModal",
+ state: {
+ status: "warning",
+ title: title ?? t("modals.common.oops"),
+ message: errorMessage,
+ buttonText: buttonText ?? t("cancel"),
+ onSubmit: () => {
+ if (onSumbit) onSumbit();
+ closeModal();
+ },
+ dataTestId: dataTestId ?? "wallet-error-modal",
+ },
+ });
+ };
+
+ return openWalletErrorModal;
+};
diff --git a/govtool/frontend/src/i18n/locales/en.ts b/govtool/frontend/src/i18n/locales/en.ts
index 1188ff912..e59acaa2a 100644
--- a/govtool/frontend/src/i18n/locales/en.ts
+++ b/govtool/frontend/src/i18n/locales/en.ts
@@ -119,33 +119,28 @@ export const en = {
"You cannot vote on Governance Actions using your own voting power of ₳{{votingPower}} . until you re-register.",
youAreSoleVoterTitle: "You are a Sole Voter",
},
- },
- delegation: {
- changeDelegation: "Change delegation",
- delegateOwnPower:
- "If you want to delegate your own voting power of ₳{{ada}} .",
- dRepDelegatedTo: "DRep you delegated to",
- toDRep:
- "You have delegated your voting power of ₳{{ada}} to a selected DRep.",
- toYourself:
- "You have delegated your voting power of ₳{{ada}} to yourself.",
- useYourVotingPower: "Use your Voting Power",
- voteAbstain:
- "You have delegated your voting power of ₳{{ada}} . You are going to vote 'ABSTAIN' as default.",
- voteNo:
- "You have delegated your voting power of ₳{{ada}} . You are going to vote 'NO' as default.",
- votingPowerDelegation: "Voting Power Delegation",
- yourVotingPowerIsDelegated:
- "Your Voting Power is Delegated ",
- inProgress: {
- toDRep:
- "Your own voting power of ₳{{ada}} is progress of being delegated. You are going to delegate your voting power to a selected DRep.",
- toYourself:
- "Your own voting power of ₳{{ada}} is in progress of being delegated. You are going to delegate your voting power to yourself.",
- voteAbstain:
- "Your own voting power of ₳{{ada}} is in progress of being delegated. You are going to vote ‘ABSTAIN’ as default.",
- voteNo:
- "Your own voting power of ₳{{ada}} is in progress of being delegated. You are going to vote ‘NO’ as default.",
+ delegation: {
+ noDelegationTitle: "Delegate your Voting Power",
+ delegateToAnotherDRep: "Delegate to Another DRep",
+ noDelegationDescription: "Find a DRep to vote on your behalf.",
+ noDelegationActionButton: "View DRep Directory",
+ dRepDelegationTitle:
+ "Your Voting Power of ₳{{ada}} \nis Delegated to:",
+ noConfidenceDelegationTitle:
+ "You have delegated ₳{{ada}} \nto “No Confidence”",
+ abstainDelegationTitle:
+ "You have delegated ₳{{ada}} \nto “Abstain”",
+ abstainDescription:
+ "You have selected to apply your Voting Power to Abstain on every vote.",
+ noDescription:
+ "You have selected to apply your Voting Power to No Confidence on every vote.",
+ inProgress: {
+ title: "Delegation",
+ dRep: "Your voting power of ₳{{ada}} is being delegated to:",
+ abstain:
+ "You have selected to apply your Voting Power to Abstain on every vote.",
+ no: "You have selected to apply your Voting Power to No Confidence on every vote.",
+ },
},
},
},
@@ -249,6 +244,25 @@ export const en = {
title: "Delegate to myself",
},
},
+ dRepDirectory: {
+ abstainCardDescription: "Select this to vote ABSTAIN to every vote.",
+ abstainCardTitle: "Abstain from Every Vote",
+ automatedVotingOptions: "Automated Voting Options",
+ editBtn: "Edit DRep data",
+ delegationOptions: "Delegation Options",
+ filterTitle: "DRep Status",
+ meAsDRep: "This DRep ID is connected to your wallet",
+ myDelegation: "You have delegated ₳ {{ada}} to:",
+ myDRep: "This is your DRep",
+ listTitle: "Find a DRep",
+ noConfidenceDescription:
+ "Select this to signal no confidence in the current constitutional committee by voting NO on every proposal and voting YES to no confidence proposals",
+ noConfidenceTitle: "Signal No Confidence on Every Vote",
+ noResultsForTheSearchTitle: "No DReps found",
+ noResultsForTheSearchDescription: "Please try a different search",
+ title: "DRep Directory",
+ votingPower: "Voting Power",
+ },
errorPage: {
backToDashboard: "Back to dashboard",
backToHomepage: "Back to homepage",
@@ -299,8 +313,9 @@ export const en = {
},
},
footer: {
- copyright: "© 2023 Voltaire Gov Tool",
+ copyright: "© 2024 Intersect MBO",
privacyPolicy: "Privacy policy",
+ termOfService: "Term of service",
},
forms: {
hashPlaceholder: "The hash of metadata at URL",
@@ -409,6 +424,40 @@ export const en = {
partOne: "Governance action with id",
partTwo: "does not exist.",
},
+ tooltips: {
+ info: "An action that has no effect on-chain, other than an on-chain record",
+ treasury: "Withdrawals from the treasury",
+ },
+ type: {
+ noConfidence: {
+ title: "No Confidence",
+ label: "No Confidence",
+ },
+ newCommittee: {
+ title: "New Committee",
+ label: "New Committee",
+ },
+ newConstitution: {
+ title: "Update to the Constitution",
+ label: "Update to the Constitution",
+ },
+ hardFork: {
+ title: "Hard Fork",
+ label: "Hard Fork",
+ },
+ parameterChange: {
+ title: "Protocol Parameter Changes",
+ label: "Protocol Parameter Change",
+ },
+ treasuryWithdrawals: {
+ title: "Treasury Withdrawals",
+ label: "Treasury Withdrawal",
+ },
+ infoAction: {
+ title: "Info Action",
+ label: "Info Action",
+ },
+ },
},
hero: {
connectWallet: "Connect your wallet",
@@ -450,8 +499,6 @@ export const en = {
faqs: "FAQs",
guides: "Guides",
help: "Help",
- dashboard: "Dashboard",
- viewGovActions: "View Governance Actions",
},
metadataUpdate: {
description:
@@ -524,6 +571,11 @@ export const en = {
message:
"Before performing a new action please wait for the previous action transaction to be completed.",
},
+ pendingValidation: {
+ title: "GovTool Is Checking Your Data",
+ message:
+ "GovTool will read the URL that you supplied and make a check to see if it’s identical with the information that you entered on the form.",
+ },
},
editMetadata: {
pageTitle: "Edit DRep Info",
@@ -696,6 +748,12 @@ export const en = {
usingUnregisteredStakeKeys:
"Warning, no registered stake keys, using unregistered stake keys",
},
+ dataMissingErrors: {
+ dataMissing: "Data Missing",
+ notVerifiable: "Not Verifiable",
+ incorrectFormat: "Data Formatted Incorrectly",
+ },
+ about: "About",
abstain: "Abstain",
addLink: "+ Add link",
back: "Back",
@@ -706,15 +764,23 @@ export const en = {
clickToCopyLink: "Click to copy link",
close: "Close",
confirm: "Confirm",
+ connectToDelegate: "Connect to delegate",
continue: "Continue",
+ copiedLink: "Copied link",
delegate: "Delegate",
+ drepId: "DRep ID",
+ email: "Email",
+ feedback: "Feedback",
filter: "Filter",
goBack: "Go back",
here: "here",
+ info: "Info",
inProgress: "In Progress",
learnMore: "Learn more",
+ linkCopied: "Link copied",
loading: "Loading...",
- myDRepId: "My dRep ID:",
+ moreInformation: "More information",
+ myDRepId: "My DRep ID:",
nextStep: "Next step",
no: "No",
ok: "Ok",
@@ -729,9 +795,12 @@ export const en = {
skip: "Skip",
sort: "Sort",
sortBy: "Sort by",
+ status: "Status",
submit: "Submit",
thisLink: "this link",
- votingPower: "Voting power:",
+ viewDetails: "View details",
+ votingPower: "Voting power",
yes: "Yes",
+ yourself: "Yourself",
},
};
diff --git a/govtool/frontend/src/main.tsx b/govtool/frontend/src/main.tsx
index 6243d91d8..5615a22ce 100644
--- a/govtool/frontend/src/main.tsx
+++ b/govtool/frontend/src/main.tsx
@@ -13,7 +13,7 @@ import TagManager from "react-gtm-module";
import { ThemeProvider } from "@emotion/react";
import * as Sentry from "@sentry/react";
-import { ContextProviders } from "@context";
+import { ContextProviders, UsersnapProvider } from "@context";
import App from "./App.tsx";
import { theme } from "./theme.ts";
@@ -84,11 +84,13 @@ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
-
-
-
-
-
+
+
+
+
+
+
+
{import.meta.env.VITE_IS_DEV && (
diff --git a/govtool/frontend/src/models/api.ts b/govtool/frontend/src/models/api.ts
index 7f9b24e9a..ba1b2eb28 100644
--- a/govtool/frontend/src/models/api.ts
+++ b/govtool/frontend/src/models/api.ts
@@ -1,4 +1,4 @@
-import { GAMetedataErrors } from "@utils";
+import { MetadataValidationStatus } from "@models";
export interface VoterInfo {
isRegisteredAsDRep: boolean;
@@ -6,14 +6,40 @@ export interface VoterInfo {
isRegisteredAsSoleVoter: boolean;
wasRegisteredAsSoleVoter: boolean;
deposit: number;
+ dRepRegisterTxHash: string | null;
+ dRepRetireTxHash: string | null;
+ soleVoterRegisterTxHash: string | null;
+ soleVoterRetireTxHash: string | null;
+}
+
+export enum DRepStatus {
+ Active = "Active",
+ Inactive = "Inactive",
+ Retired = "Retired",
+}
+
+export enum DRepListSort {
+ VotingPower = "VotingPower",
+ RegistrationDate = "RegistrationDate",
+ Status = "Status",
}
export interface DRepData {
drepId: string;
+ view: string;
url: string;
metadataHash: string;
deposit: number;
+ votingPower: number;
+ status: DRepStatus;
+ type: "DRep" | "SoleVoter";
}
+export type InfinityDRepData = {
+ elements: DRepData[];
+ page: number;
+ pageSize: number;
+ total: number;
+};
export type Vote = "yes" | "no" | "abstain";
@@ -25,13 +51,14 @@ export type InfinityProposals = {
};
type ProposalVote = {
- proposalId: string;
- drepId: string;
- vote: Vote;
- url: string;
- metadataHash: string;
date: string;
+ drepId: string;
epochNo: number;
+ metadataHash: string;
+ proposalId: string;
+ txHash: string;
+ url: string;
+ vote: Vote;
};
type ProposalData = {
@@ -60,5 +87,13 @@ export interface VotedProposal {
}
export type VotedProposalToDisplay = {
vote: ProposalVote;
- proposal: ProposalData & { isDataMissing: boolean | GAMetedataErrors };
+ proposal: ProposalData & {
+ isDataMissing: boolean | MetadataValidationStatus;
+ };
};
+
+export type CurrentDelegation = {
+ dRepHash: string | null;
+ dRepView: string | null;
+ txHash: string | null;
+} | null;
diff --git a/govtool/frontend/src/models/index.ts b/govtool/frontend/src/models/index.ts
index 331bf6b43..46b6a8e5d 100644
--- a/govtool/frontend/src/models/index.ts
+++ b/govtool/frontend/src/models/index.ts
@@ -1,3 +1,4 @@
export * from "./api";
export * from "./snackbar";
export * from "./wallet";
+export * from "./metadataValidation";
diff --git a/govtool/frontend/src/models/metadataValidation.ts b/govtool/frontend/src/models/metadataValidation.ts
new file mode 100644
index 000000000..bb4a4edcc
--- /dev/null
+++ b/govtool/frontend/src/models/metadataValidation.ts
@@ -0,0 +1,24 @@
+// TODO: Should be taken from @govtool/metadata-validation
+export enum MetadataValidationStatus {
+ URL_NOT_FOUND = "URL_NOT_FOUND",
+ INVALID_JSONLD = "INVALID_JSONLD",
+ INVALID_HASH = "INVALID_HASH",
+ INCORRECT_FORMAT = "INCORRECT_FORMAT",
+}
+
+export type ValidateMetadataResult = {
+ status?: MetadataValidationStatus;
+ valid: boolean;
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ metadata?: any;
+};
+
+export enum MetadataStandard {
+ CIP108 = "CIP108",
+}
+
+export type MetadataValidationDTO = {
+ url: string;
+ hash: string;
+ standard?: MetadataStandard;
+};
diff --git a/govtool/frontend/src/pages/ChooseStakeKey.tsx b/govtool/frontend/src/pages/ChooseStakeKey.tsx
index 8f680535c..cdd2eac10 100644
--- a/govtool/frontend/src/pages/ChooseStakeKey.tsx
+++ b/govtool/frontend/src/pages/ChooseStakeKey.tsx
@@ -3,20 +3,17 @@ import { Box } from "@mui/material";
import { Background } from "@atoms";
import { TopNav, ChooseStakeKeyPanel, Footer } from "@organisms";
-import { useScreenDimension } from "@/hooks";
-export const ChooseStakeKey = () => {
- const { isMobile } = useScreenDimension();
-
- return (
-
-
-
-
-
-
- {isMobile && }
+export const ChooseStakeKey = () => (
+
+
+
+
+
-
- );
-};
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
+
+
+);
diff --git a/govtool/frontend/src/pages/CreateGovernanceAction.tsx b/govtool/frontend/src/pages/CreateGovernanceAction.tsx
index 1977dd5af..3c507874b 100644
--- a/govtool/frontend/src/pages/CreateGovernanceAction.tsx
+++ b/govtool/frontend/src/pages/CreateGovernanceAction.tsx
@@ -88,7 +88,9 @@ export const CreateGovernanceAction = () => {
{step === 5 && }
{step === 6 && }
- {isMobile && }
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
);
diff --git a/govtool/frontend/src/pages/DRepDetails.tsx b/govtool/frontend/src/pages/DRepDetails.tsx
new file mode 100644
index 000000000..1734fb7a7
--- /dev/null
+++ b/govtool/frontend/src/pages/DRepDetails.tsx
@@ -0,0 +1,318 @@
+import { PropsWithChildren } from "react";
+import { Navigate, useNavigate, useParams } from "react-router-dom";
+import { Box, ButtonBase, Chip, CircularProgress } from "@mui/material";
+
+import { Button, LoadingButton, StatusPill, Typography } from "@atoms";
+import { ICONS, PATHS } from "@consts";
+import { useCardano, useModal } from "@context";
+import {
+ useDelegateTodRep,
+ useGetDRepListInfiniteQuery,
+ useScreenDimension,
+ useTranslation,
+} from "@hooks";
+import { Card, LinkWithIcon, Share } from "@molecules";
+import {
+ correctAdaFormat,
+ isSameDRep,
+ openInNewTab,
+ testIdFromLabel,
+} from "@utils";
+
+const LINKS = [
+ "darlenelonglink1.DRepwebsiteorwhatever.com",
+ "darlenelonglink2.DRepwebsiteorwhatever.com",
+ "darlenelonglink3.DRepwebsiteorwhatever.com",
+ "darlenelonglink4.DRepwebsiteorwhatever.com",
+ "darlenelonglink5.DRepwebsiteorwhatever.com",
+];
+
+type DRepDetailsProps = {
+ isConnected?: boolean;
+};
+
+export const DRepDetails = ({ isConnected }: DRepDetailsProps) => {
+ const { dRepID: myDRepId, pendingTransaction } = useCardano();
+ const { t } = useTranslation();
+ const navigate = useNavigate();
+ const { openModal } = useModal();
+ const { screenWidth } = useScreenDimension();
+ const { dRepId: dRepParam } = useParams();
+
+ const { delegate, isDelegating } = useDelegateTodRep();
+
+ const { dRepData, isDRepListLoading } = useGetDRepListInfiniteQuery({
+ searchPhrase: dRepParam,
+ });
+ const dRep = dRepData?.[0];
+
+ if (dRep === undefined || isDRepListLoading)
+ return (
+
+
+
+ );
+
+ if (!dRep) return ;
+
+ const { view, status, votingPower, type } = dRep;
+
+ const isMe = isSameDRep(dRep, myDRepId);
+ const isMyDrep = isSameDRep(dRep, myDRepId);
+ const isMyDrepInProgress = isSameDRep(
+ dRep,
+ pendingTransaction.delegate?.resourceId,
+ );
+
+ return (
+ <>
+
+ navigate(
+ isConnected ? PATHS.dashboardDRepDirectory : PATHS.dRepDirectory,
+ )
+ }
+ sx={{ mb: 2 }}
+ />
+
+ {(isMe || isMyDrep) && (
+ theme.shadows[2],
+ color: (theme) => theme.palette.text.primary,
+ mb: 1.5,
+ px: 2,
+ py: 0.5,
+ width: "100%",
+ }}
+ />
+ )}
+
+
+ {type}
+
+ {isMe && (
+ navigate(PATHS.editDrepMetadata)}
+ variant="outlined"
+ >
+ {t("dRepDirectory.editBtn")}
+
+ )}
+
+
+
+
+
+ {view}
+
+
+
+
+
+
+ {"₳ "}
+ {correctAdaFormat(votingPower)}
+
+
+ {/* TODO: fetch metadata, add views for metadata errors */}
+
+
+
+
+
+ {LINKS.map((link) => (
+
+ ))}
+
+
+
+
+
+ {isConnected && status === "Active" && !isMyDrep && (
+ delegate(dRep.view)}
+ size="extraLarge"
+ sx={{ width: "100%" }}
+ variant="contained"
+ >
+ {t("delegate")}
+
+ )}
+ {!isConnected && status === "Active" && (
+
+ openModal({
+ type: "chooseWallet",
+ state: {
+ pathToNavigate: PATHS.dashboardDRepDirectoryDRep.replace(
+ ":dRepId",
+ view,
+ ),
+ },
+ })
+ }
+ size="extraLarge"
+ sx={{ width: "100%" }}
+ variant="outlined"
+ >
+ {t("connectToDelegate")}
+
+ )}
+
+
+
+ {t("about")}
+
+
+ {/* TODO replace with actual data */}I am the Cardano crusader carving
+ his path in the blockchain battleground. With a mind sharper than a
+ Ledger Nano X, this fearless crypto connoisseur fearlessly navigates
+ the volatile seas of Cardano, turning code into currency. Armed with a
+ keyboard and a heart pumping with blockchain beats, Mister Big Bad
+ fearlessly champions decentralization, smart contracts, and the
+ Cardano community. His Twitter feed is a mix of market analysis that
+ rivals CNBC and memes that could break the internet.
+
+
+ >
+ );
+};
+
+const ellipsisStyles = {
+ overflow: "hidden",
+ textOverflow: "ellipsis",
+ whiteSpace: "nowrap",
+};
+
+type DrepDetailsInfoItemProps = PropsWithChildren & {
+ label: string;
+};
+
+const DRepDetailsInfoItem = ({ children, label }: DrepDetailsInfoItemProps) => (
+ <>
+
+
+ {label}
+
+
+
+ {children}
+
+ >
+);
+
+const DRepId = ({ children }: PropsWithChildren) => (
+
+
+ {children}
+
+
+
+);
+
+type LinkWithIconProps = {
+ label: string;
+ navTo: string;
+};
+
+const MoreInfoLink = ({ label, navTo }: LinkWithIconProps) => {
+ const openLink = () => openInNewTab(navTo);
+
+ return (
+
+
+
+ {label}
+
+
+ );
+};
diff --git a/govtool/frontend/src/pages/DRepDirectory.tsx b/govtool/frontend/src/pages/DRepDirectory.tsx
new file mode 100644
index 000000000..4d0cd048c
--- /dev/null
+++ b/govtool/frontend/src/pages/DRepDirectory.tsx
@@ -0,0 +1,47 @@
+import { Outlet } from "react-router-dom";
+import { Box } from "@mui/material";
+
+import { Background, PagePaddingBox, ContentBox } from "@atoms";
+import { useTranslation } from "@hooks";
+import { PageTitle } from "@molecules";
+import { Footer, TopNav } from "@organisms";
+import { checkIsWalletConnected } from "@utils";
+
+export const DRepDirectory = () => {
+ const { t } = useTranslation();
+
+ const isConnected = !checkIsWalletConnected();
+
+ if (isConnected) {
+ return (
+
+
+
+ );
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
+
+
+ );
+};
diff --git a/govtool/frontend/src/pages/DRepDirectoryContent.tsx b/govtool/frontend/src/pages/DRepDirectoryContent.tsx
new file mode 100644
index 000000000..6192fa9a3
--- /dev/null
+++ b/govtool/frontend/src/pages/DRepDirectoryContent.tsx
@@ -0,0 +1,209 @@
+import { FC } from "react";
+import { Trans, useTranslation } from "react-i18next";
+import { Box, CircularProgress } from "@mui/material";
+
+import { Button, Typography } from "@atoms";
+import { DREP_DIRECTORY_FILTERS, DREP_DIRECTORY_SORTING } from "@consts";
+import { useCardano, useDataActionsBar } from "@context";
+import {
+ useDelegateTodRep,
+ useGetAdaHolderCurrentDelegationQuery,
+ useGetAdaHolderVotingPowerQuery,
+ useGetDRepListInfiniteQuery,
+} from "@hooks";
+import { Card, DataActionsBar } from "@molecules";
+import { AutomatedVotingOptions, DRepCard } from "@organisms";
+import { correctAdaFormat, formHexToBech32, isSameDRep } from "@utils";
+import { DRepListSort, DRepStatus } from "@models";
+
+interface DRepDirectoryContentProps {
+ isConnected?: boolean;
+}
+
+const Loader = () => (
+
+
+
+);
+
+export const DRepDirectoryContent: FC = ({
+ isConnected,
+}) => {
+ const { dRepID: myDRepId, pendingTransaction, stakeKey } = useCardano();
+ const { t } = useTranslation();
+ const { debouncedSearchText, ...dataActionsBarProps } = useDataActionsBar();
+ const { chosenFilters, chosenSorting } = dataActionsBarProps;
+
+ const { delegate, isDelegating } = useDelegateTodRep();
+
+ const { votingPower } = useGetAdaHolderVotingPowerQuery(stakeKey);
+ const { currentDelegation } = useGetAdaHolderCurrentDelegationQuery(stakeKey);
+ const inProgressDelegation = pendingTransaction.delegate?.resourceId;
+
+ const { dRepData: myDRepList } = useGetDRepListInfiniteQuery(
+ {
+ searchPhrase: currentDelegation?.dRepView?.startsWith("drep")
+ ? currentDelegation.dRepView
+ : formHexToBech32(currentDelegation?.dRepHash ?? ""),
+ },
+ { enabled: !!inProgressDelegation || !!currentDelegation },
+ );
+ const myDrep = myDRepList?.[0];
+
+ const {
+ dRepData: dRepList,
+ isPreviousData,
+ dRepListHasNextPage,
+ dRepListFetchNextPage,
+ } = useGetDRepListInfiniteQuery(
+ {
+ searchPhrase: debouncedSearchText,
+ sorting: chosenSorting as DRepListSort,
+ status: chosenFilters as DRepStatus[],
+ },
+ {
+ keepPreviousData: true,
+ },
+ );
+
+ if (
+ (stakeKey && votingPower === undefined) ||
+ !dRepList ||
+ (isConnected && currentDelegation === undefined)
+ ) {
+ return ;
+ }
+
+ const ada = correctAdaFormat(votingPower);
+
+ return (
+
+ {/* My delegation */}
+ {myDrep && (
+
+
+
+
+
+
+ )}
+
+ {/* Automated voting options */}
+ {isConnected && (
+
+
+ {t("dRepDirectory.delegationOptions")}
+
+
+
+ )}
+
+ {/* DRep list */}
+ <>
+
+ {t("dRepDirectory.listTitle")}
+
+
+
+ {dRepList?.length === 0 && (
+
+
+ {t("dRepDirectory.noResultsForTheSearchTitle")}
+
+
+ {t("dRepDirectory.noResultsForTheSearchDescription")}
+
+
+ )}
+ {dRepList?.map((dRep) => {
+ if (isSameDRep(dRep, myDrep?.view)) {
+ return null;
+ }
+ return (
+
+ delegate(dRep.drepId)}
+ />
+
+ );
+ })}
+
+ >
+ {dRepListHasNextPage && (
+
+ dRepListFetchNextPage()}
+ >
+ {t("showMore")}
+
+
+ )}
+
+ );
+};
diff --git a/govtool/frontend/src/pages/Dashboard.tsx b/govtool/frontend/src/pages/Dashboard.tsx
index 80c9797b1..b6852bc8e 100644
--- a/govtool/frontend/src/pages/Dashboard.tsx
+++ b/govtool/frontend/src/pages/Dashboard.tsx
@@ -3,7 +3,7 @@ import { useLocation, Outlet, useNavigate } from "react-router-dom";
import { Box } from "@mui/material";
import { Background, ScrollToManage } from "@atoms";
-import { PATHS } from "@consts";
+import { CONNECTED_NAV_ITEMS, PATHS } from "@consts";
import { useCardano } from "@context";
import { useScreenDimension, useTranslation } from "@hooks";
import { DashboardTopNav, Drawer, Footer } from "@organisms";
@@ -18,13 +18,11 @@ export const Dashboard = () => {
const { t } = useTranslation();
const getPageTitle = (path: string) => {
- if (path === PATHS.dashboard) {
- return t("dashboard.title");
- }
- if (path.includes(PATHS.dashboardGovernanceActions)) {
- return t("govActions.title");
- }
- return "";
+ if (path === PATHS.dashboard) return t("dashboard.title");
+ return (
+ Object.values(CONNECTED_NAV_ITEMS).find(({ navTo }) => pathname.startsWith(navTo))
+ ?.label ?? ""
+ );
};
useEffect(() => {
@@ -62,7 +60,9 @@ export const Dashboard = () => {
- {isMobile ? : null}
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
diff --git a/govtool/frontend/src/pages/DashboardGovernanceActionsCategory.tsx b/govtool/frontend/src/pages/DashboardGovernanceActionsCategory.tsx
index 5c8ab4318..c1982d563 100644
--- a/govtool/frontend/src/pages/DashboardGovernanceActionsCategory.tsx
+++ b/govtool/frontend/src/pages/DashboardGovernanceActionsCategory.tsx
@@ -4,14 +4,13 @@ import { Box, CircularProgress, Link } from "@mui/material";
import { Background, Typography } from "@atoms";
import { GOVERNANCE_ACTIONS_SORTING, ICONS, PATHS } from "@consts";
-import { useCardano } from "@context";
+import { useCardano, useDataActionsBar } from "@context";
import {
DataActionsBar,
EmptyStateGovernanceActionsCategory,
GovernanceActionCard,
} from "@molecules";
import {
- useDataActionsBar,
useFetchNextPageDetector,
useGetProposalsInfiniteQuery,
useGetVoterInfo,
@@ -69,118 +68,121 @@ export const DashboardGovernanceActionsCategory = () => {
return (
-
-
- navigate(PATHS.dashboardGovernanceActions)}
- >
-
-
- {t("govActions.backToGovActions")}
-
-
-
-
- {getProposalTypeLabel(category ?? "")}
-
- {!mappedData || isEnableLoading || isProposalsLoading ? (
-
-
+ navigate(PATHS.dashboardGovernanceActions)}
+ >
+
+
+ {t("govActions.backToGovActions")}
+
+
+
+
+ {getProposalTypeLabel(category ?? "")}
+
+ {!mappedData || isEnableLoading || isProposalsLoading ? (
+
+
+
+ ) : !mappedData?.length ? (
+
+ ) : (
+
+ {mappedData.map((item) => (
+
+ {
+ saveScrollPosition();
+
+ if (
+ pendingTransaction.vote?.resourceId ===
+ item.txHash + item.index
+ ) {
+ openInNewTab(
+ `https://sancho.cexplorer.io/tx/${pendingTransaction.vote.transactionHash}`,
+ );
+ } else {
+ navigate(
+ generatePath(PATHS.dashboardGovernanceActionsAction, {
+ proposalId: getFullGovActionId(
+ item.txHash,
+ item.index,
+ ),
+ }),
+ {
+ state: {
+ ...item,
+ openedFromCategoryPage: true,
+ },
+ },
+ );
+ }
+ }}
+ txHash={item.txHash}
+ />
- ) : !mappedData?.length ? (
-
- ) : (
+ ))}
+ {proposalsHaveNextPage && isProposalsFetchingNextPage && (
- {mappedData.map((item) => (
-
- {
- saveScrollPosition();
-
- if (
- pendingTransaction.vote?.resourceId ===
- item.txHash + item.index
- ) {
- openInNewTab(
- "https://adanordic.com/latest_transactions",
- );
- } else {
- navigate(
- generatePath(
- PATHS.dashboardGovernanceActionsAction,
- {
- proposalId: getFullGovActionId(
- item.txHash,
- item.index,
- ),
- },
- ),
- {
- state: {
- ...item,
- openedFromCategoryPage: true,
- },
- },
- );
- }
- }}
- txHash={item.txHash}
- />
-
- ))}
- {proposalsHaveNextPage && isProposalsFetchingNextPage && (
-
-
-
- )}
+
)}
-
+ )}
);
diff --git a/govtool/frontend/src/pages/DelegateTodRep.tsx b/govtool/frontend/src/pages/DelegateTodRep.tsx
deleted file mode 100644
index 56b0c8ff3..000000000
--- a/govtool/frontend/src/pages/DelegateTodRep.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { useEffect, useState } from "react";
-import { useNavigate } from "react-router-dom";
-import { Box } from "@mui/material";
-
-import { Background } from "@atoms";
-import { PATHS } from "@consts";
-import { useScreenDimension, useTranslation } from "@hooks";
-import {
- DashboardTopNav,
- DelegateTodRepStepOne,
- DelegateTodRepStepTwo,
- Footer,
-} from "@organisms";
-import { checkIsWalletConnected } from "@utils";
-
-export const DelegateTodRep = () => {
- const [step, setStep] = useState(1);
- const { isMobile } = useScreenDimension();
- const navigate = useNavigate();
- const { t } = useTranslation();
-
- useEffect(() => {
- if (checkIsWalletConnected()) {
- navigate(PATHS.home);
- }
- }, []);
-
- return (
-
-
-
-
- {step === 1 && }
- {step === 2 && }
-
- {isMobile && }
-
-
- );
-};
diff --git a/govtool/frontend/src/pages/EditDRepMetadata.tsx b/govtool/frontend/src/pages/EditDRepMetadata.tsx
index e8296ee45..d7dbaf10d 100644
--- a/govtool/frontend/src/pages/EditDRepMetadata.tsx
+++ b/govtool/frontend/src/pages/EditDRepMetadata.tsx
@@ -82,7 +82,9 @@ export const EditDRepMetadata = () => {
{step === 2 && }
{step === 3 && }
- {isMobile && }
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
);
diff --git a/govtool/frontend/src/pages/GovernanceActionDetails.tsx b/govtool/frontend/src/pages/GovernanceActionDetails.tsx
index 984e69fe5..0dcf03949 100644
--- a/govtool/frontend/src/pages/GovernanceActionDetails.tsx
+++ b/govtool/frontend/src/pages/GovernanceActionDetails.tsx
@@ -181,6 +181,8 @@ export const GovernanceActionDetails = () => {
)}
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
diff --git a/govtool/frontend/src/pages/GovernanceActions.tsx b/govtool/frontend/src/pages/GovernanceActions.tsx
index bd4a807ed..95a6f114a 100644
--- a/govtool/frontend/src/pages/GovernanceActions.tsx
+++ b/govtool/frontend/src/pages/GovernanceActions.tsx
@@ -3,10 +3,13 @@ import { useNavigate } from "react-router-dom";
import { Box, CircularProgress, Divider } from "@mui/material";
import { Background, ScrollToManage, Typography } from "@atoms";
-import { GOVERNANCE_ACTIONS_FILTERS, GOVERNANCE_ACTIONS_SORTING, PATHS } from "@consts";
-import { useCardano } from "@context";
import {
- useDataActionsBar,
+ GOVERNANCE_ACTIONS_FILTERS,
+ GOVERNANCE_ACTIONS_SORTING,
+ PATHS,
+} from "@consts";
+import { useCardano, useDataActionsBar } from "@context";
+import {
useGetProposalsQuery,
useScreenDimension,
useTranslation,
@@ -16,7 +19,7 @@ import { Footer, TopNav, GovernanceActionsToVote } from "@organisms";
import { WALLET_LS_KEY, getItemFromLocalStorage } from "@utils";
const defaultCategories = GOVERNANCE_ACTIONS_FILTERS.map(
- (category) => category.key
+ (category) => category.key,
);
export const GovernanceActions = () => {
@@ -46,13 +49,23 @@ export const GovernanceActions = () => {
-
+
{
}}
/>
)}
-
+
-
+
{!proposals || isProposalsLoading ? (
) : (
-
+ <>
+
+
+ >
)}
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
diff --git a/govtool/frontend/src/pages/GovernanceActionsCategory.tsx b/govtool/frontend/src/pages/GovernanceActionsCategory.tsx
index 19562ec85..b78b013cd 100644
--- a/govtool/frontend/src/pages/GovernanceActionsCategory.tsx
+++ b/govtool/frontend/src/pages/GovernanceActionsCategory.tsx
@@ -4,7 +4,7 @@ import { Box, CircularProgress, Link } from "@mui/material";
import { Background, Typography } from "@atoms";
import { GOVERNANCE_ACTIONS_SORTING, ICONS, PATHS } from "@consts";
-import { useCardano } from "@context";
+import { useCardano, useDataActionsBar } from "@context";
import {
DataActionsBar,
EmptyStateGovernanceActionsCategory,
@@ -18,7 +18,6 @@ import {
useScreenDimension,
useTranslation,
useGetVoterInfo,
- useDataActionsBar,
} from "@hooks";
import {
WALLET_LS_KEY,
@@ -84,8 +83,14 @@ export const GovernanceActionsCategory = () => {
minHeight="100vh"
>
-
-
+
+
{
)
) : (
-
+
)}
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
diff --git a/govtool/frontend/src/pages/Home.tsx b/govtool/frontend/src/pages/Home.tsx
index 25942471c..8c3615a1a 100644
--- a/govtool/frontend/src/pages/Home.tsx
+++ b/govtool/frontend/src/pages/Home.tsx
@@ -24,6 +24,8 @@ export const Home = () => {
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
diff --git a/govtool/frontend/src/pages/RegisterAsSoleVoter.tsx b/govtool/frontend/src/pages/RegisterAsSoleVoter.tsx
index 822d809ce..ad387b4da 100644
--- a/govtool/frontend/src/pages/RegisterAsSoleVoter.tsx
+++ b/govtool/frontend/src/pages/RegisterAsSoleVoter.tsx
@@ -1,15 +1,89 @@
-import { useEffect } from "react";
+import { useCallback, useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
+import { Trans } from "react-i18next";
+import { Box, Link } from "@mui/material";
+import { Background, Typography } from "@atoms";
import { PATHS } from "@consts";
-import { RegisterAsSoleVoterBox } from "@organisms";
-import { useTranslation } from "@hooks";
-import { CenteredBoxPageWrapper } from "@molecules";
-import { checkIsWalletConnected } from "@/utils";
+import { useCardano, useModal } from "@context";
+import {
+ useGetVoterInfo,
+ useScreenDimension,
+ useTranslation,
+ useWalletErrorModal,
+} from "@hooks";
+import { LinkWithIcon } from "@molecules";
+import { BgCard, DashboardTopNav, Footer } from "@organisms";
+import {
+ PROTOCOL_PARAMS_KEY,
+ checkIsWalletConnected,
+ correctAdaFormat,
+ getItemFromLocalStorage,
+ openInNewTab,
+} from "@utils";
export const RegisterAsSoleVoter = () => {
+ const epochParams = getItemFromLocalStorage(PROTOCOL_PARAMS_KEY);
const navigate = useNavigate();
+ const [isLoading, setIsLoading] = useState(false);
const { t } = useTranslation();
+ const { isMobile } = useScreenDimension();
+ const { voter } = useGetVoterInfo();
+ const openWalletErrorModal = useWalletErrorModal();
+ const { buildSignSubmitConwayCertTx, buildDRepRegCert, buildDRepUpdateCert } =
+ useCardano();
+ const { openModal, closeModal } = useModal();
+
+ const onRegister = useCallback(async () => {
+ setIsLoading(true);
+
+ try {
+ const certBuilder = voter?.isRegisteredAsDRep
+ ? await buildDRepUpdateCert()
+ : await buildDRepRegCert();
+ const result = await buildSignSubmitConwayCertTx({
+ certBuilder,
+ type: "registerAsSoleVoter",
+ });
+ if (result) {
+ openModal({
+ type: "statusModal",
+ state: {
+ status: "success",
+ title: t("modals.registration.title"),
+ message: t("modals.registration.message"),
+ link: `https://sancho.cexplorer.io/tx/${result}`,
+ buttonText: t("modals.common.goToDashboard"),
+ onSubmit: () => {
+ navigate(PATHS.dashboard);
+ closeModal();
+ },
+ dataTestId: "registration-transaction-submitted-modal",
+ },
+ });
+ }
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ } catch (error: any) {
+ openWalletErrorModal({
+ error,
+ buttonText: t("modals.common.goToDashboard"),
+ onSumbit: () => navigate(PATHS.dashboard),
+ dataTestId: "registration-transaction-error-modal",
+ });
+ } finally {
+ setIsLoading(false);
+ }
+ }, [
+ buildSignSubmitConwayCertTx,
+ buildDRepRegCert,
+ openModal,
+ voter?.isRegisteredAsDRep,
+ ]);
+
+ const navigateToDashboard = useCallback(
+ () => navigate(PATHS.dashboard),
+ [navigate],
+ );
useEffect(() => {
if (checkIsWalletConnected()) {
@@ -18,13 +92,57 @@ export const RegisterAsSoleVoter = () => {
}, []);
return (
-
-
-
+
+
+
+
+
+
+ {t("soleVoter.registerHeading")}
+
+
+ openInNewTab("https://sancho.network/")}
+ sx={{ cursor: "pointer" }}
+ key="0"
+ />,
+ ]}
+ />
+
+
+
+
+
);
};
diff --git a/govtool/frontend/src/pages/RegisterAsdRep.tsx b/govtool/frontend/src/pages/RegisterAsdRep.tsx
index fc2d1430f..f5f76d56c 100644
--- a/govtool/frontend/src/pages/RegisterAsdRep.tsx
+++ b/govtool/frontend/src/pages/RegisterAsdRep.tsx
@@ -115,7 +115,9 @@ export const RegisterAsdRep = () => {
>
)}
- {isMobile && }
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
);
diff --git a/govtool/frontend/src/pages/RetireAsDrep.tsx b/govtool/frontend/src/pages/RetireAsDrep.tsx
index 6d03aebea..925b86dcb 100644
--- a/govtool/frontend/src/pages/RetireAsDrep.tsx
+++ b/govtool/frontend/src/pages/RetireAsDrep.tsx
@@ -4,7 +4,7 @@ import { Box } from "@mui/material";
import { Background } from "@atoms";
import { PATHS } from "@consts";
-import { DashboardTopNav, WhatRetirementMeans } from "@organisms";
+import { DashboardTopNav, Footer, WhatRetirementMeans } from "@organisms";
import { useScreenDimension, useTranslation } from "@hooks";
import { LinkWithIcon } from "@molecules";
import { checkIsWalletConnected } from "@utils";
@@ -41,6 +41,9 @@ export const RetireAsDrep = () => {
}}
/>
+ {/* FIXME: Footer should be on top of the layout.
+ Should not be rerendered across the pages */}
+
);
diff --git a/govtool/frontend/src/pages/RetireAsSoleVoter.tsx b/govtool/frontend/src/pages/RetireAsSoleVoter.tsx
index 7b8fde1cc..369575572 100644
--- a/govtool/frontend/src/pages/RetireAsSoleVoter.tsx
+++ b/govtool/frontend/src/pages/RetireAsSoleVoter.tsx
@@ -1,15 +1,84 @@
-import { useEffect } from "react";
+import { useCallback, useEffect, useState } from "react";
+import { useNavigate } from "react-router-dom";
+import { Trans } from "react-i18next";
+import { Box, Link } from "@mui/material";
+import { Background, Typography } from "@atoms";
import { PATHS } from "@consts";
-import { RetireAsSoleVoterBox } from "@organisms";
-import { useTranslation } from "@hooks";
-import { useNavigate } from "react-router-dom";
-import { CenteredBoxPageWrapper } from "@molecules";
-import { checkIsWalletConnected } from "@/utils";
+import { useCardano, useModal } from "@context";
+import {
+ useGetVoterInfo,
+ useScreenDimension,
+ useTranslation,
+ useWalletErrorModal,
+} from "@hooks";
+import { LinkWithIcon } from "@molecules";
+import { BgCard, DashboardTopNav, Footer } from "@organisms";
+import { checkIsWalletConnected, correctAdaFormat, openInNewTab } from "@utils";
export const RetireAsSoleVoter = () => {
const navigate = useNavigate();
+ const [isLoading, setIsLoading] = useState(false);
const { t } = useTranslation();
+ const { isMobile } = useScreenDimension();
+ const { voter } = useGetVoterInfo();
+ const openWalletErrorModal = useWalletErrorModal();
+ const { buildSignSubmitConwayCertTx, buildDRepRetirementCert } = useCardano();
+ const { openModal, closeModal } = useModal();
+
+ const onRetire = useCallback(async () => {
+ try {
+ setIsLoading(true);
+ if (!voter?.deposit) {
+ throw new Error(t("errors.appCannotGetDeposit"));
+ }
+ const certBuilder = await buildDRepRetirementCert(
+ voter?.deposit?.toString(),
+ );
+ const result = await buildSignSubmitConwayCertTx({
+ certBuilder,
+ type: "retireAsSoleVoter",
+ voterDeposit: voter?.deposit?.toString(),
+ });
+ if (result) {
+ openModal({
+ type: "statusModal",
+ state: {
+ status: "success",
+ title: t("modals.retirement.title"),
+ message: t("modals.retirement.message"),
+ link: `https://sancho.cexplorer.io/tx/${result}`,
+ buttonText: t("modals.common.goToDashboard"),
+ dataTestId: "retirement-transaction-submitted-modal",
+ onSubmit: () => {
+ navigate(PATHS.dashboard);
+ closeModal();
+ },
+ },
+ });
+ }
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ } catch (error: any) {
+ openWalletErrorModal({
+ error,
+ buttonText: t("modals.common.goToDashboard"),
+ onSumbit: () => navigate(PATHS.dashboard),
+ dataTestId: "retirement-transaction-error-modal",
+ });
+ } finally {
+ setIsLoading(false);
+ }
+ }, [
+ buildDRepRetirementCert,
+ buildSignSubmitConwayCertTx,
+ openModal,
+ voter?.deposit,
+ ]);
+
+ const navigateToDashboard = useCallback(
+ () => navigate(PATHS.dashboard),
+ [navigate],
+ );
useEffect(() => {
if (checkIsWalletConnected()) {
@@ -18,12 +87,54 @@ export const RetireAsSoleVoter = () => {
}, []);
return (
-
-
-
+
+
+
+
+
+
+ {t("soleVoter.retirementHeading")}
+
+
+ openInNewTab("https://sancho.network/")}
+ sx={{ cursor: "pointer", textDecoration: "none" }}
+ key="0"
+ />,
+ ]}
+ />
+
+
+
+
+
);
};
diff --git a/govtool/frontend/src/pages/index.ts b/govtool/frontend/src/pages/index.ts
index d1878f196..9a5a4a324 100644
--- a/govtool/frontend/src/pages/index.ts
+++ b/govtool/frontend/src/pages/index.ts
@@ -1,14 +1,18 @@
export * from "./ChooseStakeKey";
export * from "./CreateGovernanceAction";
+export * from "./DRepDetails";
+export * from "./DRepDirectory";
+export * from "./DRepDirectoryContent";
export * from "./Dashboard";
export * from "./DashboardGovernanceActionsCategory";
-export * from "./DelegateTodRep";
+export * from "./DRepDirectory";
export * from "./EditDRepMetadata";
export * from "./ErrorPage";
export * from "./GovernanceActionDetails";
export * from "./GovernanceActions";
export * from "./GovernanceActionsCategory";
export * from "./Home";
+export * from "./RegisterAsSoleVoter";
export * from "./RegisterAsdRep";
export * from "./RegisterAsSoleVoter";
export * from "./RetireAsDrep";
diff --git a/govtool/frontend/src/services/API.ts b/govtool/frontend/src/services/API.ts
index 8ac9341f2..54c09aa7f 100644
--- a/govtool/frontend/src/services/API.ts
+++ b/govtool/frontend/src/services/API.ts
@@ -1,13 +1,21 @@
import axios from "axios";
+import { NavigateFunction } from "react-router-dom";
import { PATHS } from "@consts";
-import { NavigateFunction } from "react-router-dom";
const TIMEOUT_IN_SECONDS = 30 * 1000; // 1000 ms is 1 s then its 10 s
const BASE_URL = import.meta.env.VITE_BASE_URL;
+// Validation should be performed directly on the server
+// than no metadata service is needed and `/api` might be removed
export const API = axios.create({
- baseURL: BASE_URL,
+ baseURL: `${BASE_URL}/api`,
+ timeout: TIMEOUT_IN_SECONDS,
+});
+
+// TODO: Remove this service and use the API service
+export const METADATA_VALIDATION_API = axios.create({
+ baseURL: `${BASE_URL}/metadata-validation`,
timeout: TIMEOUT_IN_SECONDS,
});
diff --git a/govtool/frontend/src/services/requests/getAdaHolderCurrentDelegation.ts b/govtool/frontend/src/services/requests/getAdaHolderCurrentDelegation.ts
index f4713d237..0113f77f6 100644
--- a/govtool/frontend/src/services/requests/getAdaHolderCurrentDelegation.ts
+++ b/govtool/frontend/src/services/requests/getAdaHolderCurrentDelegation.ts
@@ -1,3 +1,5 @@
+import { CurrentDelegation } from "@models";
+
import { API } from "../API";
export const getAdaHolderCurrentDelegation = async ({
@@ -5,7 +7,7 @@ export const getAdaHolderCurrentDelegation = async ({
}: {
stakeKey?: string;
}) => {
- const response = await API.get(
+ const response = await API.get(
`/ada-holder/get-current-delegation/${stakeKey}`,
);
diff --git a/govtool/frontend/src/services/requests/getDRepList.ts b/govtool/frontend/src/services/requests/getDRepList.ts
index 39ab28ecb..7d18ee43a 100644
--- a/govtool/frontend/src/services/requests/getDRepList.ts
+++ b/govtool/frontend/src/services/requests/getDRepList.ts
@@ -1,7 +1,32 @@
-import type { DRepData } from "@models";
+import type { InfinityDRepData, DRepStatus, DRepListSort } from "@models";
import { API } from "../API";
-export const getDRepList = async () => {
- const response = await API.get("/drep/list");
+export type GetDRepListArguments = {
+ filters?: string[];
+ page?: number;
+ pageSize?: number;
+ sorting?: DRepListSort;
+ status?: DRepStatus[];
+ searchPhrase?: string;
+};
+
+export const getDRepList = async ({
+ sorting,
+ filters = [],
+ page = 0,
+ pageSize = 10,
+ searchPhrase = "",
+ status = [],
+}: GetDRepListArguments): Promise => {
+ const response = await API.get("/drep/list", {
+ params: {
+ page,
+ pageSize,
+ ...(searchPhrase && { search: searchPhrase }),
+ ...(filters.length && { type: filters }),
+ ...(sorting && { sort: sorting }),
+ ...(status.length && { status }),
+ },
+ });
return response.data;
};
diff --git a/govtool/frontend/src/services/requests/getDRepVotes.ts b/govtool/frontend/src/services/requests/getDRepVotes.ts
index 9e2d3c3bb..2b7efd682 100644
--- a/govtool/frontend/src/services/requests/getDRepVotes.ts
+++ b/govtool/frontend/src/services/requests/getDRepVotes.ts
@@ -2,40 +2,38 @@ import { VotedProposal, VotedProposalToDisplay } from "@models";
import { checkIsMissingGAMetadata } from "@utils";
import { API } from "../API";
+type GetDRepVotesParams = {
+ type?: string[];
+ sort?: string;
+ search?: string;
+};
+
export const getDRepVotes = async ({
dRepID,
- filters,
- sorting,
+ params,
}: {
dRepID: string;
- filters: string[];
- sorting: string;
+ params: GetDRepVotesParams;
}) => {
const urlBase = `/drep/getVotes/${dRepID}`;
- let urlParameters = "";
- if (filters.length > 0) {
- filters.forEach((item) => {
- urlParameters += `&type=${item}`;
- });
- }
- if (sorting.length) {
- urlParameters += `&sort=${sorting}`;
- }
- if (urlParameters.length) {
- urlParameters = urlParameters.replace("&", "?");
- }
- const { data } = await API.get(`${urlBase}${urlParameters}`);
+
+ const { data } = await API.get(urlBase, { params });
const mappedData = (await Promise.all(
data.map(async (proposal) => {
- const isDataMissing = await checkIsMissingGAMetadata({
+ const { metadata, status } = await checkIsMissingGAMetadata({
hash: proposal?.proposal?.metadataHash,
url: proposal?.proposal?.url,
});
return {
vote: proposal.vote,
- proposal: { ...proposal.proposal, isDataMissing },
+ proposal: {
+ ...proposal.proposal,
+ // workaround for the missing data in db-sync
+ ...metadata,
+ isDataMissing: status || false,
+ },
};
}),
)) as VotedProposalToDisplay[];
diff --git a/govtool/frontend/src/services/requests/getProposal.ts b/govtool/frontend/src/services/requests/getProposal.ts
index faa1d89ab..d366476bb 100644
--- a/govtool/frontend/src/services/requests/getProposal.ts
+++ b/govtool/frontend/src/services/requests/getProposal.ts
@@ -8,10 +8,14 @@ export const getProposal = async (proposalId: string, drepId?: string) => {
`/proposal/get/${encodedHash}?drepId=${drepId}`,
);
- const isDataMissing = await checkIsMissingGAMetadata({
+ const { metadata, status } = await checkIsMissingGAMetadata({
hash: data?.proposal.metadataHash,
url: data?.proposal.url,
});
-
- return { ...data, isDataMissing };
+ // workaround for the missing data in db-sync
+ return {
+ ...data,
+ proposal: { ...data.proposal, ...metadata },
+ isDataMissing: status || false,
+ };
};
diff --git a/govtool/frontend/src/services/requests/getProposals.ts b/govtool/frontend/src/services/requests/getProposals.ts
index ed8fa0cfb..e5cd14b1f 100644
--- a/govtool/frontend/src/services/requests/getProposals.ts
+++ b/govtool/frontend/src/services/requests/getProposals.ts
@@ -18,7 +18,7 @@ export const getProposals = async ({
pageSize = 7,
searchPhrase = "",
sorting = "",
-}: GetProposalsArguments) => {
+}: GetProposalsArguments): Promise => {
const response = await API.get("/proposal/list", {
params: {
page,
@@ -29,5 +29,5 @@ export const getProposals = async ({
...(dRepID && { drepId: dRepID }),
},
});
- return response.data as InfinityProposals;
+ return response.data;
};
diff --git a/govtool/frontend/src/services/requests/index.ts b/govtool/frontend/src/services/requests/index.ts
index 747289515..3121e4c5c 100644
--- a/govtool/frontend/src/services/requests/index.ts
+++ b/govtool/frontend/src/services/requests/index.ts
@@ -17,3 +17,4 @@ export * from "./postDRepRegister";
export * from "./postDRepRemoveVote";
export * from "./postDRepRetire";
export * from "./postDRepVote";
+export * from "./metadataValidation";
diff --git a/govtool/frontend/src/services/requests/metadataValidation/index.ts b/govtool/frontend/src/services/requests/metadataValidation/index.ts
new file mode 100644
index 000000000..3eb5cea95
--- /dev/null
+++ b/govtool/frontend/src/services/requests/metadataValidation/index.ts
@@ -0,0 +1 @@
+export * from "./postValidate";
diff --git a/govtool/frontend/src/services/requests/metadataValidation/postValidate.ts b/govtool/frontend/src/services/requests/metadataValidation/postValidate.ts
new file mode 100644
index 000000000..4dd95281b
--- /dev/null
+++ b/govtool/frontend/src/services/requests/metadataValidation/postValidate.ts
@@ -0,0 +1,11 @@
+import type { MetadataValidationDTO, ValidateMetadataResult } from "@models";
+import { METADATA_VALIDATION_API } from "../../API";
+
+export const postValidate = async (body: MetadataValidationDTO) => {
+ const response = await METADATA_VALIDATION_API.post(
+ `/validate`,
+ body,
+ );
+
+ return response.data;
+};
diff --git a/govtool/frontend/src/stories/GovernanceAction.stories.ts b/govtool/frontend/src/stories/GovernanceAction.stories.ts
index fece9f0d6..76f2408f9 100644
--- a/govtool/frontend/src/stories/GovernanceAction.stories.ts
+++ b/govtool/frontend/src/stories/GovernanceAction.stories.ts
@@ -1,7 +1,8 @@
import type { Meta, StoryObj } from "@storybook/react";
import { within, userEvent, waitFor, screen } from "@storybook/testing-library";
import { expect, jest } from "@storybook/jest";
-import { GAMetedataErrors, formatDisplayDate } from "@utils";
+import { formatDisplayDate } from "@utils";
+import { MetadataValidationStatus } from "@models";
import { GovernanceActionCard } from "@/components/molecules";
const meta = {
@@ -74,20 +75,20 @@ export const GovernanceActionCardIsLoading: Story = {
export const GovernanceActionCardDataMissing: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.DATA_MISSING,
+ isDataMissing: MetadataValidationStatus.URL_NOT_FOUND,
},
};
export const GovernanceActionCardIncorectFormat: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.INCORRECT_FORMAT,
+ isDataMissing: MetadataValidationStatus.INVALID_JSONLD,
},
};
export const GovernanceActionCardNotVerifiable: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.NOT_VERIFIABLE,
+ isDataMissing: MetadataValidationStatus.INVALID_HASH,
},
};
diff --git a/govtool/frontend/src/stories/GovernanceActionDetailsCard.stories.ts b/govtool/frontend/src/stories/GovernanceActionDetailsCard.stories.ts
index cb9700c35..bd9a67c4f 100644
--- a/govtool/frontend/src/stories/GovernanceActionDetailsCard.stories.ts
+++ b/govtool/frontend/src/stories/GovernanceActionDetailsCard.stories.ts
@@ -2,7 +2,7 @@ import type { Meta, StoryObj } from "@storybook/react";
import { screen, userEvent, waitFor, within } from "@storybook/testing-library";
import { GovernanceActionDetailsCard } from "@organisms";
import { expect } from "@storybook/jest";
-import { GAMetedataErrors } from "@/utils";
+import { MetadataValidationStatus } from "@models";
const meta = {
title: "Example/GovernanceActionDetailsCard",
@@ -79,20 +79,20 @@ export const GovernanceActionDetailsDrep: Story = {
export const GovernanceActionDetailsDataMissing: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.DATA_MISSING,
+ isDataMissing: MetadataValidationStatus.URL_NOT_FOUND,
},
};
export const GovernanceActionDetailsIncorrectFormat: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.INCORRECT_FORMAT,
+ isDataMissing: MetadataValidationStatus.INVALID_JSONLD,
},
};
export const GovernanceActionDetailsNotVerifiable: Story = {
args: {
...commonArgs,
- isDataMissing: GAMetedataErrors.NOT_VERIFIABLE,
+ isDataMissing: MetadataValidationStatus.INVALID_HASH,
},
};
diff --git a/govtool/frontend/src/stories/GovernanceActionVoted.stories.ts b/govtool/frontend/src/stories/GovernanceActionVoted.stories.ts
index 3959eb041..8a270cf6b 100644
--- a/govtool/frontend/src/stories/GovernanceActionVoted.stories.ts
+++ b/govtool/frontend/src/stories/GovernanceActionVoted.stories.ts
@@ -59,6 +59,7 @@ export const GovernanceVotedOnCardComponent: Story = {
proposalId: "exampleproposalid12dsadasdasda",
url: "https://exampleurl.com",
vote: "yes",
+ txHash: "dwq78dqw78qwd78wdq78dqw78dqw",
},
proposal: {
createdEpochNo: 232,
@@ -95,6 +96,7 @@ export const GovernanceVotedOnCardAbstain: Story = {
proposalId: "exampleproposalid12dsadasdasda",
url: "https://exampleurl.com",
vote: "abstain",
+ txHash: "dwq78dqw78qwd78wdq78dqw78dqw",
},
proposal: {
createdEpochNo: 232,
@@ -132,6 +134,7 @@ export const GovernanceVotedOnCardYes: Story = {
proposalId: "exampleproposalid12dsadasdasda",
url: "https://exampleurl.com",
vote: "yes",
+ txHash: "dwq78dqw78qwd78wdq78dqw78dqw",
},
proposal: {
createdEpochNo: 232,
@@ -169,6 +172,7 @@ export const GovernanceVotedOnCardNo: Story = {
proposalId: "exampleproposalid12dsadasdasda",
url: "https://exampleurl.com",
vote: "no",
+ txHash: "dwq78dqw78qwd78wdq78dqw78dqw",
},
proposal: {
createdEpochNo: 232,
diff --git a/govtool/frontend/src/stories/StatusPill.stories.ts b/govtool/frontend/src/stories/StatusPill.stories.ts
new file mode 100644
index 000000000..1a8467cad
--- /dev/null
+++ b/govtool/frontend/src/stories/StatusPill.stories.ts
@@ -0,0 +1,34 @@
+import type { Meta, StoryObj } from "@storybook/react";
+
+import { StatusPill } from "@atoms";
+import { DRepStatus } from "@/models";
+
+const meta = {
+ title: "Example/StatusPill",
+ component: StatusPill,
+ parameters: {
+ layout: "centered",
+ },
+ tags: ["autodocs"],
+} satisfies Meta;
+
+export default meta;
+type Story = StoryObj;
+
+export const StatusPillActive: Story = {
+ args: {
+ status: DRepStatus.Active,
+ },
+};
+
+export const StatusPillInactive: Story = {
+ args: {
+ status: DRepStatus.Inactive,
+ },
+};
+
+export const StatusPillRetired: Story = {
+ args: {
+ status: DRepStatus.Retired,
+ },
+};
diff --git a/govtool/frontend/src/stories/modals/LoadingModal.stories.tsx b/govtool/frontend/src/stories/modals/LoadingModal.stories.tsx
new file mode 100644
index 000000000..6bc59375d
--- /dev/null
+++ b/govtool/frontend/src/stories/modals/LoadingModal.stories.tsx
@@ -0,0 +1,67 @@
+import { useEffect } from "react";
+import { Meta, StoryFn } from "@storybook/react";
+
+import { Modal } from "@atoms";
+import { LoadingModal, LoadingModalState } from "@organisms";
+import { callAll } from "@utils";
+import { useModal } from "../../context/modal";
+
+const meta = {
+ title: "Example/Modals/LoadingModal",
+ component: LoadingModal,
+} satisfies Meta;
+
+export default meta;
+
+const Template: StoryFn = ({
+ message,
+ title,
+ dataTestId,
+}) => {
+ const { openModal, modal, modals, closeModal } = useModal();
+
+ const open = () => {
+ openModal({
+ type: "loadingModal",
+ state: {
+ title,
+ message,
+ dataTestId,
+ },
+ });
+ };
+
+ useEffect(() => {
+ open();
+ }, [openModal]);
+
+ return (
+ <>
+
+ Open Modal
+
+
+ Close Modal
+
+
+ {modals[modal.type]?.component && (
+
+ openModal({ type: "none", state: null }),
+ )}
+ >
+ {modals[modal.type].component!}
+
+ )}
+ >
+ );
+};
+
+export const Loading = Template.bind({});
+Loading.args = {
+ message:
+ "GovTool will read the URL that you supplied and make a check to see if it’s identical with the information that you entered on the form.",
+ title: "GovTool Is Checking Your Data",
+ dataTestId: "loading-modal",
+};
diff --git a/govtool/frontend/src/theme.ts b/govtool/frontend/src/theme.ts
index 7b9bd2331..910447fab 100644
--- a/govtool/frontend/src/theme.ts
+++ b/govtool/frontend/src/theme.ts
@@ -1,12 +1,6 @@
import { createTheme } from "@mui/material/styles";
import {
- cyan,
- errorRed,
- fadedPurple,
- orange,
- primaryBlue,
- progressYellow,
- successGreen,
+ cyan, errorRed, orange, primaryBlue, progressYellow, successGreen,
} from "./consts";
export type Theme = typeof theme;
@@ -23,6 +17,13 @@ export const theme = createTheme({
},
},
components: {
+ MuiAccordion: {
+ styleOverrides: {
+ root: {
+ borderRadius: `12px !important`,
+ }
+ }
+ },
MuiInputBase: {
styleOverrides: {
root: {
@@ -51,7 +52,7 @@ export const theme = createTheme({
{
props: { color: "default", variant: "filled" },
style: {
- backgroundColor: fadedPurple.c100,
+ backgroundColor: primaryBlue.c50
},
},
{
@@ -106,6 +107,11 @@ export const theme = createTheme({
},
},
},
+ MuiPopover: {
+ defaultProps: {
+ elevation: 2,
+ }
+ },
},
typography: {
fontFamily: "Poppins, Arial",
diff --git a/govtool/frontend/src/types/global.d.ts b/govtool/frontend/src/types/global.d.ts
index 0640e6c20..6204ffc90 100644
--- a/govtool/frontend/src/types/global.d.ts
+++ b/govtool/frontend/src/types/global.d.ts
@@ -1,4 +1,4 @@
-import { GAMetedataErrors } from "@utils";
+import { MetadataValidationStatus } from "@models";
export {};
@@ -40,7 +40,7 @@ declare global {
};
type ActionTypeToDsiplay = ActionType & {
- isDataMissing: boolean | GAMetedataErrors;
+ isDataMissing: boolean | MetadataValidationStatus;
};
interface ActionVotedOnType extends ActionTypeToDsiplay {
diff --git a/govtool/frontend/src/utils/canonizeJSON.ts b/govtool/frontend/src/utils/canonizeJSON.ts
index 72f884708..3ecac3ab3 100644
--- a/govtool/frontend/src/utils/canonizeJSON.ts
+++ b/govtool/frontend/src/utils/canonizeJSON.ts
@@ -6,7 +6,9 @@ import jsonld from "jsonld";
* @param json - The JSON object to be canonized.
* @returns A Promise that resolves to the canonized JSON object.
*/
-export const canonizeJSON = async (json: Record) => {
+export const canonizeJSON = async (
+ json: Record,
+): Promise => {
const canonized = await jsonld.canonize(json);
return canonized;
};
diff --git a/govtool/frontend/src/utils/dRep.ts b/govtool/frontend/src/utils/dRep.ts
new file mode 100644
index 000000000..7743a017e
--- /dev/null
+++ b/govtool/frontend/src/utils/dRep.ts
@@ -0,0 +1,11 @@
+import { DRepData } from "@/models";
+
+export const isSameDRep = (
+ { drepId, view }: DRepData,
+ dRepIdOrView: string | undefined,
+) => {
+ if (!dRepIdOrView) {
+ return false;
+ }
+ return drepId === dRepIdOrView || view === dRepIdOrView;
+};
diff --git a/govtool/frontend/src/utils/ellipsizeText.ts b/govtool/frontend/src/utils/ellipsizeText.ts
new file mode 100644
index 000000000..262682bd5
--- /dev/null
+++ b/govtool/frontend/src/utils/ellipsizeText.ts
@@ -0,0 +1,12 @@
+export const ellipsizeText = (
+ text: string,
+ maxLength: number,
+ ellipsize = "...",
+) => {
+ if (text.length <= maxLength) {
+ return text;
+ }
+ const slicedText = text.slice(0, maxLength);
+
+ return `${slicedText.trimEnd()}${ellipsize}`;
+};
diff --git a/govtool/frontend/src/utils/generateMetadataBody.ts b/govtool/frontend/src/utils/generateMetadataBody.ts
new file mode 100644
index 000000000..264034065
--- /dev/null
+++ b/govtool/frontend/src/utils/generateMetadataBody.ts
@@ -0,0 +1,44 @@
+import { CIP_100, CIP_108, CIP_QQQ } from "@/consts";
+
+type StandardReference = typeof CIP_100 | typeof CIP_108 | typeof CIP_QQQ;
+
+type MetadataConfig = {
+ data: Record;
+ acceptedKeys: string[];
+ standardReference: StandardReference;
+};
+
+/**
+ * Generates the metadata body based on the provided configuration.
+ *
+ * @param {MetadataConfig} config - The configuration object containing
+ * the data, accepted keys, and standard reference.
+ * @returns {Object} - The generated metadata body.
+ */
+export const generateMetadataBody = ({
+ data,
+ acceptedKeys,
+ standardReference,
+}: MetadataConfig) => {
+ const filteredData = Object.entries(data)
+ .filter(([key]) => acceptedKeys.includes(key))
+ .map(([key, value]) => [standardReference + key, value]);
+
+ const references = data?.links
+ ? (data.links as Array<{ link: string }>)
+ .filter((link) => link.link)
+ .map((link) => ({
+ "@type": "Other",
+ [`${standardReference}reference-label`]: "Label",
+ [`${standardReference}reference-uri`]: link.link,
+ }))
+ : undefined;
+
+ const body = Object.fromEntries(filteredData);
+
+ if (references) {
+ body[`${standardReference}references`] = references;
+ }
+
+ return body;
+};
diff --git a/govtool/frontend/src/utils/getMetadataDataMissingStatusTranslation.ts b/govtool/frontend/src/utils/getMetadataDataMissingStatusTranslation.ts
new file mode 100644
index 000000000..c7d388e57
--- /dev/null
+++ b/govtool/frontend/src/utils/getMetadataDataMissingStatusTranslation.ts
@@ -0,0 +1,20 @@
+import i18n from "@/i18n";
+import { MetadataValidationStatus } from "@/models";
+
+/**
+ * Retrieves the translation for the given metadata validation status.
+ *
+ * @param status - The metadata validation status.
+ * @returns The translated string corresponding to the status.
+ */
+export const getMetadataDataMissingStatusTranslation = (
+ status: MetadataValidationStatus,
+): string => {
+ const errorKey = {
+ [MetadataValidationStatus.URL_NOT_FOUND]: "dataMissing",
+ [MetadataValidationStatus.INVALID_JSONLD]: "incorrectFormat",
+ [MetadataValidationStatus.INCORRECT_FORMAT]: "incorrectFormat",
+ [MetadataValidationStatus.INVALID_HASH]: "notVerifiable",
+ }[status] as "dataMissing" | "incorrectFormat" | "notVerifiable";
+ return i18n.t(`dataMissingErrors.${errorKey || "dataMissing"}`);
+};
diff --git a/govtool/frontend/src/utils/getProposalTypeLabel.ts b/govtool/frontend/src/utils/getProposalTypeLabel.ts
index 7a3dcccdc..2c011f72b 100644
--- a/govtool/frontend/src/utils/getProposalTypeLabel.ts
+++ b/govtool/frontend/src/utils/getProposalTypeLabel.ts
@@ -1,5 +1,10 @@
import { GOVERNANCE_ACTIONS_FILTERS } from "@consts";
+export const getProposalTypeTitle = (type: string) => {
+ const title = GOVERNANCE_ACTIONS_FILTERS.find((i) => i.key === type)?.title;
+ return title || type;
+};
+
export const getProposalTypeLabel = (type: string) => {
const label = GOVERNANCE_ACTIONS_FILTERS.find((i) => i.key === type)?.label;
return label || type;
diff --git a/govtool/frontend/src/utils/index.ts b/govtool/frontend/src/utils/index.ts
index 71d82b13f..c708bd587 100644
--- a/govtool/frontend/src/utils/index.ts
+++ b/govtool/frontend/src/utils/index.ts
@@ -6,12 +6,16 @@ export * from "./callAll";
export * from "./canonizeJSON";
export * from "./checkIsMaintenanceOn";
export * from "./checkIsWalletConnected";
+export * from "./dRep";
+export * from "./ellipsizeText";
export * from "./formatDate";
export * from "./generateAnchor";
export * from "./generateJsonld";
+export * from "./generateMetadataBody";
export * from "./getDRepID";
export * from "./getGovActionId";
export * from "./getLengthInBytes";
+export * from "./getMetadataDataMissingStatusTranslation";
export * from "./getProposalTypeLabel";
export * from "./isValidFormat";
export * from "./jsonUtils";
@@ -19,5 +23,6 @@ export * from "./localStorage";
export * from "./numberValidation";
export * from "./openInNewTab";
export * from "./removeDuplicatedProposals";
+export * from "./testIdFromLabel";
export * from "./validateMetadataHash";
export * from "./wait";
diff --git a/govtool/frontend/src/utils/isValidFormat.ts b/govtool/frontend/src/utils/isValidFormat.ts
index 4b4ccafa8..be9e65822 100644
--- a/govtool/frontend/src/utils/isValidFormat.ts
+++ b/govtool/frontend/src/utils/isValidFormat.ts
@@ -1,15 +1,15 @@
export const URL_REGEX =
- /^(?!.*\s)(ipfs:\/\/[a-zA-Z0-9]+|https?:\/\/(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[^/\s]+?\.[a-zA-Z]{2,})[^\s]*)/;
+ /^(?:(?:https?:\/\/)?(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,})(?:\/[^\s]*)?)|(?:ipfs:\/\/[a-f0-9]+(?:\/[a-zA-Z0-9_]+)*)$|^$/;
export const HASH_REGEX = /^[0-9A-Fa-f]+$/;
export const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
export const NICKNAME_REGEX = /^\S+$/;
export function isValidURLFormat(str: string) {
- if (!str.length) return true;
+ if (!str.length) return false;
return URL_REGEX.test(str);
}
export function isValidHashFormat(str: string) {
- if (!str.length) return true;
+ if (!str.length) return false;
return HASH_REGEX.test(str);
}
diff --git a/govtool/frontend/src/utils/testIdFromLabel.ts b/govtool/frontend/src/utils/testIdFromLabel.ts
new file mode 100644
index 000000000..5c8c9cf4a
--- /dev/null
+++ b/govtool/frontend/src/utils/testIdFromLabel.ts
@@ -0,0 +1,2 @@
+export const testIdFromLabel = (label: string) =>
+ label.trim().replace(/ /g, "-").toLocaleLowerCase();
diff --git a/govtool/frontend/src/utils/tests/canonizeJSON.test.ts b/govtool/frontend/src/utils/tests/canonizeJSON.test.ts
new file mode 100644
index 000000000..7115cc430
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/canonizeJSON.test.ts
@@ -0,0 +1,106 @@
+import { describe, it, expect } from "vitest";
+import { canonizeJSON } from "..";
+
+const exampleJson = {
+ "@context": {
+ "@language": "en-us",
+ CIP100:
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#",
+ CIP108:
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#",
+ hashAlgorithm: "CIP100:hashAlgorithm",
+ body: {
+ "@id": "CIP108:body",
+ "@context": {
+ references: {
+ "@id": "CIP108:references",
+ "@container": "@set",
+ "@context": {
+ GovernanceMetadata: "CIP100:GovernanceMetadataReference",
+ Other: "CIP100:OtherReference",
+ label: "CIP100:reference-label",
+ uri: "CIP100:reference-uri",
+ referenceHash: {
+ "@id": "CIP108:referenceHash",
+ "@context": {
+ hashDigest: "CIP108:hashDigest",
+ hashAlgorithm: "CIP100:hashAlgorithm",
+ },
+ },
+ },
+ },
+ title: "CIP108:title",
+ abstract: "CIP108:abstract",
+ motivation: "CIP108:motivation",
+ rationale: "CIP108:rationale",
+ },
+ },
+ authors: {
+ "@id": "CIP100:authors",
+ "@container": "@set",
+ "@context": {
+ name: "http://xmlns.com/foaf/0.1/name",
+ witness: {
+ "@id": "CIP100:witness",
+ "@context": {
+ witnessAlgorithm: "CIP100:witnessAlgorithm",
+ publicKey: "CIP100:publicKey",
+ signature: "CIP100:signature",
+ },
+ },
+ },
+ },
+ },
+ authors: [],
+ hashAlgorithm: {
+ "@value": "blake2b-256",
+ },
+ body: {
+ abstract: {
+ "@value": "Test abstract",
+ },
+ motivation: {
+ "@value": "Test motivation",
+ },
+ rationale: {
+ "@value": "Test rationale",
+ },
+ references: [
+ {
+ "@type": "Other",
+ "CIP108:reference-label": {
+ "@value": "Label",
+ },
+ "CIP108:reference-uri": {
+ "@value": "https://www.google.com/",
+ },
+ },
+ ],
+ title: {
+ "@value": "Test title",
+ },
+ },
+};
+
+const expectedOutput = `
+_:c14n0 "blake2b-256" .
+_:c14n0 _:c14n2 .
+_:c14n1 .
+_:c14n1 "Label" .
+_:c14n1 "https://www.google.com/" .
+_:c14n2 "Test abstract" .
+_:c14n2 "Test motivation" .
+_:c14n2 "Test rationale" .
+_:c14n2 _:c14n1 .
+_:c14n2 "Test title" .
+`
+ .trim()
+ .replace(/\s+\n/g, "\n");
+
+describe("canonizeJSON", () => {
+ it("should correctly canonize a jsonld object to the expected output", async () => {
+ const result = await canonizeJSON(exampleJson);
+ const normalizedResult = result.trim().replace(/\s+\n/g, "\n");
+ expect(normalizedResult).toBe(expectedOutput);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/checkIsMaintenanceOn.test.ts b/govtool/frontend/src/utils/tests/checkIsMaintenanceOn.test.ts
new file mode 100644
index 000000000..93aff7b68
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/checkIsMaintenanceOn.test.ts
@@ -0,0 +1,46 @@
+import { describe, it, expect, vi, afterEach } from "vitest";
+import axios from "axios";
+import { checkIsMaintenanceOn } from "..";
+
+vi.stubGlobal("location", {
+ ...window.location,
+ reload: vi.fn(),
+});
+
+const axiosGetSpy = vi.spyOn(axios, "get");
+
+describe("checkIsMaintenanceOn function", () => {
+ afterEach(() => {
+ axiosGetSpy.mockClear();
+ vi.resetAllMocks();
+ });
+
+ it("does nothing in development mode", async () => {
+ vi.stubEnv("VITE_IS_DEV", "true");
+ await checkIsMaintenanceOn();
+ expect(axiosGetSpy).not.toHaveBeenCalled();
+ expect(window.location.reload).not.toHaveBeenCalled();
+ });
+
+ it("reloads the page if maintenance mode is active", async () => {
+ vi.stubEnv("VITE_IS_DEV", "");
+ axiosGetSpy.mockResolvedValue({ data: true });
+ await checkIsMaintenanceOn();
+ expect(window.location.reload).toHaveBeenCalled();
+ });
+
+ it("does not reload the page if maintenance mode is not active", async () => {
+ vi.stubEnv("VITE_IS_DEV", "");
+ axiosGetSpy.mockResolvedValue({ data: false });
+ await checkIsMaintenanceOn();
+ expect(window.location.reload).not.toHaveBeenCalled();
+ });
+
+ it("throws an error if the request fails", async () => {
+ vi.stubEnv("VITE_IS_DEV", "");
+ axiosGetSpy.mockRejectedValue(new Error("Network Error"));
+ await expect(checkIsMaintenanceOn()).rejects.toThrow(
+ "Action canceled due to maintenance mode.",
+ );
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/checkIsWalletConnected.test.ts b/govtool/frontend/src/utils/tests/checkIsWalletConnected.test.ts
new file mode 100644
index 000000000..54bb44a4f
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/checkIsWalletConnected.test.ts
@@ -0,0 +1,25 @@
+import { checkIsWalletConnected } from "..";
+import {
+ WALLET_LS_KEY,
+ setItemToLocalStorage,
+ removeItemFromLocalStorage,
+} from "@/utils/localStorage";
+
+describe("checkIsWalletConnected function", () => {
+ it("returns false when wallet information is present in local storage", () => {
+ setItemToLocalStorage(`${WALLET_LS_KEY}_name`, "Nami");
+ setItemToLocalStorage(`${WALLET_LS_KEY}_stake_key`, "teststakekey");
+ const isConnected = checkIsWalletConnected();
+
+ expect(isConnected).toBe(false);
+ });
+
+ it("returns true when wallet information is missing in local storage", () => {
+ removeItemFromLocalStorage(`${WALLET_LS_KEY}_name`);
+ removeItemFromLocalStorage(`${WALLET_LS_KEY}_stake_key`);
+
+ const isConnected = checkIsWalletConnected();
+
+ expect(isConnected).toBe(true);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/dRep.test.ts b/govtool/frontend/src/utils/tests/dRep.test.ts
new file mode 100644
index 000000000..26558791d
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/dRep.test.ts
@@ -0,0 +1,38 @@
+import { isSameDRep } from "..";
+
+import { DRepStatus } from "@/models";
+
+type TDRepType = "DRep" | "SoleVoter";
+
+const EXAMPLE_DREP = {
+ drepId: "drep123",
+ view: "view123",
+ url: "url",
+ metadataHash: "hash",
+ deposit: 10000,
+ votingPower: 10000,
+ status: DRepStatus.Active,
+ type: "DRep" as TDRepType,
+};
+
+describe("isSameDRep function", () => {
+ it("returns false if dRepIdOrView is undefined", () => {
+ const dRepIdOrView = undefined;
+ expect(isSameDRep(EXAMPLE_DREP, dRepIdOrView)).toBe(false);
+ });
+
+ it("returns true if drepId matches dRepIdOrView", () => {
+ const dRepIdOrView = "drep123";
+ expect(isSameDRep(EXAMPLE_DREP, dRepIdOrView)).toBe(true);
+ });
+
+ it("returns true if view matches dRepIdOrView", () => {
+ const dRepIdOrView = "view123";
+ expect(isSameDRep(EXAMPLE_DREP, dRepIdOrView)).toBe(true);
+ });
+
+ it("returns false if neither drepId nor view matches dRepIdOrView", () => {
+ const dRepIdOrView = "otherId";
+ expect(isSameDRep(EXAMPLE_DREP, dRepIdOrView)).toBe(false);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/ellipsizeText.test.ts b/govtool/frontend/src/utils/tests/ellipsizeText.test.ts
new file mode 100644
index 000000000..d09a3f254
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/ellipsizeText.test.ts
@@ -0,0 +1,22 @@
+import { ellipsizeText } from "../ellipsizeText";
+
+describe("ellipsizeText", () => {
+ it("should return the original text if it is shorter than or equal to maxLength", () => {
+ const text = "Hello, World!";
+ const maxLength = 20;
+
+ const result = ellipsizeText(text, maxLength);
+
+ expect(result).toEqual(text);
+ });
+
+ it("should return the ellipsized text if it is longer than maxLength", () => {
+ const text = "This is a long text that needs to be ellipsized.";
+ const maxLength = 8;
+ const expected = "This is...";
+
+ const result = ellipsizeText(text, maxLength);
+
+ expect(result).toEqual(expected);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/generateAnchor.test.ts b/govtool/frontend/src/utils/tests/generateAnchor.test.ts
new file mode 100644
index 000000000..a0f563112
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/generateAnchor.test.ts
@@ -0,0 +1,28 @@
+import { vi } from "vitest";
+import {
+ Anchor,
+ AnchorDataHash,
+ URL,
+} from "@emurgo/cardano-serialization-lib-asmjs";
+import { generateAnchor } from "..";
+
+describe("generateAnchor function", () => {
+ it("generates an anchor with the provided URL and hash", () => {
+ const url = "https://example.com";
+ const hash = "aabbccddeeff";
+
+ URL.new = vi.fn().mockReturnValueOnce({});
+ AnchorDataHash.from_hex = vi.fn().mockReturnValueOnce({});
+ Anchor.new = vi.fn().mockReturnValueOnce({});
+
+ const spyForAnchor = vi.spyOn(Anchor, "new").mockReturnValue(new Anchor());
+ const anchor = generateAnchor(url, hash);
+
+ expect(URL.new).toHaveBeenCalledWith(url);
+ expect(AnchorDataHash.from_hex).toHaveBeenCalledWith(hash);
+ expect(spyForAnchor).toHaveBeenCalledWith({}, {});
+ expect(anchor).toBeInstanceOf(Anchor);
+
+ spyForAnchor.mockRestore();
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/generateMetadataBody.test.ts b/govtool/frontend/src/utils/tests/generateMetadataBody.test.ts
new file mode 100644
index 000000000..a8cb40131
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/generateMetadataBody.test.ts
@@ -0,0 +1,84 @@
+import { CIP_108 } from "@consts";
+
+import { generateMetadataBody } from "../generateMetadataBody";
+
+describe("generateMetadataBody", () => {
+ it("generates metadata body with filtered data", () => {
+ const data = {
+ name: "John Doe",
+ age: 30,
+ email: "johndoe@example.com",
+ };
+ const acceptedKeys = ["name", "age"];
+ const standardReference = CIP_108;
+
+ const result = generateMetadataBody({
+ data,
+ acceptedKeys,
+ standardReference,
+ });
+
+ expect(result).toEqual({
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#name":
+ "John Doe",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#age": 30,
+ });
+ });
+
+ it("generates metadata body with filtered data and references", () => {
+ const data = {
+ name: "John Doe",
+ age: 30,
+ email: "johndoe@example.com",
+ links: [
+ { link: "https://example.com/link1" },
+ { link: "https://example.com/link2" },
+ ],
+ };
+ const acceptedKeys = ["name", "age"];
+ const standardReference = CIP_108;
+
+ const result = generateMetadataBody({
+ data,
+ acceptedKeys,
+ standardReference,
+ });
+
+ expect(result).toEqual({
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#name":
+ "John Doe",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#age": 30,
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#references":
+ [
+ {
+ "@type": "Other",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#reference-label":
+ "Label",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#reference-uri":
+ "https://example.com/link1",
+ },
+ {
+ "@type": "Other",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#reference-label":
+ "Label",
+ "https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#reference-uri":
+ "https://example.com/link2",
+ },
+ ],
+ });
+ });
+
+ it("generates metadata body with empty data", () => {
+ const data = {};
+ const acceptedKeys = ["name", "age"];
+ const standardReference = CIP_108;
+
+ const result = generateMetadataBody({
+ data,
+ acceptedKeys,
+ standardReference,
+ });
+
+ expect(result).toEqual({});
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/getDRepID.test.ts b/govtool/frontend/src/utils/tests/getDRepID.test.ts
new file mode 100644
index 000000000..61bc5470c
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/getDRepID.test.ts
@@ -0,0 +1,57 @@
+import { vi } from "vitest";
+import { formHexToBech32, getPubDRepID } from "../getDRepID";
+import { CardanoApiWallet } from "@/models";
+
+const dRepIdHex = "99f2c9a961ff53099796643a514a0640379b706ad310bc751c2997c9";
+const dRepIdBech32 = "drep1n8evn2tplafsn9ukvsa9zjsxgqmekur26vgtcagu9xtujzv2yv8";
+
+describe("formHexToBech32 function", () => {
+ it("returns correct dRep bech32 format", () => {
+ const bech32Format = formHexToBech32(dRepIdHex);
+ expect(bech32Format).toBe(dRepIdBech32);
+ });
+
+ it("expected undefined when no argument", () => {
+ const bech32Format = formHexToBech32();
+ expect(bech32Format).toBe(undefined);
+ });
+});
+
+const mockGetPubDRepKey = vi.fn();
+
+const mockWalletApi = {
+ cip95: {
+ getPubDRepKey: mockGetPubDRepKey,
+ },
+} as unknown as CardanoApiWallet;
+
+describe("getPubDRepID function", () => {
+ beforeEach(() => {
+ vi.clearAllMocks();
+ });
+
+ it("returns the dRepKey, dRepID, and dRepIDBech32 when walletApi returns a valid response", async () => {
+ const dRepKey = "dRepKey123";
+ mockGetPubDRepKey.mockResolvedValueOnce(dRepKey);
+ const result = await getPubDRepID(mockWalletApi);
+ expect(result).toEqual({
+ dRepKey,
+ dRepID: expect.any(String),
+ dRepIDBech32: expect.any(String),
+ });
+ expect(mockGetPubDRepKey).toHaveBeenCalled();
+ });
+
+ it("returns undefined values for dRepKey, dRepID, and dRepIDBech32 when walletApi throws an error", async () => {
+ mockGetPubDRepKey.mockRejectedValueOnce(
+ new Error("Failed to get PubDRepKey"),
+ );
+ const result = await getPubDRepID(mockWalletApi);
+ expect(result).toEqual({
+ dRepKey: undefined,
+ dRepID: undefined,
+ dRepIDBech32: undefined,
+ });
+ expect(mockGetPubDRepKey).toHaveBeenCalled();
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/getMetadataDataMissingStatusTranslation.test.ts b/govtool/frontend/src/utils/tests/getMetadataDataMissingStatusTranslation.test.ts
new file mode 100644
index 000000000..2cfec8d28
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/getMetadataDataMissingStatusTranslation.test.ts
@@ -0,0 +1,32 @@
+import { MetadataValidationStatus } from "@models";
+import { getMetadataDataMissingStatusTranslation } from "../getMetadataDataMissingStatusTranslation";
+
+describe("getMetadataDataMissingStatusTranslation", () => {
+ it("should return the correct translation for URL_NOT_FOUND status", () => {
+ const translation = getMetadataDataMissingStatusTranslation(
+ MetadataValidationStatus.URL_NOT_FOUND,
+ );
+ expect(translation).toBe("Data Missing");
+ });
+
+ it("should return the correct translation for INVALID_JSONLD status", () => {
+ const translation = getMetadataDataMissingStatusTranslation(
+ MetadataValidationStatus.INVALID_JSONLD,
+ );
+ expect(translation).toBe("Data Formatted Incorrectly");
+ });
+
+ it("should return the correct translation for INVALID_HASH status", () => {
+ const translation = getMetadataDataMissingStatusTranslation(
+ MetadataValidationStatus.INVALID_HASH,
+ );
+ expect(translation).toBe("Not Verifiable");
+ });
+
+ it("should return the default translation for unknown status", () => {
+ const translation = getMetadataDataMissingStatusTranslation(
+ "UNKNOWN_STATUS" as MetadataValidationStatus,
+ );
+ expect(translation).toBe("Data Missing");
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/getProposalTypeLabel.test.ts b/govtool/frontend/src/utils/tests/getProposalTypeLabel.test.ts
index e2da5bbec..8ac6cbe8e 100644
--- a/govtool/frontend/src/utils/tests/getProposalTypeLabel.test.ts
+++ b/govtool/frontend/src/utils/tests/getProposalTypeLabel.test.ts
@@ -9,7 +9,7 @@ describe("getProposalTypeLabel", () => {
it("returns correct label for another known type", () => {
const type = "ParameterChange";
- const expectedLabel = "Protocol Parameter Changes";
+ const expectedLabel = "Protocol Parameter Change";
expect(getProposalTypeLabel(type)).toBe(expectedLabel);
});
diff --git a/govtool/frontend/src/utils/tests/getProposalTypeNoEmptySpaces.test.ts b/govtool/frontend/src/utils/tests/getProposalTypeNoEmptySpaces.test.ts
index 4ec64fe92..66f0f3059 100644
--- a/govtool/frontend/src/utils/tests/getProposalTypeNoEmptySpaces.test.ts
+++ b/govtool/frontend/src/utils/tests/getProposalTypeNoEmptySpaces.test.ts
@@ -9,7 +9,7 @@ describe("getProposalTypeNoEmptySpaces", () => {
it("returns correct label with no spaces for another known type", () => {
const type = "ParameterChange";
- const expectedLabel = "ProtocolParameterChanges";
+ const expectedLabel = "ProtocolParameterChange";
expect(getProposalTypeNoEmptySpaces(type)).toBe(expectedLabel);
});
diff --git a/govtool/frontend/src/utils/tests/isValidFormat.test.ts b/govtool/frontend/src/utils/tests/isValidFormat.test.ts
index fd543b902..fc4534ba3 100644
--- a/govtool/frontend/src/utils/tests/isValidFormat.test.ts
+++ b/govtool/frontend/src/utils/tests/isValidFormat.test.ts
@@ -11,6 +11,11 @@ describe("isValidURLFormat", () => {
expect(isValidURLFormat(validHttpsUrl)).toBe(true);
});
+ it("returns true for valid URL without protocol", () => {
+ const validUrl = "example.com";
+ expect(isValidURLFormat(validUrl)).toBe(true);
+ });
+
it("returns true for valid HTTPS URLs with IP", () => {
const validHttpsUrl = "http://192.168.0.1/resoruce";
expect(isValidURLFormat(validHttpsUrl)).toBe(true);
@@ -37,9 +42,9 @@ describe("isValidURLFormat", () => {
expect(isValidURLFormat(notUrl)).toBe(false);
});
- it("returns true for empty string", () => {
+ it("returns false for empty string", () => {
const empty = "";
- expect(isValidURLFormat(empty)).toBe(true);
+ expect(isValidURLFormat(empty)).toBe(false);
});
});
@@ -59,8 +64,8 @@ describe("isValidHashFormat", () => {
expect(isValidHashFormat(invalidHash)).toBe(false);
});
- it("returns true for empty string", () => {
+ it("returns false for empty string", () => {
const empty = "";
- expect(isValidHashFormat(empty)).toBe(true);
+ expect(isValidHashFormat(empty)).toBe(false);
});
});
diff --git a/govtool/frontend/src/utils/tests/localStorage.test.ts b/govtool/frontend/src/utils/tests/localStorage.test.ts
new file mode 100644
index 000000000..8cf7bc8b3
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/localStorage.test.ts
@@ -0,0 +1,27 @@
+import {
+ getItemFromLocalStorage,
+ setItemToLocalStorage,
+ removeItemFromLocalStorage,
+} from "..";
+
+const EXAMPLE_KEY = "example_key";
+const VALUE = "exampleValue";
+
+describe("localStorage util", () => {
+ it("returns correctly value after set item to localstorage", () => {
+ setItemToLocalStorage(EXAMPLE_KEY, VALUE);
+
+ const itemFromStorage = getItemFromLocalStorage(EXAMPLE_KEY);
+
+ expect(itemFromStorage).toBe(VALUE);
+ });
+
+ it("returns null after remove item from localstorage", () => {
+ setItemToLocalStorage(EXAMPLE_KEY, VALUE);
+ removeItemFromLocalStorage(EXAMPLE_KEY);
+
+ const itemFromStorage = getItemFromLocalStorage(EXAMPLE_KEY);
+
+ expect(itemFromStorage).toBe(null);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/numberValidation.test.ts b/govtool/frontend/src/utils/tests/numberValidation.test.ts
new file mode 100644
index 000000000..4a7e332ec
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/numberValidation.test.ts
@@ -0,0 +1,36 @@
+import i18n from "@/i18n";
+import { numberValidation } from "..";
+
+const positiveResponse = i18n.t(
+ "createGovernanceAction.fields.validations.positive",
+);
+
+const numberResponse = i18n.t(
+ "createGovernanceAction.fields.validations.number",
+);
+
+describe("numberValidation function", () => {
+ it("returns an error message when the input is not a valid number", () => {
+ const invalidInputs = ["abc", "1.2.3", "10,000.50abc", "/"];
+
+ invalidInputs.forEach((input) => {
+ expect(numberValidation(input)).toEqual(numberResponse);
+ });
+ });
+
+ it("returns an error message when the input is negative", () => {
+ const negativeInputs = ["-10", "-1.5", "-5000"];
+
+ negativeInputs.forEach((input) => {
+ expect(numberValidation(input)).toEqual(positiveResponse);
+ });
+ });
+
+ it("returns true when the input is a valid positive number", () => {
+ const validInputs = ["10", "1.5", "5000", "10,5"];
+
+ validInputs.forEach((input) => {
+ expect(numberValidation(input)).toEqual(true);
+ });
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/openInNewTab.test.ts b/govtool/frontend/src/utils/tests/openInNewTab.test.ts
new file mode 100644
index 000000000..ebecfa62c
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/openInNewTab.test.ts
@@ -0,0 +1,33 @@
+import { vi } from "vitest";
+import { openInNewTab } from "..";
+
+describe("openInNewTab function", () => {
+ it("opens a new tab with the provided URL", () => {
+ const originalOpen = window.open;
+ const mockOpen = vi.fn();
+ window.open = mockOpen;
+
+ const url = "https://example.com";
+ openInNewTab(url);
+
+ expect(mockOpen).toHaveBeenCalledWith(url, "_blank", "noopener,noreferrer");
+
+ window.open = originalOpen;
+ });
+
+ it("sets opener to null if new window is opened", () => {
+ const originalOpen = window.open;
+ const mockNewWindow = {
+ opener: "someOpener",
+ };
+ const mockOpen = vi.fn().mockReturnValue(mockNewWindow);
+ window.open = mockOpen;
+
+ const url = "https://example.com";
+ openInNewTab(url);
+
+ expect(mockNewWindow.opener).toBeNull();
+
+ window.open = originalOpen;
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/testIdFromLabel.test.ts b/govtool/frontend/src/utils/tests/testIdFromLabel.test.ts
new file mode 100644
index 000000000..f47e0fa51
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/testIdFromLabel.test.ts
@@ -0,0 +1,57 @@
+import { testIdFromLabel } from "..";
+
+describe("testIdFromLabel function", () => {
+ it("replaces spaces with dashes and converts the label to lowercase", () => {
+ const label = "Hello World";
+ const expectedTestId = "hello-world";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+
+ it("handles labels with multiple spaces", () => {
+ const label = "Multiple Spaces";
+ const expectedTestId = "multiple-----spaces";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+
+ it("handles labels with leading and trailing spaces", () => {
+ const label = " Leading and Trailing Spaces ";
+ const expectedTestId = "leading-and-trailing-spaces";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+
+ it("handles labels with special characters", () => {
+ const label = "!@#$%^&*()";
+ const expectedTestId = "!@#$%^&*()";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+
+ it("handles empty labels", () => {
+ const label = "";
+ const expectedTestId = "";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+
+ it("handles labels with all spaces", () => {
+ const label = " ";
+ const expectedTestId = "";
+
+ const result = testIdFromLabel(label);
+
+ expect(result).toEqual(expectedTestId);
+ });
+});
diff --git a/govtool/frontend/src/utils/tests/validateMetadataHash.test.ts b/govtool/frontend/src/utils/tests/validateMetadataHash.test.ts
index b6bd163c7..ea9b1e78e 100644
--- a/govtool/frontend/src/utils/tests/validateMetadataHash.test.ts
+++ b/govtool/frontend/src/utils/tests/validateMetadataHash.test.ts
@@ -1,24 +1,79 @@
import { vi } from "vitest";
-import { API } from "@/services";
-import { validateMetadataHash } from "..";
+import { postValidate } from "@services";
+import { checkIsMissingGAMetadata } from "..";
+import { MetadataStandard, MetadataValidationStatus } from "@/models";
-describe("validateMetadataHash", () => {
- const mockHash = "abcdef1234567890";
+const url = "https://example.com";
+const hash = "abcdefg";
- it("should throw an error for invalid URL", async () => {
- const invalidURL = "invalid-url";
- await expect(validateMetadataHash(invalidURL, mockHash)).rejects.toThrow(
- "Invalid URL",
- );
+vi.mock("@services");
+
+const mockPostValidate = postValidate as jest.MockedFunction<
+ typeof postValidate
+>;
+
+describe("checkIsMissingGAMetadata", () => {
+ it("returns metadata when there are no issues with the validation", async () => {
+ mockPostValidate.mockResolvedValueOnce({
+ valid: true,
+ metadata: { some: "metadata" },
+ });
+
+ const result = await checkIsMissingGAMetadata({ url, hash });
+
+ expect(result).toStrictEqual({
+ valid: true,
+ metadata: { some: "metadata" },
+ });
+ expect(mockPostValidate).toHaveBeenCalledWith({
+ url,
+ hash,
+ standard: MetadataStandard.CIP108,
+ });
});
- it("should throw an error for invalid JSON", async () => {
- const invalidJSONURL = "https://example.com/invalid-json";
- vi.spyOn(API, "get").mockRejectedValueOnce(new Error("Invalid JSON"));
- await expect(
- validateMetadataHash(invalidJSONURL, mockHash),
- ).rejects.toThrow("Invalid JSON");
+ it("returns MetadataValidationStatus.INVALID_HASH when postValidate resolves with INVALID_HASH", async () => {
+ mockPostValidate.mockResolvedValueOnce({
+ valid: false,
+ status: MetadataValidationStatus.INVALID_HASH,
+ });
+
+ const result = await checkIsMissingGAMetadata({ url, hash });
+
+ expect(result.status).toBe(MetadataValidationStatus.INVALID_HASH);
+ expect(mockPostValidate).toHaveBeenCalledWith({
+ url,
+ hash,
+ standard: MetadataStandard.CIP108,
+ });
});
- // TODO: Provide tests for invalid hash
+ it("returns MetadataValidationStatus.INVALID_JSONLD when postValidate resolves with INVALID_JSONLD", async () => {
+ mockPostValidate.mockResolvedValueOnce({
+ valid: false,
+ status: MetadataValidationStatus.INVALID_JSONLD,
+ });
+
+ const result = await checkIsMissingGAMetadata({ url, hash });
+
+ expect(result.status).toBe(MetadataValidationStatus.INVALID_JSONLD);
+ expect(mockPostValidate).toHaveBeenCalledWith({
+ url,
+ hash,
+ standard: MetadataStandard.CIP108,
+ });
+ });
+
+ it("returns MetadataValidationStatus.URL_NOT_FOUND when postValidate throws an error", async () => {
+ mockPostValidate.mockRejectedValueOnce(new Error("404 Not Found"));
+
+ const result = await checkIsMissingGAMetadata({ url, hash });
+
+ expect(result.status).toBe(MetadataValidationStatus.URL_NOT_FOUND);
+ expect(mockPostValidate).toHaveBeenCalledWith({
+ url,
+ hash,
+ standard: MetadataStandard.CIP108,
+ });
+ });
});
diff --git a/govtool/frontend/src/utils/tests/wait.test.ts b/govtool/frontend/src/utils/tests/wait.test.ts
new file mode 100644
index 000000000..1949f11c1
--- /dev/null
+++ b/govtool/frontend/src/utils/tests/wait.test.ts
@@ -0,0 +1,28 @@
+import { wait } from "..";
+
+describe("wait function", () => {
+ it("resolves after the specified time", async () => {
+ const startTime = Date.now();
+ const waitTime = 2000;
+
+ await wait(waitTime);
+
+ const endTime = Date.now();
+ const elapsedTime = endTime - startTime;
+
+ expect(elapsedTime).toBeGreaterThanOrEqual(waitTime - 100);
+ expect(elapsedTime).toBeLessThanOrEqual(waitTime + 100);
+ });
+
+ it("resolves after the default time if no time is specified", async () => {
+ const startTime = Date.now();
+
+ await wait();
+
+ const endTime = Date.now();
+ const elapsedTime = endTime - startTime;
+
+ expect(elapsedTime).toBeGreaterThanOrEqual(4900);
+ expect(elapsedTime).toBeLessThanOrEqual(5100);
+ });
+});
diff --git a/govtool/frontend/src/utils/validateMetadataHash.ts b/govtool/frontend/src/utils/validateMetadataHash.ts
index 4c9f640eb..6868cc3d6 100644
--- a/govtool/frontend/src/utils/validateMetadataHash.ts
+++ b/govtool/frontend/src/utils/validateMetadataHash.ts
@@ -1,66 +1,12 @@
-import * as blake from "blakejs";
-import { isAxiosError } from "axios";
+import { postValidate } from "@services";
-import { API } from "@services";
-import {
- sharedGovernanceActionFields,
- MetadataHashValidationErrors,
-} from "@consts";
+import { MetadataStandard, MetadataValidationStatus } from "@/models";
-import { URL_REGEX, areObjectsTheSame, canonizeJSON } from ".";
-
-export enum GAMetedataErrors {
- DATA_MISSING = "Data Missing",
- NOT_VERIFIABLE = "Data Not Verifiable",
- INCORRECT_FORMAT = "Data Formatted Incorrectly",
-}
-
-/**
- * Validates the metadata hash by fetching the metadata from the given URL,
- * canonizing it, and comparing the hash with the provided hash.
- *
- * @param storingURL - The URL where the metadata is stored.
- * @param hash - The hash to compare with the calculated hash of the metadata.
- * @returns A promise that resolves to `true` if the metadata hash is valid,
- * or rejects with an error message if validation fails.
- */
-export const validateMetadataHash = async (
- storingURL: string,
- hash: string,
-) => {
- try {
- if (!storingURL.match(URL_REGEX)) {
- throw new Error(MetadataHashValidationErrors.INVALID_URL);
- }
-
- const { data: userMetadataJSON } = await API.get(storingURL);
-
- let canonizedUserMetadata;
- try {
- canonizedUserMetadata = await canonizeJSON(userMetadataJSON);
- } catch (error) {
- throw new Error(MetadataHashValidationErrors.INVALID_JSON);
- }
- if (!canonizedUserMetadata) {
- throw new Error(MetadataHashValidationErrors.INVALID_JSON);
- }
-
- const hashedUserMetadata = blake.blake2bHex(
- canonizedUserMetadata,
- undefined,
- 32,
- );
-
- if (hashedUserMetadata !== hash) {
- throw new Error(MetadataHashValidationErrors.INVALID_HASH);
- }
- return true;
- } catch (error) {
- if (isAxiosError(error)) {
- throw new Error(MetadataHashValidationErrors.FETCH_ERROR);
- }
- throw error;
- }
+type CheckIsMissingGAMetadataResponse = {
+ status?: MetadataValidationStatus;
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ metadata?: any;
+ valid: boolean;
};
export const checkIsMissingGAMetadata = async ({
@@ -69,45 +15,18 @@ export const checkIsMissingGAMetadata = async ({
}: {
url: string;
hash: string;
-}): Promise => {
- if (!url?.match(URL_REGEX)) {
- return GAMetedataErrors.DATA_MISSING;
- }
-
- let gaMetadata;
- try {
- const { data } = await API.get(url);
- gaMetadata = data;
- } catch (e) {
- return GAMetedataErrors.DATA_MISSING;
- }
- const JSONBody = gaMetadata?.body;
-
- if (!JSONBody) {
- return GAMetedataErrors.DATA_MISSING;
- }
-
- const govtoolFields = {
- ...sharedGovernanceActionFields,
- references: [],
- };
-
- if (!areObjectsTheSame(JSONBody, govtoolFields)) {
- return GAMetedataErrors.INCORRECT_FORMAT;
- }
-
- let canonizedGAMetadata;
+}): Promise => {
try {
- canonizedGAMetadata = await canonizeJSON(gaMetadata);
+ const { status, metadata, valid } = await postValidate({
+ url,
+ hash,
+ standard: MetadataStandard.CIP108,
+ });
+ if (status) {
+ return { status, valid };
+ }
+ return { metadata, valid };
} catch (error) {
- return GAMetedataErrors.INCORRECT_FORMAT;
+ return { status: MetadataValidationStatus.URL_NOT_FOUND, valid: false };
}
-
- const gaHash = blake.blake2bHex(canonizedGAMetadata, undefined, 32);
-
- if (gaHash !== hash) {
- return GAMetedataErrors.NOT_VERIFIABLE;
- }
-
- return false;
};
diff --git a/govtool/frontend/vite.config.ts b/govtool/frontend/vite.config.ts
index 582926efb..4316c151e 100644
--- a/govtool/frontend/vite.config.ts
+++ b/govtool/frontend/vite.config.ts
@@ -51,7 +51,20 @@ const vitestConfig = defineVitestConfig({
setupFiles: "./src/setupTests.ts",
globals: true,
environment: "jsdom",
- reporters: "verbose",
+ reporters: ["verbose", "junit"],
+ coverage: {
+ include: [
+ "src/components/**/*",
+ "src/consts/**/*",
+ "src/context/**/*",
+ "src/hooks/**/*",
+ "src/services/**/*",
+ "src/utils/**/*",
+ ],
+ provider: "v8",
+ reporter: ["json-summary"],
+ enabled: true,
+ },
},
});
diff --git a/govtool/frontend/yarn.lock b/govtool/frontend/yarn.lock
index 861210e72..d32bcde1a 100644
--- a/govtool/frontend/yarn.lock
+++ b/govtool/frontend/yarn.lock
@@ -7,18 +7,27 @@
resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
-"@adobe/css-tools@^4.3.1", "@adobe/css-tools@^4.3.2":
- version "4.3.2"
- resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz"
- integrity sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==
+"@adobe/css-tools@^4.3.2":
+ version "4.3.3"
+ resolved "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz"
+ integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==
-"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
+"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1":
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@asamuzakjp/dom-selector@^2.0.1":
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.2.tgz"
+ integrity sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==
+ dependencies:
+ bidi-js "^1.0.3"
+ css-tree "^2.3.1"
+ is-potential-custom-element-name "^1.0.1"
"@aw-web-design/x-default-browser@1.4.126":
version "1.4.126"
@@ -27,48 +36,48 @@
dependencies:
default-browser-id "3.0.0"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz"
- integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz"
+ integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
dependencies:
- "@babel/highlight" "^7.23.4"
- chalk "^2.4.2"
+ "@babel/highlight" "^7.24.2"
+ picocolors "^1.0.0"
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz"
- integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
+"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz"
+ integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
-"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.20.12", "@babel/core@^7.22.5", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.5", "@babel/core@^7.7.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz"
- integrity sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==
+"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.20.12", "@babel/core@^7.22.5", "@babel/core@^7.23.0", "@babel/core@^7.23.2", "@babel/core@^7.23.5", "@babel/core@^7.23.9", "@babel/core@^7.7.5":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.4.tgz"
+ integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.5"
- "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/code-frame" "^7.24.2"
+ "@babel/generator" "^7.24.4"
+ "@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helpers" "^7.23.5"
- "@babel/parser" "^7.23.5"
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.5"
- "@babel/types" "^7.23.5"
+ "@babel/helpers" "^7.24.4"
+ "@babel/parser" "^7.24.4"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.22.5", "@babel/generator@^7.23.0", "@babel/generator@^7.23.5", "@babel/generator@^7.7.2":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz"
- integrity sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==
+"@babel/generator@^7.22.5", "@babel/generator@^7.23.0", "@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.4.tgz"
+ integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==
dependencies:
- "@babel/types" "^7.23.5"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
+ "@babel/types" "^7.24.0"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.22.5":
@@ -85,28 +94,28 @@
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6":
- version "7.22.15"
- resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz"
- integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==
+"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
+ version "7.23.6"
+ resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz"
+ integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
dependencies:
- "@babel/compat-data" "^7.22.9"
- "@babel/helper-validator-option" "^7.22.15"
- browserslist "^4.21.9"
+ "@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"
-"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz"
- integrity sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==
+"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz"
+ integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
@@ -120,10 +129,10 @@
regexpu-core "^5.3.1"
semver "^6.3.1"
-"@babel/helper-define-polyfill-provider@^0.4.3":
- version "0.4.3"
- resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz"
- integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==
+"@babel/helper-define-polyfill-provider@^0.6.1":
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz"
+ integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
dependencies:
"@babel/helper-compilation-targets" "^7.22.6"
"@babel/helper-plugin-utils" "^7.22.5"
@@ -151,19 +160,19 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
+"@babel/helper-member-expression-to-functions@^7.23.0":
version "7.23.0"
resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz"
integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
dependencies:
"@babel/types" "^7.23.0"
-"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15":
- version "7.22.15"
- resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz"
- integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
+"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1":
+ version "7.24.3"
+ resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz"
+ integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
dependencies:
- "@babel/types" "^7.22.15"
+ "@babel/types" "^7.24.0"
"@babel/helper-module-transforms@^7.23.3":
version "7.23.3"
@@ -183,10 +192,10 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.22.5"
- resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.24.0"
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz"
+ integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==
"@babel/helper-remap-async-to-generator@^7.22.20":
version "7.22.20"
@@ -197,13 +206,13 @@
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-wrap-function" "^7.22.20"
-"@babel/helper-replace-supers@^7.22.20":
- version "7.22.20"
- resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz"
- integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
+"@babel/helper-replace-supers@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz"
+ integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
+ "@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-simple-access@^7.22.5":
@@ -228,16 +237,16 @@
"@babel/types" "^7.22.5"
"@babel/helper-string-parser@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz"
- integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz"
+ integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-"@babel/helper-validator-option@^7.22.15", "@babel/helper-validator-option@^7.23.5":
+"@babel/helper-validator-option@^7.23.5":
version "7.23.5"
resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz"
integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
@@ -251,52 +260,61 @@
"@babel/template" "^7.22.15"
"@babel/types" "^7.22.19"
-"@babel/helpers@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz"
- integrity sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==
+"@babel/helpers@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.4.tgz"
+ integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==
dependencies:
- "@babel/template" "^7.22.15"
- "@babel/traverse" "^7.23.5"
- "@babel/types" "^7.23.5"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
-"@babel/highlight@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz"
- integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
+"@babel/highlight@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz"
+ integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
+ picocolors "^1.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz"
- integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.0", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz"
+ integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz"
- integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz"
+ integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-environment-visitor" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz"
- integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz"
+ integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz"
+ integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-transform-optional-chaining" "^7.23.3"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz"
- integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz"
+ integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
version "7.21.0-placeholder-for-preset-env.2"
@@ -345,26 +363,26 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-flow@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz"
- integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==
+"@babel/plugin-syntax-flow@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz"
+ integrity sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-syntax-import-assertions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz"
- integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
+"@babel/plugin-syntax-import-assertions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz"
+ integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-syntax-import-attributes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz"
- integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
+"@babel/plugin-syntax-import-attributes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz"
+ integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3":
version "7.10.4"
@@ -380,12 +398,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
-"@babel/plugin-syntax-jsx@^7.23.3", "@babel/plugin-syntax-jsx@^7.7.2":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz"
- integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==
+"@babel/plugin-syntax-jsx@^7.24.1", "@babel/plugin-syntax-jsx@^7.7.2":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz"
+ integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
@@ -443,12 +461,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@^7.23.3", "@babel/plugin-syntax-typescript@^7.7.2":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz"
- integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==
+"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.7.2":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz"
+ integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
version "7.18.6"
@@ -458,220 +476,220 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz"
- integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
+"@babel/plugin-transform-arrow-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz"
+ integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-async-generator-functions@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz"
- integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==
+"@babel/plugin-transform-async-generator-functions@^7.24.3":
+ version "7.24.3"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz"
+ integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
"@babel/plugin-syntax-async-generators" "^7.8.4"
-"@babel/plugin-transform-async-to-generator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz"
- integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
+"@babel/plugin-transform-async-to-generator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz"
+ integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==
dependencies:
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-module-imports" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
-"@babel/plugin-transform-block-scoped-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz"
- integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
+"@babel/plugin-transform-block-scoped-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz"
+ integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-block-scoping@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz"
- integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
+"@babel/plugin-transform-block-scoping@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz"
+ integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz"
- integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
+"@babel/plugin-transform-class-properties@^7.22.5", "@babel/plugin-transform-class-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz"
+ integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-static-block@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz"
- integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
+"@babel/plugin-transform-class-static-block@^7.24.4":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz"
+ integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.4"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-transform-classes@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.5.tgz"
- integrity sha512-jvOTR4nicqYC9yzOHIhXG5emiFEOpappSJAl73SDSEDcybD+Puuze8Tnpb9p9qEyYup24tq891gkaygIFvWDqg==
+"@babel/plugin-transform-classes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz"
+ integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-split-export-declaration" "^7.22.6"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz"
- integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
+"@babel/plugin-transform-computed-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz"
+ integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/template" "^7.22.15"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/template" "^7.24.0"
-"@babel/plugin-transform-destructuring@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz"
- integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
+"@babel/plugin-transform-destructuring@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz"
+ integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dotall-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz"
- integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
+"@babel/plugin-transform-dotall-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz"
+ integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-duplicate-keys@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz"
- integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
+"@babel/plugin-transform-duplicate-keys@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz"
+ integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dynamic-import@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz"
- integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
+"@babel/plugin-transform-dynamic-import@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz"
+ integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-transform-exponentiation-operator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz"
- integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
+"@babel/plugin-transform-exponentiation-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz"
+ integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==
dependencies:
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-export-namespace-from@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz"
- integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
+"@babel/plugin-transform-export-namespace-from@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz"
+ integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-transform-flow-strip-types@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz"
- integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==
+"@babel/plugin-transform-flow-strip-types@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz"
+ integrity sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-flow" "^7.23.3"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/plugin-syntax-flow" "^7.24.1"
-"@babel/plugin-transform-for-of@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz"
- integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==
+"@babel/plugin-transform-for-of@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz"
+ integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-function-name@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz"
- integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
+"@babel/plugin-transform-function-name@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz"
+ integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-json-strings@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz"
- integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
+"@babel/plugin-transform-json-strings@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz"
+ integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-transform-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz"
- integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
+"@babel/plugin-transform-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz"
+ integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-logical-assignment-operators@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz"
- integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
+"@babel/plugin-transform-logical-assignment-operators@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz"
+ integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz"
- integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
+"@babel/plugin-transform-member-expression-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz"
+ integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-amd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz"
- integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
+"@babel/plugin-transform-modules-amd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz"
+ integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz"
- integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
+"@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz"
+ integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-simple-access" "^7.22.5"
-"@babel/plugin-transform-modules-systemjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz"
- integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==
+"@babel/plugin-transform-modules-systemjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz"
+ integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==
dependencies:
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-identifier" "^7.22.20"
-"@babel/plugin-transform-modules-umd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz"
- integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
+"@babel/plugin-transform-modules-umd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz"
+ integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
version "7.22.5"
@@ -681,223 +699,223 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-new-target@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz"
- integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
+"@babel/plugin-transform-new-target@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz"
+ integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11", "@babel/plugin-transform-nullish-coalescing-operator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz"
- integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.22.11", "@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz"
+ integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-transform-numeric-separator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz"
- integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
+"@babel/plugin-transform-numeric-separator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz"
+ integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-transform-object-rest-spread@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz"
- integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==
+"@babel/plugin-transform-object-rest-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz"
+ integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==
dependencies:
- "@babel/compat-data" "^7.23.3"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-compilation-targets" "^7.23.6"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.23.3"
+ "@babel/plugin-transform-parameters" "^7.24.1"
-"@babel/plugin-transform-object-super@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz"
- integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
+"@babel/plugin-transform-object-super@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz"
+ integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
-"@babel/plugin-transform-optional-catch-binding@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz"
- integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
+"@babel/plugin-transform-optional-catch-binding@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz"
+ integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.23.0", "@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz"
- integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
+"@babel/plugin-transform-optional-chaining@^7.23.0", "@babel/plugin-transform-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz"
+ integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz"
- integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
+"@babel/plugin-transform-parameters@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz"
+ integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz"
- integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
+"@babel/plugin-transform-private-methods@^7.22.5", "@babel/plugin-transform-private-methods@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz"
+ integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-property-in-object@^7.23.4":
- version "7.23.4"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz"
- integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
+"@babel/plugin-transform-private-property-in-object@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz"
+ integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz"
- integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
+"@babel/plugin-transform-property-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz"
+ integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-self@^7.18.6", "@babel/plugin-transform-react-jsx-self@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz"
- integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz"
+ integrity sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-source@^7.19.6", "@babel/plugin-transform-react-jsx-source@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz"
- integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz"
+ integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-regenerator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz"
- integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
+"@babel/plugin-transform-regenerator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz"
+ integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
regenerator-transform "^0.15.2"
-"@babel/plugin-transform-reserved-words@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz"
- integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
+"@babel/plugin-transform-reserved-words@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz"
+ integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-shorthand-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz"
- integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
+"@babel/plugin-transform-shorthand-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz"
+ integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-spread@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz"
- integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
+"@babel/plugin-transform-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz"
+ integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-sticky-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz"
- integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
+"@babel/plugin-transform-sticky-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz"
+ integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-template-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz"
- integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
+"@babel/plugin-transform-template-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz"
+ integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-typeof-symbol@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz"
- integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
+"@babel/plugin-transform-typeof-symbol@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz"
+ integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-typescript@^7.23.3":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz"
- integrity sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==
+"@babel/plugin-transform-typescript@^7.24.1":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.4.tgz"
+ integrity sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.23.5"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/plugin-syntax-typescript" "^7.23.3"
+ "@babel/helper-create-class-features-plugin" "^7.24.4"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/plugin-syntax-typescript" "^7.24.1"
-"@babel/plugin-transform-unicode-escapes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz"
- integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
+"@babel/plugin-transform-unicode-escapes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz"
+ integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-property-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz"
- integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
+"@babel/plugin-transform-unicode-property-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz"
+ integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz"
- integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
+"@babel/plugin-transform-unicode-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz"
+ integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz"
- integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
+"@babel/plugin-transform-unicode-sets-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz"
+ integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/preset-env@^7.23.2":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.5.tgz"
- integrity sha512-0d/uxVD6tFGWXGDSfyMD1p2otoaKmu6+GD+NfAx0tMaH+dxORnp7T9TaVQ6mKyya7iBtCIVxHjWT7MuzzM9z+A==
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.4.tgz"
+ integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==
dependencies:
- "@babel/compat-data" "^7.23.5"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/compat-data" "^7.24.4"
+ "@babel/helper-compilation-targets" "^7.23.6"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-option" "^7.23.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3"
+ "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.23.3"
- "@babel/plugin-syntax-import-attributes" "^7.23.3"
+ "@babel/plugin-syntax-import-assertions" "^7.24.1"
+ "@babel/plugin-syntax-import-attributes" "^7.24.1"
"@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
@@ -909,69 +927,69 @@
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.23.3"
- "@babel/plugin-transform-async-generator-functions" "^7.23.4"
- "@babel/plugin-transform-async-to-generator" "^7.23.3"
- "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
- "@babel/plugin-transform-block-scoping" "^7.23.4"
- "@babel/plugin-transform-class-properties" "^7.23.3"
- "@babel/plugin-transform-class-static-block" "^7.23.4"
- "@babel/plugin-transform-classes" "^7.23.5"
- "@babel/plugin-transform-computed-properties" "^7.23.3"
- "@babel/plugin-transform-destructuring" "^7.23.3"
- "@babel/plugin-transform-dotall-regex" "^7.23.3"
- "@babel/plugin-transform-duplicate-keys" "^7.23.3"
- "@babel/plugin-transform-dynamic-import" "^7.23.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
- "@babel/plugin-transform-export-namespace-from" "^7.23.4"
- "@babel/plugin-transform-for-of" "^7.23.3"
- "@babel/plugin-transform-function-name" "^7.23.3"
- "@babel/plugin-transform-json-strings" "^7.23.4"
- "@babel/plugin-transform-literals" "^7.23.3"
- "@babel/plugin-transform-logical-assignment-operators" "^7.23.4"
- "@babel/plugin-transform-member-expression-literals" "^7.23.3"
- "@babel/plugin-transform-modules-amd" "^7.23.3"
- "@babel/plugin-transform-modules-commonjs" "^7.23.3"
- "@babel/plugin-transform-modules-systemjs" "^7.23.3"
- "@babel/plugin-transform-modules-umd" "^7.23.3"
+ "@babel/plugin-transform-arrow-functions" "^7.24.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.24.3"
+ "@babel/plugin-transform-async-to-generator" "^7.24.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.24.1"
+ "@babel/plugin-transform-block-scoping" "^7.24.4"
+ "@babel/plugin-transform-class-properties" "^7.24.1"
+ "@babel/plugin-transform-class-static-block" "^7.24.4"
+ "@babel/plugin-transform-classes" "^7.24.1"
+ "@babel/plugin-transform-computed-properties" "^7.24.1"
+ "@babel/plugin-transform-destructuring" "^7.24.1"
+ "@babel/plugin-transform-dotall-regex" "^7.24.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.24.1"
+ "@babel/plugin-transform-dynamic-import" "^7.24.1"
+ "@babel/plugin-transform-exponentiation-operator" "^7.24.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.24.1"
+ "@babel/plugin-transform-for-of" "^7.24.1"
+ "@babel/plugin-transform-function-name" "^7.24.1"
+ "@babel/plugin-transform-json-strings" "^7.24.1"
+ "@babel/plugin-transform-literals" "^7.24.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.24.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.24.1"
+ "@babel/plugin-transform-modules-amd" "^7.24.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.24.1"
+ "@babel/plugin-transform-modules-umd" "^7.24.1"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
- "@babel/plugin-transform-new-target" "^7.23.3"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4"
- "@babel/plugin-transform-numeric-separator" "^7.23.4"
- "@babel/plugin-transform-object-rest-spread" "^7.23.4"
- "@babel/plugin-transform-object-super" "^7.23.3"
- "@babel/plugin-transform-optional-catch-binding" "^7.23.4"
- "@babel/plugin-transform-optional-chaining" "^7.23.4"
- "@babel/plugin-transform-parameters" "^7.23.3"
- "@babel/plugin-transform-private-methods" "^7.23.3"
- "@babel/plugin-transform-private-property-in-object" "^7.23.4"
- "@babel/plugin-transform-property-literals" "^7.23.3"
- "@babel/plugin-transform-regenerator" "^7.23.3"
- "@babel/plugin-transform-reserved-words" "^7.23.3"
- "@babel/plugin-transform-shorthand-properties" "^7.23.3"
- "@babel/plugin-transform-spread" "^7.23.3"
- "@babel/plugin-transform-sticky-regex" "^7.23.3"
- "@babel/plugin-transform-template-literals" "^7.23.3"
- "@babel/plugin-transform-typeof-symbol" "^7.23.3"
- "@babel/plugin-transform-unicode-escapes" "^7.23.3"
- "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
+ "@babel/plugin-transform-new-target" "^7.24.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1"
+ "@babel/plugin-transform-numeric-separator" "^7.24.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.24.1"
+ "@babel/plugin-transform-object-super" "^7.24.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.24.1"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
+ "@babel/plugin-transform-parameters" "^7.24.1"
+ "@babel/plugin-transform-private-methods" "^7.24.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.24.1"
+ "@babel/plugin-transform-property-literals" "^7.24.1"
+ "@babel/plugin-transform-regenerator" "^7.24.1"
+ "@babel/plugin-transform-reserved-words" "^7.24.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.24.1"
+ "@babel/plugin-transform-spread" "^7.24.1"
+ "@babel/plugin-transform-sticky-regex" "^7.24.1"
+ "@babel/plugin-transform-template-literals" "^7.24.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.24.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.24.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.24.1"
"@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.6"
- babel-plugin-polyfill-corejs3 "^0.8.5"
- babel-plugin-polyfill-regenerator "^0.5.3"
+ babel-plugin-polyfill-corejs2 "^0.4.10"
+ babel-plugin-polyfill-corejs3 "^0.10.4"
+ babel-plugin-polyfill-regenerator "^0.6.1"
core-js-compat "^3.31.0"
semver "^6.3.1"
"@babel/preset-flow@^7.22.15":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.23.3.tgz"
- integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz"
+ integrity sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-validator-option" "^7.22.15"
- "@babel/plugin-transform-flow-strip-types" "^7.23.3"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-validator-option" "^7.23.5"
+ "@babel/plugin-transform-flow-strip-types" "^7.24.1"
"@babel/preset-modules@0.1.6-no-external-plugins":
version "0.1.6-no-external-plugins"
@@ -983,25 +1001,25 @@
esutils "^2.0.2"
"@babel/preset-typescript@^7.23.0":
- version "7.23.3"
- resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz"
- integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz"
+ integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-validator-option" "^7.22.15"
- "@babel/plugin-syntax-jsx" "^7.23.3"
- "@babel/plugin-transform-modules-commonjs" "^7.23.3"
- "@babel/plugin-transform-typescript" "^7.23.3"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-validator-option" "^7.23.5"
+ "@babel/plugin-syntax-jsx" "^7.24.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.1"
+ "@babel/plugin-transform-typescript" "^7.24.1"
"@babel/register@^7.22.15":
- version "7.22.15"
- resolved "https://registry.npmjs.org/@babel/register/-/register-7.22.15.tgz"
- integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg==
+ version "7.23.7"
+ resolved "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz"
+ integrity sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==
dependencies:
clone-deep "^4.0.1"
find-cache-dir "^2.0.0"
make-dir "^2.1.0"
- pirates "^4.0.5"
+ pirates "^4.0.6"
source-map-support "^0.5.16"
"@babel/regjsgen@^0.8.0":
@@ -1009,49 +1027,42 @@
resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz"
- integrity sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==
+"@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.7", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.23.9", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+ version "7.24.4"
+ resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.4.tgz"
+ integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/runtime@^7.22.5":
- version "7.23.8"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz"
- integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==
+"@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.24.0", "@babel/template@^7.3.3":
+ version "7.24.0"
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz"
+ integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
dependencies:
- regenerator-runtime "^0.14.0"
+ "@babel/code-frame" "^7.23.5"
+ "@babel/parser" "^7.24.0"
+ "@babel/types" "^7.24.0"
-"@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3":
- version "7.22.15"
- resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz"
- integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
+"@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz"
+ integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==
dependencies:
- "@babel/code-frame" "^7.22.13"
- "@babel/parser" "^7.22.15"
- "@babel/types" "^7.22.15"
-
-"@babel/traverse@^7.18.9", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.5":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz"
- integrity sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==
- dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.5"
+ "@babel/code-frame" "^7.24.1"
+ "@babel/generator" "^7.24.1"
"@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.22.6"
- "@babel/parser" "^7.23.5"
- "@babel/types" "^7.23.5"
- debug "^4.1.0"
+ "@babel/parser" "^7.24.1"
+ "@babel/types" "^7.24.0"
+ debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.23.5"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz"
- integrity sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==
+"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
+ version "7.24.0"
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz"
+ integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
dependencies:
"@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
@@ -1119,10 +1130,10 @@
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz"
integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==
-"@emotion/is-prop-valid@^1.2.1":
- version "1.2.1"
- resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz"
- integrity sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==
+"@emotion/is-prop-valid@^1.2.2":
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz"
+ integrity sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==
dependencies:
"@emotion/memoize" "^0.8.1"
@@ -1132,23 +1143,23 @@
integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==
"@emotion/react@^11.11.1":
- version "11.11.1"
- resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz"
- integrity sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==
+ version "11.11.4"
+ resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz"
+ integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==
dependencies:
"@babel/runtime" "^7.18.3"
"@emotion/babel-plugin" "^11.11.0"
"@emotion/cache" "^11.11.0"
- "@emotion/serialize" "^1.1.2"
+ "@emotion/serialize" "^1.1.3"
"@emotion/use-insertion-effect-with-fallbacks" "^1.0.1"
"@emotion/utils" "^1.2.1"
"@emotion/weak-memoize" "^0.3.1"
hoist-non-react-statics "^3.3.1"
-"@emotion/serialize@^1.1.2":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz"
- integrity sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==
+"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3", "@emotion/serialize@^1.1.4":
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.4.tgz"
+ integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==
dependencies:
"@emotion/hash" "^0.9.1"
"@emotion/memoize" "^0.8.1"
@@ -1162,14 +1173,14 @@
integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==
"@emotion/styled@^11.11.0":
- version "11.11.0"
- resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz"
- integrity sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==
+ version "11.11.5"
+ resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.5.tgz"
+ integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==
dependencies:
"@babel/runtime" "^7.18.3"
"@emotion/babel-plugin" "^11.11.0"
- "@emotion/is-prop-valid" "^1.2.1"
- "@emotion/serialize" "^1.1.2"
+ "@emotion/is-prop-valid" "^1.2.2"
+ "@emotion/serialize" "^1.1.4"
"@emotion/use-insertion-effect-with-fallbacks" "^1.0.1"
"@emotion/utils" "^1.2.1"
@@ -1193,345 +1204,350 @@
resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz"
integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==
-"@emurgo/cardano-serialization-lib-asmjs@12.0.0-alpha.19":
- version "12.0.0-alpha.19"
- resolved "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.19.tgz"
- integrity sha512-fF3e5qPgJeYDDmPVcyZ7nCuqYI6H3JJ5cSjxnKRRKK/FzYxEsHRoxpLCuZ604A4j/4mYNXVlUYeV4KhgecgUBw==
+"@emurgo/cardano-serialization-lib-asmjs@12.0.0-alpha.29":
+ version "12.0.0-alpha.29"
+ resolved "https://registry.npmjs.org/@emurgo/cardano-serialization-lib-asmjs/-/cardano-serialization-lib-asmjs-12.0.0-alpha.29.tgz"
+ integrity sha512-E9+jGLo8QciXbkb7dDYEbZL6YlEJfNRwzYkyR4kkuvzAsy0uKe93dtAY1tdj6ECp+NyeH5xqyKU6aUT8rxwm7A==
+
+"@esbuild/aix-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f"
+ integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==
-"@esbuild/aix-ppc64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz#2acd20be6d4f0458bc8c784103495ff24f13b1d3"
- integrity sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==
+"@esbuild/aix-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
+ integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
"@esbuild/android-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622"
integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==
-"@esbuild/android-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz#b45d000017385c9051a4f03e17078abb935be220"
- integrity sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==
+"@esbuild/android-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4"
+ integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==
-"@esbuild/android-arm64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz#fb7130103835b6d43ea499c3f30cfb2b2ed58456"
- integrity sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==
+"@esbuild/android-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
+ integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
"@esbuild/android-arm@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682"
integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==
-"@esbuild/android-arm@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz#f46f55414e1c3614ac682b29977792131238164c"
- integrity sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==
+"@esbuild/android-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824"
+ integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==
-"@esbuild/android-arm@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.8.tgz#b46e4d9e984e6d6db6c4224d72c86b7757e35bcb"
- integrity sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==
+"@esbuild/android-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
+ integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
"@esbuild/android-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2"
integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==
-"@esbuild/android-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz#bfc01e91740b82011ef503c48f548950824922b2"
- integrity sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==
+"@esbuild/android-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d"
+ integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==
-"@esbuild/android-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.8.tgz#a13db9441b5a4f4e4fec4a6f8ffacfea07888db7"
- integrity sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==
+"@esbuild/android-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
+ integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
"@esbuild/darwin-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz"
integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==
-"@esbuild/darwin-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz"
- integrity sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==
+"@esbuild/darwin-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz"
+ integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==
-"@esbuild/darwin-arm64@0.19.8":
- version "0.19.8"
- resolved "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz"
- integrity sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==
+"@esbuild/darwin-arm64@0.20.2":
+ 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==
"@esbuild/darwin-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d"
integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==
-"@esbuild/darwin-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz#62f3819eff7e4ddc656b7c6815a31cf9a1e7d98e"
- integrity sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==
+"@esbuild/darwin-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd"
+ integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==
-"@esbuild/darwin-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz#75c5c88371eea4bfc1f9ecfd0e75104c74a481ac"
- integrity sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==
+"@esbuild/darwin-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
+ integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
"@esbuild/freebsd-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54"
integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==
-"@esbuild/freebsd-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz#d478b4195aa3ca44160272dab85ef8baf4175b4a"
- integrity sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==
+"@esbuild/freebsd-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487"
+ integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==
-"@esbuild/freebsd-arm64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz#9d7259fea4fd2b5f7437b52b542816e89d7c8575"
- integrity sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==
+"@esbuild/freebsd-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
+ integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
"@esbuild/freebsd-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e"
integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==
-"@esbuild/freebsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz#7bdcc1917409178257ca6a1a27fe06e797ec18a2"
- integrity sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==
+"@esbuild/freebsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c"
+ integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==
-"@esbuild/freebsd-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz#abac03e1c4c7c75ee8add6d76ec592f46dbb39e3"
- integrity sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==
+"@esbuild/freebsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
+ integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
"@esbuild/linux-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0"
integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==
-"@esbuild/linux-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz#58ad4ff11685fcc735d7ff4ca759ab18fcfe4545"
- integrity sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==
+"@esbuild/linux-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b"
+ integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==
-"@esbuild/linux-arm64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz#c577932cf4feeaa43cb9cec27b89cbe0df7d9098"
- integrity sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==
+"@esbuild/linux-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
+ integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
"@esbuild/linux-arm@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0"
integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==
-"@esbuild/linux-arm@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz#ce82246d873b5534d34de1e5c1b33026f35e60e3"
- integrity sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==
+"@esbuild/linux-arm@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef"
+ integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==
-"@esbuild/linux-arm@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz#d6014d8b98b5cbc96b95dad3d14d75bb364fdc0f"
- integrity sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==
+"@esbuild/linux-arm@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
+ integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
"@esbuild/linux-ia32@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7"
integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==
-"@esbuild/linux-ia32@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz#cbae1f313209affc74b80f4390c4c35c6ab83fa4"
- integrity sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==
+"@esbuild/linux-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601"
+ integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==
-"@esbuild/linux-ia32@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz#2379a0554307d19ac4a6cdc15b08f0ea28e7a40d"
- integrity sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==
+"@esbuild/linux-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
+ integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
"@esbuild/linux-loong64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d"
integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==
-"@esbuild/linux-loong64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz#5f32aead1c3ec8f4cccdb7ed08b166224d4e9121"
- integrity sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==
+"@esbuild/linux-loong64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299"
+ integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==
-"@esbuild/linux-loong64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz#e2a5bbffe15748b49356a6cd7b2d5bf60c5a7123"
- integrity sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==
+"@esbuild/linux-loong64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
+ integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
"@esbuild/linux-mips64el@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231"
integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==
-"@esbuild/linux-mips64el@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz#38eecf1cbb8c36a616261de858b3c10d03419af9"
- integrity sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==
+"@esbuild/linux-mips64el@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec"
+ integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==
-"@esbuild/linux-mips64el@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz#1359331e6f6214f26f4b08db9b9df661c57cfa24"
- integrity sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==
+"@esbuild/linux-mips64el@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
+ integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
"@esbuild/linux-ppc64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb"
integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==
-"@esbuild/linux-ppc64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz#9c5725a94e6ec15b93195e5a6afb821628afd912"
- integrity sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==
+"@esbuild/linux-ppc64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8"
+ integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==
-"@esbuild/linux-ppc64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz#9ba436addc1646dc89dae48c62d3e951ffe70951"
- integrity sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==
+"@esbuild/linux-ppc64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
+ integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
"@esbuild/linux-riscv64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6"
integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==
-"@esbuild/linux-riscv64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz#2dc4486d474a2a62bbe5870522a9a600e2acb916"
- integrity sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==
+"@esbuild/linux-riscv64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf"
+ integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==
-"@esbuild/linux-riscv64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz#fbcf0c3a0b20f40b5fc31c3b7695f0769f9de66b"
- integrity sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==
+"@esbuild/linux-riscv64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
+ integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
"@esbuild/linux-s390x@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071"
integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==
-"@esbuild/linux-s390x@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz#4ad8567df48f7dd4c71ec5b1753b6f37561a65a8"
- integrity sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==
+"@esbuild/linux-s390x@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8"
+ integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==
-"@esbuild/linux-s390x@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz#989e8a05f7792d139d5564ffa7ff898ac6f20a4a"
- integrity sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==
+"@esbuild/linux-s390x@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
+ integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
"@esbuild/linux-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338"
integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==
-"@esbuild/linux-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz#b7390c4d5184f203ebe7ddaedf073df82a658766"
- integrity sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==
+"@esbuild/linux-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78"
+ integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==
-"@esbuild/linux-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz#b187295393a59323397fe5ff51e769ec4e72212b"
- integrity sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==
+"@esbuild/linux-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
+ integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
"@esbuild/netbsd-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1"
integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==
-"@esbuild/netbsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz#d633c09492a1721377f3bccedb2d821b911e813d"
- integrity sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==
+"@esbuild/netbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b"
+ integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==
-"@esbuild/netbsd-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz#c1ec0e24ea82313cb1c7bae176bd5acd5bde7137"
- integrity sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==
+"@esbuild/netbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
+ integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
"@esbuild/openbsd-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae"
integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==
-"@esbuild/openbsd-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz#17388c76e2f01125bf831a68c03a7ffccb65d1a2"
- integrity sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==
+"@esbuild/openbsd-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0"
+ integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==
-"@esbuild/openbsd-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz#0c5b696ac66c6d70cf9ee17073a581a28af9e18d"
- integrity sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==
+"@esbuild/openbsd-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
+ integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
"@esbuild/sunos-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d"
integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==
-"@esbuild/sunos-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz#e320636f00bb9f4fdf3a80e548cb743370d41767"
- integrity sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==
+"@esbuild/sunos-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30"
+ integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==
-"@esbuild/sunos-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz#2a697e1f77926ff09fcc457d8f29916d6cd48fb1"
- integrity sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==
+"@esbuild/sunos-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
+ integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
"@esbuild/win32-arm64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9"
integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==
-"@esbuild/win32-arm64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz#c778b45a496e90b6fc373e2a2bb072f1441fe0ee"
- integrity sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==
+"@esbuild/win32-arm64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae"
+ integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==
-"@esbuild/win32-arm64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz#ec029e62a2fca8c071842ecb1bc5c2dd20b066f1"
- integrity sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==
+"@esbuild/win32-arm64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
+ integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
"@esbuild/win32-ia32@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102"
integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==
-"@esbuild/win32-ia32@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz#481a65fee2e5cce74ec44823e6b09ecedcc5194c"
- integrity sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==
+"@esbuild/win32-ia32@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67"
+ integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==
-"@esbuild/win32-ia32@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz#cbb9a3146bde64dc15543e48afe418c7a3214851"
- integrity sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==
+"@esbuild/win32-ia32@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
+ integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
"@esbuild/win32-x64@0.18.20":
version "0.18.20"
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
-"@esbuild/win32-x64@0.19.11":
- version "0.19.11"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz#a5d300008960bb39677c46bf16f53ec70d8dee04"
- integrity sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==
+"@esbuild/win32-x64@0.19.12":
+ version "0.19.12"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae"
+ integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==
-"@esbuild/win32-x64@0.19.8":
- version "0.19.8"
- resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz#c8285183dbdb17008578dbacb6e22748709b4822"
- integrity sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==
+"@esbuild/win32-x64@0.20.2":
+ version "0.20.2"
+ resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
+ integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
@@ -1540,7 +1556,7 @@
dependencies:
eslint-visitor-keys "^3.3.0"
-"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
+"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1":
version "4.10.0"
resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz"
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
@@ -1575,39 +1591,39 @@
resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz"
integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==
-"@floating-ui/core@^1.4.2":
- version "1.5.1"
- resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.1.tgz"
- integrity sha512-QgcKYwzcc8vvZ4n/5uklchy8KVdjJwcOeI+HnnTNclJjs2nYsy23DOCf+sSV1kBwD9yDAoVKCkv/gEPzgQU3Pw==
+"@floating-ui/core@^1.0.0":
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz"
+ integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==
dependencies:
- "@floating-ui/utils" "^0.1.3"
+ "@floating-ui/utils" "^0.2.1"
-"@floating-ui/dom@^1.5.1":
- version "1.5.3"
- resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz"
- integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==
+"@floating-ui/dom@^1.6.1":
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz"
+ integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==
dependencies:
- "@floating-ui/core" "^1.4.2"
- "@floating-ui/utils" "^0.1.3"
+ "@floating-ui/core" "^1.0.0"
+ "@floating-ui/utils" "^0.2.0"
-"@floating-ui/react-dom@^2.0.0", "@floating-ui/react-dom@^2.0.4":
- version "2.0.4"
- resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.4.tgz"
- integrity sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ==
+"@floating-ui/react-dom@^2.0.0", "@floating-ui/react-dom@^2.0.8":
+ version "2.0.8"
+ resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz"
+ integrity sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==
dependencies:
- "@floating-ui/dom" "^1.5.1"
+ "@floating-ui/dom" "^1.6.1"
-"@floating-ui/utils@^0.1.3":
- version "0.1.6"
- resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz"
- integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==
+"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1":
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz"
+ integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==
-"@hapi/hoek@^9.0.0":
+"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
version "9.3.0"
resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz"
integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
-"@hapi/topo@^5.0.0":
+"@hapi/topo@^5.1.0":
version "5.1.0"
resolved "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz"
integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
@@ -1615,9 +1631,9 @@
"@hapi/hoek" "^9.0.0"
"@hookform/resolvers@^3.3.1":
- version "3.3.2"
- resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.2.tgz"
- integrity sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA==
+ version "3.3.4"
+ resolved "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.4.tgz"
+ integrity sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==
"@humanwhocodes/config-array@^0.11.14":
version "0.11.14"
@@ -1634,9 +1650,9 @@
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
"@humanwhocodes/object-schema@^2.0.2":
- version "2.0.2"
- resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz"
- integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz"
+ integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==
"@isaacs/cliui@^8.0.2":
version "8.0.2"
@@ -1661,7 +1677,7 @@
js-yaml "^3.13.1"
resolve-from "^5.0.0"
-"@istanbuljs/schema@^0.1.2":
+"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
version "0.1.3"
resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz"
integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
@@ -1712,12 +1728,12 @@
slash "^3.0.0"
strip-ansi "^6.0.0"
-"@jest/create-cache-key-function@^27.4.2":
- version "27.5.1"
- resolved "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-27.5.1.tgz"
- integrity sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==
+"@jest/create-cache-key-function@^29.7.0":
+ version "29.7.0"
+ resolved "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz"
+ integrity sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==
dependencies:
- "@jest/types" "^27.5.1"
+ "@jest/types" "^29.6.3"
"@jest/environment@^29.7.0":
version "29.7.0"
@@ -1893,34 +1909,34 @@
magic-string "^0.27.0"
react-docgen-typescript "^2.2.2"
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
+"@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"
+ integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
dependencies:
- "@jridgewell/set-array" "^1.0.1"
+ "@jridgewell/set-array" "^1.2.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/trace-mapping" "^0.3.24"
"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.1"
- resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz"
- integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
version "1.4.15"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.20"
- resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz"
- integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.23", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
@@ -1949,93 +1965,93 @@
"@types/mdx" "^2.0.0"
"@types/react" ">=16"
-"@mui/base@5.0.0-beta.26":
- version "5.0.0-beta.26"
- resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.26.tgz"
- integrity sha512-gPMRKC84VRw+tjqYoyBzyrBUqHQucMXdlBpYazHa5rCXrb91fYEQk5SqQ2U5kjxx9QxZxTBvWAmZ6DblIgaGhQ==
+"@mui/base@5.0.0-beta.40":
+ version "5.0.0-beta.40"
+ resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz"
+ integrity sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==
dependencies:
- "@babel/runtime" "^7.23.4"
- "@floating-ui/react-dom" "^2.0.4"
- "@mui/types" "^7.2.10"
- "@mui/utils" "^5.14.20"
+ "@babel/runtime" "^7.23.9"
+ "@floating-ui/react-dom" "^2.0.8"
+ "@mui/types" "^7.2.14"
+ "@mui/utils" "^5.15.14"
"@popperjs/core" "^2.11.8"
- clsx "^2.0.0"
+ clsx "^2.1.0"
prop-types "^15.8.1"
-"@mui/core-downloads-tracker@^5.14.20":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.20.tgz"
- integrity sha512-fXoGe8VOrIYajqALysFuyal1q1YmBARqJ3tmnWYDVl0scu8f6h6tZQbS2K8BY28QwkWNGyv4WRfuUkzN5HR3Ow==
+"@mui/core-downloads-tracker@^5.15.15":
+ version "5.15.15"
+ resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz"
+ integrity sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg==
"@mui/icons-material@^5.14.3":
- version "5.14.19"
- resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.19.tgz"
- integrity sha512-yjP8nluXxZGe3Y7pS+yxBV+hWZSsSBampCxkZwaw+1l+feL+rfP74vbEFbMrX/Kil9I/Y1tWfy5bs/eNvwNpWw==
+ version "5.15.15"
+ resolved "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.15.15.tgz"
+ integrity sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g==
dependencies:
- "@babel/runtime" "^7.23.4"
+ "@babel/runtime" "^7.23.9"
"@mui/material@^5.14.4":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/material/-/material-5.14.20.tgz"
- integrity sha512-SUcPZnN6e0h1AtrDktEl76Dsyo/7pyEUQ+SAVe9XhHg/iliA0b4Vo+Eg4HbNkELsMbpDsUF4WHp7rgflPG7qYQ==
- dependencies:
- "@babel/runtime" "^7.23.4"
- "@mui/base" "5.0.0-beta.26"
- "@mui/core-downloads-tracker" "^5.14.20"
- "@mui/system" "^5.14.20"
- "@mui/types" "^7.2.10"
- "@mui/utils" "^5.14.20"
- "@types/react-transition-group" "^4.4.9"
- clsx "^2.0.0"
- csstype "^3.1.2"
+ version "5.15.15"
+ resolved "https://registry.npmjs.org/@mui/material/-/material-5.15.15.tgz"
+ integrity sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA==
+ dependencies:
+ "@babel/runtime" "^7.23.9"
+ "@mui/base" "5.0.0-beta.40"
+ "@mui/core-downloads-tracker" "^5.15.15"
+ "@mui/system" "^5.15.15"
+ "@mui/types" "^7.2.14"
+ "@mui/utils" "^5.15.14"
+ "@types/react-transition-group" "^4.4.10"
+ clsx "^2.1.0"
+ csstype "^3.1.3"
prop-types "^15.8.1"
react-is "^18.2.0"
react-transition-group "^4.4.5"
-"@mui/private-theming@^5.14.20":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.20.tgz"
- integrity sha512-WV560e1vhs2IHCh0pgUaWHznrcrVoW9+cDCahU1VTkuwPokWVvb71ccWQ1f8Y3tRBPPcNkU2dChkkRJChLmQlQ==
+"@mui/private-theming@^5.15.14":
+ version "5.15.14"
+ resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.15.14.tgz"
+ integrity sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==
dependencies:
- "@babel/runtime" "^7.23.4"
- "@mui/utils" "^5.14.20"
+ "@babel/runtime" "^7.23.9"
+ "@mui/utils" "^5.15.14"
prop-types "^15.8.1"
-"@mui/styled-engine@^5.14.19":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.20.tgz"
- integrity sha512-Vs4nGptd9wRslo9zeRkuWcZeIEp+oYbODy+fiZKqqr4CH1Gfi9fdP0Q1tGYk8OiJ2EPB/tZSAyOy62Hyp/iP7g==
+"@mui/styled-engine@^5.15.14":
+ version "5.15.14"
+ resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.15.14.tgz"
+ integrity sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==
dependencies:
- "@babel/runtime" "^7.23.4"
+ "@babel/runtime" "^7.23.9"
"@emotion/cache" "^11.11.0"
- csstype "^3.1.2"
+ csstype "^3.1.3"
prop-types "^15.8.1"
-"@mui/system@^5.14.20":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/system/-/system-5.14.20.tgz"
- integrity sha512-jKOGtK4VfYZG5kdaryUHss4X6hzcfh0AihT8gmnkfqRtWP7xjY+vPaUhhuSeibE5sqA5wCtdY75z6ep9pxFnIg==
- dependencies:
- "@babel/runtime" "^7.23.4"
- "@mui/private-theming" "^5.14.20"
- "@mui/styled-engine" "^5.14.19"
- "@mui/types" "^7.2.10"
- "@mui/utils" "^5.14.20"
- clsx "^2.0.0"
- csstype "^3.1.2"
+"@mui/system@^5.15.15":
+ version "5.15.15"
+ resolved "https://registry.npmjs.org/@mui/system/-/system-5.15.15.tgz"
+ integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==
+ dependencies:
+ "@babel/runtime" "^7.23.9"
+ "@mui/private-theming" "^5.15.14"
+ "@mui/styled-engine" "^5.15.14"
+ "@mui/types" "^7.2.14"
+ "@mui/utils" "^5.15.14"
+ clsx "^2.1.0"
+ csstype "^3.1.3"
prop-types "^15.8.1"
-"@mui/types@^7.2.10":
- version "7.2.10"
- resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.10.tgz"
- integrity sha512-wX1vbDC+lzF7FlhT6A3ffRZgEoKWPF8VqRoTu4lZwouFX2t90KyCMsgepMw5DxLak1BSp/KP86CmtZttikb/gQ==
+"@mui/types@^7.2.14":
+ version "7.2.14"
+ resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.14.tgz"
+ integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ==
-"@mui/utils@^5.14.20":
- version "5.14.20"
- resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.14.20.tgz"
- integrity sha512-Y6yL5MoFmtQml20DZnaaK1znrCEwG6/vRSzW8PKOTrzhyqKIql0FazZRUR7sA5EPASgiyKZfq0FPwISRXm5NdA==
+"@mui/utils@^5.15.14":
+ version "5.15.14"
+ resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.15.14.tgz"
+ integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==
dependencies:
- "@babel/runtime" "^7.23.4"
+ "@babel/runtime" "^7.23.9"
"@types/prop-types" "^15.7.11"
prop-types "^15.8.1"
react-is "^18.2.0"
@@ -2076,9 +2092,9 @@
integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
"@polka/url@^1.0.0-next.24":
- version "1.0.0-next.24"
- resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz"
- integrity sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==
+ version "1.0.0-next.25"
+ resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz"
+ integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==
"@popperjs/core@^2.11.8":
version "2.11.8"
@@ -2375,10 +2391,10 @@
dependencies:
"@babel/runtime" "^7.13.10"
-"@remix-run/router@1.13.1":
- version "1.13.1"
- resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.13.1.tgz"
- integrity sha512-so+DHzZKsoOcoXrILB4rqDkMDy7NLMErRdOxvzvOKb507YINKUP4Di+shbTZDhSE/pBZ+vr7XGIpcOO0VLSA+Q==
+"@remix-run/router@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz"
+ integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==
"@rollup/pluginutils@^5.0.2":
version "5.1.0"
@@ -2389,150 +2405,177 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
-"@rollup/rollup-android-arm-eabi@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.2.tgz#ccb02257556bacbc1e756ab9b0b973cea2c7a664"
- integrity sha512-RKzxFxBHq9ysZ83fn8Iduv3A283K7zPPYuhL/z9CQuyFrjwpErJx0h4aeb/bnJ+q29GRLgJpY66ceQ/Wcsn3wA==
-
-"@rollup/rollup-android-arm64@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.2.tgz#21bd0fbafdf442c6a17645b840f6a94556b0e9bb"
- integrity sha512-yZ+MUbnwf3SHNWQKJyWh88ii2HbuHCFQnAYTeeO1Nb8SyEiWASEi5dQUygt3ClHWtA9My9RQAYkjvrsZ0WK8Xg==
-
-"@rollup/rollup-darwin-arm64@4.9.2":
- version "4.9.2"
- resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.2.tgz"
- integrity sha512-vqJ/pAUh95FLc/G/3+xPqlSBgilPnauVf2EXOQCZzhZJCXDXt/5A8mH/OzU6iWhb3CNk5hPJrh8pqJUPldN5zw==
-
-"@rollup/rollup-darwin-x64@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.2.tgz#1b06291ff1c41af94d2786cd167188c5bf7caec9"
- integrity sha512-otPHsN5LlvedOprd3SdfrRNhOahhVBwJpepVKUN58L0RnC29vOAej1vMEaVU6DadnpjivVsNTM5eNt0CcwTahw==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.2.tgz#147069948bba00f435122f411210624e72638ebf"
- integrity sha512-ewG5yJSp+zYKBYQLbd1CUA7b1lSfIdo9zJShNTyc2ZP1rcPrqyZcNlsHgs7v1zhgfdS+kW0p5frc0aVqhZCiYQ==
-
-"@rollup/rollup-linux-arm64-gnu@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.2.tgz#3a50f0e7ae6e444d11c61fce12783196454a4efb"
- integrity sha512-pL6QtV26W52aCWTG1IuFV3FMPL1m4wbsRG+qijIvgFO/VBsiXJjDPE/uiMdHBAO6YcpV4KvpKtd0v3WFbaxBtg==
+"@rollup/rollup-android-arm-eabi@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.3.tgz#bddf05c3387d02fac04b6b86b3a779337edfed75"
+ integrity sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==
+
+"@rollup/rollup-android-arm64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.3.tgz#b26bd09de58704c0a45e3375b76796f6eda825e4"
+ integrity sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==
+
+"@rollup/rollup-darwin-arm64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.3.tgz"
+ integrity sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==
+
+"@rollup/rollup-darwin-x64@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.3.tgz#8e4673734d7dc9d68f6d48e81246055cda0e840f"
+ integrity sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.3.tgz#53ed38eb13b58ababdb55a7f66f0538a7f85dcba"
+ integrity sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==
+
+"@rollup/rollup-linux-arm-musleabihf@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.14.3.tgz#0706ee38330e267a5c9326956820f009cfb21fcd"
+ integrity sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==
+
+"@rollup/rollup-linux-arm64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.3.tgz#426fce7b8b242ac5abd48a10a5020f5a468c6cb4"
+ integrity sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==
"@rollup/rollup-linux-arm64-musl@4.12.0":
version "4.12.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz#3882a4e3a564af9e55804beeb67076857b035ab7"
integrity sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==
-"@rollup/rollup-linux-arm64-musl@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.2.tgz#82b5e75484d91c25d4e649d018d9523e72d6dac2"
- integrity sha512-On+cc5EpOaTwPSNetHXBuqylDW+765G/oqB9xGmWU3npEhCh8xu0xqHGUA+4xwZLqBbIZNcBlKSIYfkBm6ko7g==
-
-"@rollup/rollup-linux-riscv64-gnu@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.2.tgz#ca96f2d43a553d73aec736e991c07010561bc7a9"
- integrity sha512-Wnx/IVMSZ31D/cO9HSsU46FjrPWHqtdF8+0eyZ1zIB5a6hXaZXghUKpRrC4D5DcRTZOjml2oBhXoqfGYyXKipw==
-
-"@rollup/rollup-linux-x64-gnu@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.2.tgz#db1cece244ea46706c0e1a522ec19ca0173abc55"
- integrity sha512-ym5x1cj4mUAMBummxxRkI4pG5Vht1QMsJexwGP8547TZ0sox9fCLDHw9KCH9c1FO5d9GopvkaJsBIOkTKxksdw==
-
-"@rollup/rollup-linux-x64-musl@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.2.tgz#c15b26b86827f75977bf59ebd41ce5d788713936"
- integrity sha512-m0hYELHGXdYx64D6IDDg/1vOJEaiV8f1G/iO+tejvRCJNSwK4jJ15e38JQy5Q6dGkn1M/9KcyEOwqmlZ2kqaZg==
-
-"@rollup/rollup-win32-arm64-msvc@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.2.tgz#60152948f9fb08e8c50c1555e334ca9f9f1f53aa"
- integrity sha512-x1CWburlbN5JjG+juenuNa4KdedBdXLjZMp56nHFSHTOsb/MI2DYiGzLtRGHNMyydPGffGId+VgjOMrcltOksA==
-
-"@rollup/rollup-win32-ia32-msvc@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.2.tgz#657288cff10311f997d8dbd648590441760ae6d9"
- integrity sha512-VVzCB5yXR1QlfsH1Xw1zdzQ4Pxuzv+CPr5qpElpKhVxlxD3CRdfubAG9mJROl6/dmj5gVYDDWk8sC+j9BI9/kQ==
-
-"@rollup/rollup-win32-x64-msvc@4.9.2":
- version "4.9.2"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.2.tgz#830f3a3fba67f6216a5884368431918029045afe"
- integrity sha512-SYRedJi+mweatroB+6TTnJYLts0L0bosg531xnQWtklOI6dezEagx4Q0qDyvRdK+qgdA3YZpjjGuPFtxBmddBA==
-
-"@sentry-internal/feedback@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.85.0.tgz"
- integrity sha512-MlbIN+N8CWFJBjbqMmARe4+UPo9QRhRar0YoOfmNA2Xqk/EwXcjHWkealosHznXH7tqVbjB25QJpHtDystft/Q==
- dependencies:
- "@sentry/core" "7.85.0"
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
-
-"@sentry-internal/tracing@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.85.0.tgz"
- integrity sha512-p3YMUwkPCy2su9cm/3+7QYR4RiMI0+07DU1BZtht9NLTzY2O87/yvUbn1v2yHR3vJQTy/+7N0ud9/mPBFznRQQ==
- dependencies:
- "@sentry/core" "7.85.0"
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
-
-"@sentry/browser@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/browser/-/browser-7.85.0.tgz"
- integrity sha512-x4sH7vTQnZQgy1U7NuN8XwhleAw7YMQitccHeC5m+kpIKGUO7w4Mdvu8rD3dnjmVmZvASpnwocAxy57/vCU6Ww==
- dependencies:
- "@sentry-internal/feedback" "7.85.0"
- "@sentry-internal/tracing" "7.85.0"
- "@sentry/core" "7.85.0"
- "@sentry/replay" "7.85.0"
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
-
-"@sentry/core@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/core/-/core-7.85.0.tgz"
- integrity sha512-DFDAc4tWmHN5IWhr7XbHCiyF1Xgb95jz8Uj/JTX9atlgodId1UIbER77qpEmH3eQGid/QBdqrlR98zCixgSbwg==
- dependencies:
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
+"@rollup/rollup-linux-arm64-musl@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.3.tgz#65bf944530d759b50d7ffd00dfbdf4125a43406f"
+ integrity sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.3.tgz#494ba3b31095e9a45df9c3f646d21400fb631a95"
+ integrity sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.3.tgz#8b88ed0a40724cce04aa15374ebe5ba4092d679f"
+ integrity sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==
+
+"@rollup/rollup-linux-s390x-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.3.tgz#09c9e5ec57a0f6ec3551272c860bb9a04b96d70f"
+ integrity sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==
+
+"@rollup/rollup-linux-x64-gnu@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.3.tgz#197f27fd481ad9c861021d5cbbf21793922a631c"
+ integrity sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==
+
+"@rollup/rollup-linux-x64-musl@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.3.tgz#5cc0522f4942f2df625e9bfb6fb02c6580ffbce6"
+ integrity sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==
+
+"@rollup/rollup-win32-arm64-msvc@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.3.tgz#a648122389d23a7543b261fba082e65fefefe4f6"
+ integrity sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==
+
+"@rollup/rollup-win32-ia32-msvc@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.3.tgz#34727b5c7953c35fc6e1ae4f770ad3a2025f8e03"
+ integrity sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==
+
+"@rollup/rollup-win32-x64-msvc@4.14.3":
+ version "4.14.3"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.3.tgz#5b2fb4d8cd44c05deef8a7b0e6deb9ccb8939d18"
+ integrity sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==
+
+"@sentry-internal/feedback@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-7.110.1.tgz"
+ integrity sha512-0aR3wuEW+SZKOVNamuy0pTQyPmqDjWPPLrB2GAXGT3ZjrVxjEzzVPqk6DVBYxSV2MuJaD507SZnvfoSPNgoBmw==
+ dependencies:
+ "@sentry/core" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
+
+"@sentry-internal/replay-canvas@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-7.110.1.tgz"
+ integrity sha512-zdcCmWFXM4DHOau/BCZVb6jf9zozdbAiJ1MzQ6azuZEuysOl00YfktoWZBbZjjjpWT6025s+wrmFz54t0O+enw==
+ dependencies:
+ "@sentry/core" "7.110.1"
+ "@sentry/replay" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
+
+"@sentry-internal/tracing@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.110.1.tgz"
+ integrity sha512-4kTd6EM0OP1SVWl2yLn3KIwlCpld1lyhNDeR8G1aKLm1PN+kVsR6YB/jy9KPPp4Q3lN3W9EkTSES3qhP4jVffQ==
+ dependencies:
+ "@sentry/core" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
+
+"@sentry/browser@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/browser/-/browser-7.110.1.tgz"
+ integrity sha512-H3TZlbdsgxuoVxhotMtBDemvAofx3UPNcS+UjQ40Bd+hKX01IIbEN3i+9RQ0jmcbU6xjf+yhjwp+Ejpm4FmYMw==
+ dependencies:
+ "@sentry-internal/feedback" "7.110.1"
+ "@sentry-internal/replay-canvas" "7.110.1"
+ "@sentry-internal/tracing" "7.110.1"
+ "@sentry/core" "7.110.1"
+ "@sentry/replay" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
+
+"@sentry/core@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/core/-/core-7.110.1.tgz"
+ integrity sha512-yC1yeUFQlmHj9u/KxKmwOMVanBmgfX+4MZnZU31QPqN95adyZTwpaYFZl4fH5kDVnz7wXJI0qRP8SxuMePtqhw==
+ dependencies:
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
"@sentry/react@^7.77.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/react/-/react-7.85.0.tgz"
- integrity sha512-digw63l1A9n+74rW8uiG575Xh3qWTkmvwgTfNRFvDokDRMqRTP0iQEqZRBrBEzMZ5JUa6s+5NLc1/dbMh1QQgA==
- dependencies:
- "@sentry/browser" "7.85.0"
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/react/-/react-7.110.1.tgz"
+ integrity sha512-kXdMrDexPyBf0KP/IfgCk5NS1Yfz6tFK/+UKWTxEM5PVRZkHzV7CBdd50IFGL3xMGbJmtE5Bly6WzezqUgWZ5w==
+ dependencies:
+ "@sentry/browser" "7.110.1"
+ "@sentry/core" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
hoist-non-react-statics "^3.3.2"
-"@sentry/replay@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/replay/-/replay-7.85.0.tgz"
- integrity sha512-zVtTKfO+lu5qTwHpETI/oGo8hU3rdKHr3CdI1vRLw+d60PcAa/pWVlXsQeLRTw8PFwE358gHcpFZezj/11afew==
+"@sentry/replay@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/replay/-/replay-7.110.1.tgz"
+ integrity sha512-R49fGOuKYsJ97EujPTzMjs3ZSuSkLTFFQmVBbsu/o6beRp4kK9l8H7r2BfLEcWJOXdWO5EU4KpRWgIxHaDK2aw==
dependencies:
- "@sentry-internal/tracing" "7.85.0"
- "@sentry/core" "7.85.0"
- "@sentry/types" "7.85.0"
- "@sentry/utils" "7.85.0"
+ "@sentry-internal/tracing" "7.110.1"
+ "@sentry/core" "7.110.1"
+ "@sentry/types" "7.110.1"
+ "@sentry/utils" "7.110.1"
-"@sentry/types@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/types/-/types-7.85.0.tgz"
- integrity sha512-R5jR4XkK5tBU2jDiPdSVqzkmjYRr666bcGaFGUHB/xDQCjPsjk+pEmCCL+vpuWoaZmQJUE1hVU7rgnVX81w8zg==
+"@sentry/types@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/types/-/types-7.110.1.tgz"
+ integrity sha512-sZxOpM5gfyxvJeWVvNpHnxERTnlqcozjqNcIv29SZ6wonlkekmxDyJ3uCuPv85VO54WLyA4uzskPKnNFHacI8A==
-"@sentry/utils@7.85.0":
- version "7.85.0"
- resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.85.0.tgz"
- integrity sha512-JZ7seNOLvhjAQ8GeB3GYknPQJkuhF88xAYOaESZP3xPOWBMFUN+IO4RqjMqMLFDniOwsVQS7GB/MfP+hxufieg==
+"@sentry/utils@7.110.1":
+ version "7.110.1"
+ resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.110.1.tgz"
+ integrity sha512-eibLo2m1a7sHkOHxYYmRujr3D7ek2l9sv26F1SLoQBVDF7Afw5AKyzPmtA1D+4M9P/ux1okj7cGj3SaBrVpxXA==
dependencies:
- "@sentry/types" "7.85.0"
+ "@sentry/types" "7.110.1"
-"@sideway/address@^4.1.3":
- version "4.1.4"
- resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz"
- integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
+"@sideway/address@^4.1.5":
+ version "4.1.5"
+ resolved "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz"
+ integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
dependencies:
"@hapi/hoek" "^9.0.0"
@@ -2557,9 +2600,9 @@
integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==
"@sinonjs/commons@^3.0.0":
- version "3.0.0"
- resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz"
- integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz"
+ integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==
dependencies:
type-detect "4.0.8"
@@ -2570,40 +2613,40 @@
dependencies:
"@sinonjs/commons" "^3.0.0"
-"@storybook/addon-actions@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.3.tgz"
- integrity sha512-f4HXteYE8IJXztAK+ab5heSjXWNWvyIAU63T3Fqe3zmqONwCerUKY54Op+RkAZc/R6aALTxvGRKAH2ff8g2vjQ==
+"@storybook/addon-actions@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz"
+ integrity sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==
dependencies:
- "@storybook/core-events" "7.6.3"
+ "@storybook/core-events" "7.6.17"
"@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@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.3.tgz"
- integrity sha512-ZZFNf8FBYBsuXvXdVk3sBgxJTn6s0HznuEE9OmAA7tMsLEDlUiWS9LEvjX2jX5K0kWivHTkJDTXV0NcLL1vWAg==
+"@storybook/addon-backgrounds@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz"
+ integrity sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==
dependencies:
"@storybook/global" "^5.0.0"
memoizerific "^1.11.3"
ts-dedent "^2.0.0"
-"@storybook/addon-controls@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.3.tgz"
- integrity sha512-xsM3z+CY1YOPqrcCldQLoon947fbd/o3gSO7hM3NwKiw/2WikExPO3VM4R2oi4W4PvnhkSOIO+ZDRuSs1yFmOg==
+"@storybook/addon-controls@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz"
+ integrity sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==
dependencies:
- "@storybook/blocks" "7.6.3"
+ "@storybook/blocks" "7.6.17"
lodash "^4.17.21"
ts-dedent "^2.0.0"
"@storybook/addon-coverage@^1.0.0":
- version "1.0.0"
- resolved "https://registry.npmjs.org/@storybook/addon-coverage/-/addon-coverage-1.0.0.tgz"
- integrity sha512-7RMllRtDwyWH2fOeCS7ZG8o5eDTd44C0ZwA+m7dJDrnOXled75RddBPMYF+BsJjeAAWOkWxsII05EKCgS7QG2A==
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/@storybook/addon-coverage/-/addon-coverage-1.0.1.tgz"
+ integrity sha512-jGDYPBbh3+LXMDw0Nmw+fUEDH3kuHvHSOjE1fqi4ac00CnwHnyD5PD6RFSpVxR4Fw/tCDPmKEubbOzQCSZGyJg==
dependencies:
"@istanbuljs/load-nyc-config" "^1.1.0"
"@jsdevtools/coverage-istanbul-loader" "^3.0.5"
@@ -2615,130 +2658,130 @@
test-exclude "^6.0.0"
vite-plugin-istanbul "^3.0.1"
-"@storybook/addon-docs@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.3.tgz"
- integrity sha512-2Ts+3EFg9ehkQdbjBWnCH1SE0BdyCLN6hO2N030tGxi0Vko9t9O7NLj5qdBwxLcEzb/XzL4zWukzfU17pktQwA==
+"@storybook/addon-docs@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz"
+ integrity sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==
dependencies:
"@jest/transform" "^29.3.1"
"@mdx-js/react" "^2.1.5"
- "@storybook/blocks" "7.6.3"
- "@storybook/client-logger" "7.6.3"
- "@storybook/components" "7.6.3"
- "@storybook/csf-plugin" "7.6.3"
- "@storybook/csf-tools" "7.6.3"
+ "@storybook/blocks" "7.6.17"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/components" "7.6.17"
+ "@storybook/csf-plugin" "7.6.17"
+ "@storybook/csf-tools" "7.6.17"
"@storybook/global" "^5.0.0"
"@storybook/mdx2-csf" "^1.0.0"
- "@storybook/node-logger" "7.6.3"
- "@storybook/postinstall" "7.6.3"
- "@storybook/preview-api" "7.6.3"
- "@storybook/react-dom-shim" "7.6.3"
- "@storybook/theming" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/postinstall" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/react-dom-shim" "7.6.17"
+ "@storybook/theming" "7.6.17"
+ "@storybook/types" "7.6.17"
fs-extra "^11.1.0"
remark-external-links "^8.0.0"
remark-slug "^6.0.0"
ts-dedent "^2.0.0"
"@storybook/addon-essentials@^7.4.5":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.3.tgz"
- integrity sha512-bpbt5O0wcB83VLZg8QMXut+8g+7EF4iuevpwiynN9mbpQFvG49c6SE6T2eFJKTvVb4zszyfcNA0Opne2G83wZw==
- dependencies:
- "@storybook/addon-actions" "7.6.3"
- "@storybook/addon-backgrounds" "7.6.3"
- "@storybook/addon-controls" "7.6.3"
- "@storybook/addon-docs" "7.6.3"
- "@storybook/addon-highlight" "7.6.3"
- "@storybook/addon-measure" "7.6.3"
- "@storybook/addon-outline" "7.6.3"
- "@storybook/addon-toolbars" "7.6.3"
- "@storybook/addon-viewport" "7.6.3"
- "@storybook/core-common" "7.6.3"
- "@storybook/manager-api" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/preview-api" "7.6.3"
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz"
+ integrity sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==
+ dependencies:
+ "@storybook/addon-actions" "7.6.17"
+ "@storybook/addon-backgrounds" "7.6.17"
+ "@storybook/addon-controls" "7.6.17"
+ "@storybook/addon-docs" "7.6.17"
+ "@storybook/addon-highlight" "7.6.17"
+ "@storybook/addon-measure" "7.6.17"
+ "@storybook/addon-outline" "7.6.17"
+ "@storybook/addon-toolbars" "7.6.17"
+ "@storybook/addon-viewport" "7.6.17"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/manager-api" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
ts-dedent "^2.0.0"
-"@storybook/addon-highlight@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.3.tgz"
- integrity sha512-Z9AJ05XCTzFZPAxQSkQf9/Hazf5/QQI0jYSsvKqt7Vk+03q5727oD9KcIY5IHPYqQqN9fHExQh1eyqY8AnS8mg==
+"@storybook/addon-highlight@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz"
+ integrity sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==
dependencies:
"@storybook/global" "^5.0.0"
"@storybook/addon-interactions@^7.6.1":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.3.tgz"
- integrity sha512-Gm2UJvQC8xs9KIbVZQegTLT3VBsEZIRsXy3htNqWjSdoJZK5M4/YJ3jB247CA/Jc+Mkj7d5SlJe+bCGEzjKTbw==
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz"
+ integrity sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==
dependencies:
"@storybook/global" "^5.0.0"
- "@storybook/types" "7.6.3"
+ "@storybook/types" "7.6.17"
jest-mock "^27.0.6"
polished "^4.2.2"
ts-dedent "^2.2.0"
"@storybook/addon-links@^7.4.5":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.3.tgz"
- integrity sha512-dUIf6Y0nckxZfVQvQSqcthaycRxy69dCJLo3aORrOPL8NvGz3v1bK0AUded5wv8vnOVxfSx/Zqu7MyFr9xyjOA==
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz"
+ integrity sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==
dependencies:
"@storybook/csf" "^0.1.2"
"@storybook/global" "^5.0.0"
ts-dedent "^2.0.0"
-"@storybook/addon-measure@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.3.tgz"
- integrity sha512-DqxADof04ktA5GSA8XnckYGdVYyC4oN8vfKSGcPzpcKrJ2uVr0BXbcyJAEcJAshEJimmpA6nH5TxabXDFBZgPQ==
+"@storybook/addon-measure@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz"
+ integrity sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==
dependencies:
"@storybook/global" "^5.0.0"
tiny-invariant "^1.3.1"
"@storybook/addon-onboarding@^1.0.8":
- version "1.0.9"
- resolved "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-1.0.9.tgz"
- integrity sha512-HlHm05Py18XOf4g7abiWkvb2WteoHcRNk1PY3Wtsmjuu5aAAjBmp4mVEg59xEeA2HAMICZ2fb72NIpFlBvDN+g==
+ version "1.0.11"
+ resolved "https://registry.npmjs.org/@storybook/addon-onboarding/-/addon-onboarding-1.0.11.tgz"
+ integrity sha512-0Sa7PJDsM6AANOWZX7vq3kgCbS9AZFjr3tfr3bLGfXviwIBKjoZDDdIErJkS3D4mNcDa78lYQvp3PTCKwLIJ9A==
dependencies:
"@storybook/telemetry" "^7.1.0"
react-confetti "^6.1.0"
-"@storybook/addon-outline@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.3.tgz"
- integrity sha512-M7d2tcqBBl+mPBUS6Nrwis50QYSCcmT/uKamud7CnlIWsMH/5GZFfAzGSLY5ETfiGsSFYssOwrXLOV4y0enu2g==
+"@storybook/addon-outline@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz"
+ integrity sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==
dependencies:
"@storybook/global" "^5.0.0"
ts-dedent "^2.0.0"
-"@storybook/addon-toolbars@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.3.tgz"
- integrity sha512-8GpwOt0J5yLrJhTr9/h0a/LTDjt49FhdvdxiVWLlLMrjIXSIc7j193ZgoHfnlwVhJS5zojcjB+HmRw/E+AneoA==
+"@storybook/addon-toolbars@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz"
+ integrity sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==
-"@storybook/addon-viewport@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.3.tgz"
- integrity sha512-I9FQxHi4W7RUyZut4NziYa+nkBCpD1k2YpEDE5IwSC3lqQpDzFZN89eNWQtZ38tIU4c90jL3L1k69IHvANGHsA==
+"@storybook/addon-viewport@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz"
+ integrity sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==
dependencies:
memoizerific "^1.11.3"
-"@storybook/blocks@7.6.3", "@storybook/blocks@^7.4.5":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.3.tgz"
- integrity sha512-EyjyNNCZMcV9UnBSujwduiq+F1VLVX/f16fTTPqqZOHigyfrG5LoEYC6dwOC4yO/xfWY+h3qJ51yiugMxVl0Vg==
+"@storybook/blocks@7.6.17", "@storybook/blocks@^7.4.5":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz"
+ integrity sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==
dependencies:
- "@storybook/channels" "7.6.3"
- "@storybook/client-logger" "7.6.3"
- "@storybook/components" "7.6.3"
- "@storybook/core-events" "7.6.3"
+ "@storybook/channels" "7.6.17"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/components" "7.6.17"
+ "@storybook/core-events" "7.6.17"
"@storybook/csf" "^0.1.2"
- "@storybook/docs-tools" "7.6.3"
+ "@storybook/docs-tools" "7.6.17"
"@storybook/global" "^5.0.0"
- "@storybook/manager-api" "7.6.3"
- "@storybook/preview-api" "7.6.3"
- "@storybook/theming" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/manager-api" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/theming" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/lodash" "^4.14.167"
color-convert "^2.0.1"
dequal "^2.0.2"
@@ -2752,15 +2795,15 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/builder-manager@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.3.tgz"
- integrity sha512-eLMjRudhiRsg7kgbmPcCkuVf2ut753fbiVR7REtqIYwq5vu8UeNOzt1vA6HgfsUj77/7+1zG8/zeyBv/5nY5mw==
+"@storybook/builder-manager@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz"
+ integrity sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==
dependencies:
"@fal-works/esbuild-plugin-global-externals" "^2.1.2"
- "@storybook/core-common" "7.6.3"
- "@storybook/manager" "7.6.3"
- "@storybook/node-logger" "7.6.3"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/manager" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
"@types/ejs" "^3.1.1"
"@types/find-cache-dir" "^3.2.1"
"@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10"
@@ -2774,19 +2817,19 @@
process "^0.11.10"
util "^0.12.4"
-"@storybook/builder-vite@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.6.3.tgz"
- integrity sha512-r/G/6wdwgbhMiMZ8Z+Js8VLjIo7a0DG5SxJorTHSWNi0+jyM+3Qlg3Xj96I8yL4gfTIKWVScHqHprhjRb2E64g==
- dependencies:
- "@storybook/channels" "7.6.3"
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-common" "7.6.3"
- "@storybook/csf-plugin" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/preview" "7.6.3"
- "@storybook/preview-api" "7.6.3"
- "@storybook/types" "7.6.3"
+"@storybook/builder-vite@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.6.17.tgz"
+ integrity sha512-2Q32qalI401EsKKr9Hkk8TAOcHEerqwsjCpQgTNJnCu6GgCVKoVUcb99oRbR9Vyg0xh+jb19XiWqqQujFtLYlQ==
+ dependencies:
+ "@storybook/channels" "7.6.17"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/csf-plugin" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/preview" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/find-cache-dir" "^3.2.1"
browser-assert "^1.2.1"
es-module-lexer "^0.9.3"
@@ -2796,35 +2839,35 @@
magic-string "^0.30.0"
rollup "^2.25.0 || ^3.3.0"
-"@storybook/channels@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.3.tgz"
- integrity sha512-o9J0TBbFon16tUlU5V6kJgzAlsloJcS1cTHWqh3VWczohbRm+X1PLNUihJ7Q8kBWXAuuJkgBu7RQH7Ib46WyYg==
+"@storybook/channels@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz"
+ integrity sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==
dependencies:
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-events" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-events" "7.6.17"
"@storybook/global" "^5.0.0"
qs "^6.10.0"
telejson "^7.2.0"
tiny-invariant "^1.3.1"
-"@storybook/cli@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.3.tgz"
- integrity sha512-OuYnzZlAtpGm4rDgI4ZWkNbAkddutlJh6KmoU9oQAlZP0zmETyJN8REUWjj5T9Z1AS2iXjCMGlFVd4TC8nKocw==
+"@storybook/cli@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz"
+ integrity sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==
dependencies:
"@babel/core" "^7.23.2"
"@babel/preset-env" "^7.23.2"
"@babel/types" "^7.23.0"
"@ndelangen/get-tarball" "^3.0.7"
- "@storybook/codemod" "7.6.3"
- "@storybook/core-common" "7.6.3"
- "@storybook/core-events" "7.6.3"
- "@storybook/core-server" "7.6.3"
- "@storybook/csf-tools" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/telemetry" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/codemod" "7.6.17"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/core-events" "7.6.17"
+ "@storybook/core-server" "7.6.17"
+ "@storybook/csf-tools" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/telemetry" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/semver" "^7.3.4"
"@yarnpkg/fslib" "2.10.3"
"@yarnpkg/libzip" "2.3.0"
@@ -2849,31 +2892,30 @@
puppeteer-core "^2.1.1"
read-pkg-up "^7.0.1"
semver "^7.3.7"
- simple-update-notifier "^2.0.0"
strip-json-comments "^3.0.1"
tempy "^1.0.1"
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/client-logger@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.3.tgz"
- integrity sha512-BpsCnefrBFdxD6ukMjAblm1D6zB4U5HR1I85VWw6LOqZrfzA6l/1uBxItz0XG96HTjngbvAabWf5k7ZFCx5UCg==
+"@storybook/client-logger@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz"
+ integrity sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==
dependencies:
"@storybook/global" "^5.0.0"
-"@storybook/codemod@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.3.tgz"
- integrity sha512-A1i8+WQfNg3frVcwSyu8E/cDkCu88Sw7JiGNnq9iW2e2oWMr2awpCDgXp8WfTK+HiDb2X1Pq5y/GmUlh3qr77Q==
+"@storybook/codemod@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz"
+ integrity sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==
dependencies:
"@babel/core" "^7.23.2"
"@babel/preset-env" "^7.23.2"
"@babel/types" "^7.23.0"
"@storybook/csf" "^0.1.2"
- "@storybook/csf-tools" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/csf-tools" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/cross-spawn" "^6.0.2"
cross-spawn "^7.0.3"
globby "^11.0.2"
@@ -2882,38 +2924,38 @@
prettier "^2.8.0"
recast "^0.23.1"
-"@storybook/components@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/components/-/components-7.6.3.tgz"
- integrity sha512-UNV0WoUo+W0huOLvoEMuqRN/VB4p0CNswrXN1mi/oGWvAFJ8idu63lSuV4uQ/LKxAZ6v3Kpdd+oK/o+OeOoL6w==
+"@storybook/components@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz"
+ integrity sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==
dependencies:
"@radix-ui/react-select" "^1.2.2"
"@radix-ui/react-toolbar" "^1.0.4"
- "@storybook/client-logger" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
"@storybook/csf" "^0.1.2"
"@storybook/global" "^5.0.0"
- "@storybook/theming" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/theming" "7.6.17"
+ "@storybook/types" "7.6.17"
memoizerific "^1.11.3"
use-resize-observer "^9.1.0"
util-deprecate "^1.0.2"
-"@storybook/core-client@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.3.tgz"
- integrity sha512-RM0Svlajddl8PP4Vq7LK8T22sFefNcTDgo82iRPZzGz0oH8LT0oXGFanj2Nkn0jruOBFClkiJ7EcwrbGJZHELg==
+"@storybook/core-client@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz"
+ integrity sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==
dependencies:
- "@storybook/client-logger" "7.6.3"
- "@storybook/preview-api" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
-"@storybook/core-common@7.6.3", "@storybook/core-common@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.3.tgz"
- integrity sha512-/ZE4BEyGwBHCQCOo681GyBKF4IqCiwVV/ZJCHTMTHFCPLJT2r+Qwv4tnI7xt1kwflOlbBlG6B6CvAqTjjVw/Ew==
+"@storybook/core-common@7.6.17", "@storybook/core-common@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz"
+ integrity sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==
dependencies:
- "@storybook/core-events" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/core-events" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/find-cache-dir" "^3.2.1"
"@types/node" "^18.0.0"
"@types/node-fetch" "^2.6.4"
@@ -2935,33 +2977,33 @@
resolve-from "^5.0.0"
ts-dedent "^2.0.0"
-"@storybook/core-events@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.3.tgz"
- integrity sha512-Vu3JX1mjtR8AX84lyqWsi2s2lhD997jKRWVznI3wx+UpTk8t7TTMLFk2rGYJRjaornhrqwvLYpnmtxRSxW9BOQ==
+"@storybook/core-events@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz"
+ integrity sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==
dependencies:
ts-dedent "^2.0.0"
-"@storybook/core-server@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.3.tgz"
- integrity sha512-IsM24MmiFmtZeyqoijiExpIPkJNBaWQg9ttkkHS6iYwf3yFNBpYVbvuX2OpT7FDdiF3uTl0R8IvfnJR58tHD7w==
+"@storybook/core-server@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz"
+ integrity sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==
dependencies:
"@aw-web-design/x-default-browser" "1.4.126"
"@discoveryjs/json-ext" "^0.5.3"
- "@storybook/builder-manager" "7.6.3"
- "@storybook/channels" "7.6.3"
- "@storybook/core-common" "7.6.3"
- "@storybook/core-events" "7.6.3"
+ "@storybook/builder-manager" "7.6.17"
+ "@storybook/channels" "7.6.17"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/core-events" "7.6.17"
"@storybook/csf" "^0.1.2"
- "@storybook/csf-tools" "7.6.3"
+ "@storybook/csf-tools" "7.6.17"
"@storybook/docs-mdx" "^0.1.0"
"@storybook/global" "^5.0.0"
- "@storybook/manager" "7.6.3"
- "@storybook/node-logger" "7.6.3"
- "@storybook/preview-api" "7.6.3"
- "@storybook/telemetry" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/manager" "7.6.17"
+ "@storybook/node-logger" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/telemetry" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/detect-port" "^1.3.0"
"@types/node" "^18.0.0"
"@types/pretty-hrtime" "^1.0.0"
@@ -2974,7 +3016,7 @@
express "^4.17.3"
fs-extra "^11.1.0"
globby "^11.0.2"
- ip "^2.0.0"
+ ip "^2.0.1"
lodash "^4.17.21"
open "^8.4.0"
pretty-hrtime "^1.0.3"
@@ -2989,25 +3031,25 @@
watchpack "^2.2.0"
ws "^8.2.3"
-"@storybook/csf-plugin@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.3.tgz"
- integrity sha512-8bMYPsWw2tv+fqZ5H436l4x1KLSB6gIcm6snsjyF916yCHG6WcWm+EI6+wNUoySEtrQY2AiwFJqE37wI5OUJFg==
+"@storybook/csf-plugin@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz"
+ integrity sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==
dependencies:
- "@storybook/csf-tools" "7.6.3"
+ "@storybook/csf-tools" "7.6.17"
unplugin "^1.3.1"
-"@storybook/csf-tools@7.6.3", "@storybook/csf-tools@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.3.tgz"
- integrity sha512-Zi3pg2pg88/mvBKewkfWhFUR1J4uYpHI5fSjOE+J/FeZObX/DIE7r+wJxZ0UBGyrk0Wy7Jajlb2uSP56Y0i19w==
+"@storybook/csf-tools@7.6.17", "@storybook/csf-tools@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz"
+ integrity sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==
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.2"
- "@storybook/types" "7.6.3"
+ "@storybook/types" "7.6.17"
fs-extra "^11.1.0"
recast "^0.23.1"
ts-dedent "^2.0.0"
@@ -3020,9 +3062,9 @@
lodash "^4.17.15"
"@storybook/csf@^0.1.1", "@storybook/csf@^0.1.2":
- version "0.1.2"
- resolved "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.2.tgz"
- integrity sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA==
+ version "0.1.4"
+ resolved "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.4.tgz"
+ integrity sha512-B9UI/lsQMjF+oEfZCI6YXNoeuBcGZoOP5x8yKbe2tIEmsMjSztFKkpPzi5nLCnBk/MBtl6QJeI3ksJnbsWPkOw==
dependencies:
type-fest "^2.19.0"
@@ -3031,14 +3073,14 @@
resolved "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz"
integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==
-"@storybook/docs-tools@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.3.tgz"
- integrity sha512-6MtirRCQIkBeQ3bksPignZgUuFmjWqcFleTEN6vrNEfbCzMlMvuBGfm9tl4sS3n8ATWmKGj87DcJepPOT3FB4A==
+"@storybook/docs-tools@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz"
+ integrity sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==
dependencies:
- "@storybook/core-common" "7.6.3"
- "@storybook/preview-api" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/doctrine" "^0.0.3"
assert "^2.1.0"
doctrine "^3.0.0"
@@ -3066,58 +3108,57 @@
"@types/jest" "28.1.3"
jest-mock "^27.3.0"
-"@storybook/manager-api@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.3.tgz"
- integrity sha512-soDH7GZuukkhYRGzlw4jhCm5EzjfkuIAtb37/DFplqxuVbvlyJEVzkMUM2KQO7kq0/8GlWPiZ5mn56wagYyhKQ==
+"@storybook/manager-api@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz"
+ integrity sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==
dependencies:
- "@storybook/channels" "7.6.3"
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-events" "7.6.3"
+ "@storybook/channels" "7.6.17"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-events" "7.6.17"
"@storybook/csf" "^0.1.2"
"@storybook/global" "^5.0.0"
- "@storybook/router" "7.6.3"
- "@storybook/theming" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/router" "7.6.17"
+ "@storybook/theming" "7.6.17"
+ "@storybook/types" "7.6.17"
dequal "^2.0.2"
lodash "^4.17.21"
memoizerific "^1.11.3"
- semver "^7.3.7"
store2 "^2.14.2"
telejson "^7.2.0"
ts-dedent "^2.0.0"
-"@storybook/manager@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.3.tgz"
- integrity sha512-6eMaogHANCSVV2zLPt4Q7fp8RT+AdlOe6IR0583AuqpepcFzj33iGNYABk2rmXAlkD0WzoLcC4H5mouU0fduLA==
+"@storybook/manager@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz"
+ integrity sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==
"@storybook/mdx2-csf@^1.0.0":
version "1.1.0"
resolved "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz"
integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==
-"@storybook/node-logger@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.3.tgz"
- integrity sha512-7yL0CMHuh1DhpUAoKCU0a53DvxBpkUom9SX5RaC1G2A9BK/B3XcHtDPAC0uyUwNCKLJMZo9QtmJspvxWjR0LtA==
+"@storybook/node-logger@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz"
+ integrity sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==
-"@storybook/postinstall@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.3.tgz"
- integrity sha512-WpgdpJpY6rionluxjFZLbKiSDjvQJ5cPgufjvBRuXTsnVOsH3JNRWnPdkQkJLT9uTUMoNcyBMxbjYkK3vU6wSg==
+"@storybook/postinstall@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz"
+ integrity sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==
-"@storybook/preview-api@7.6.3", "@storybook/preview-api@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.3.tgz"
- integrity sha512-uPaK7yLE1P++F+IOb/1j9pgdCwfMYZrUPHogF/Mf9r4cfEjDCcIeKgGMcsbU1KnkzNQQGPh8JRzRr/iYnLjswg==
+"@storybook/preview-api@7.6.17", "@storybook/preview-api@^7.0.0-beta.0 || ^7.0.0-rc.0 || ^7.0.0":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz"
+ integrity sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==
dependencies:
- "@storybook/channels" "7.6.3"
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-events" "7.6.3"
+ "@storybook/channels" "7.6.17"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-events" "7.6.17"
"@storybook/csf" "^0.1.2"
"@storybook/global" "^5.0.0"
- "@storybook/types" "7.6.3"
+ "@storybook/types" "7.6.17"
"@types/qs" "^6.9.5"
dequal "^2.0.2"
lodash "^4.17.21"
@@ -3127,41 +3168,41 @@
ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/preview@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.3.tgz"
- integrity sha512-obSmKN8arWSHuLbCDM1H0lTVRMvAP/l7vOi6TQtFi6TxBz9MRCJA3Ugc0PZrbDADVZP+cp0ZJA0JQtAm+SqNAA==
+"@storybook/preview@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz"
+ integrity sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==
-"@storybook/react-dom-shim@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.3.tgz"
- integrity sha512-UtaEaTQB27aBsAmn5IfAYkX2xl4wWWXkoAO/jUtx86FQ/r85FG0zxh/rac6IgzjYUqzjJtjIeLdeciG/48hMMA==
+"@storybook/react-dom-shim@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz"
+ integrity sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==
"@storybook/react-vite@^7.4.5":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.6.3.tgz"
- integrity sha512-sPrNJbnThmxsSeNj6vyG9pCCnnYzyiS+f7DVy2qeQrXvEuCYiQc503bavE3BKLxqjZQ3SkbhPsiEHcaw3I9x7A==
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.6.17.tgz"
+ integrity sha512-4dIm3CuRl44X1TLzN3WoZh/bChzJF7Ud28li9atj9C8db0bb/y0zl8cahrsRFoR7/LyfqdOVLqaztrnA5SsWfg==
dependencies:
"@joshwooding/vite-plugin-react-docgen-typescript" "0.3.0"
"@rollup/pluginutils" "^5.0.2"
- "@storybook/builder-vite" "7.6.3"
- "@storybook/react" "7.6.3"
+ "@storybook/builder-vite" "7.6.17"
+ "@storybook/react" "7.6.17"
"@vitejs/plugin-react" "^3.0.1"
magic-string "^0.30.0"
react-docgen "^7.0.0"
-"@storybook/react@7.6.3", "@storybook/react@^7.4.5":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/react/-/react-7.6.3.tgz"
- integrity sha512-W+530cC0BAU+yBc7NzSXYWR3e8Lo5qMsmFJjWYK7zGW/YZGhSG3mjhF9pDzNM+cMtHvUS6qf5PJPQM8jePpPhg==
+"@storybook/react@7.6.17", "@storybook/react@^7.4.5":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz"
+ integrity sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA==
dependencies:
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-client" "7.6.3"
- "@storybook/docs-tools" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-client" "7.6.17"
+ "@storybook/docs-tools" "7.6.17"
"@storybook/global" "^5.0.0"
- "@storybook/preview-api" "7.6.3"
- "@storybook/react-dom-shim" "7.6.3"
- "@storybook/types" "7.6.3"
+ "@storybook/preview-api" "7.6.17"
+ "@storybook/react-dom-shim" "7.6.17"
+ "@storybook/types" "7.6.17"
"@types/escodegen" "^0.0.6"
"@types/estree" "^0.0.51"
"@types/node" "^18.0.0"
@@ -3177,23 +3218,23 @@
type-fest "~2.19"
util-deprecate "^1.0.2"
-"@storybook/router@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.3.tgz"
- integrity sha512-NZfhJqsXYca9mZCL/LGx6FmZDbrxX2S4ImW7Tqdtcc/sSlZ0BpCDkNUTesCA287cmoKMhXZRh/+bU+C2h2a+bw==
+"@storybook/router@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz"
+ integrity sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==
dependencies:
- "@storybook/client-logger" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
memoizerific "^1.11.3"
qs "^6.10.0"
-"@storybook/telemetry@7.6.3", "@storybook/telemetry@^7.1.0":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.3.tgz"
- integrity sha512-NDCZWhVIUI3M6Lq4M/HPOvZqDXqANDNbI3kyHr4pFGoVaCUXuDPokL9wR+CZcMvATkJ1gHrfLPBdcRq6Biw3Iw==
+"@storybook/telemetry@7.6.17", "@storybook/telemetry@^7.1.0":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz"
+ integrity sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==
dependencies:
- "@storybook/client-logger" "7.6.3"
- "@storybook/core-common" "7.6.3"
- "@storybook/csf-tools" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
+ "@storybook/core-common" "7.6.17"
+ "@storybook/csf-tools" "7.6.17"
chalk "^4.1.0"
detect-package-manager "^2.0.1"
fetch-retry "^5.0.2"
@@ -3243,111 +3284,120 @@
"@testing-library/user-event" "^14.4.0"
ts-dedent "^2.2.0"
-"@storybook/theming@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.3.tgz"
- integrity sha512-9ToNU2LM6a2kVBjOXitXEeEOuMurVLhn+uaZO1dJjv8NGnJVYiLwNPwrLsImiUD8/XXNuil972aanBR6+Aj9jw==
+"@storybook/theming@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz"
+ integrity sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==
dependencies:
"@emotion/use-insertion-effect-with-fallbacks" "^1.0.0"
- "@storybook/client-logger" "7.6.3"
+ "@storybook/client-logger" "7.6.17"
"@storybook/global" "^5.0.0"
memoizerific "^1.11.3"
-"@storybook/types@7.6.3":
- version "7.6.3"
- resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.3.tgz"
- integrity sha512-vj9Jzg5eR52l8O9512QywbQpNdo67Z6BQWR8QoZRcG+/Bhzt08YI8IZMPQLFMKzcmWDPK0blQ4GfyKDYplMjPA==
+"@storybook/types@7.6.17":
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz"
+ integrity sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==
dependencies:
- "@storybook/channels" "7.6.3"
+ "@storybook/channels" "7.6.17"
"@types/babel__core" "^7.0.0"
"@types/express" "^4.7.0"
file-system-cache "2.3.0"
-"@swc/core-darwin-arm64@1.3.100":
- version "1.3.100"
- resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.100.tgz"
- integrity sha512-XVWFsKe6ei+SsDbwmsuRkYck1SXRpO60Hioa4hoLwR8fxbA9eVp6enZtMxzVVMBi8ej5seZ4HZQeAWepbukiBw==
-
-"@swc/core-darwin-x64@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.100.tgz#d84f5c0bb4603c252884d011a698ed7c634b1505"
- integrity sha512-KF/MXrnH1nakm1wbt4XV8FS7kvqD9TGmVxeJ0U4bbvxXMvzeYUurzg3AJUTXYmXDhH/VXOYJE5N5RkwZZPs5iA==
-
-"@swc/core-linux-arm64-gnu@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.100.tgz#1ed4b92b373882d8f338c4e0a0aa64cdaa6106f1"
- integrity sha512-p8hikNnAEJrw5vHCtKiFT4hdlQxk1V7vqPmvUDgL/qe2menQDK/i12tbz7/3BEQ4UqUPnvwpmVn2d19RdEMNxw==
-
-"@swc/core-linux-arm64-musl@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.100.tgz#9db560f7459e42e65ec02670d6a8316e7c850cfc"
- integrity sha512-BWx/0EeY89WC4q3AaIaBSGfQxkYxIlS3mX19dwy2FWJs/O+fMvF9oLk/CyJPOZzbp+1DjGeeoGFuDYpiNO91JA==
-
-"@swc/core-linux-x64-gnu@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.100.tgz#228826ea48879bf1e73683fbef4373e3e762e424"
- integrity sha512-XUdGu3dxAkjsahLYnm8WijPfKebo+jHgHphDxaW0ovI6sTdmEGFDew7QzKZRlbYL2jRkUuuKuDGvD6lO5frmhA==
-
-"@swc/core-linux-x64-musl@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.100.tgz#09a234dbbf625d071ecb663680e997a62d230d49"
- integrity sha512-PhoXKf+f0OaNW/GCuXjJ0/KfK9EJX7z2gko+7nVnEA0p3aaPtbP6cq1Ubbl6CMoPL+Ci3gZ7nYumDqXNc3CtLQ==
-
-"@swc/core-win32-arm64-msvc@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.100.tgz#add1c82884c10a9054ed6a48f884097aa85c6d2b"
- integrity sha512-PwLADZN6F9cXn4Jw52FeP/MCLVHm8vwouZZSOoOScDtihjY495SSjdPnlosMaRSR4wJQssGwiD/4MbpgQPqbAw==
-
-"@swc/core-win32-ia32-msvc@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.100.tgz#e0b6c5ae7f3250adeeb88dae83558d3f45148c56"
- integrity sha512-0f6nicKSLlDKlyPRl2JEmkpBV4aeDfRQg6n8mPqgL7bliZIcDahG0ej+HxgNjZfS3e0yjDxsNRa6sAqWU2Z60A==
-
-"@swc/core-win32-x64-msvc@1.3.100":
- version "1.3.100"
- resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.100.tgz#34721dff151d7dcf165675f18aeed0a12264d88c"
- integrity sha512-b7J0rPoMkRTa3XyUGt8PwCaIBuYWsL2DqbirrQKRESzgCvif5iNpqaM6kjIjI/5y5q1Ycv564CB51YDpiS8EtQ==
+"@swc/core-darwin-arm64@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.14.tgz"
+ integrity sha512-8iPfLhYNspBl836YYsfv6ErXwDUqJ7IMieddV3Ey/t/97JAEAdNDUdtTKDtbyP0j/Ebyqyn+fKcqwSq7rAof0g==
+
+"@swc/core-darwin-x64@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.4.14.tgz#4eefbe129e416f4c400656742ab7f30e01aff02e"
+ integrity sha512-9CqSj8uRZ92cnlgAlVaWMaJJBdxtNvCzJxaGj5KuIseeG6Q0l1g+qk8JcU7h9dAsH9saHTNwNFBVGKQo0W0ujg==
+
+"@swc/core-linux-arm-gnueabihf@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.14.tgz#bea4b94c32bb25de2816126dac299655529ba7f3"
+ integrity sha512-mfd5JArPITTzMjcezH4DwMw+BdjBV1y25Khp8itEIpdih9ei+fvxOOrDYTN08b466NuE2dF2XuhKtRLA7fXArQ==
+
+"@swc/core-linux-arm64-gnu@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.14.tgz#52063214f4a14d6a0c3c6059ed9e7ba1062f6b46"
+ integrity sha512-3Lqlhlmy8MVRS9xTShMaPAp0oyUt0KFhDs4ixJsjdxKecE0NJSV/MInuDmrkij1C8/RQ2wySRlV9np5jK86oWw==
+
+"@swc/core-linux-arm64-musl@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.14.tgz#7e7deea7b1b3d0c9944cc8e9ba948fcc785158ea"
+ integrity sha512-n0YoCa64TUcJrbcXIHIHDWQjdUPdaXeMHNEu7yyBtOpm01oMGTKP3frsUXIABLBmAVWtKvqit4/W1KVKn5gJzg==
+
+"@swc/core-linux-x64-gnu@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.14.tgz#301133ea3ee347568886f2489837e991e96d44db"
+ integrity sha512-CGmlwLWbfG1dB4jZBJnp2IWlK5xBMNLjN7AR5kKA3sEpionoccEnChOEvfux1UdVJQjLRKuHNV9yGyqGBTpxfQ==
+
+"@swc/core-linux-x64-musl@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.14.tgz#86b8e987a814209cd0dd0f21cbc1134305dfffd5"
+ integrity sha512-xq4npk8YKYmNwmr8fbvF2KP3kUVdZYfXZMQnW425gP3/sn+yFQO8Nd0bGH40vOVQn41kEesSe0Z5O/JDor2TgQ==
+
+"@swc/core-win32-arm64-msvc@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.14.tgz#eb56b8977e3542665929c3963bd7dc18fe5b2556"
+ integrity sha512-imq0X+gU9uUe6FqzOQot5gpKoaC00aCUiN58NOzwp0QXEupn8CDuZpdBN93HiZswfLruu5jA1tsc15x6v9p0Yg==
+
+"@swc/core-win32-ia32-msvc@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.14.tgz#72e119038b9d8743b13bb933b8e192acd9f501f9"
+ integrity sha512-cH6QpXMw5D3t+lpx6SkErHrxN0yFzmQ0lgNAJxoDRiaAdDbqA6Col8UqUJwUS++Ul6aCWgNhCdiEYehPaoyDPA==
+
+"@swc/core-win32-x64-msvc@1.4.14":
+ version "1.4.14"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.14.tgz#f5a3b1a241708b0628a07458e5bedbf67a1b9595"
+ integrity sha512-FmZ4Tby4wW65K/36BKzmuu7mlq7cW5XOxzvufaSNVvQ5PN4OodAlqPjToe029oma4Av+ykJiif64scMttyNAzg==
"@swc/core@^1.3.18":
- version "1.3.100"
- resolved "https://registry.npmjs.org/@swc/core/-/core-1.3.100.tgz"
- integrity sha512-7dKgTyxJjlrMwFZYb1auj3Xq0D8ZBe+5oeIgfMlRU05doXZypYJe0LAk0yjj3WdbwYzpF+T1PLxwTWizI0pckw==
+ version "1.4.14"
+ resolved "https://registry.npmjs.org/@swc/core/-/core-1.4.14.tgz"
+ integrity sha512-tHXg6OxboUsqa/L7DpsCcFnxhLkqN/ht5pCwav1HnvfthbiNIJypr86rNx4cUnQDJepETviSqBTIjxa7pSpGDQ==
dependencies:
- "@swc/counter" "^0.1.1"
+ "@swc/counter" "^0.1.2"
"@swc/types" "^0.1.5"
optionalDependencies:
- "@swc/core-darwin-arm64" "1.3.100"
- "@swc/core-darwin-x64" "1.3.100"
- "@swc/core-linux-arm64-gnu" "1.3.100"
- "@swc/core-linux-arm64-musl" "1.3.100"
- "@swc/core-linux-x64-gnu" "1.3.100"
- "@swc/core-linux-x64-musl" "1.3.100"
- "@swc/core-win32-arm64-msvc" "1.3.100"
- "@swc/core-win32-ia32-msvc" "1.3.100"
- "@swc/core-win32-x64-msvc" "1.3.100"
-
-"@swc/counter@^0.1.1":
- version "0.1.2"
- resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.2.tgz"
- integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==
+ "@swc/core-darwin-arm64" "1.4.14"
+ "@swc/core-darwin-x64" "1.4.14"
+ "@swc/core-linux-arm-gnueabihf" "1.4.14"
+ "@swc/core-linux-arm64-gnu" "1.4.14"
+ "@swc/core-linux-arm64-musl" "1.4.14"
+ "@swc/core-linux-x64-gnu" "1.4.14"
+ "@swc/core-linux-x64-musl" "1.4.14"
+ "@swc/core-win32-arm64-msvc" "1.4.14"
+ "@swc/core-win32-ia32-msvc" "1.4.14"
+ "@swc/core-win32-x64-msvc" "1.4.14"
+
+"@swc/counter@^0.1.2", "@swc/counter@^0.1.3":
+ version "0.1.3"
+ resolved "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz"
+ integrity sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==
"@swc/jest@^0.2.23":
- version "0.2.29"
- resolved "https://registry.npmjs.org/@swc/jest/-/jest-0.2.29.tgz"
- integrity sha512-8reh5RvHBsSikDC3WGCd5ZTd2BXKkyOdK7QwynrCH58jk2cQFhhHhFBg/jvnWZehUQe/EoOImLENc9/DwbBFow==
+ version "0.2.36"
+ resolved "https://registry.npmjs.org/@swc/jest/-/jest-0.2.36.tgz"
+ integrity sha512-8X80dp81ugxs4a11z1ka43FPhP+/e+mJNXJSxiNYk8gIX/jPBtY4gQTrKu/KIoco8bzKuPI5lUxjfLiGsfvnlw==
dependencies:
- "@jest/create-cache-key-function" "^27.4.2"
+ "@jest/create-cache-key-function" "^29.7.0"
+ "@swc/counter" "^0.1.3"
jsonc-parser "^3.2.0"
"@swc/types@^0.1.5":
- version "0.1.5"
- resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz"
- integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==
+ version "0.1.6"
+ resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz"
+ integrity sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==
+ dependencies:
+ "@swc/counter" "^0.1.3"
"@testing-library/dom@^9.0.0":
- version "9.3.3"
- resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz"
- integrity sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==
+ version "9.3.4"
+ resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz"
+ integrity sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==
dependencies:
"@babel/code-frame" "^7.10.4"
"@babel/runtime" "^7.12.5"
@@ -3358,49 +3408,30 @@
lz-string "^1.5.0"
pretty-format "^27.0.2"
-"@testing-library/jest-dom@^6.1.2":
- version "6.1.5"
- resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.5.tgz"
- integrity sha512-3y04JLW+EceVPy2Em3VwNr95dOKqA8DhR0RJHhHKDZNYXcVXnEK7WIrpj4eYU8SVt/qYZ2aRWt/WgQ+grNES8g==
- dependencies:
- "@adobe/css-tools" "^4.3.1"
- "@babel/runtime" "^7.9.2"
- aria-query "^5.0.0"
- chalk "^3.0.0"
- css.escape "^1.5.1"
- dom-accessibility-api "^0.5.6"
- lodash "^4.17.15"
- redent "^3.0.0"
-
-"@testing-library/jest-dom@^6.1.6":
- version "6.1.6"
- resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.1.6.tgz"
- integrity sha512-YwuiOdYEcxhfC2u5iNKlvg2Q5MgbutovP6drq7J1HrCbvR+G58BbtoCoq+L/kNlrNFsu2Kt3jaFAviLVxYHJZg==
+"@testing-library/jest-dom@^6.1.2", "@testing-library/jest-dom@^6.1.6":
+ version "6.4.2"
+ resolved "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz"
+ integrity sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==
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.5.6"
+ dom-accessibility-api "^0.6.3"
lodash "^4.17.15"
redent "^3.0.0"
"@testing-library/react@^14.1.2":
- version "14.1.2"
- resolved "https://registry.npmjs.org/@testing-library/react/-/react-14.1.2.tgz"
- integrity sha512-z4p7DVBTPjKM5qDZ0t5ZjzkpSNb+fZy1u6bzO7kk8oeGagpPCAtgh4cx1syrfp7a+QWkM021jGqjJaxJJnXAZg==
+ version "14.3.1"
+ resolved "https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz"
+ integrity sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==
dependencies:
"@babel/runtime" "^7.12.5"
"@testing-library/dom" "^9.0.0"
"@types/react-dom" "^18.0.0"
-"@testing-library/user-event@^14.4.0":
- version "14.5.1"
- resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.1.tgz"
- integrity sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg==
-
-"@testing-library/user-event@^14.5.2":
+"@testing-library/user-event@^14.4.0", "@testing-library/user-event@^14.5.2":
version "14.5.2"
resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz"
integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==
@@ -3422,9 +3453,9 @@
"@types/babel__traverse" "*"
"@types/babel__generator@*":
- version "7.6.7"
- resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.7.tgz"
- integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==
+ version "7.6.8"
+ resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz"
+ integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==
dependencies:
"@babel/types" "^7.0.0"
@@ -3437,9 +3468,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.18.0":
- version "7.20.4"
- resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.4.tgz"
- integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==
+ version "7.20.5"
+ resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz"
+ integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==
dependencies:
"@babel/types" "^7.20.7"
@@ -3500,20 +3531,20 @@
resolved "https://registry.npmjs.org/@types/escodegen/-/escodegen-0.0.6.tgz"
integrity sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==
+"@types/estree@1.0.5", "@types/estree@^1.0.0":
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
+ integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+
"@types/estree@^0.0.51":
version "0.0.51"
resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz"
integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
-"@types/estree@^1.0.0":
- version "1.0.5"
- resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
- integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
-
"@types/express-serve-static-core@^4.17.33":
- version "4.17.41"
- resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz"
- integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==
+ version "4.19.0"
+ resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz"
+ integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ==
dependencies:
"@types/node" "*"
"@types/qs" "*"
@@ -3582,7 +3613,7 @@
jest-matcher-utils "^28.0.0"
pretty-format "^28.0.0"
-"@types/json-schema@^7.0.12", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.9":
+"@types/json-schema@^7.0.15", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.9":
version "7.0.15"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -3598,25 +3629,20 @@
integrity sha512-n7fUU6W4kSYK8VQlf/LsE9kddBHPKhODoVOjsZswmve+2qLwBy6naWxs/EiuSZN9NU0N06Ra01FR+j87C62T0A==
"@types/lodash@^4.14.167", "@types/lodash@^4.14.178", "@types/lodash@^4.14.191":
- version "4.14.202"
- resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz"
- integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==
+ version "4.17.0"
+ resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.0.tgz"
+ integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==
"@types/mdx@^2.0.0":
- version "2.0.10"
- resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz"
- integrity sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==
+ version "2.0.13"
+ resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz"
+ integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==
"@types/mime-types@^2.1.0":
version "2.1.4"
resolved "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz"
integrity sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==
-"@types/mime@*":
- version "3.0.4"
- resolved "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz"
- integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==
-
"@types/mime@^1":
version "1.3.5"
resolved "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz"
@@ -3628,24 +3654,24 @@
integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
"@types/node-fetch@^2.6.4":
- version "2.6.9"
- resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.9.tgz"
- integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA==
+ version "2.6.11"
+ resolved "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz"
+ integrity sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==
dependencies:
"@types/node" "*"
form-data "^4.0.0"
"@types/node@*", "@types/node@^20.4.8":
- version "20.10.3"
- resolved "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz"
- integrity sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==
+ version "20.12.7"
+ resolved "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz"
+ integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==
dependencies:
undici-types "~5.26.4"
"@types/node@^18.0.0":
- version "18.19.2"
- resolved "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz"
- integrity sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==
+ version "18.19.31"
+ resolved "https://registry.npmjs.org/@types/node/-/node-18.19.31.tgz"
+ integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==
dependencies:
undici-types "~5.26.4"
@@ -3665,31 +3691,24 @@
integrity sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==
"@types/prop-types@*", "@types/prop-types@^15.7.11":
- version "15.7.11"
- resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz"
- integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
+ version "15.7.12"
+ resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz"
+ integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
"@types/qs@*", "@types/qs@^6.9.5":
- version "6.9.10"
- resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz"
- integrity sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==
+ version "6.9.15"
+ resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz"
+ integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==
"@types/range-parser@*":
version "1.2.7"
resolved "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz"
integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==
-"@types/react-dom@^18.0.0":
- version "18.2.18"
- resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz"
- integrity sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==
- dependencies:
- "@types/react" "*"
-
-"@types/react-dom@^18.0.11":
- version "18.2.17"
- resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.17.tgz"
- integrity sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg==
+"@types/react-dom@^18.0.0", "@types/react-dom@^18.0.11":
+ version "18.2.25"
+ resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.25.tgz"
+ integrity sha512-o/V48vf4MQh7juIKZU2QGDfli6p1+OOi5oXx36Hffpc9adsHeXjVp8rHuPkjd8VT8sOJ2Zp05HR7CdpGTIUFUA==
dependencies:
"@types/react" "*"
@@ -3698,20 +3717,19 @@
resolved "https://registry.npmjs.org/@types/react-gtm-module/-/react-gtm-module-2.0.3.tgz"
integrity sha512-fL2zKdDFN5LckSsVBXEhhm9M4tFTM9oHJfGcfZJzktQkzpOTGtDM8oXIP9d9UBDxO4xLNZhS22dlgRVv6wgK9w==
-"@types/react-transition-group@^4.4.9":
- version "4.4.9"
- resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.9.tgz"
- integrity sha512-ZVNmWumUIh5NhH8aMD9CR2hdW0fNuYInlocZHaZ+dgk/1K49j1w/HoAuK1ki+pgscQrOFRTlXeoURtuzEkV3dg==
+"@types/react-transition-group@^4.4.10":
+ version "4.4.10"
+ resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.10.tgz"
+ integrity sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@>=16", "@types/react@^18.2.12":
- version "18.2.42"
- resolved "https://registry.npmjs.org/@types/react/-/react-18.2.42.tgz"
- integrity sha512-c1zEr96MjakLYus/wPnuWDo1/zErfdU9rNsIGmE+NV71nx88FG9Ttgo5dqorXTu/LImX2f63WBP986gJkMPNbA==
+ version "18.2.79"
+ resolved "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz"
+ integrity sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==
dependencies:
"@types/prop-types" "*"
- "@types/scheduler" "*"
csstype "^3.0.2"
"@types/resolve@^1.20.2":
@@ -3719,15 +3737,10 @@
resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz"
integrity sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==
-"@types/scheduler@*":
- version "0.16.8"
- resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz"
- integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==
-
-"@types/semver@^7.3.12", "@types/semver@^7.3.4", "@types/semver@^7.5.0":
- version "7.5.6"
- resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz"
- integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==
+"@types/semver@^7.3.12", "@types/semver@^7.3.4", "@types/semver@^7.5.8":
+ version "7.5.8"
+ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz"
+ integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
"@types/send@*":
version "0.17.4"
@@ -3738,13 +3751,13 @@
"@types/node" "*"
"@types/serve-static@*":
- version "1.15.5"
- resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz"
- integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==
+ version "1.15.7"
+ resolved "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz"
+ integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==
dependencies:
"@types/http-errors" "*"
- "@types/mime" "*"
"@types/node" "*"
+ "@types/send" "*"
"@types/stack-utils@^2.0.0":
version "2.0.3"
@@ -3757,9 +3770,9 @@
integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==
"@types/uuid@^9.0.1":
- version "9.0.7"
- resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz"
- integrity sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==
+ version "9.0.8"
+ resolved "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz"
+ integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==
"@types/wait-on@^5.2.0":
version "5.3.4"
@@ -3788,31 +3801,31 @@
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.3.1.tgz"
- integrity sha512-STEDMVQGww5lhCuNXVSQfbfuNII5E08QWkvAw5Qwf+bj2WT+JkG1uc+5/vXA3AOYMDHVOSpL+9rcbEUiHIm2dw==
- dependencies:
- "@eslint-community/regexpp" "^4.5.1"
- "@typescript-eslint/scope-manager" "7.3.1"
- "@typescript-eslint/type-utils" "7.3.1"
- "@typescript-eslint/utils" "7.3.1"
- "@typescript-eslint/visitor-keys" "7.3.1"
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.7.0.tgz"
+ integrity sha512-GJWR0YnfrKnsRoluVO3PRb9r5aMZriiMMM/RHj5nnTrBy1/wIgk76XCtCKcnXGjpZQJQRFtGV9/0JJ6n30uwpQ==
+ dependencies:
+ "@eslint-community/regexpp" "^4.10.0"
+ "@typescript-eslint/scope-manager" "7.7.0"
+ "@typescript-eslint/type-utils" "7.7.0"
+ "@typescript-eslint/utils" "7.7.0"
+ "@typescript-eslint/visitor-keys" "7.7.0"
debug "^4.3.4"
graphemer "^1.4.0"
- ignore "^5.2.4"
+ ignore "^5.3.1"
natural-compare "^1.4.0"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
"@typescript-eslint/parser@^7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.3.1.tgz"
- integrity sha512-Rq49+pq7viTRCH48XAbTA+wdLRrB/3sRq4Lpk0oGDm0VmnjBrAOVXH/Laalmwsv2VpekiEfVFwJYVk6/e8uvQw==
- dependencies:
- "@typescript-eslint/scope-manager" "7.3.1"
- "@typescript-eslint/types" "7.3.1"
- "@typescript-eslint/typescript-estree" "7.3.1"
- "@typescript-eslint/visitor-keys" "7.3.1"
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.7.0.tgz"
+ integrity sha512-fNcDm3wSwVM8QYL4HKVBggdIPAy9Q41vcvC/GtDobw3c4ndVT3K6cqudUmjHPw8EAp4ufax0o58/xvWaP2FmTg==
+ dependencies:
+ "@typescript-eslint/scope-manager" "7.7.0"
+ "@typescript-eslint/types" "7.7.0"
+ "@typescript-eslint/typescript-estree" "7.7.0"
+ "@typescript-eslint/visitor-keys" "7.7.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.62.0":
@@ -3823,33 +3836,33 @@
"@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0"
-"@typescript-eslint/scope-manager@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.3.1.tgz"
- integrity sha512-fVS6fPxldsKY2nFvyT7IP78UO1/I2huG+AYu5AMjCT9wtl6JFiDnsv4uad4jQ0GTFzcUV5HShVeN96/17bTBag==
+"@typescript-eslint/scope-manager@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.7.0.tgz"
+ integrity sha512-/8INDn0YLInbe9Wt7dK4cXLDYp0fNHP5xKLHvZl3mOT5X17rK/YShXaiNmorl+/U4VKCVIjJnx4Ri5b0y+HClw==
dependencies:
- "@typescript-eslint/types" "7.3.1"
- "@typescript-eslint/visitor-keys" "7.3.1"
+ "@typescript-eslint/types" "7.7.0"
+ "@typescript-eslint/visitor-keys" "7.7.0"
-"@typescript-eslint/type-utils@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.3.1.tgz"
- integrity sha512-iFhaysxFsMDQlzJn+vr3OrxN8NmdQkHks4WaqD4QBnt5hsq234wcYdyQ9uquzJJIDAj5W4wQne3yEsYA6OmXGw==
+"@typescript-eslint/type-utils@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.7.0.tgz"
+ integrity sha512-bOp3ejoRYrhAlnT/bozNQi3nio9tIgv3U5C0mVDdZC7cpcQEDZXvq8inrHYghLVwuNABRqrMW5tzAv88Vy77Sg==
dependencies:
- "@typescript-eslint/typescript-estree" "7.3.1"
- "@typescript-eslint/utils" "7.3.1"
+ "@typescript-eslint/typescript-estree" "7.7.0"
+ "@typescript-eslint/utils" "7.7.0"
debug "^4.3.4"
- ts-api-utils "^1.0.1"
+ ts-api-utils "^1.3.0"
"@typescript-eslint/types@5.62.0":
version "5.62.0"
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
-"@typescript-eslint/types@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.3.1.tgz"
- integrity sha512-2tUf3uWggBDl4S4183nivWQ2HqceOZh1U4hhu4p1tPiIJoRRXrab7Y+Y0p+dozYwZVvLPRI6r5wKe9kToF9FIw==
+"@typescript-eslint/types@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.7.0.tgz"
+ integrity sha512-G01YPZ1Bd2hn+KPpIbrAhEWOn5lQBrjxkzHkWvP6NucMXFtfXoevK82hzQdpfuQYuhkvFDeQYbzXCjR1z9Z03w==
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
@@ -3864,32 +3877,32 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.3.1.tgz"
- integrity sha512-tLpuqM46LVkduWP7JO7yVoWshpJuJzxDOPYIVWUUZbW+4dBpgGeUdl/fQkhuV0A8eGnphYw3pp8d2EnvPOfxmQ==
+"@typescript-eslint/typescript-estree@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.7.0.tgz"
+ integrity sha512-8p71HQPE6CbxIBy2kWHqM1KGrC07pk6RJn40n0DSc6bMOBBREZxSDJ+BmRzc8B5OdaMh1ty3mkuWRg4sCFiDQQ==
dependencies:
- "@typescript-eslint/types" "7.3.1"
- "@typescript-eslint/visitor-keys" "7.3.1"
+ "@typescript-eslint/types" "7.7.0"
+ "@typescript-eslint/visitor-keys" "7.7.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
- minimatch "9.0.3"
- semver "^7.5.4"
- ts-api-utils "^1.0.1"
+ minimatch "^9.0.4"
+ semver "^7.6.0"
+ ts-api-utils "^1.3.0"
-"@typescript-eslint/utils@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.3.1.tgz"
- integrity sha512-jIERm/6bYQ9HkynYlNZvXpzmXWZGhMbrOvq3jJzOSOlKXsVjrrolzWBjDW6/TvT5Q3WqaN4EkmcfdQwi9tDjBQ==
+"@typescript-eslint/utils@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.7.0.tgz"
+ integrity sha512-LKGAXMPQs8U/zMRFXDZOzmMKgFv3COlxUQ+2NMPhbqgVm6R1w+nU1i4836Pmxu9jZAuIeyySNrN/6Rc657ggig==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
- "@types/json-schema" "^7.0.12"
- "@types/semver" "^7.5.0"
- "@typescript-eslint/scope-manager" "7.3.1"
- "@typescript-eslint/types" "7.3.1"
- "@typescript-eslint/typescript-estree" "7.3.1"
- semver "^7.5.4"
+ "@types/json-schema" "^7.0.15"
+ "@types/semver" "^7.5.8"
+ "@typescript-eslint/scope-manager" "7.7.0"
+ "@typescript-eslint/types" "7.7.0"
+ "@typescript-eslint/typescript-estree" "7.7.0"
+ semver "^7.6.0"
"@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.45.0":
version "5.62.0"
@@ -3913,19 +3926,24 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
-"@typescript-eslint/visitor-keys@7.3.1":
- version "7.3.1"
- resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.3.1.tgz"
- integrity sha512-9RMXwQF8knsZvfv9tdi+4D/j7dMG28X/wMJ8Jj6eOHyHWwDW4ngQJcqEczSsqIKKjFiLFr40Mnr7a5ulDD3vmw==
+"@typescript-eslint/visitor-keys@7.7.0":
+ version "7.7.0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.7.0.tgz"
+ integrity sha512-h0WHOj8MhdhY8YWkzIF30R379y0NqyOHExI9N9KCzvmu05EgG4FumeYa3ccfKUSphyWkWQE1ybVrgz/Pbam6YA==
dependencies:
- "@typescript-eslint/types" "7.3.1"
- eslint-visitor-keys "^3.4.1"
+ "@typescript-eslint/types" "7.7.0"
+ eslint-visitor-keys "^3.4.3"
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
+"@usersnap/browser@^0.0.5":
+ version "0.0.5"
+ resolved "https://registry.npmjs.org/@usersnap/browser/-/browser-0.0.5.tgz"
+ integrity sha512-EG6SOy63lKqqwgS03Olj7iQkptuCIYd2T/o9dM5KYa518F+jycWxlNFVY0Yd5uvzyIRoEAs9TN0goaBHXPBJ3w==
+
"@vitejs/plugin-react@^3.0.1":
version "3.1.0"
resolved "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz"
@@ -3948,66 +3966,76 @@
"@types/babel__core" "^7.20.5"
react-refresh "^0.14.0"
-"@vitest/expect@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz"
- integrity sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==
+"@vitest/coverage-v8@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.5.0.tgz"
+ integrity sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==
+ dependencies:
+ "@ampproject/remapping" "^2.2.1"
+ "@bcoe/v8-coverage" "^0.2.3"
+ debug "^4.3.4"
+ istanbul-lib-coverage "^3.2.2"
+ istanbul-lib-report "^3.0.1"
+ istanbul-lib-source-maps "^5.0.4"
+ istanbul-reports "^3.1.6"
+ magic-string "^0.30.5"
+ magicast "^0.3.3"
+ picocolors "^1.0.0"
+ std-env "^3.5.0"
+ strip-literal "^2.0.0"
+ test-exclude "^6.0.0"
+
+"@vitest/expect@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/expect/-/expect-1.5.0.tgz"
+ integrity sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==
dependencies:
- "@vitest/spy" "1.2.2"
- "@vitest/utils" "1.2.2"
+ "@vitest/spy" "1.5.0"
+ "@vitest/utils" "1.5.0"
chai "^4.3.10"
-"@vitest/runner@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz"
- integrity sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==
+"@vitest/runner@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/runner/-/runner-1.5.0.tgz"
+ integrity sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==
dependencies:
- "@vitest/utils" "1.2.2"
+ "@vitest/utils" "1.5.0"
p-limit "^5.0.0"
pathe "^1.1.1"
-"@vitest/snapshot@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz"
- integrity sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==
+"@vitest/snapshot@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.5.0.tgz"
+ integrity sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==
dependencies:
magic-string "^0.30.5"
pathe "^1.1.1"
pretty-format "^29.7.0"
-"@vitest/spy@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz"
- integrity sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==
+"@vitest/spy@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/spy/-/spy-1.5.0.tgz"
+ integrity sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==
dependencies:
tinyspy "^2.2.0"
"@vitest/ui@^1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@vitest/ui/-/ui-1.1.0.tgz"
- integrity sha512-7yU1QRFBplz0xJqcgt+agcbrNFdBmLo8UUppdKkFmYx+Ih0+yMYQOyr7kOB+YoggJY/p5ZzXxdbiOz7NBX2y+w==
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/ui/-/ui-1.5.0.tgz"
+ integrity sha512-ETcToK2TzICf/Oartvt19IH7yR4oCs8GrQk5hRhZ5oZFaSdDHTh6o3EdzyxOaY24NZ20cXYYNGjj1se/5vHfFg==
dependencies:
- "@vitest/utils" "1.1.0"
+ "@vitest/utils" "1.5.0"
fast-glob "^3.3.2"
fflate "^0.8.1"
flatted "^3.2.9"
pathe "^1.1.1"
picocolors "^1.0.0"
- sirv "^2.0.3"
-
-"@vitest/utils@1.1.0":
- version "1.1.0"
- resolved "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.0.tgz"
- integrity sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==
- dependencies:
- diff-sequences "^29.6.3"
- loupe "^2.3.7"
- pretty-format "^29.7.0"
+ sirv "^2.0.4"
-"@vitest/utils@1.2.2":
- version "1.2.2"
- resolved "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz"
- integrity sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==
+"@vitest/utils@1.5.0":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/@vitest/utils/-/utils-1.5.0.tgz"
+ integrity sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==
dependencies:
diff-sequences "^29.6.3"
estree-walker "^3.0.3"
@@ -4077,16 +4105,11 @@ acorn@^7.4.1:
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.10.0:
+acorn@^8.11.3, acorn@^8.9.0:
version "8.11.3"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-acorn@^8.11.2, acorn@^8.9.0:
- version "8.11.2"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz"
- integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
-
address@^1.0.1:
version "1.2.2"
resolved "https://registry.npmjs.org/address/-/address-1.2.2.tgz"
@@ -4098,9 +4121,9 @@ agent-base@5:
integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
agent-base@^7.0.2, agent-base@^7.1.0:
- version "7.1.0"
- resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz"
- integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==
+ version "7.1.1"
+ resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz"
+ integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==
dependencies:
debug "^4.3.4"
@@ -4135,11 +4158,9 @@ ansi-escapes@^4.2.1:
type-fest "^0.21.3"
ansi-escapes@^6.0.0:
- version "6.2.0"
- resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz"
- integrity sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==
- dependencies:
- type-fest "^3.0.0"
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz"
+ integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==
ansi-regex@^5.0.1:
version "5.0.1"
@@ -4213,9 +4234,9 @@ argparse@^2.0.1:
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
aria-hidden@^1.1.1:
- version "1.2.3"
- resolved "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz"
- integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz"
+ integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==
dependencies:
tslib "^2.0.0"
@@ -4247,14 +4268,15 @@ array-flatten@1.1.1:
integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
array-includes@^3.1.6, array-includes@^3.1.7:
- version "3.1.7"
- resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz"
- integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==
+ version "3.1.8"
+ resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz"
+ integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.4"
is-string "^1.0.7"
array-union@^2.1.0:
@@ -4341,7 +4363,7 @@ arraybuffer.prototype.slice@^1.0.3:
is-array-buffer "^3.0.4"
is-shared-array-buffer "^1.0.2"
-assert@^2.0.0, assert@^2.1.0:
+assert@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz"
integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==
@@ -4402,11 +4424,11 @@ axe-core@=4.7.0:
integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==
axios@^1.4.0, axios@^1.6.1:
- version "1.6.2"
- resolved "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz"
- integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==
+ version "1.6.8"
+ resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz"
+ integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
dependencies:
- follow-redirects "^1.15.0"
+ follow-redirects "^1.15.6"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
@@ -4465,29 +4487,29 @@ babel-plugin-macros@^3.1.0:
cosmiconfig "^7.0.0"
resolve "^1.19.0"
-babel-plugin-polyfill-corejs2@^0.4.6:
- version "0.4.6"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz"
- integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==
+babel-plugin-polyfill-corejs2@^0.4.10:
+ version "0.4.10"
+ resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz"
+ integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
dependencies:
"@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.4.3"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
semver "^6.3.1"
-babel-plugin-polyfill-corejs3@^0.8.5:
- version "0.8.6"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz"
- integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==
+babel-plugin-polyfill-corejs3@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz"
+ integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.3"
- core-js-compat "^3.33.1"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
+ core-js-compat "^3.36.1"
-babel-plugin-polyfill-regenerator@^0.5.3:
- version "0.5.3"
- resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz"
- integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==
+babel-plugin-polyfill-regenerator@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz"
+ integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.3"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
babel-preset-current-node-syntax@^1.0.0:
version "1.0.1"
@@ -4542,6 +4564,13 @@ better-opn@^3.0.2:
dependencies:
open "^8.0.4"
+bidi-js@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz"
+ integrity sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==
+ dependencies:
+ require-from-string "^2.0.2"
+
big-integer@^1.6.16, big-integer@^1.6.44:
version "1.6.52"
resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz"
@@ -4553,9 +4582,9 @@ big.js@^5.2.2:
integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
bl@^4.0.3, bl@^4.1.0:
version "4.1.0"
@@ -4571,13 +4600,13 @@ blakejs@^1.2.1:
resolved "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz"
integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==
-body-parser@1.20.1:
- version "1.20.1"
- resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz"
- integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
+body-parser@1.20.2:
+ version "1.20.2"
+ resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz"
+ integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
dependencies:
bytes "3.1.2"
- content-type "~1.0.4"
+ content-type "~1.0.5"
debug "2.6.9"
depd "2.0.0"
destroy "1.2.0"
@@ -4585,7 +4614,7 @@ body-parser@1.20.1:
iconv-lite "0.4.24"
on-finished "2.4.1"
qs "6.11.0"
- raw-body "2.5.1"
+ raw-body "2.5.2"
type-is "~1.6.18"
unpipe "1.0.0"
@@ -4644,13 +4673,13 @@ browserify-zlib@^0.1.4:
dependencies:
pako "~0.2.0"
-browserslist@^4.21.9, browserslist@^4.22.1:
- version "4.22.2"
- resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz"
- integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==
+browserslist@^4.22.2, browserslist@^4.23.0:
+ version "4.23.0"
+ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz"
+ integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
dependencies:
- caniuse-lite "^1.0.30001565"
- electron-to-chromium "^1.4.601"
+ caniuse-lite "^1.0.30001587"
+ electron-to-chromium "^1.4.668"
node-releases "^2.0.14"
update-browserslist-db "^1.0.13"
@@ -4743,10 +4772,10 @@ can-bind-to-host@^1.1.1:
resolved "https://registry.npmjs.org/can-bind-to-host/-/can-bind-to-host-1.1.2.tgz"
integrity sha512-CqsgmaqiyFRNtP17Ihqa/uHbZxRirntNVNl/kJz31DLKuNRfzvzionkLoUSkElQ6Cz+cpXKA3mhHq4tjbieujA==
-caniuse-lite@^1.0.30001565:
- version "1.0.30001566"
- resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz"
- integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==
+caniuse-lite@^1.0.30001587:
+ version "1.0.30001610"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz"
+ integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==
canonicalize@^1.0.1:
version "1.0.8"
@@ -4754,9 +4783,9 @@ canonicalize@^1.0.1:
integrity sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==
chai@^4.3.10:
- version "4.3.10"
- resolved "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz"
- integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==
+ version "4.4.1"
+ resolved "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz"
+ integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==
dependencies:
assertion-error "^1.1.0"
check-error "^1.0.3"
@@ -4813,10 +4842,10 @@ check-error@^1.0.3:
dependencies:
get-func-name "^2.0.2"
-chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+chokidar@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz"
+ integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
dependencies:
anymatch "~3.1.2"
braces "~3.0.2"
@@ -4848,6 +4877,13 @@ ci-info@^3.2.0, ci-info@^3.7.0:
resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz"
integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==
+citty@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz"
+ integrity sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==
+ dependencies:
+ consola "^3.2.3"
+
cjs-module-lexer@^1.0.0:
version "1.2.3"
resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz"
@@ -4871,9 +4907,9 @@ cli-spinners@^2.5.0:
integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
cli-table3@^0.6.1:
- version "0.6.3"
- resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz"
- integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==
+ version "0.6.4"
+ resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz"
+ integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==
dependencies:
string-width "^4.2.0"
optionalDependencies:
@@ -4911,10 +4947,10 @@ clone@^1.0.2:
resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
-clsx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz"
- integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
+clsx@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz"
+ integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==
co@^4.6.0:
version "4.6.0"
@@ -4966,11 +5002,6 @@ color@^3.2.1:
color-convert "^1.9.3"
color-string "^1.6.0"
-colorette@^2.0.20:
- version "2.0.20"
- resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz"
- integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
-
combined-stream@^1.0.8:
version "1.0.8"
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
@@ -5043,6 +5074,11 @@ confusing-browser-globals@^1.0.10:
resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz"
integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==
+consola@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz"
+ integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==
+
content-disposition@0.5.4:
version "0.5.4"
resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
@@ -5050,7 +5086,7 @@ content-disposition@0.5.4:
dependencies:
safe-buffer "5.2.1"
-content-type@~1.0.4:
+content-type@~1.0.4, content-type@~1.0.5:
version "1.0.5"
resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
@@ -5070,17 +5106,17 @@ cookie-signature@1.0.6:
resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-cookie@0.5.0:
- version "0.5.0"
- resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
- integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+cookie@0.6.0:
+ version "0.6.0"
+ resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz"
+ integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
-core-js-compat@^3.31.0, core-js-compat@^3.33.1:
- version "3.33.3"
- resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz"
- integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==
+core-js-compat@^3.31.0, core-js-compat@^3.36.1:
+ version "3.36.1"
+ resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz"
+ integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==
dependencies:
- browserslist "^4.22.1"
+ browserslist "^4.23.0"
core-util-is@~1.0.0:
version "1.0.3"
@@ -5125,22 +5161,30 @@ crypto-random-string@^2.0.0:
resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+css-tree@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz"
+ integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==
+ dependencies:
+ mdn-data "2.0.30"
+ source-map-js "^1.0.1"
+
css.escape@^1.5.1:
version "1.5.1"
resolved "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz"
integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
-cssstyle@^3.0.0:
- version "3.0.0"
- resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz"
- integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==
+cssstyle@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz"
+ integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==
dependencies:
rrweb-cssom "^0.6.0"
-csstype@^3.0.10, csstype@^3.0.2, csstype@^3.1.2:
- version "3.1.2"
- resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz"
- integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
+csstype@^3.0.10, csstype@^3.0.2, csstype@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
cwd@^0.10.0:
version "0.10.0"
@@ -5234,9 +5278,9 @@ decimal.js@^10.4.3:
integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
dedent@^1.0.0:
- version "1.5.1"
- resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz"
- integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==
+ version "1.5.3"
+ resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz"
+ integrity sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==
deep-eql@^4.1.3:
version "4.1.3"
@@ -5324,10 +5368,10 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
-defu@^6.1.2:
- version "6.1.3"
- resolved "https://registry.npmjs.org/defu/-/defu-6.1.3.tgz"
- integrity sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==
+defu@^6.1.4:
+ version "6.1.4"
+ resolved "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz"
+ integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==
del@^6.0.0:
version "6.1.1"
@@ -5436,11 +5480,16 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9:
+dom-accessibility-api@^0.5.9:
version "0.5.16"
resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz"
integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==
+dom-accessibility-api@^0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz"
+ integrity sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==
+
dom-helpers@^5.0.1:
version "5.2.1"
resolved "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz"
@@ -5488,9 +5537,9 @@ dotenv-expand@^10.0.0:
integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==
dotenv@^16.0.0:
- version "16.3.1"
- resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz"
- integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
+ version "16.4.5"
+ resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz"
+ integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==
duplexify@^3.5.0, duplexify@^3.6.0:
version "3.7.1"
@@ -5513,16 +5562,16 @@ ee-first@1.1.1:
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
ejs@^3.1.8:
- version "3.1.9"
- resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz"
- integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==
+ version "3.1.10"
+ resolved "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz"
+ integrity sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==
dependencies:
jake "^10.8.5"
-electron-to-chromium@^1.4.601:
- version "1.4.603"
- resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.603.tgz"
- integrity sha512-Dvo5OGjnl7AZTU632dFJtWj0uJK835eeOVQIuRcmBmsFsTNn3cL05FqOyHAfGQDIoHfLhyJ1Tya3PJ0ceMz54g==
+electron-to-chromium@^1.4.668:
+ version "1.4.737"
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.737.tgz"
+ integrity sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==
emittery@^0.13.1:
version "0.13.1"
@@ -5572,9 +5621,9 @@ entities@^4.4.0:
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
envinfo@^7.7.3:
- version "7.11.0"
- resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz"
- integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==
+ version "7.12.0"
+ resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.12.0.tgz"
+ integrity sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg==
error-ex@^1.3.1:
version "1.3.2"
@@ -5584,9 +5633,9 @@ error-ex@^1.3.1:
is-arrayish "^0.2.1"
es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2:
- version "1.23.2"
- resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.2.tgz"
- integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==
+ version "1.23.3"
+ resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz"
+ integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==
dependencies:
array-buffer-byte-length "^1.0.1"
arraybuffer.prototype.slice "^1.0.3"
@@ -5627,11 +5676,11 @@ es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23
safe-regex-test "^1.0.3"
string.prototype.trim "^1.2.9"
string.prototype.trimend "^1.0.8"
- string.prototype.trimstart "^1.0.7"
+ string.prototype.trimstart "^1.0.8"
typed-array-buffer "^1.0.2"
typed-array-byte-length "^1.0.1"
typed-array-byte-offset "^1.0.2"
- typed-array-length "^1.0.5"
+ typed-array-length "^1.0.6"
unbox-primitive "^1.0.2"
which-typed-array "^1.1.15"
@@ -5764,67 +5813,68 @@ esbuild@^0.18.0, esbuild@^0.18.10:
"@esbuild/win32-ia32" "0.18.20"
"@esbuild/win32-x64" "0.18.20"
-esbuild@^0.19.3:
- version "0.19.11"
- resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz"
- integrity sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==
- optionalDependencies:
- "@esbuild/aix-ppc64" "0.19.11"
- "@esbuild/android-arm" "0.19.11"
- "@esbuild/android-arm64" "0.19.11"
- "@esbuild/android-x64" "0.19.11"
- "@esbuild/darwin-arm64" "0.19.11"
- "@esbuild/darwin-x64" "0.19.11"
- "@esbuild/freebsd-arm64" "0.19.11"
- "@esbuild/freebsd-x64" "0.19.11"
- "@esbuild/linux-arm" "0.19.11"
- "@esbuild/linux-arm64" "0.19.11"
- "@esbuild/linux-ia32" "0.19.11"
- "@esbuild/linux-loong64" "0.19.11"
- "@esbuild/linux-mips64el" "0.19.11"
- "@esbuild/linux-ppc64" "0.19.11"
- "@esbuild/linux-riscv64" "0.19.11"
- "@esbuild/linux-s390x" "0.19.11"
- "@esbuild/linux-x64" "0.19.11"
- "@esbuild/netbsd-x64" "0.19.11"
- "@esbuild/openbsd-x64" "0.19.11"
- "@esbuild/sunos-x64" "0.19.11"
- "@esbuild/win32-arm64" "0.19.11"
- "@esbuild/win32-ia32" "0.19.11"
- "@esbuild/win32-x64" "0.19.11"
-
esbuild@^0.19.8:
- version "0.19.8"
- resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz"
- integrity sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==
+ version "0.19.12"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz"
+ integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==
+ optionalDependencies:
+ "@esbuild/aix-ppc64" "0.19.12"
+ "@esbuild/android-arm" "0.19.12"
+ "@esbuild/android-arm64" "0.19.12"
+ "@esbuild/android-x64" "0.19.12"
+ "@esbuild/darwin-arm64" "0.19.12"
+ "@esbuild/darwin-x64" "0.19.12"
+ "@esbuild/freebsd-arm64" "0.19.12"
+ "@esbuild/freebsd-x64" "0.19.12"
+ "@esbuild/linux-arm" "0.19.12"
+ "@esbuild/linux-arm64" "0.19.12"
+ "@esbuild/linux-ia32" "0.19.12"
+ "@esbuild/linux-loong64" "0.19.12"
+ "@esbuild/linux-mips64el" "0.19.12"
+ "@esbuild/linux-ppc64" "0.19.12"
+ "@esbuild/linux-riscv64" "0.19.12"
+ "@esbuild/linux-s390x" "0.19.12"
+ "@esbuild/linux-x64" "0.19.12"
+ "@esbuild/netbsd-x64" "0.19.12"
+ "@esbuild/openbsd-x64" "0.19.12"
+ "@esbuild/sunos-x64" "0.19.12"
+ "@esbuild/win32-arm64" "0.19.12"
+ "@esbuild/win32-ia32" "0.19.12"
+ "@esbuild/win32-x64" "0.19.12"
+
+esbuild@^0.20.1:
+ version "0.20.2"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz"
+ integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
optionalDependencies:
- "@esbuild/android-arm" "0.19.8"
- "@esbuild/android-arm64" "0.19.8"
- "@esbuild/android-x64" "0.19.8"
- "@esbuild/darwin-arm64" "0.19.8"
- "@esbuild/darwin-x64" "0.19.8"
- "@esbuild/freebsd-arm64" "0.19.8"
- "@esbuild/freebsd-x64" "0.19.8"
- "@esbuild/linux-arm" "0.19.8"
- "@esbuild/linux-arm64" "0.19.8"
- "@esbuild/linux-ia32" "0.19.8"
- "@esbuild/linux-loong64" "0.19.8"
- "@esbuild/linux-mips64el" "0.19.8"
- "@esbuild/linux-ppc64" "0.19.8"
- "@esbuild/linux-riscv64" "0.19.8"
- "@esbuild/linux-s390x" "0.19.8"
- "@esbuild/linux-x64" "0.19.8"
- "@esbuild/netbsd-x64" "0.19.8"
- "@esbuild/openbsd-x64" "0.19.8"
- "@esbuild/sunos-x64" "0.19.8"
- "@esbuild/win32-arm64" "0.19.8"
- "@esbuild/win32-ia32" "0.19.8"
- "@esbuild/win32-x64" "0.19.8"
+ "@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"
escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz"
+ integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
escape-html@~1.0.3:
version "1.0.3"
@@ -6177,16 +6227,16 @@ expect@^29.7.0:
jest-util "^29.7.0"
express@^4.17.3:
- version "4.18.2"
- resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz"
- integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
+ version "4.19.2"
+ resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz"
+ integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
dependencies:
accepts "~1.3.8"
array-flatten "1.1.1"
- body-parser "1.20.1"
+ body-parser "1.20.2"
content-disposition "0.5.4"
content-type "~1.0.4"
- cookie "0.5.0"
+ cookie "0.6.0"
cookie-signature "1.0.6"
debug "2.6.9"
depd "2.0.0"
@@ -6255,9 +6305,9 @@ fast-levenshtein@^2.0.6:
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
fastq@^1.6.0:
- version "1.15.0"
- resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz"
- integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
+ version "1.17.1"
+ resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz"
+ integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
dependencies:
reusify "^1.0.4"
@@ -6289,9 +6339,9 @@ fetch-retry@^5.0.2:
integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==
fflate@^0.8.1:
- version "0.8.1"
- resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.1.tgz"
- integrity sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==
+ version "0.8.2"
+ resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz"
+ integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==
file-entry-cache@^6.0.1:
version "6.0.1"
@@ -6422,19 +6472,19 @@ flat-cache@^3.0.4:
rimraf "^3.0.2"
flatted@^3.2.9:
- version "3.2.9"
- resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz"
- integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz"
+ integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
flow-parser@0.*:
- version "0.223.3"
- resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.223.3.tgz"
- integrity sha512-9KxxDKSB22ovMpSULbOL/QAQGPN6M0YMS3PubQvB0jVc4W7QP6VhasIVic7MzKcJSh0BAVs4J6SZjoH0lDDNlg==
+ version "0.233.0"
+ resolved "https://registry.npmjs.org/flow-parser/-/flow-parser-0.233.0.tgz"
+ integrity sha512-E/mv51GYJfLuRX6fZnw4M52gBxYa8pkHUOgNEZOcQK2RTXS8YXeU5rlalkTcY99UpwbeNVCSUFKaavpOksi/pQ==
-follow-redirects@^1.15.0:
- version "1.15.3"
- resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz"
- integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==
+follow-redirects@^1.15.6:
+ version "1.15.6"
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz"
+ integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
for-each@^0.3.3:
version "0.3.3"
@@ -6585,7 +6635,7 @@ get-func-name@^2.0.1, get-func-name@^2.0.2:
resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz"
integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==
-get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
+get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz"
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
@@ -6636,16 +6686,17 @@ get-symbol-description@^1.0.2:
get-intrinsic "^1.2.4"
giget@^1.0.0:
- version "1.1.3"
- resolved "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz"
- integrity sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==
- dependencies:
- colorette "^2.0.20"
- defu "^6.1.2"
- https-proxy-agent "^7.0.2"
- mri "^1.2.0"
- node-fetch-native "^1.4.0"
- pathe "^1.1.1"
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz"
+ integrity sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==
+ dependencies:
+ citty "^0.1.6"
+ consola "^3.2.3"
+ defu "^6.1.4"
+ node-fetch-native "^1.6.3"
+ nypm "^0.3.8"
+ ohash "^1.1.3"
+ pathe "^1.1.2"
tar "^6.2.0"
github-slugger@^1.0.0:
@@ -6680,15 +6731,15 @@ glob-to-regexp@^0.4.1:
integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
glob@^10.0.0, glob@^10.2.2:
- version "10.3.10"
- resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz"
- integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==
+ version "10.3.12"
+ resolved "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz"
+ integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==
dependencies:
foreground-child "^3.1.0"
- jackspeak "^2.3.5"
+ jackspeak "^2.3.6"
minimatch "^9.0.1"
- minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
- path-scurry "^1.10.1"
+ minipass "^7.0.4"
+ path-scurry "^1.10.2"
glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
version "7.2.3"
@@ -6726,9 +6777,9 @@ globals@^11.1.0:
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
globals@^13.19.0:
- version "13.23.0"
- resolved "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz"
- integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==
+ version "13.24.0"
+ resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
+ integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
dependencies:
type-fest "^0.20.2"
@@ -6913,9 +6964,9 @@ http-errors@2.0.0:
toidentifier "1.0.1"
http-proxy-agent@^7.0.0:
- version "7.0.0"
- resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz"
- integrity sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==
+ version "7.0.2"
+ resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz"
+ integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
dependencies:
agent-base "^7.1.0"
debug "^4.3.4"
@@ -6929,9 +6980,9 @@ https-proxy-agent@^4.0.0:
debug "4"
https-proxy-agent@^7.0.2:
- version "7.0.2"
- resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz"
- integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==
+ version "7.0.4"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz"
+ integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==
dependencies:
agent-base "^7.0.2"
debug "4"
@@ -6947,9 +6998,9 @@ human-signals@^5.0.0:
integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==
i18next@^23.7.19:
- version "23.7.19"
- resolved "https://registry.npmjs.org/i18next/-/i18next-23.7.19.tgz"
- integrity sha512-1aP+YSJl+nLxr42ZJtNhpWpNWYsc6nCbVCf2x4uizIX1BYfcigiRMlb3vOkE1p3+qrI+aD6h5G2Fg+2d2oMIOQ==
+ version "23.11.2"
+ resolved "https://registry.npmjs.org/i18next/-/i18next-23.11.2.tgz"
+ integrity sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA==
dependencies:
"@babel/runtime" "^7.23.2"
@@ -6972,10 +7023,10 @@ ieee754@^1.1.13, ieee754@^1.2.1:
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-ignore@^5.2.0, ignore@^5.2.4:
- version "5.3.0"
- resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz"
- integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==
+ignore@^5.2.0, ignore@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz"
+ integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
import-fresh@^3.2.1:
version "3.3.0"
@@ -7037,10 +7088,10 @@ invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
-ip@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz"
- integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
+ip@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz"
+ integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==
ipaddr.js@1.9.1:
version "1.9.1"
@@ -7189,10 +7240,10 @@ is-interactive@^1.0.0:
resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz"
integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==
-is-map@^2.0.1, is-map@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz"
- integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
+is-map@^2.0.2, is-map@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz"
+ integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==
is-nan@^1.3.2:
version "1.3.2"
@@ -7254,10 +7305,10 @@ is-regex@^1.1.4:
call-bind "^1.0.2"
has-tostringtag "^1.0.0"
-is-set@^2.0.1, is-set@^2.0.2:
- version "2.0.2"
- resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz"
- integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==
+is-set@^2.0.2, is-set@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz"
+ integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==
is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3:
version "1.0.3"
@@ -7307,10 +7358,10 @@ is-unicode-supported@^0.1.0:
resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz"
integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
-is-weakmap@^2.0.1:
- version "2.0.1"
- resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz"
- integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==
+is-weakmap@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz"
+ integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
is-weakref@^1.0.2:
version "1.0.2"
@@ -7319,13 +7370,13 @@ is-weakref@^1.0.2:
dependencies:
call-bind "^1.0.2"
-is-weakset@^2.0.1:
- version "2.0.2"
- resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz"
- integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==
+is-weakset@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz"
+ integrity sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==
dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
+ call-bind "^1.0.7"
+ get-intrinsic "^1.2.4"
is-windows@^0.2.0:
version "0.2.0"
@@ -7364,7 +7415,7 @@ isobject@^3.0.1:
resolved "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz"
integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
+istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0, istanbul-lib-coverage@^3.2.2:
version "3.2.2"
resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz"
integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==
@@ -7398,13 +7449,13 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0:
semver "^6.3.0"
istanbul-lib-instrument@^6.0.0, istanbul-lib-instrument@^6.0.1:
- version "6.0.1"
- resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz"
- integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz"
+ integrity sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==
dependencies:
- "@babel/core" "^7.12.3"
- "@babel/parser" "^7.14.7"
- "@istanbuljs/schema" "^0.1.2"
+ "@babel/core" "^7.23.9"
+ "@babel/parser" "^7.23.9"
+ "@istanbuljs/schema" "^0.1.3"
istanbul-lib-coverage "^3.2.0"
semver "^7.5.4"
@@ -7420,7 +7471,7 @@ istanbul-lib-processinfo@^2.0.2:
rimraf "^3.0.0"
uuid "^8.3.2"
-istanbul-lib-report@^3.0.0:
+istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1:
version "3.0.1"
resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz"
integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==
@@ -7438,10 +7489,19 @@ istanbul-lib-source-maps@^4.0.0:
istanbul-lib-coverage "^3.0.0"
source-map "^0.6.1"
-istanbul-reports@^3.0.2, istanbul-reports@^3.1.3:
- version "3.1.6"
- resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz"
- integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==
+istanbul-lib-source-maps@^5.0.4:
+ version "5.0.4"
+ resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz"
+ integrity sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.23"
+ debug "^4.1.1"
+ istanbul-lib-coverage "^3.0.0"
+
+istanbul-reports@^3.0.2, istanbul-reports@^3.1.3, istanbul-reports@^3.1.6:
+ version "3.1.7"
+ resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz"
+ integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==
dependencies:
html-escaper "^2.0.0"
istanbul-lib-report "^3.0.0"
@@ -7457,7 +7517,7 @@ iterator.prototype@^1.1.2:
reflect.getprototypeof "^1.0.4"
set-function-name "^2.0.1"
-jackspeak@^2.3.5:
+jackspeak@^2.3.6:
version "2.3.6"
resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz"
integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==
@@ -7926,13 +7986,13 @@ jest@^29.6.4:
jest-cli "^29.7.0"
joi@^17.11.0:
- version "17.11.0"
- resolved "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz"
- integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==
+ version "17.12.3"
+ resolved "https://registry.npmjs.org/joi/-/joi-17.12.3.tgz"
+ integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==
dependencies:
- "@hapi/hoek" "^9.0.0"
- "@hapi/topo" "^5.0.0"
- "@sideway/address" "^4.1.3"
+ "@hapi/hoek" "^9.3.0"
+ "@hapi/topo" "^5.1.0"
+ "@sideway/address" "^4.1.5"
"@sideway/formula" "^3.0.1"
"@sideway/pinpoint" "^2.0.0"
@@ -7946,6 +8006,11 @@ js-sha3@0.8.0:
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+js-tokens@^9.0.0:
+ version "9.0.0"
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.0.tgz"
+ integrity sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==
+
js-yaml@^3.13.1:
version "3.14.1"
resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
@@ -7962,9 +8027,9 @@ js-yaml@^4.1.0:
argparse "^2.0.1"
jscodeshift@^0.15.1:
- version "0.15.1"
- resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.1.tgz"
- integrity sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==
+ version "0.15.2"
+ resolved "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz"
+ integrity sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==
dependencies:
"@babel/core" "^7.23.0"
"@babel/parser" "^7.23.0"
@@ -7988,11 +8053,12 @@ jscodeshift@^0.15.1:
write-file-atomic "^2.3.0"
jsdom@^23.0.1:
- version "23.0.1"
- resolved "https://registry.npmjs.org/jsdom/-/jsdom-23.0.1.tgz"
- integrity sha512-2i27vgvlUsGEBO9+/kJQRbtqtm+191b5zAZrU/UezVmnC2dlDAFLgDYJvAEi94T4kjsRKkezEtLQTgsNEsW2lQ==
+ version "23.2.0"
+ resolved "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz"
+ integrity sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==
dependencies:
- cssstyle "^3.0.0"
+ "@asamuzakjp/dom-selector" "^2.0.1"
+ cssstyle "^4.0.1"
data-urls "^5.0.0"
decimal.js "^10.4.3"
form-data "^4.0.0"
@@ -8000,7 +8066,6 @@ jsdom@^23.0.1:
http-proxy-agent "^7.0.0"
https-proxy-agent "^7.0.2"
is-potential-custom-element-name "^1.0.1"
- nwsapi "^2.2.7"
parse5 "^7.1.2"
rrweb-cssom "^0.6.0"
saxes "^6.0.0"
@@ -8011,7 +8076,7 @@ jsdom@^23.0.1:
whatwg-encoding "^3.1.1"
whatwg-mimetype "^4.0.0"
whatwg-url "^14.0.0"
- ws "^8.14.2"
+ ws "^8.16.0"
xml-name-validator "^5.0.0"
jsesc@^2.5.1:
@@ -8067,9 +8132,9 @@ json5@^2.1.2, json5@^2.2.3:
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
jsonc-parser@^3.2.0:
- version "3.2.0"
- resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
- integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
+ version "3.2.1"
+ resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz"
+ integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==
jsonfile@^6.0.1:
version "6.1.0"
@@ -8272,6 +8337,11 @@ loupe@^2.3.6, loupe@^2.3.7:
dependencies:
get-func-name "^2.0.1"
+lru-cache@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz"
+ integrity sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz"
@@ -8286,11 +8356,6 @@ lru-cache@^6.0.0:
dependencies:
yallist "^4.0.0"
-"lru-cache@^9.1.1 || ^10.0.0":
- version "10.1.0"
- resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz"
- integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==
-
lz-string@^1.5.0:
version "1.5.0"
resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz"
@@ -8304,12 +8369,21 @@ magic-string@^0.27.0:
"@jridgewell/sourcemap-codec" "^1.4.13"
magic-string@^0.30.0, magic-string@^0.30.5:
- version "0.30.5"
- resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz"
- integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==
+ version "0.30.9"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz"
+ integrity sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
+magicast@^0.3.3:
+ version "0.3.4"
+ resolved "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz"
+ integrity sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==
+ dependencies:
+ "@babel/parser" "^7.24.4"
+ "@babel/types" "^7.24.0"
+ source-map-js "^1.2.0"
+
make-dir@^2.0.0, make-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz"
@@ -8345,17 +8419,17 @@ map-or-similar@^1.5.0:
integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==
markdown-to-jsx@^7.1.8:
- version "7.3.2"
- resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz"
- integrity sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==
+ version "7.4.7"
+ resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz"
+ integrity sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==
match-sorter@^6.0.2:
- version "6.3.1"
- resolved "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz"
- integrity sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==
+ version "6.3.4"
+ resolved "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.4.tgz"
+ integrity sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==
dependencies:
- "@babel/runtime" "^7.12.5"
- remove-accents "0.4.2"
+ "@babel/runtime" "^7.23.8"
+ remove-accents "0.5.0"
mdast-util-definitions@^4.0.0:
version "4.0.0"
@@ -8369,6 +8443,11 @@ mdast-util-to-string@^1.0.0:
resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz"
integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
+mdn-data@2.0.30:
+ version "2.0.30"
+ resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
+ integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
@@ -8458,13 +8537,6 @@ min-indent@^1.0.0, min-indent@^1.0.1:
resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz"
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
-minimatch@*, minimatch@9.0.3, minimatch@^9.0.1:
- version "9.0.3"
- resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz"
- integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
- dependencies:
- brace-expansion "^2.0.1"
-
minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
@@ -8479,6 +8551,13 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
+minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4:
+ version "9.0.4"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz"
+ integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8:
version "1.2.8"
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
@@ -8496,7 +8575,7 @@ minipass@^5.0.0:
resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz"
integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
-"minipass@^5.0.0 || ^6.0.2 || ^7.0.0":
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4:
version "7.0.4"
resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz"
integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==
@@ -8527,19 +8606,14 @@ mkdirp@^1.0.3, mkdirp@^1.0.4:
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mlly@^1.2.0, mlly@^1.4.2:
- version "1.4.2"
- resolved "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz"
- integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==
+ version "1.6.1"
+ resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz"
+ integrity sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==
dependencies:
- acorn "^8.10.0"
- pathe "^1.1.1"
+ acorn "^8.11.3"
+ pathe "^1.1.2"
pkg-types "^1.0.3"
- ufo "^1.3.0"
-
-mri@^1.2.0:
- version "1.2.0"
- resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz"
- integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+ ufo "^1.3.2"
mrmime@^2.0.0:
version "2.0.0"
@@ -8551,12 +8625,12 @@ ms@2.0.0:
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-ms@2.1.2, ms@^2.1.1:
+ms@2.1.2:
version "2.1.2"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-ms@2.1.3:
+ms@2.1.3, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -8600,10 +8674,10 @@ node-domexception@^1.0.0:
resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz"
integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
-node-fetch-native@^1.4.0:
- version "1.4.1"
- resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.1.tgz"
- integrity sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==
+node-fetch-native@^1.6.3:
+ version "1.6.4"
+ resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz"
+ integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==
node-fetch@^2, node-fetch@^2.0.0:
version "2.7.0"
@@ -8661,17 +8735,12 @@ npm-run-path@^4.0.1:
path-key "^3.0.0"
npm-run-path@^5.1.0:
- version "5.2.0"
- resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz"
- integrity sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz"
+ integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
dependencies:
path-key "^4.0.0"
-nwsapi@^2.2.7:
- version "2.2.7"
- resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz"
- integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
-
nyc@^15.1.0:
version "15.1.0"
resolved "https://registry.npmjs.org/nyc/-/nyc-15.1.0.tgz"
@@ -8705,6 +8774,17 @@ nyc@^15.1.0:
test-exclude "^6.0.0"
yargs "^15.0.2"
+nypm@^0.3.8:
+ version "0.3.8"
+ resolved "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz"
+ integrity sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==
+ dependencies:
+ citty "^0.1.6"
+ consola "^3.2.3"
+ execa "^8.0.1"
+ pathe "^1.1.2"
+ ufo "^1.4.0"
+
object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
@@ -8716,12 +8796,12 @@ object-inspect@^1.13.1:
integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
object-is@^1.1.5:
- version "1.1.5"
- resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz"
- integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
+ version "1.1.6"
+ resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz"
+ integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
object-keys@^1.1.1:
version "1.1.1"
@@ -8767,12 +8847,13 @@ object.groupby@^1.0.1:
es-abstract "^1.23.2"
object.hasown@^1.1.3:
- version "1.1.3"
- resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz"
- integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz"
+ integrity sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==
dependencies:
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-object-atoms "^1.0.0"
object.values@^1.1.6, object.values@^1.1.7:
version "1.2.0"
@@ -8788,6 +8869,11 @@ oblivious-set@1.0.0:
resolved "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz"
integrity sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==
+ohash@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz"
+ integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==
+
on-finished@2.4.1:
version "2.4.1"
resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
@@ -9036,12 +9122,12 @@ path-parse@^1.0.7:
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-path-scurry@^1.10.1:
- version "1.10.1"
- resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz"
- integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==
+path-scurry@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz"
+ integrity sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==
dependencies:
- lru-cache "^9.1.1 || ^10.0.0"
+ lru-cache "^10.2.0"
minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
path-to-regexp@0.1.7:
@@ -9054,10 +9140,10 @@ path-type@^4.0.0:
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-pathe@^1.1.0, pathe@^1.1.1:
- version "1.1.1"
- resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz"
- integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==
+pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz"
+ integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==
pathval@^1.1.1:
version "1.1.1"
@@ -9093,7 +9179,7 @@ pify@^4.0.1:
resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz"
integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-pirates@^4.0.4, pirates@^4.0.5:
+pirates@^4.0.4, pirates@^4.0.6:
version "4.0.6"
resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz"
integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
@@ -9128,24 +9214,24 @@ pkg-types@^1.0.3:
mlly "^1.2.0"
pathe "^1.1.0"
-playwright-core@1.40.1, playwright-core@>=1.2.0:
- version "1.40.1"
- resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.40.1.tgz"
- integrity sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==
+playwright-core@1.43.1, playwright-core@>=1.2.0:
+ version "1.43.1"
+ resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.43.1.tgz"
+ integrity sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==
playwright@^1.14.0:
- version "1.40.1"
- resolved "https://registry.npmjs.org/playwright/-/playwright-1.40.1.tgz"
- integrity sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==
+ version "1.43.1"
+ resolved "https://registry.npmjs.org/playwright/-/playwright-1.43.1.tgz"
+ integrity sha512-V7SoH0ai2kNt1Md9E3Gwas5B9m8KR2GVvwZnAI6Pg0m3sh7UvgiYhRrhsziCmqMJNouPckiOhk8T+9bSAK0VIA==
dependencies:
- playwright-core "1.40.1"
+ playwright-core "1.43.1"
optionalDependencies:
fsevents "2.3.2"
polished@^4.2.2:
- version "4.2.2"
- resolved "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz"
- integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz"
+ integrity sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==
dependencies:
"@babel/runtime" "^7.17.8"
@@ -9154,14 +9240,14 @@ possible-typed-array-names@^1.0.0:
resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz"
integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==
-postcss@^8.4.27, postcss@^8.4.32:
- version "8.4.32"
- resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz"
- integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==
+postcss@^8.4.27, postcss@^8.4.38:
+ version "8.4.38"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
dependencies:
nanoid "^3.3.7"
picocolors "^1.0.0"
- source-map-js "^1.0.2"
+ source-map-js "^1.2.0"
prelude-ls@^1.2.1:
version "1.2.1"
@@ -9315,9 +9401,9 @@ puppeteer-core@^2.1.1:
ws "^6.1.0"
pure-rand@^6.0.0:
- version "6.0.4"
- resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz"
- integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz"
+ integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==
qs@6.11.0:
version "6.11.0"
@@ -9327,11 +9413,11 @@ qs@6.11.0:
side-channel "^1.0.4"
qs@^6.10.0:
- version "6.11.2"
- resolved "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz"
- integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
+ version "6.12.1"
+ resolved "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz"
+ integrity sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==
dependencies:
- side-channel "^1.0.4"
+ side-channel "^1.0.6"
querystringify@^2.1.1:
version "2.2.0"
@@ -9353,10 +9439,10 @@ range-parser@~1.2.1:
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-raw-body@2.5.1:
- version "2.5.1"
- resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz"
- integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
+raw-body@2.5.2:
+ 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==
dependencies:
bytes "3.1.2"
http-errors "2.0.0"
@@ -9401,9 +9487,9 @@ react-docgen-typescript@^2.2.2:
integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==
react-docgen@^7.0.0:
- version "7.0.1"
- resolved "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.1.tgz"
- integrity sha512-rCz0HBIT0LWbIM+///LfRrJoTKftIzzwsYDf0ns5KwaEjejMHQRtphcns+IXFHDNY9pnz6G8l/JbbI6pD4EAIA==
+ version "7.0.3"
+ resolved "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz"
+ integrity sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==
dependencies:
"@babel/core" "^7.18.9"
"@babel/traverse" "^7.18.9"
@@ -9439,16 +9525,16 @@ react-gtm-module@^2.0.11:
integrity sha512-8gyj4TTxeP7eEyc2QKawEuQoAZdjKvMY4pgWfycGmqGByhs17fR+zEBs0JUDq4US/l+vbTl+6zvUIx27iDo/Vw==
react-hook-form@^7.47.0:
- version "7.48.2"
- resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz"
- integrity sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==
+ version "7.51.3"
+ resolved "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.51.3.tgz"
+ integrity sha512-cvJ/wbHdhYx8aviSWh28w9ImjmVsb5Y05n1+FW786vEZQJV5STNM0pW6ujS+oiBecb0ARBxJFyAnXj9+GHXACQ==
react-i18next@^14.0.1:
- version "14.0.1"
- resolved "https://registry.npmjs.org/react-i18next/-/react-i18next-14.0.1.tgz"
- integrity sha512-TMV8hFismBmpMdIehoFHin/okfvgjFhp723RYgIqB4XyhDobVMyukyM3Z8wtTRmajyFMZrBl/OaaXF2P6WjUAw==
+ version "14.1.0"
+ resolved "https://registry.npmjs.org/react-i18next/-/react-i18next-14.1.0.tgz"
+ integrity sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==
dependencies:
- "@babel/runtime" "^7.22.5"
+ "@babel/runtime" "^7.23.9"
html-parse-stringify "^3.0.1"
react-is@18.1.0:
@@ -9495,9 +9581,9 @@ react-refresh@^0.14.0:
integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
react-remove-scroll-bar@^2.3.3:
- version "2.3.4"
- resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz"
- integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==
+ version "2.3.6"
+ resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz"
+ integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==
dependencies:
react-style-singleton "^2.2.1"
tslib "^2.0.0"
@@ -9514,19 +9600,19 @@ react-remove-scroll@2.5.5:
use-sidecar "^1.1.2"
react-router-dom@^6.13.0:
- version "6.20.1"
- resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.20.1.tgz"
- integrity sha512-npzfPWcxfQN35psS7rJgi/EW0Gx6EsNjfdJSAk73U/HqMEJZ2k/8puxfwHFgDQhBGmS3+sjnGbMdMSV45axPQw==
+ version "6.22.3"
+ resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz"
+ integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==
dependencies:
- "@remix-run/router" "1.13.1"
- react-router "6.20.1"
+ "@remix-run/router" "1.15.3"
+ react-router "6.22.3"
-react-router@6.20.1:
- version "6.20.1"
- resolved "https://registry.npmjs.org/react-router/-/react-router-6.20.1.tgz"
- integrity sha512-ccvLrB4QeT5DlaxSFFYi/KR8UMQ4fcD8zBcR71Zp1kaYTC5oJKYAp1cbavzGrogwxca+ubjkd7XjFZKBW8CxPA==
+react-router@6.22.3:
+ version "6.22.3"
+ resolved "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz"
+ integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==
dependencies:
- "@remix-run/router" "1.13.1"
+ "@remix-run/router" "1.15.3"
react-style-singleton@^2.2.1:
version "2.2.1"
@@ -9603,14 +9689,14 @@ readdirp@~3.6.0:
picomatch "^2.2.1"
recast@^0.23.1, recast@^0.23.3:
- version "0.23.4"
- resolved "https://registry.npmjs.org/recast/-/recast-0.23.4.tgz"
- integrity sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==
+ version "0.23.6"
+ resolved "https://registry.npmjs.org/recast/-/recast-0.23.6.tgz"
+ integrity sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==
dependencies:
- assert "^2.0.0"
ast-types "^0.16.1"
esprima "~4.0.0"
source-map "~0.6.1"
+ tiny-invariant "^1.3.3"
tslib "^2.0.1"
redent@^3.0.0:
@@ -9647,9 +9733,9 @@ regenerate@^1.4.2:
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
regenerator-runtime@^0.14.0:
- version "0.14.0"
- resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz"
- integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
+ version "0.14.1"
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
+ integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
regenerator-transform@^0.15.2:
version "0.15.2"
@@ -9714,16 +9800,21 @@ remark-slug@^6.0.0:
mdast-util-to-string "^1.0.0"
unist-util-visit "^2.0.0"
-remove-accents@0.4.2:
- version "0.4.2"
- resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz"
- integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==
+remove-accents@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz"
+ integrity sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+require-from-string@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
+ integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz"
@@ -9828,24 +9919,29 @@ rimraf@~2.6.2:
optionalDependencies:
fsevents "~2.3.2"
-rollup@^4.2.0:
- version "4.9.2"
- resolved "https://registry.npmjs.org/rollup/-/rollup-4.9.2.tgz"
- integrity sha512-66RB8OtFKUTozmVEh3qyNfH+b+z2RXBVloqO2KCC/pjFaGaHtxP9fVfOQKPSGXg2mElmjmxjW/fZ7iKrEpMH5Q==
+rollup@^4.13.0:
+ version "4.14.3"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-4.14.3.tgz"
+ integrity sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==
+ dependencies:
+ "@types/estree" "1.0.5"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.9.2"
- "@rollup/rollup-android-arm64" "4.9.2"
- "@rollup/rollup-darwin-arm64" "4.9.2"
- "@rollup/rollup-darwin-x64" "4.9.2"
- "@rollup/rollup-linux-arm-gnueabihf" "4.9.2"
- "@rollup/rollup-linux-arm64-gnu" "4.9.2"
- "@rollup/rollup-linux-arm64-musl" "4.9.2"
- "@rollup/rollup-linux-riscv64-gnu" "4.9.2"
- "@rollup/rollup-linux-x64-gnu" "4.9.2"
- "@rollup/rollup-linux-x64-musl" "4.9.2"
- "@rollup/rollup-win32-arm64-msvc" "4.9.2"
- "@rollup/rollup-win32-ia32-msvc" "4.9.2"
- "@rollup/rollup-win32-x64-msvc" "4.9.2"
+ "@rollup/rollup-android-arm-eabi" "4.14.3"
+ "@rollup/rollup-android-arm64" "4.14.3"
+ "@rollup/rollup-darwin-arm64" "4.14.3"
+ "@rollup/rollup-darwin-x64" "4.14.3"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.14.3"
+ "@rollup/rollup-linux-arm-musleabihf" "4.14.3"
+ "@rollup/rollup-linux-arm64-gnu" "4.14.3"
+ "@rollup/rollup-linux-arm64-musl" "4.14.3"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.14.3"
+ "@rollup/rollup-linux-riscv64-gnu" "4.14.3"
+ "@rollup/rollup-linux-s390x-gnu" "4.14.3"
+ "@rollup/rollup-linux-x64-gnu" "4.14.3"
+ "@rollup/rollup-linux-x64-musl" "4.14.3"
+ "@rollup/rollup-win32-arm64-msvc" "4.14.3"
+ "@rollup/rollup-win32-ia32-msvc" "4.14.3"
+ "@rollup/rollup-win32-x64-msvc" "4.14.3"
fsevents "~2.3.2"
rrweb-cssom@^0.6.0:
@@ -9934,10 +10030,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-semver@^7.3.7, semver@^7.5.3, semver@^7.5.4:
- version "7.5.4"
- resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+semver@^7.3.7, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
+ version "7.6.0"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz"
+ integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
@@ -10058,14 +10154,7 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
-simple-update-notifier@^2.0.0:
- version "2.0.0"
- resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz"
- integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
- dependencies:
- semver "^7.5.3"
-
-sirv@^2.0.3:
+sirv@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz"
integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==
@@ -10094,10 +10183,10 @@ slash@^5.0.0:
resolved "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz"
integrity sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+source-map-js@^1.0.1, source-map-js@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
+ integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
source-map-support@0.5.13:
version "0.5.13"
@@ -10166,9 +10255,9 @@ spdx-correct@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-exceptions@^2.1.0:
- version "2.3.0"
- resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz"
- integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+ version "2.5.0"
+ resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz"
+ integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==
spdx-expression-parse@^3.0.0:
version "3.0.1"
@@ -10179,9 +10268,9 @@ spdx-expression-parse@^3.0.0:
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.16"
- resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz"
- integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==
+ version "3.0.17"
+ resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz"
+ integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==
sprintf-js@~1.0.2:
version "1.0.3"
@@ -10218,34 +10307,35 @@ stop-iteration-iterator@^1.0.0:
internal-slot "^1.0.4"
store2@^2.14.2:
- version "2.14.2"
- resolved "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz"
- integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==
+ version "2.14.3"
+ resolved "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz"
+ integrity sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==
storybook-addon-manual-mocks@^1.0.3:
- version "1.0.3"
- resolved "https://registry.npmjs.org/storybook-addon-manual-mocks/-/storybook-addon-manual-mocks-1.0.3.tgz"
- integrity sha512-/3+3kY8SETjlKIqxnX5MddLJAAFjPxzmj20yS+uxMhwAAyQacrarKjgBKZVy35ohpcc3LQCKZs3RLA6YEDOb1g==
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/storybook-addon-manual-mocks/-/storybook-addon-manual-mocks-1.0.4.tgz"
+ integrity sha512-qOsmyJhTKW8ZpUjR91nYopXG+/1CkpA5HP3nDIoMUaYwedaeBgeLq+G7xr18AV+K9hDGwb5oho/gq1y7q0dIfA==
storybook-addon-module-mock@^1.1.2:
- version "1.1.2"
- resolved "https://registry.npmjs.org/storybook-addon-module-mock/-/storybook-addon-module-mock-1.1.2.tgz"
- integrity sha512-IU0r+vMjfbCC4m54l60hEK1iPFSlXPW1D57FtU9O9/mvQSok4z18HEUNv9RXv9L7IwhcYSQ+gtWuB8l1oLDiSw==
+ version "1.1.6"
+ resolved "https://registry.npmjs.org/storybook-addon-module-mock/-/storybook-addon-module-mock-1.1.6.tgz"
+ integrity sha512-ZNCF1LVNuY3XmDGWYnTiufNe4kwW7srve9moI823I6r3ck7yoAWG4fG+QczjZOYKgxlk6FKEMiKMjHfkcpBHQA==
dependencies:
- minimatch "*"
+ jest-mock "^27.3.0"
+ minimatch "^9.0.3"
react-json-tree "^0.18.0"
storybook@^7.4.5:
- version "7.6.3"
- resolved "https://registry.npmjs.org/storybook/-/storybook-7.6.3.tgz"
- integrity sha512-H3odxahMiR8vVW7ltlqcHhn3UVH5ta03weKlY7xvpv5DV+thZ+mEO2cDYfsufCSg0Ldb5LQ4qq3OyLVdpDBN8g==
+ version "7.6.17"
+ resolved "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz"
+ integrity sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==
dependencies:
- "@storybook/cli" "7.6.3"
+ "@storybook/cli" "7.6.17"
stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz"
+ integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
string-length@^4.0.1:
version "4.0.2"
@@ -10263,7 +10353,16 @@ string-length@^5.0.1:
char-regex "^2.0.0"
strip-ansi "^7.0.1"
-"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0":
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -10318,14 +10417,14 @@ string.prototype.trimend@^1.0.8:
define-properties "^1.2.1"
es-object-atoms "^1.0.0"
-string.prototype.trimstart@^1.0.7:
- version "1.0.7"
- resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz"
- integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
+string.prototype.trimstart@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
string_decoder@^1.1.1:
version "1.3.0"
@@ -10341,7 +10440,14 @@ string_decoder@~1.1.1:
dependencies:
safe-buffer "~5.1.0"
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -10394,12 +10500,12 @@ strip-json-comments@^3.0.1, strip-json-comments@^3.1.1:
resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-strip-literal@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz"
- integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==
+strip-literal@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz"
+ integrity sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==
dependencies:
- acorn "^8.10.0"
+ js-tokens "^9.0.0"
stylis@4.2.0:
version "4.2.0"
@@ -10464,9 +10570,9 @@ tar-stream@^2.1.4:
readable-stream "^3.1.1"
tar@^6.2.0:
- version "6.2.0"
- resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz"
- integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz"
+ integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
@@ -10532,25 +10638,25 @@ tiny-case@^1.0.3:
resolved "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz"
integrity sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==
-tiny-invariant@^1.3.1:
- version "1.3.1"
- resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz"
- integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
+tiny-invariant@^1.3.1, tiny-invariant@^1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz"
+ integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
tinybench@^2.5.1:
- version "2.5.1"
- resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz"
- integrity sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==
+ version "2.7.0"
+ resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.7.0.tgz"
+ integrity sha512-Qgayeb106x2o4hNzNjsZEfFziw8IbKqtbXBjVh7VIZfBxfD5M4gWtpyx5+YTae2gJ6Y6Dz/KLepiv16RFeQWNA==
-tinypool@^0.8.2:
- version "0.8.2"
- resolved "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz"
- integrity sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==
+tinypool@^0.8.3:
+ version "0.8.4"
+ resolved "https://registry.npmjs.org/tinypool/-/tinypool-0.8.4.tgz"
+ integrity sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==
tinyspy@^2.2.0:
- version "2.2.0"
- resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz"
- integrity sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz"
+ integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==
tmp@^0.0.33:
version "0.0.33"
@@ -10577,9 +10683,9 @@ to-regex-range@^5.0.1:
is-number "^7.0.0"
tocbot@^4.20.1:
- version "4.23.0"
- resolved "https://registry.npmjs.org/tocbot/-/tocbot-4.23.0.tgz"
- integrity sha512-5DWuSZXsqG894mkGb8ZsQt9myyQyVxE50AiGRZ0obV0BVUTVkaZmc9jbgpknaAAPUm4FIrzGkEseD6FuQJYJDQ==
+ version "4.25.0"
+ resolved "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz"
+ integrity sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==
toidentifier@1.0.1:
version "1.0.1"
@@ -10623,7 +10729,7 @@ tree-kill@^1.2.2:
resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz"
integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==
-ts-api-utils@^1.0.1:
+ts-api-utils@^1.3.0:
version "1.3.0"
resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz"
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
@@ -10707,11 +10813,6 @@ type-fest@^2.19.0, type-fest@~2.19:
resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz"
integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
-type-fest@^3.0.0:
- version "3.13.1"
- resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz"
- integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==
-
type-is@~1.6.18:
version "1.6.18"
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
@@ -10752,10 +10853,10 @@ typed-array-byte-offset@^1.0.2:
has-proto "^1.0.3"
is-typed-array "^1.1.13"
-typed-array-length@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz"
- integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==
+typed-array-length@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz"
+ integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==
dependencies:
call-bind "^1.0.7"
for-each "^0.3.3"
@@ -10777,14 +10878,14 @@ typedarray@^0.0.6:
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
typescript@^5.0.2:
- version "5.3.2"
- resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz"
- integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==
+ version "5.4.5"
+ resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz"
+ integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
-ufo@^1.3.0:
- version "1.3.2"
- resolved "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz"
- integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==
+ufo@^1.3.2, ufo@^1.4.0:
+ version "1.5.3"
+ resolved "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz"
+ integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==
uglify-js@^3.1.4:
version "3.17.4"
@@ -10807,9 +10908,9 @@ undici-types@~5.26.4:
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
undici@^5.21.2:
- version "5.28.3"
- resolved "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz"
- integrity sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==
+ version "5.28.4"
+ resolved "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz"
+ integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==
dependencies:
"@fastify/busboy" "^2.0.0"
@@ -10889,14 +10990,14 @@ unpipe@1.0.0, unpipe@~1.0.0:
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
unplugin@^1.3.1:
- version "1.5.1"
- resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.5.1.tgz"
- integrity sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew==
+ version "1.10.1"
+ resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz"
+ integrity sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==
dependencies:
- acorn "^8.11.2"
- chokidar "^3.5.3"
+ acorn "^8.11.3"
+ chokidar "^3.6.0"
webpack-sources "^3.2.3"
- webpack-virtual-modules "^0.6.0"
+ webpack-virtual-modules "^0.6.1"
untildify@^4.0.0:
version "4.0.0"
@@ -10927,9 +11028,9 @@ url-parse@^1.5.3:
requires-port "^1.0.0"
use-callback-ref@^1.3.0:
- version "1.3.0"
- resolved "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz"
- integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==
+ version "1.3.2"
+ resolved "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz"
+ integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==
dependencies:
tslib "^2.0.0"
@@ -11001,10 +11102,10 @@ vary@~1.1.2:
resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-vite-node@1.2.2:
- version "1.2.2"
- resolved "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz"
- integrity sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==
+vite-node@1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/vite-node/-/vite-node-1.5.0.tgz"
+ integrity sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==
dependencies:
cac "^6.7.14"
debug "^4.3.4"
@@ -11023,9 +11124,9 @@ vite-plugin-istanbul@^3.0.1:
test-exclude "^6.0.0"
vite@^4.3.9:
- version "4.5.1"
- resolved "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz"
- integrity sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==
+ version "4.5.3"
+ resolved "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz"
+ integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==
dependencies:
esbuild "^0.18.10"
postcss "^8.4.27"
@@ -11034,28 +11135,27 @@ vite@^4.3.9:
fsevents "~2.3.2"
vite@^5.0.0:
- version "5.0.12"
- resolved "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz"
- integrity sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==
+ version "5.2.9"
+ resolved "https://registry.npmjs.org/vite/-/vite-5.2.9.tgz"
+ integrity sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==
dependencies:
- esbuild "^0.19.3"
- postcss "^8.4.32"
- rollup "^4.2.0"
+ esbuild "^0.20.1"
+ postcss "^8.4.38"
+ rollup "^4.13.0"
optionalDependencies:
fsevents "~2.3.3"
vitest@^1.1.0:
- version "1.2.2"
- resolved "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz"
- integrity sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==
- dependencies:
- "@vitest/expect" "1.2.2"
- "@vitest/runner" "1.2.2"
- "@vitest/snapshot" "1.2.2"
- "@vitest/spy" "1.2.2"
- "@vitest/utils" "1.2.2"
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/vitest/-/vitest-1.5.0.tgz"
+ integrity sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==
+ dependencies:
+ "@vitest/expect" "1.5.0"
+ "@vitest/runner" "1.5.0"
+ "@vitest/snapshot" "1.5.0"
+ "@vitest/spy" "1.5.0"
+ "@vitest/utils" "1.5.0"
acorn-walk "^8.3.2"
- cac "^6.7.14"
chai "^4.3.10"
debug "^4.3.4"
execa "^8.0.1"
@@ -11064,11 +11164,11 @@ vitest@^1.1.0:
pathe "^1.1.1"
picocolors "^1.0.0"
std-env "^3.5.0"
- strip-literal "^1.3.0"
+ strip-literal "^2.0.0"
tinybench "^2.5.1"
- tinypool "^0.8.2"
+ tinypool "^0.8.3"
vite "^5.0.0"
- vite-node "1.2.2"
+ vite-node "1.5.0"
why-is-node-running "^2.2.2"
void-elements@3.1.0:
@@ -11111,9 +11211,9 @@ walker@^1.0.8:
makeerror "1.0.12"
watchpack@^2.2.0:
- version "2.4.0"
- resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz"
- integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz"
+ integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==
dependencies:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
@@ -11145,7 +11245,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack-virtual-modules@^0.6.0:
+webpack-virtual-modules@^0.6.1:
version "0.6.1"
resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz"
integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==
@@ -11208,14 +11308,14 @@ which-builtin-type@^1.1.3:
which-typed-array "^1.1.9"
which-collection@^1.0.1:
- version "1.0.1"
- resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz"
- integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz"
+ integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
dependencies:
- is-map "^2.0.1"
- is-set "^2.0.1"
- is-weakmap "^2.0.1"
- is-weakset "^2.0.1"
+ is-map "^2.0.3"
+ is-set "^2.0.3"
+ is-weakmap "^2.0.2"
+ is-weakset "^2.0.3"
which-module@^2.0.0:
version "2.0.1"
@@ -11260,7 +11360,7 @@ wordwrap@^1.0.0:
resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version "7.0.0"
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -11278,6 +11378,15 @@ wrap-ansi@^6.2.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
wrap-ansi@^8.1.0:
version "8.1.0"
resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz"
@@ -11326,16 +11435,11 @@ ws@^6.1.0:
dependencies:
async-limiter "~1.0.0"
-ws@^8.14.2:
+ws@^8.16.0, ws@^8.2.3:
version "8.16.0"
resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
-ws@^8.2.3:
- version "8.14.2"
- resolved "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz"
- integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==
-
xml-name-validator@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz"
@@ -11448,9 +11552,9 @@ yocto-queue@^1.0.0:
integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==
yup@^1.3.2:
- version "1.3.2"
- resolved "https://registry.npmjs.org/yup/-/yup-1.3.2.tgz"
- integrity sha512-6KCM971iQtJ+/KUaHdrhVr2LDkfhBtFPRnsG1P8F4q3uUVQ2RfEM9xekpha9aA4GXWJevjM10eDcPQ1FfWlmaQ==
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/yup/-/yup-1.4.0.tgz"
+ integrity sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==
dependencies:
property-expr "^2.0.5"
tiny-case "^1.0.3"
diff --git a/govtool/metadata-validation/Makefile b/govtool/metadata-validation/Makefile
new file mode 100644
index 000000000..10b0379db
--- /dev/null
+++ b/govtool/metadata-validation/Makefile
@@ -0,0 +1,21 @@
+common_mk := ../../scripts/govtool/common.mk
+ifeq ($(origin $(common_mk)), undefined)
+ $(eval $(common_mk) := included)
+ include $(common_mk)
+endif
+
+.DEFAULT_GOAL := push-metadata-validation
+
+# image tags
+metadata_validation_image_tag := $(shell git log -n 1 --format="%H" -- $(root_dir)/govtool/metadata-validation)
+
+.PHONY: build-metadata-validation
+build-metadata-validation: docker-login
+ $(call check_image_on_ecr,metadata-validation,$(metadata_validation_image_tag)) || \
+ $(docker) build --tag "$(repo_url)/metadata-validation:$(metadata_validation_image_tag)" \
+ $(root_dir)/govtool/metadata-validation
+
+.PHONY: push-metadata-validation
+push-metadata-validation: build-metadata-validation
+ $(call check_image_on_ecr,metadata-validation,$(metadata_validation_image_tag)) || \
+ $(docker) push $(repo_url)/metadata-validation:$(metadata_validation_image_tag)
diff --git a/govtool/metadata-validation/jest.config.js b/govtool/metadata-validation/jest.config.js
new file mode 100644
index 000000000..7f87b8f22
--- /dev/null
+++ b/govtool/metadata-validation/jest.config.js
@@ -0,0 +1,17 @@
+/* eslint-disable @typescript-eslint/no-var-requires */
+const { pathsToModuleNameMapper } = require('ts-jest');
+const { compilerOptions } = require('./tsconfig');
+
+module.exports = {
+ preset: 'ts-jest',
+ moduleFileExtensions: ['js', 'json', 'ts'],
+ testRegex: '.*\\.(spec|test)\\.ts$',
+ transform: {
+ '^.+\\.(t|j)s$': 'ts-jest',
+ },
+ collectCoverageFrom: ['**/*.(t|j)s'],
+ coverageDirectory: '../coverage',
+ testEnvironment: 'node',
+ moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths),
+ modulePaths: [''],
+};
diff --git a/govtool/metadata-validation/package.json b/govtool/metadata-validation/package.json
index 264d89c61..97c3e9f57 100644
--- a/govtool/metadata-validation/package.json
+++ b/govtool/metadata-validation/package.json
@@ -31,6 +31,7 @@
"blakejs": "^1.2.1",
"class-transformer": "^0.5.1",
"class-validator": "^0.14.1",
+ "joi": "^17.12.3",
"jsonld": "^8.3.2",
"reflect-metadata": "^0.2.0",
"rxjs": "^7.8.1"
@@ -57,22 +58,5 @@
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.1.3"
- },
- "jest": {
- "moduleFileExtensions": [
- "js",
- "json",
- "ts"
- ],
- "rootDir": "src",
- "testRegex": ".*\\.spec\\.ts$",
- "transform": {
- "^.+\\.(t|j)s$": "ts-jest"
- },
- "collectCoverageFrom": [
- "**/*.(t|j)s"
- ],
- "coverageDirectory": "../coverage",
- "testEnvironment": "node"
}
}
diff --git a/govtool/metadata-validation/src/app.controller.spec.ts b/govtool/metadata-validation/src/app.controller.spec.ts
index a05c9b88a..f74ccb63d 100644
--- a/govtool/metadata-validation/src/app.controller.spec.ts
+++ b/govtool/metadata-validation/src/app.controller.spec.ts
@@ -1,9 +1,10 @@
import { Test, TestingModule } from '@nestjs/testing';
import { HttpModule } from '@nestjs/axios';
+import { MetadataValidationStatus } from '@enums';
+
import { AppController } from './app.controller';
import { AppService } from './app.service';
-import { MetadataValidationStatus } from './enums/ValidationError';
// TODO: Mock HttpService
describe('AppController', () => {
@@ -24,28 +25,26 @@ describe('AppController', () => {
appController = app.get(AppController);
});
- describe('metadata validation', () => {
- it('should throw invalid URL', async () => {
- const result = await appController.validateMetadata({
- hash: 'hash',
- url: 'url',
- });
- expect(result).toEqual({
- status: MetadataValidationStatus.URL_NOT_FOUND,
- valid: false,
- });
+ it('should throw invalid URL', async () => {
+ const result = await appController.validateMetadata({
+ hash: 'hash',
+ url: 'url',
+ });
+ expect(result).toEqual({
+ status: MetadataValidationStatus.URL_NOT_FOUND,
+ valid: false,
});
+ });
- it('should throw invalid JSONLD', async () => {
- const result = await appController.validateMetadata({
- hash: 'hash',
- url: 'http://www.schema.org',
- });
+ it('should throw invalid JSONLD', async () => {
+ const result = await appController.validateMetadata({
+ hash: 'hash',
+ url: 'http://www.schema.org',
+ });
- expect(result).toEqual({
- status: MetadataValidationStatus.INVALID_JSONLD,
- valid: false,
- });
+ expect(result).toEqual({
+ status: MetadataValidationStatus.INVALID_JSONLD,
+ valid: false,
});
});
});
diff --git a/govtool/metadata-validation/src/app.controller.ts b/govtool/metadata-validation/src/app.controller.ts
index 0bcf57fe9..13e2a7986 100644
--- a/govtool/metadata-validation/src/app.controller.ts
+++ b/govtool/metadata-validation/src/app.controller.ts
@@ -1,13 +1,15 @@
-import { Controller, Get, Body } from '@nestjs/common';
+import { Controller, Body, Post } from '@nestjs/common';
+
+import { ValidateMetadataDTO } from '@dto';
+import { ValidateMetadataResult } from '@types';
+
import { AppService } from './app.service';
-import { ValidateMetadataDTO } from './dto/validateMetadata.dto';
-import { ValidateMetadataResult } from './types/validateMetadata';
@Controller()
export class AppController {
constructor(private readonly appService: AppService) {}
- @Get('validate')
+ @Post('validate')
validateMetadata(
@Body() validateMetadataDto: ValidateMetadataDTO,
): Promise {
diff --git a/govtool/metadata-validation/src/app.service.ts b/govtool/metadata-validation/src/app.service.ts
index 22a774851..fb31dd4fd 100644
--- a/govtool/metadata-validation/src/app.service.ts
+++ b/govtool/metadata-validation/src/app.service.ts
@@ -3,10 +3,10 @@ import { catchError, firstValueFrom } from 'rxjs';
import { HttpService } from '@nestjs/axios';
import * as blake from 'blakejs';
-import { ValidateMetadataDTO } from './dto/validateMetadata.dto';
-import { MetadataValidationStatus } from './enums/ValidationError';
-import { canonizeJSON } from './utils/canonizeJSON';
-import { ValidateMetadataResult } from './types/validateMetadata';
+import { ValidateMetadataDTO } from '@dto';
+import { MetadataValidationStatus } from '@enums';
+import { canonizeJSON, validateMetadataStandard, parseMetadata } from '@utils';
+import { ValidateMetadataResult } from '@types';
@Injectable()
export class AppService {
@@ -15,8 +15,10 @@ export class AppService {
async validateMetadata({
hash,
url,
+ standard,
}: ValidateMetadataDTO): Promise {
let status: MetadataValidationStatus;
+ let metadata: any;
try {
const { data } = await firstValueFrom(
this.httpService.get(url).pipe(
@@ -26,6 +28,12 @@ export class AppService {
),
);
+ if (standard) {
+ await validateMetadataStandard(data, standard);
+ }
+
+ metadata = parseMetadata(data.body, standard);
+
let canonizedMetadata;
try {
canonizedMetadata = await canonizeJSON(data);
@@ -43,6 +51,6 @@ export class AppService {
}
}
- return { status, valid: !Boolean(status) };
+ return { status, valid: !Boolean(status), metadata };
}
}
diff --git a/govtool/metadata-validation/src/dto/index.ts b/govtool/metadata-validation/src/dto/index.ts
new file mode 100644
index 000000000..7e7770094
--- /dev/null
+++ b/govtool/metadata-validation/src/dto/index.ts
@@ -0,0 +1 @@
+export * from './validateMetadata.dto';
diff --git a/govtool/metadata-validation/src/dto/validateMetadata.dto.ts b/govtool/metadata-validation/src/dto/validateMetadata.dto.ts
index c7f3cd4d1..966e1f377 100644
--- a/govtool/metadata-validation/src/dto/validateMetadata.dto.ts
+++ b/govtool/metadata-validation/src/dto/validateMetadata.dto.ts
@@ -1,4 +1,6 @@
-import { IsUrl, IsNotEmpty } from 'class-validator';
+import { IsUrl, IsNotEmpty, IsEnum, IsOptional } from 'class-validator';
+
+import { MetadataStandard } from '@types';
export class ValidateMetadataDTO {
@IsNotEmpty()
@@ -6,4 +8,8 @@ export class ValidateMetadataDTO {
@IsUrl()
url: string;
+
+ @IsOptional()
+ @IsEnum(MetadataStandard)
+ standard?: MetadataStandard;
}
diff --git a/govtool/metadata-validation/src/enums/ValidationError.ts b/govtool/metadata-validation/src/enums/ValidationError.ts
index b691cc99b..3471773a8 100644
--- a/govtool/metadata-validation/src/enums/ValidationError.ts
+++ b/govtool/metadata-validation/src/enums/ValidationError.ts
@@ -2,4 +2,5 @@ export enum MetadataValidationStatus {
URL_NOT_FOUND = 'URL_NOT_FOUND',
INVALID_JSONLD = 'INVALID_JSONLD',
INVALID_HASH = 'INVALID_HASH',
+ INCORRECT_FORMAT = 'INCORRECT_FORMAT',
}
diff --git a/govtool/metadata-validation/src/enums/index.ts b/govtool/metadata-validation/src/enums/index.ts
new file mode 100644
index 000000000..118d3701d
--- /dev/null
+++ b/govtool/metadata-validation/src/enums/index.ts
@@ -0,0 +1 @@
+export * from './ValidationError';
diff --git a/govtool/metadata-validation/src/health/health.module.ts b/govtool/metadata-validation/src/health/health.module.ts
index 0208ef743..9ed184e8f 100644
--- a/govtool/metadata-validation/src/health/health.module.ts
+++ b/govtool/metadata-validation/src/health/health.module.ts
@@ -1,5 +1,6 @@
import { Module } from '@nestjs/common';
import { TerminusModule } from '@nestjs/terminus';
+
import { HealthController } from './health.controller';
@Module({
diff --git a/govtool/metadata-validation/src/main.ts b/govtool/metadata-validation/src/main.ts
index b61303f21..c27be2ac4 100644
--- a/govtool/metadata-validation/src/main.ts
+++ b/govtool/metadata-validation/src/main.ts
@@ -1,8 +1,8 @@
import { NestFactory } from '@nestjs/core';
import { ValidationPipe } from '@nestjs/common';
+import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
import { AppModule } from './app.module';
-import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
diff --git a/govtool/metadata-validation/src/schemas/cipStandardSchema.ts b/govtool/metadata-validation/src/schemas/cipStandardSchema.ts
new file mode 100644
index 000000000..0551ad172
--- /dev/null
+++ b/govtool/metadata-validation/src/schemas/cipStandardSchema.ts
@@ -0,0 +1,49 @@
+import * as Joi from 'joi';
+
+import { MetadataStandard } from '@types';
+
+type StandardSpecification = Record>;
+
+const CIP100_URL =
+ 'https://github.com/cardano-foundation/CIPs/blob/master/CIP-0100/README.md#';
+const CIP108_URL =
+ 'https://github.com/cardano-foundation/CIPs/blob/master/CIP-0108/README.md#';
+
+export const cipStandardSchema: StandardSpecification = {
+ // Source of CIP-108: https://github.com/Ryun1/CIPs/blob/governance-metadata-actions/CIP-0108/README.md
+ [MetadataStandard.CIP108]: Joi.object({
+ '@context': Joi.object({
+ '@language': Joi.string().required(),
+ CIP100: Joi.string().valid(CIP100_URL).required(),
+ CIP108: Joi.string().valid(CIP108_URL).required(),
+ hashAlgorithm: Joi.string().valid('CIP100:hashAlgorithm').required(),
+ body: Joi.object(),
+ authors: Joi.object(),
+ }),
+ authors: Joi.array(),
+ hashAlgorithm: Joi.object({
+ '@value': Joi.string().valid('blake2b-256').required(),
+ }),
+ body: Joi.object({
+ title: Joi.object({ '@value': Joi.string().max(80).required() }),
+ abstract: Joi.object({ '@value': Joi.string().max(2500).required() }),
+ motivation: Joi.object({ '@value': Joi.string().required() }),
+ rationale: Joi.object({ '@value': Joi.string().required() }),
+ references: Joi.array().items(
+ Joi.object({
+ '@type': Joi.string(),
+ 'CIP108:reference-label': Joi.object({
+ '@value': Joi.string().required(),
+ }),
+ 'CIP108:reference-uri': Joi.object({
+ '@value': Joi.string().uri().required(),
+ }),
+ 'CIP108:reference-hash': Joi.object({
+ hashDigest: Joi.string().required(),
+ hashAlgorithm: Joi.string().required(),
+ }),
+ }).required(),
+ ),
+ }),
+ }),
+};
diff --git a/govtool/metadata-validation/src/schemas/index.ts b/govtool/metadata-validation/src/schemas/index.ts
new file mode 100644
index 000000000..874d081db
--- /dev/null
+++ b/govtool/metadata-validation/src/schemas/index.ts
@@ -0,0 +1 @@
+export * from './cipStandardSchema';
diff --git a/govtool/metadata-validation/src/types/index.ts b/govtool/metadata-validation/src/types/index.ts
index e69de29bb..085381c12 100644
--- a/govtool/metadata-validation/src/types/index.ts
+++ b/govtool/metadata-validation/src/types/index.ts
@@ -0,0 +1 @@
+export * from './validateMetadata';
diff --git a/govtool/metadata-validation/src/types/validateMetadata.ts b/govtool/metadata-validation/src/types/validateMetadata.ts
index 5225fd265..fa20f24fe 100644
--- a/govtool/metadata-validation/src/types/validateMetadata.ts
+++ b/govtool/metadata-validation/src/types/validateMetadata.ts
@@ -1,6 +1,11 @@
-import { MetadataValidationStatus } from '../enums/ValidationError';
+import { MetadataValidationStatus } from '@enums';
+
+export enum MetadataStandard {
+ CIP108 = 'CIP108',
+}
export type ValidateMetadataResult = {
status?: MetadataValidationStatus;
valid: boolean;
+ metadata: any;
};
diff --git a/govtool/metadata-validation/src/utils/index.ts b/govtool/metadata-validation/src/utils/index.ts
index e69de29bb..a074ea4fe 100644
--- a/govtool/metadata-validation/src/utils/index.ts
+++ b/govtool/metadata-validation/src/utils/index.ts
@@ -0,0 +1,3 @@
+export * from './canonizeJSON';
+export * from './validateMetadataStandard';
+export * from './parseMetadata';
diff --git a/govtool/metadata-validation/src/utils/parseMetadata.ts b/govtool/metadata-validation/src/utils/parseMetadata.ts
new file mode 100644
index 000000000..ee6c62fd0
--- /dev/null
+++ b/govtool/metadata-validation/src/utils/parseMetadata.ts
@@ -0,0 +1,23 @@
+import { MetadataStandard } from '@/types';
+
+const CIP_108_VALUE_KEYS = ['abstract', 'motivation', 'rationale', 'title'];
+export const parseMetadata = (metadata: any, standard: MetadataStandard) => {
+ const parsedMetadata = {};
+ switch (standard) {
+ case MetadataStandard.CIP108:
+ for (const [key, value] of Object.entries(metadata)) {
+ if (CIP_108_VALUE_KEYS.includes(key)) {
+ parsedMetadata[key] = value['@value'];
+ }
+
+ if (key === 'references') {
+ parsedMetadata[key] = (Array.isArray(value) ? value : [])?.map(
+ (reference) => reference['CIP108:reference-uri']['@value'],
+ );
+ }
+ }
+ return parsedMetadata;
+ default:
+ return;
+ }
+};
diff --git a/govtool/metadata-validation/src/utils/validateMetadataStandard.test.ts b/govtool/metadata-validation/src/utils/validateMetadataStandard.test.ts
new file mode 100644
index 000000000..b3b58fc17
--- /dev/null
+++ b/govtool/metadata-validation/src/utils/validateMetadataStandard.test.ts
@@ -0,0 +1,19 @@
+import { MetadataStandard } from '@types';
+
+import { validateMetadataStandard } from './validateMetadataStandard';
+
+describe('validateMetadataStandard', () => {
+ it('should throw MetadataValidationStatus.INCORRECT_FORMAT if validation fails', async () => {
+ try {
+ await validateMetadataStandard(
+ {
+ testValue: 'test',
+ anotherValue: 'another',
+ },
+ MetadataStandard.CIP108,
+ );
+ } catch (error) {
+ expect(error).toBe('INCORRECT_FORMAT');
+ }
+ });
+});
diff --git a/govtool/metadata-validation/src/utils/validateMetadataStandard.ts b/govtool/metadata-validation/src/utils/validateMetadataStandard.ts
new file mode 100644
index 000000000..702027769
--- /dev/null
+++ b/govtool/metadata-validation/src/utils/validateMetadataStandard.ts
@@ -0,0 +1,20 @@
+import { MetadataValidationStatus } from '@enums';
+import { cipStandardSchema } from '@schemas';
+import { MetadataStandard } from '@types';
+
+/**
+ * Validates the metadata against a specific standard.
+ * @param data - The metadata to be validated.
+ * @param standard - The metadata standard to validate against.
+ * @throws {MetadataValidationStatus.INCORRECT_FORMAT} - If the metadata does not conform to the specified standard.
+ */
+export const validateMetadataStandard = async (
+ data: Record,
+ standard: MetadataStandard,
+) => {
+ try {
+ await cipStandardSchema[standard]?.validateAsync(data);
+ } catch (error) {
+ throw MetadataValidationStatus.INCORRECT_FORMAT;
+ }
+};
diff --git a/govtool/metadata-validation/tsconfig.json b/govtool/metadata-validation/tsconfig.json
index 95f5641cf..1044dc39f 100644
--- a/govtool/metadata-validation/tsconfig.json
+++ b/govtool/metadata-validation/tsconfig.json
@@ -16,6 +16,15 @@
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
- "noFallthroughCasesInSwitch": false
+ "noFallthroughCasesInSwitch": false,
+ "paths": {
+ "@/*": ["src/*"],
+ "@dto": ["src/dto"],
+ "@enums": ["src/enums"],
+ "@health": ["src/health"],
+ "@schemas": ["src/schemas"],
+ "@types": ["src/types"],
+ "@utils": ["src/utils"]
+ }
}
}
diff --git a/govtool/metadata-validation/yarn.lock b/govtool/metadata-validation/yarn.lock
index 3b456c21d..c39cc7697 100644
--- a/govtool/metadata-validation/yarn.lock
+++ b/govtool/metadata-validation/yarn.lock
@@ -396,6 +396,18 @@
resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d"
integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==
+"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
+ version "9.3.0"
+ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
+ integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
+
+"@hapi/topo@^5.1.0":
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
+ integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
"@humanwhocodes/config-array@^0.11.14":
version "0.11.14"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
@@ -858,6 +870,23 @@
resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31"
integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==
+"@sideway/address@^4.1.5":
+ version "4.1.5"
+ resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5"
+ integrity sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==
+ dependencies:
+ "@hapi/hoek" "^9.0.0"
+
+"@sideway/formula@^3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f"
+ integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
+
+"@sideway/pinpoint@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
+ integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
+
"@sinclair/typebox@^0.27.8":
version "0.27.8"
resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e"
@@ -3517,6 +3546,17 @@ jest@^29.5.0:
import-local "^3.0.2"
jest-cli "^29.7.0"
+joi@^17.12.3:
+ version "17.12.3"
+ resolved "https://registry.yarnpkg.com/joi/-/joi-17.12.3.tgz#944646979cd3b460178547b12ba37aca8482f63d"
+ integrity sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==
+ dependencies:
+ "@hapi/hoek" "^9.3.0"
+ "@hapi/topo" "^5.1.0"
+ "@sideway/address" "^4.1.5"
+ "@sideway/formula" "^3.0.1"
+ "@sideway/pinpoint" "^2.0.0"
+
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
diff --git a/govtool/status-service/Makefile b/govtool/status-service/Makefile
new file mode 100644
index 000000000..07d975981
--- /dev/null
+++ b/govtool/status-service/Makefile
@@ -0,0 +1,21 @@
+common_mk := ../../scripts/govtool/common.mk
+ifeq ($(origin $(common_mk)), undefined)
+ $(eval $(common_mk) := included)
+ include $(common_mk)
+endif
+
+.DEFAULT_GOAL := push-status-service
+
+# image tags
+status_service_image_tag := $(shell git log -n 1 --format="%H" -- $(root_dir)/govtool/status-service)
+
+.PHONY: build-status-service
+build-status-service: docker-login
+ $(call check_image_on_ecr,status-service,$(status_service_image_tag)) || \
+ $(docker) build --tag "$(repo_url)/status-service:$(status_service_image_tag)" \
+ $(root_dir)/govtool/status-service
+
+.PHONY: push-status-service
+push-status-service: build-status-service
+ $(call check_image_on_ecr,status-service,$(status_service_image_tag)) || \
+ $(docker) push $(repo_url)/status-service:$(status_service_image_tag)
diff --git a/infra/terraform/main.tf b/infra/terraform/main.tf
index 27000cffd..18e24437e 100644
--- a/infra/terraform/main.tf
+++ b/infra/terraform/main.tf
@@ -26,6 +26,16 @@ module "govtool-ecr-frontend" {
repo_name = "frontend"
}
+module "govtool-ecr-status-service" {
+ source = "./modules/ecr"
+ repo_name = "status-service"
+}
+
+module "govtool-ecr-metadata-validation" {
+ source = "./modules/ecr"
+ repo_name = "metadata-validation"
+}
+
resource "aws_iam_policy" "cicd_ecr" {
name = "CICD_ECR"
policy = jsonencode({
@@ -39,7 +49,9 @@ resource "aws_iam_policy" "cicd_ecr" {
Resource = [
module.govtool-ecr-backend.repo_arn,
module.govtool-ecr-backend-base.repo_arn,
- module.govtool-ecr-frontend.repo_arn
+ module.govtool-ecr-frontend.repo_arn,
+ module.govtool-ecr-status-service.repo_arn,
+ module.govtool-ecr-metadata-validation.repo_arn
]
},
{
@@ -105,6 +117,14 @@ output "govtool-ecr-frontend-url" {
value = module.govtool-ecr-frontend.repo_url
}
+output "govtool-ecr-status-service-url" {
+ value = module.govtool-ecr-status-service.repo_url
+}
+
+output "govtool-ecr-metadata-validation-url" {
+ value = module.govtool-ecr-metadata-validation.repo_url
+}
+
output "govtool-dev-sanchonet-frontend-domain" {
value = module.govtool-dev-sanchonet.frontend_domain
}
diff --git a/infra/terraform/modules/govtool-ec2/main.tf b/infra/terraform/modules/govtool-ec2/main.tf
index 40ad6f6cd..bddf37ce7 100644
--- a/infra/terraform/modules/govtool-ec2/main.tf
+++ b/infra/terraform/modules/govtool-ec2/main.tf
@@ -193,3 +193,12 @@ resource "aws_route53_record" "frontend" {
ttl = 180
records = [aws_eip.govtool.public_ip]
}
+
+resource "aws_route53_record" "participation" {
+ count = var.app_env == "beta" ? 0 : 1
+ zone_id = var.dns_zone_id
+ name = "${var.custom_subdomain != "" ? "participation.${var.custom_subdomain}" : "participation.${var.app_env}-${var.cardano_network}"}"
+ type = "A"
+ ttl = 180
+ records = [aws_eip.govtool.public_ip]
+}
\ No newline at end of file
diff --git a/register_report.sh b/register_report.sh
new file mode 100644
index 000000000..a36016ebb
--- /dev/null
+++ b/register_report.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+PROJECT_DIR="project"
+PROJECT_FILE="projects.txt"
+
+mkdir -p "$PROJECT_DIR"
+cp -r gh-pages/* "$PROJECT_DIR" || true
+
+if grep -q "$REPORT_NAME" "$PROJECT_DIR/$PROJECT_FILE"; then
+ echo "Project already exists"
+ echo "::set-output name=project_exists::true"
+else
+ echo "$REPORT_NAME" >> "$PROJECT_DIR/$PROJECT_FILE"
+ echo "::set-output name=project_exists::false"
+fi
diff --git a/scripts/govtool/Makefile b/scripts/govtool/Makefile
index 8d6430e0e..281de5f36 100644
--- a/scripts/govtool/Makefile
+++ b/scripts/govtool/Makefile
@@ -1,5 +1,7 @@
include ../../govtool/backend/Makefile
include ../../govtool/frontend/Makefile
+include ../../govtool/status-service/Makefile
+include ../../govtool/metadata-validation/Makefile
include utils.mk
include info.mk
include config.mk
@@ -7,14 +9,14 @@ include config.mk
.DEFAULT_GOAL := info
# image tags
-cardano_node_image_tag := 8.9.0
-cardano_db_sync_image_tag := sancho-4.1.0
+cardano_node_image_tag := 8.10.0-pre
+cardano_db_sync_image_tag := sancho-4-2-1
.PHONY: all
all: deploy-stack notify
.PHONY: deploy-stack
-deploy-stack: upload-config push-backend push-frontend
+deploy-stack: upload-config push-backend push-frontend push-status-service push-metadata-validation
@:$(call check_defined, cardano_network)
@:$(call check_defined, env)
export CARDANO_NETWORK=$(cardano_network); \
@@ -23,10 +25,12 @@ deploy-stack: upload-config push-backend push-frontend
export GRAFANA_ADMIN_PASSWORD=$${GRAFANA_ADMIN_PASSWORD}; \
export BACKEND_TAG=$(backend_image_tag); \
export FRONTEND_TAG=$(frontend_image_tag); \
+ export STATUS_SERVICE_TAG=$(status_service_image_tag); \
+ export METADATA_VALIDATION_TAG=$(metadata_validation_image_tag); \
export CARDANO_NODE_TAG=$(cardano_node_image_tag); \
export CARDANO_DB_SYNC_TAG=$(cardano_db_sync_image_tag); \
$(ssh-keyscan) $(docker_host) 2>/dev/null >> ~/.ssh/known_hosts; \
- $(docker) compose -f $(docker_compose_file) -p $(compose_stack_name) up --detach --pull always --remove-orphans
+ $(docker) compose -f $(docker_compose_file) -p $(compose_stack_name) up --detach --build --pull always --remove-orphans
.PHONY: destroy-cardano-node-and-dbsync
destroy-cardano-node-and-dbsync: prepare-config
@@ -37,6 +41,8 @@ destroy-cardano-node-and-dbsync: prepare-config
export ENVIRONMENT=$(env); \
export BACKEND_TAG=$(backend_image_tag); \
export FRONTEND_TAG=$(frontend_image_tag); \
+ export STATUS_SERVICE_TAG=$(status_service_image_tag); \
+ export METADATA_VALIDATION_TAG=$(metadata_validation_image_tag); \
export CARDANO_NODE_TAG=$(cardano_node_image_tag); \
export CARDANO_DB_SYNC_TAG=$(cardano_db_sync_image_tag); \
$(ssh-keyscan) $(docker_host) 2>/dev/null >> ~/.ssh/known_hosts; \
@@ -56,6 +62,8 @@ toggle-maintenance: docker-login prepare-config
export DOCKER_HOST=ssh://$(ssh_url); \
export BACKEND_TAG=$(backend_image_tag); \
export FRONTEND_TAG=$(frontend_image_tag); \
+ export STATUS_SERVICE_TAG=$(status_service_image_tag); \
+ export METADATA_VALIDATION_TAG=$(metadata_validation_image_tag); \
export CARDANO_NODE_TAG=$(cardano_node_image_tag); \
export CARDANO_DB_SYNC_TAG=$(cardano_db_sync_image_tag); \
$(ssh-keyscan) $(docker_host) 2>/dev/null >> ~/.ssh/known_hosts; \
diff --git a/scripts/govtool/config.mk b/scripts/govtool/config.mk
index 9374da759..87c424d03 100644
--- a/scripts/govtool/config.mk
+++ b/scripts/govtool/config.mk
@@ -50,8 +50,8 @@ clear:
$(output_dirs):
mkdir -p $@
-$(target_config_dir)/docker-compose.yml: $(template_config_dir)/docker-compose.yml.tpl $(target_config_dir)/
- if [[ "$(env)" == "dev" ]]; then CSP_ALLOWED_HOSTS=",http://localhost"; else CSP_ALLOWED_HOSTS=; fi; \
+$(docker_compose_file): $(template_config_dir)/docker-compose.yml.tpl $(target_config_dir)/
+ if [[ "$(env)" == "dev" ]]; then CSP_ALLOWED_HOSTS=",http://localhost,http://localhost:5173"; else CSP_ALLOWED_HOSTS=; fi; \
sed -e "s||$(domain)|g" \
-e "s||$(docker_user)|g" \
-e "s||$(repo_url)|g" \
diff --git a/scripts/govtool/config/templates/docker-compose.yml.tpl b/scripts/govtool/config/templates/docker-compose.yml.tpl
index 4cf11a525..742d0f970 100644
--- a/scripts/govtool/config/templates/docker-compose.yml.tpl
+++ b/scripts/govtool/config/templates/docker-compose.yml.tpl
@@ -2,7 +2,7 @@ version: "3.9"
services:
traefik:
- image: traefik:v2.10
+ image: traefik:v3.0
command:
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
@@ -32,9 +32,9 @@ services:
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
- - "traefik.http.routers.http-catchall.rule=hostregexp(`{host:.+}`)"
- - "traefik.http.routers.http-catchall.entrypoints=web"
- - "traefik.http.routers.http-catchall.middlewares=redirect-to-https"
+ - "traefik.http.routers.to-http-catchall.rule=hostregexp(`{host:.+}`)"
+ - "traefik.http.routers.to-http-catchall.entrypoints=web"
+ - "traefik.http.routers.to-http-catchall.middlewares=redirect-to-https"
loki:
image: grafana/loki:2.9.4
@@ -79,26 +79,11 @@ services:
logging: *logging
labels:
- "traefik.enable=true"
- - "traefik.http.routers.grafana.rule=Host(``) && PathPrefix(`/grafana`)"
- - "traefik.http.routers.grafana.entrypoints=websecure"
- - "traefik.http.routers.grafana.tls.certresolver=myresolver"
+ - "traefik.http.routers.to-grafana.rule=Host(``) && PathPrefix(`/grafana`)"
+ - "traefik.http.routers.to-grafana.entrypoints=websecure"
+ - "traefik.http.routers.to-grafana.tls.certresolver=myresolver"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
- status-service:
- build:
- context: ../../govtool/status-service
- environment:
- - GRAFANA_USERNAME=admin
- - GRAFANA_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- restart: always
- logging: *logging
- labels:
- - "traefik.enable=true"
- - "traefik.http.routers.status-service.rule=Host(``) && PathPrefix(`/status`)"
- - "traefik.http.routers.status-service.entrypoints=websecure"
- - "traefik.http.routers.status-service.tls.certresolver=myresolver"
- - "traefik.http.services.status-service.loadbalancer.server.port=8000"
-
postgres:
image: postgres:15-alpine
environment:
@@ -182,6 +167,48 @@ services:
restart: always
logging: *logging
+ status-service:
+ image: /status-service:${STATUS_SERVICE_TAG}
+ environment:
+ - GRAFANA_USERNAME=admin
+ - GRAFANA_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
+ restart: always
+ logging: *logging
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.routers.to-status-service.rule=Host(``) && PathPrefix(`/status`)"
+ - "traefik.http.routers.to-status-service.entrypoints=websecure"
+ - "traefik.http.routers.to-status-service.tls.certresolver=myresolver"
+ - "traefik.http.services.status-service.loadbalancer.server.port=8000"
+
+ metadata-validation:
+ image: /metadata-validation:${METADATA_VALIDATION_TAG}
+ environment:
+ - PORT=3000
+ logging: *logging
+ restart: always
+ healthcheck:
+ test: ["CMD-SHELL", "curl -f 127.0.0.1:3000/health || exit 1"]
+ interval: 5s
+ timeout: 5s
+ retries: 5
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.middlewares.metadata-validation-stripprefix.stripprefix.prefixes=/metadata-validation"
+ - "traefik.http.middlewares.metadata-validation-cors.headers.accesscontrolallowmethods=*"
+ - "traefik.http.middlewares.metadata-validation-cors.headers.accesscontrolallowheaders=*"
+ - "traefik.http.middlewares.metadata-validation-cors.headers.accesscontrolalloworiginlist=https://"
+ - "traefik.http.middlewares.metadata-validation-cors.headers.accesscontrolmaxage=100"
+ - "traefik.http.routers.to-metadata-validation.rule=Host(``) && PathPrefix(`/metadata-validation`)"
+ - "traefik.http.routers.to-metadata-validation.middlewares=metadata-validation-stripprefix@docker,metadata-validation-cors@docker"
+ - "traefik.http.routers.to-metadata-validation.entrypoints=websecure"
+ - "traefik.http.routers.to-metadata-validation.tls.certresolver=myresolver"
+ - "traefik.http.services.metadata-validation.loadbalancer.server.port=3000"
+ - "traefik.http.services.metadata-validation.loadbalancer.healthcheck.path=/health"
+ - "traefik.http.services.metadata-validation.loadbalancer.healthcheck.port=3000"
+ - "traefik.http.services.metadata-validation.loadbalancer.healthcheck.interval=10s"
+ - "traefik.http.services.metadata-validation.loadbalancer.healthcheck.timeout=5s"
+
backend:
image: /backend:${BACKEND_TAG}
command: /usr/local/bin/vva-be -c /run/secrets/backend-config.json start-app
@@ -196,38 +223,21 @@ services:
logging: *logging
labels:
- "traefik.enable=true"
- - "traefik.http.routers.backend.rule=Host(``) && PathPrefix(`/api`)"
- "traefik.http.middlewares.backend-stripprefix.stripprefix.prefixes=/api"
- "traefik.http.middlewares.backend-cors.headers.accesscontrolallowmethods=GET,HEAD,OPTIONS"
- "traefik.http.middlewares.backend-cors.headers.accesscontrolallowheaders=*"
- "traefik.http.middlewares.backend-cors.headers.accesscontrolalloworiginlist=https://"
- "traefik.http.middlewares.backend-cors.headers.accesscontrolmaxage=100"
- "traefik.http.middlewares.backend-cors.headers.addvaryheader=true"
- - "traefik.http.routers.backend.middlewares=backend-stripprefix@docker,backend-cors@docker"
- - "traefik.http.routers.backend.entrypoints=websecure"
- - "traefik.http.routers.backend.tls.certresolver=myresolver"
+ - "traefik.http.routers.to-backend.rule=Host(``) && PathPrefix(`/api`)"
+ - "traefik.http.routers.to-backend.middlewares=backend-stripprefix@docker,backend-cors@docker"
+ - "traefik.http.routers.to-backend.entrypoints=websecure"
+ - "traefik.http.routers.to-backend.tls.certresolver=myresolver"
- "traefik.http.services.backend.loadbalancer.server.port=9876"
-
- metadata-validation:
- build:
- context: ../../govtool/metadata-validation
- environment:
- - PORT=3000
- logging: *logging
- restart: always
- healthcheck:
- test: ["CMD-SHELL", "curl -f 127.0.0.1:3000/health || exit 1"]
- interval: 5s
- timeout: 5s
- retries: 5
- labels:
- - "traefik.enable=true"
- - "traefik.http.routers.metadata-validation.rule=Host(``) && PathPrefix(`/metadata-validation`)"
- - "traefik.http.middlewares.metadata-validation-stripprefix.stripprefix.prefixes=/metadata-validation"
- - "traefik.http.routers.metadata-validation.middlewares=metadata-validation-stripprefix@docker"
- - "traefik.http.routers.metadata-validation.entrypoints=websecure"
- - "traefik.http.routers.metadata-validation.tls.certresolver=myresolver"
- - "traefik.http.services.metadata-validation.loadbalancer.server.port=3000"
+ - "traefik.http.services.backend.loadbalancer.healthcheck.path=/epoch/params"
+ - "traefik.http.services.backend.loadbalancer.healthcheck.port=9876"
+ - "traefik.http.services.backend.loadbalancer.healthcheck.interval=10s"
+ - "traefik.http.services.backend.loadbalancer.healthcheck.timeout=5s"
frontend:
image: /frontend:${FRONTEND_TAG}
@@ -243,11 +253,12 @@ services:
logging: *logging
labels:
- "traefik.enable=true"
- - "traefik.http.routers.frontend.rule=Host(``)"
- - "traefik.http.routers.frontend.entrypoints=websecure"
- - "traefik.http.routers.frontend.tls.certresolver=myresolver"
- - "traefik.http.middlewares.frontend-csp.headers.contentSecurityPolicy=default-src 'self'; img-src *.usersnap.com 'self' data:; script-src *.usersnap.com 'self' 'unsafe-inline' https://www.googletagmanager.com https://browser.sentry-cdn.com; style-src *.usersnap.com *.googleapis.com 'self' 'unsafe-inline' https://fonts.googleapis.com; connect-src *.usersnap.com https://s3.eu-central-1.amazonaws.com/upload.usersnap.com 'self' o4506155985141760.ingest.sentry.io *.google-analytics.com *.githubusercontent.com *.ipfs.io; font-src *.usersnap.com *.gstatic.com 'self' 'unsafe-inline' https://fonts.gstatic.com; worker-src blob:"
- - "traefik.http.routers.frontend.middlewares=frontend-csp@docker"
+ - "traefik.http.middlewares.frontend-csp.headers.contentSecurityPolicy=default-src 'self'; img-src *.usersnap.com https://www.googletagmanager.com 'self' data:; script-src *.usersnap.com 'self' 'unsafe-inline' https://www.googletagmanager.com https://browser.sentry-cdn.com; style-src *.usersnap.com *.googleapis.com 'self' 'unsafe-inline' https://fonts.googleapis.com; connect-src *.usersnap.com https://s3.eu-central-1.amazonaws.com/upload.usersnap.com 'self' o4506155985141760.ingest.sentry.io *.google-analytics.com; font-src *.usersnap.com *.gstatic.com 'self' 'unsafe-inline' https://fonts.gstatic.com; worker-src blob:"
+ - "traefik.http.routers.to-frontend.rule=Host(``)"
+ - "traefik.http.routers.to-frontend.entrypoints=websecure"
+ - "traefik.http.routers.to-frontend.tls.certresolver=myresolver"
+ - "traefik.http.routers.to-frontend.middlewares=frontend-csp@docker"
+ - "traefik.http.routers.to-frontend.priority=1"
- "traefik.http.services.frontend.loadbalancer.server.port=80"
secrets:
diff --git a/scripts/govtool/info.mk b/scripts/govtool/info.mk
index 128567307..fdf8ed83e 100644
--- a/scripts/govtool/info.mk
+++ b/scripts/govtool/info.mk
@@ -22,10 +22,12 @@ info:
@echo "| TIME $(shell date +'%Y-%m-%d %H:%M:%S%z')"
@echo "| BRANCH $(branch) [$(commit)]"
@echo "| ENV $(env)"
- @echo "I NETWORK $(cardano_network)"
- @echo "N BACKEND $(repo_url)/backend:$(backend_image_tag)"
- @echo "F FRONTEND $(repo_url)/frontend:$(frontend_image_tag)"
- @echo "O NODE ghcr.io/intersectmbo/cardano-node:$(cardano_node_image_tag)"
+ @echo "| NETWORK $(cardano_network)"
+ @echo "| BACKEND $(repo_url)/backend:$(backend_image_tag)"
+ @echo "| FRONTEND $(repo_url)/frontend:$(frontend_image_tag)"
+ @echo "| STATUS $(repo_url)/status-service:$(status_service_image_tag)"
+ @echo "| METADATA $(repo_url)/metadata-validation:$(metadata_validation_image_tag)"
+ @echo "| NODE ghcr.io/intersectmbo/cardano-node:$(cardano_node_image_tag)"
@echo "| DBSYNC ghcr.io/intersectmbo/cardano-db-sync:$(cardano_db_sync_image_tag)"
@echo "| SSH $(ssh_url)"
@echo "| URL https://$(docker_host)"
@@ -38,4 +40,4 @@ notify: info log-deployment
$(curl) -X POST https://slack.com/api/chat.postMessage\
-H "Authorization: Bearer $${GRAFANA_SLACK_OAUTH_TOKEN}" \
-H "Content-Type: application/json; charset=utf-8" \
- --data "{ \"channel\":\"$${GRAFANA_SLACK_RECIPIENT}\", \"text\":\":rocket: *Deploy performed on \`$(env)\`*\n- from *branch* \`$(branch)\` (\`$(commit)\`),\n- using *Cardano Node* version \`$(cardano_node_image_tag)\`,\n- using *Cardano DB Sync* version \`$(cardano_db_sync_image_tag)\`,\n- using *GovTool backend* version \`$(backend_image_tag)\`,\n- using *Govtool frontend* version \`$(frontend_image_tag)\`.\n$(pipeline_info)\" }"
+ --data "{ \"channel\":\"$${GRAFANA_SLACK_RECIPIENT}\", \"text\":\":rocket: *Deploy performed on \`$(env)\`*\n- from *branch* \`$(branch)\` (\`$(commit)\`),\n- using *Cardano Node* version \`$(cardano_node_image_tag)\`,\n- using *Cardano DB Sync* version \`$(cardano_db_sync_image_tag)\`,\n- using *GovTool backend* version \`$(backend_image_tag)\`,\n- using *Govtool frontend* version \`$(frontend_image_tag)\`,\n- using *Govtool status-service* version \`$(status_service_image_tag)\`,\n- using *Govtool metadata-validation* version \`$(metadata_validation_image_tag)\`.\n$(pipeline_info)\" }"
diff --git a/scripts/govtool/utils.mk b/scripts/govtool/utils.mk
index b69671472..45d4e0041 100644
--- a/scripts/govtool/utils.mk
+++ b/scripts/govtool/utils.mk
@@ -14,6 +14,8 @@ docker-compose:
export GRAFANA_ADMIN_PASSWORD=$${GRAFANA_ADMIN_PASSWORD}; \
export BACKEND_TAG=$(backend_image_tag); \
export FRONTEND_TAG=$(frontend_image_tag); \
+ export STATUS_SERVICE_TAG=$(status_service_image_tag); \
+ export METADATA_VALIDATION_TAG=$(metadata_validation_image_tag); \
export CARDANO_NODE_TAG=$(cardano_node_image_tag); \
export CARDANO_DB_SYNC_TAG=$(cardano_db_sync_image_tag); \
$(ssh-keyscan) $(docker_host) 2>/dev/null >> ~/.ssh/known_hosts; \
diff --git a/tests/cardano-test-wallet/index.js b/tests/cardano-test-wallet/index.js
new file mode 100644
index 000000000..0221c9741
--- /dev/null
+++ b/tests/cardano-test-wallet/index.js
@@ -0,0 +1,2 @@
+/*! For license information please see index.js.LICENSE.txt */
+(()=>{var t={422:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validateBasic=e.wNAF=void 0;const n=r(967),o=r(484),i=BigInt(0),s=BigInt(1);e.wNAF=function(t,e){const r=(t,e)=>{const r=e.negate();return t?r:e},n=t=>({windows:Math.ceil(e/t)+1,windowSize:2**(t-1)});return{constTimeNegate:r,unsafeLadder(e,r){let n=t.ZERO,o=e;for(;r>i;)r&s&&(n=n.add(o)),o=o.double(),r>>=s;return n},precomputeWindow(t,e){const{windows:r,windowSize:o}=n(e),i=[];let s=t,a=s;for(let t=0;t>=d,n>f&&(n-=h,i+=s);const a=e,p=e+Math.abs(n)-1,y=t%2!=0,g=n<0;0===n?c=c.add(r(y,o[a])):u=u.add(r(g,o[p]))}return{p:u,f:c}},wNAFCached(t,e,r,n){const o=t._WINDOW_SIZE||1;let i=e.get(t);return i||(i=this.precomputeWindow(t,o),1!==o&&e.set(t,n(i))),this.wNAF(o,i,r)}}},e.validateBasic=function(t){return(0,n.validateField)(t.Fp),(0,o.validateObject)(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...(0,n.nLength)(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}},377:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.twistedEdwards=void 0;const n=r(967),o=r(484),i=r(484),s=r(422),a=BigInt(0),f=BigInt(1),u=BigInt(2),c=BigInt(8),l={zip215:!0};e.twistedEdwards=function(t){const e=function(t){const e=(0,s.validateBasic)(t);return o.validateObject(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}(t),{Fp:r,n:h,prehash:d,hash:p,randomBytes:y,nByteLength:g,h:b}=e,w=u<{try{return{isValid:!0,value:r.sqrt(t*r.inv(e))}}catch(t){return{isValid:!1,value:a}}}),B=e.adjustScalarBytes||(t=>t),x=e.domain||((t,e,r)=>{if(e.length||r)throw new Error("Contexts/pre-hash are not supported");return t}),v=t=>"bigint"==typeof t&&av(t)&&v(e)&&tt===a||A(t,w);function S(t,e){if(A(t,e))return t;throw new Error(`Expected valid scalar < ${e}, got ${typeof t} ${t}`)}function U(t){return t===a?t:S(t,h)}const O=new Map;function T(t){if(!(t instanceof k))throw new Error("ExtendedPoint expected")}class k{constructor(t,e,r,n){if(this.ex=t,this.ey=e,this.ez=r,this.et=n,!I(t))throw new Error("x required");if(!I(e))throw new Error("y required");if(!I(r))throw new Error("z required");if(!I(n))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(t){if(t instanceof k)throw new Error("extended point not allowed");const{x:e,y:r}=t||{};if(!I(e)||!I(r))throw new Error("invalid affine point");return new k(e,r,f,m(e*r))}static normalizeZ(t){const e=r.invertBatch(t.map((t=>t.ez)));return t.map(((t,r)=>t.toAffine(e[r]))).map(k.fromAffine)}_setWindowSize(t){this._WINDOW_SIZE=t,O.delete(this)}assertValidity(){const{a:t,d:r}=e;if(this.is0())throw new Error("bad point: ZERO");const{ex:n,ey:o,ez:i,et:s}=this,a=m(n*n),f=m(o*o),u=m(i*i),c=m(u*u),l=m(a*t);if(m(u*m(l+f))!==m(c+m(r*m(a*f))))throw new Error("bad point: equation left != right (1)");if(m(n*o)!==m(i*s))throw new Error("bad point: equation left != right (2)")}equals(t){T(t);const{ex:e,ey:r,ez:n}=this,{ex:o,ey:i,ez:s}=t,a=m(e*s),f=m(o*n),u=m(r*s),c=m(i*n);return a===f&&u===c}is0(){return this.equals(k.ZERO)}negate(){return new k(m(-this.ex),this.ey,this.ez,m(-this.et))}double(){const{a:t}=e,{ex:r,ey:n,ez:o}=this,i=m(r*r),s=m(n*n),a=m(u*m(o*o)),f=m(t*i),c=r+n,l=m(m(c*c)-i-s),h=f+s,d=h-a,p=f-s,y=m(l*d),g=m(h*p),b=m(l*p),w=m(d*h);return new k(y,g,w,b)}add(t){T(t);const{a:r,d:n}=e,{ex:o,ey:i,ez:s,et:f}=this,{ex:c,ey:l,ez:h,et:d}=t;if(r===BigInt(-1)){const t=m((i-o)*(l+c)),e=m((i+o)*(l-c)),r=m(e-t);if(r===a)return this.double();const n=m(s*u*d),p=m(f*u*h),y=p+n,g=e+t,b=p-n,w=m(y*r),E=m(g*b),B=m(y*b),x=m(r*g);return new k(w,E,x,B)}const p=m(o*c),y=m(i*l),g=m(f*n*d),b=m(s*h),w=m((o+i)*(c+l)-p-y),E=b-g,B=b+g,x=m(y-r*p),v=m(w*E),A=m(B*x),I=m(w*x),S=m(E*B);return new k(v,A,S,I)}subtract(t){return this.add(t.negate())}wNAF(t){return _.wNAFCached(this,O,t,k.normalizeZ)}multiply(t){const{p:e,f:r}=this.wNAF(S(t,h));return k.normalizeZ([e,r])[0]}multiplyUnsafe(t){let e=U(t);return e===a?R:this.equals(R)||e===f?this:this.equals(L)?this.wNAF(e).p:_.unsafeLadder(this,e)}isSmallOrder(){return this.multiplyUnsafe(b).is0()}isTorsionFree(){return _.unsafeLadder(this,h).is0()}toAffine(t){const{ex:e,ey:n,ez:o}=this,i=this.is0();null==t&&(t=i?c:r.inv(o));const s=m(e*t),u=m(n*t),l=m(o*t);if(i)return{x:a,y:f};if(l!==f)throw new Error("invZ was invalid");return{x:s,y:u}}clearCofactor(){const{h:t}=e;return t===f?this:this.multiplyUnsafe(t)}static fromHex(t,n=!1){const{d:s,a:u}=e,c=r.BYTES,l=(t=(0,i.ensureBytes)("pointHex",t,c)).slice(),h=t[c-1];l[c-1]=-129&h;const d=o.bytesToNumberLE(l);d===a||S(d,n?w:r.ORDER);const p=m(d*d),y=m(p-f),g=m(s*p-u);let{isValid:b,value:B}=E(y,g);if(!b)throw new Error("Point.fromHex: invalid y coordinate");const x=(B&f)===f,v=0!=(128&h);if(!n&&B===a&&v)throw new Error("Point.fromHex: x=0 and x_0=1");return v!==x&&(B=m(-B)),k.fromAffine({x:B,y:d})}static fromPrivateKey(t){return j(t).point}toRawBytes(){const{x:t,y:e}=this.toAffine(),n=o.numberToBytesLE(e,r.BYTES);return n[n.length-1]|=t&f?128:0,n}toHex(){return o.bytesToHex(this.toRawBytes())}}k.BASE=new k(e.Gx,e.Gy,f,m(e.Gx*e.Gy)),k.ZERO=new k(a,f,f,a);const{BASE:L,ZERO:R}=k,_=(0,s.wNAF)(k,8*g);function M(t){return(0,n.mod)(t,h)}function C(t){return M(o.bytesToNumberLE(t))}function j(t){const e=g;t=(0,i.ensureBytes)("private key",t,e);const r=(0,i.ensureBytes)("hashed private key",p(t),2*e),n=B(r.slice(0,e)),o=r.slice(e,2*e),s=C(n),a=L.multiply(s),f=a.toRawBytes();return{head:n,prefix:o,scalar:s,point:a,pointBytes:f}}function N(t=new Uint8Array,...e){const r=o.concatBytes(...e);return C(p(x(r,(0,i.ensureBytes)("context",t),!!d)))}const P=l;return L._setWindowSize(8),{CURVE:e,getPublicKey:function(t){return j(t).pointBytes},sign:function(t,e,n={}){t=(0,i.ensureBytes)("message",t),d&&(t=d(t));const{prefix:s,scalar:a,pointBytes:f}=j(e),u=N(n.context,s,t),c=L.multiply(u).toRawBytes(),l=M(u+N(n.context,c,f,t)*a);U(l);const h=o.concatBytes(c,o.numberToBytesLE(l,r.BYTES));return(0,i.ensureBytes)("result",h,2*g)},verify:function(t,e,n,s=P){const{context:a,zip215:f}=s,u=r.BYTES;t=(0,i.ensureBytes)("signature",t,2*u),e=(0,i.ensureBytes)("message",e),d&&(e=d(e));const c=o.bytesToNumberLE(t.slice(u,2*u));let l,h,p;try{l=k.fromHex(n,f),h=k.fromHex(t.slice(0,u),f),p=L.multiplyUnsafe(c)}catch(t){return!1}if(!f&&l.isSmallOrder())return!1;const y=N(a,h.toRawBytes(),l.toRawBytes(),e);return h.add(l.multiplyUnsafe(y)).subtract(p).clearCofactor().equals(k.ZERO)},ExtendedPoint:k,utils:{getExtendedPublicKey:j,randomPrivateKey:()=>y(r.BYTES),precompute:(t=8,e=k.BASE)=>(e._setWindowSize(t),e.multiply(BigInt(3)),e)}}}},761:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createHasher=e.isogenyMap=e.hash_to_field=e.expand_message_xof=e.expand_message_xmd=void 0;const n=r(967),o=r(484),i=o.bytesToNumberBE;function s(t,e){if(t<0||t>=1<<8*e)throw new Error(`bad I2OSP call: value=${t} length=${e}`);const r=Array.from({length:e}).fill(0);for(let n=e-1;n>=0;n--)r[n]=255&t,t>>>=8;return new Uint8Array(r)}function a(t,e){const r=new Uint8Array(t.length);for(let n=0;n255&&(e=n((0,o.concatBytes)((0,o.utf8ToBytes)("H2C-OVERSIZE-DST-"),e)));const{outputLen:i,blockLen:c}=n,l=Math.ceil(r/i);if(l>255)throw new Error("Invalid xmd length");const h=(0,o.concatBytes)(e,s(e.length,1)),d=s(0,c),p=s(r,2),y=new Array(l),g=n((0,o.concatBytes)(d,t,p,s(0,1),h));y[0]=n((0,o.concatBytes)(g,s(1,1),h));for(let t=1;t<=l;t++){const e=[a(g,y[t-1]),s(t+1,1),h];y[t]=n((0,o.concatBytes)(...e))}return(0,o.concatBytes)(...y).slice(0,r)}function l(t,e,r,n,i){if(f(t),f(e),u(r),e.length>255){const t=Math.ceil(2*n/8);e=i.create({dkLen:t}).update((0,o.utf8ToBytes)("H2C-OVERSIZE-DST-")).update(e).digest()}if(r>65535||e.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return i.create({dkLen:r}).update(t).update(s(r,2)).update(e).update(s(e.length,1)).digest()}function h(t,e,r){(0,o.validateObject)(r,{DST:"stringOrUint8Array",p:"bigint",m:"isSafeInteger",k:"isSafeInteger",hash:"hash"});const{p:s,k:a,m:h,hash:d,expand:p,DST:y}=r;f(t),u(e);const g=function(t){if((0,o.isBytes)(t))return t;if("string"==typeof t)return(0,o.utf8ToBytes)(t);throw new Error("DST must be Uint8Array or string")}(y),b=s.toString(2).length,w=Math.ceil((b+a)/8),m=e*h*w;let E;if("xmd"===p)E=c(t,g,m,d);else if("xof"===p)E=l(t,g,m,a,d);else{if("_internal_pass"!==p)throw new Error('expand must be "xmd" or "xof"');E=t}const B=new Array(e);for(let t=0;tArray.from(t).reverse()));return(e,n)=>{const[o,i,s,a]=r.map((r=>r.reduce(((r,n)=>t.add(t.mul(r,e),n)))));return e=t.div(o,i),n=t.mul(n,t.div(s,a)),{x:e,y:n}}},e.createHasher=function(t,e,r){if("function"!=typeof e)throw new Error("mapToCurve() must be defined");return{hashToCurve(n,o){const i=h(n,2,{...r,DST:r.DST,...o}),s=t.fromAffine(e(i[0])),a=t.fromAffine(e(i[1])),f=s.add(a).clearCofactor();return f.assertValidity(),f},encodeToCurve(n,o){const i=h(n,1,{...r,DST:r.encodeDST,...o}),s=t.fromAffine(e(i[0])).clearCofactor();return s.assertValidity(),s}}}},967:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.mapHashToField=e.getMinHashLength=e.getFieldBytesLength=e.hashToPrivateScalar=e.FpSqrtEven=e.FpSqrtOdd=e.Field=e.nLength=e.FpIsSquare=e.FpDiv=e.FpInvertBatch=e.FpPow=e.validateField=e.isNegativeLE=e.FpSqrt=e.tonelliShanks=e.invert=e.pow2=e.pow=e.mod=void 0;const n=r(484),o=BigInt(0),i=BigInt(1),s=BigInt(2),a=BigInt(3),f=BigInt(4),u=BigInt(5),c=BigInt(8);function l(t,e){const r=t%e;return r>=o?r:e+r}function h(t,e,r){if(r<=o||e 0");if(r===i)return o;let n=i;for(;e>o;)e&i&&(n=n*t%r),t=t*t%r,e>>=i;return n}function d(t,e){if(t===o||e<=o)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=l(t,e),n=e,s=o,a=i,f=i,u=o;for(;r!==o;){const t=n/r,e=n%r,o=s-f*t,i=a-u*t;n=r,r=e,s=f,a=u,f=o,u=i}if(n!==i)throw new Error("invert: does not exist");return l(s,e)}function p(t){const e=(t-i)/s;let r,n,a;for(r=t-i,n=0;r%s===o;r/=s,n++);for(a=s;ao;)n*=n,n%=r;return n},e.invert=d,e.tonelliShanks=p,e.FpSqrt=y,e.isNegativeLE=(t,e)=>(l(t,e)&i)===i;const g=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function b(t,e,r){if(r 0");if(r===o)return t.ONE;if(r===i)return e;let n=t.ONE,s=e;for(;r>o;)r&i&&(n=t.mul(n,s)),s=t.sqr(s),r>>=i;return n}function w(t,e){const r=new Array(e.length),n=e.reduce(((e,n,o)=>t.is0(n)?e:(r[o]=e,t.mul(e,n))),t.ONE),o=t.inv(n);return e.reduceRight(((e,n,o)=>t.is0(n)?e:(r[o]=t.mul(e,r[o]),t.mul(e,n))),o),r}function m(t,e){const r=void 0!==e?e:t.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function E(t){if("bigint"!=typeof t)throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function B(t){const e=E(t);return e+Math.ceil(e/2)}e.validateField=function(t){const e=g.reduce(((t,e)=>(t[e]="function",t)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"});return(0,n.validateObject)(t,e)},e.FpPow=b,e.FpInvertBatch=w,e.FpDiv=function(t,e,r){return t.mul(e,"bigint"==typeof r?d(r,t.ORDER):t.inv(r))},e.FpIsSquare=function(t){const e=(t.ORDER-i)/s;return r=>{const n=t.pow(r,e);return t.eql(n,t.ZERO)||t.eql(n,t.ONE)}},e.nLength=m,e.Field=function(t,e,r=!1,s={}){if(t<=o)throw new Error(`Expected Field ORDER > 0, got ${t}`);const{nBitLength:a,nByteLength:f}=m(t,e);if(f>2048)throw new Error("Field lengths over 2048 bytes are not supported");const u=y(t),c=Object.freeze({ORDER:t,BITS:a,BYTES:f,MASK:(0,n.bitMask)(a),ZERO:o,ONE:i,create:e=>l(e,t),isValid:e=>{if("bigint"!=typeof e)throw new Error("Invalid field element: expected bigint, got "+typeof e);return o<=e&&et===o,isOdd:t=>(t&i)===i,neg:e=>l(-e,t),eql:(t,e)=>t===e,sqr:e=>l(e*e,t),add:(e,r)=>l(e+r,t),sub:(e,r)=>l(e-r,t),mul:(e,r)=>l(e*r,t),pow:(t,e)=>b(c,t,e),div:(e,r)=>l(e*d(r,t),t),sqrN:t=>t*t,addN:(t,e)=>t+e,subN:(t,e)=>t-e,mulN:(t,e)=>t*e,inv:e=>d(e,t),sqrt:s.sqrt||(t=>u(c,t)),invertBatch:t=>w(c,t),cmov:(t,e,r)=>r?e:t,toBytes:t=>r?(0,n.numberToBytesLE)(t,f):(0,n.numberToBytesBE)(t,f),fromBytes:t=>{if(t.length!==f)throw new Error(`Fp.fromBytes: expected ${f}, got ${t.length}`);return r?(0,n.bytesToNumberLE)(t):(0,n.bytesToNumberBE)(t)}});return Object.freeze(c)},e.FpSqrtOdd=function(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");const r=t.sqrt(e);return t.isOdd(r)?r:t.neg(r)},e.FpSqrtEven=function(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");const r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r},e.hashToPrivateScalar=function(t,e,r=!1){const o=(t=(0,n.ensureBytes)("privateHash",t)).length,s=m(e).nByteLength+8;if(s<24||o1024)throw new Error(`hashToPrivateScalar: expected ${s}-1024 bytes of input, got ${o}`);return l(r?(0,n.bytesToNumberLE)(t):(0,n.bytesToNumberBE)(t),e-i)+i},e.getFieldBytesLength=E,e.getMinHashLength=B,e.mapHashToField=function(t,e,r=!1){const o=t.length,s=E(e),a=B(e);if(o<16||o1024)throw new Error(`expected ${a}-1024 bytes of input, got ${o}`);const f=l(r?(0,n.bytesToNumberBE)(t):(0,n.bytesToNumberLE)(t),e-i)+i;return r?(0,n.numberToBytesLE)(f,s):(0,n.numberToBytesBE)(f,s)}},854:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.montgomery=void 0;const n=r(967),o=r(484),i=BigInt(0),s=BigInt(1);e.montgomery=function(t){const e=(r=t,(0,o.validateObject)(r,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...r}));var r;const{P:a}=e,f=t=>(0,n.mod)(t,a),u=e.montgomeryBits,c=Math.ceil(u/8),l=e.nByteLength,h=e.adjustScalarBytes||(t=>t),d=e.powPminus2||(t=>(0,n.pow)(t,a-BigInt(2),a));function p(t,e,r){const n=f(t*(e-r));return[e=f(e-n),r=f(r+n)]}function y(t){if("bigint"==typeof t&&i<=t&&t =i;t--){const e=n>>t&s;w^=e,a=p(w,c,h),c=a[0],h=a[1],a=p(w,l,b),l=a[0],b=a[1],w=e;const r=c+l,i=f(r*r),u=c-l,d=f(u*u),y=i-d,m=h+b,E=f((h-b)*r),B=f(m*u),x=E+B,v=E-B;h=f(x*x),b=f(o*f(v*v)),c=f(i*d),l=f(y*(i+f(g*y)))}a=p(w,c,h),c=a[0],h=a[1],a=p(w,l,b),l=a[0],b=a[1];const m=d(l);return f(c*m)}(r,function(t){const e=(0,o.ensureBytes)("scalar",t),r=e.length;if(r!==c&&r!==l)throw new Error(`Expected ${c} or ${l} bytes, got ${r}`);return(0,o.bytesToNumberLE)(h(e))}(t));if(n===i)throw new Error("Invalid private or public key received");return b(n)}const m=b(e.Gu);function E(t){return w(t,m)}return{scalarMult:w,scalarMultBase:E,getSharedSecret:(t,e)=>w(t,e),getPublicKey:t=>E(t),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:m}}},484:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.validateObject=e.createHmacDrbg=e.bitMask=e.bitSet=e.bitGet=e.bitLen=e.utf8ToBytes=e.equalBytes=e.concatBytes=e.ensureBytes=e.numberToVarBytesBE=e.numberToBytesLE=e.numberToBytesBE=e.bytesToNumberLE=e.bytesToNumberBE=e.hexToBytes=e.hexToNumber=e.numberToHexUnpadded=e.bytesToHex=e.isBytes=void 0;const r=BigInt(0),n=BigInt(1),o=BigInt(2);function i(t){return t instanceof Uint8Array||null!=t&&"object"==typeof t&&"Uint8Array"===t.constructor.name}e.isBytes=i;const s=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));function a(t){if(!i(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r=c._0&&t<=c._9?t-c._0:t>=c._A&&t<=c._F?t-(c._A-10):t>=c._a&&t<=c._f?t-(c._a-10):void 0}function h(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let e=0,o=0;er;t>>=n,e+=1);return e},e.bitGet=function(t,e){return t>>BigInt(e)&n},e.bitSet=(t,e,o)=>t|(o?n:r)<(o<new Uint8Array(t),g=t=>Uint8Array.from(t);e.createHmacDrbg=function(t,e,r){if("number"!=typeof t||t<2)throw new Error("hashLen must be a number");if("number"!=typeof e||e<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");let n=y(t),o=y(t),i=0;const s=()=>{n.fill(1),o.fill(0),i=0},a=(...t)=>r(o,n,...t),f=(t=y())=>{o=a(g([0]),t),n=a(),0!==t.length&&(o=a(g([1]),t),n=a())},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let t=0;const r=[];for(;t{let r;for(s(),f(t);!(r=e(u()));)f();return s(),r}};const b={bigint:t=>"bigint"==typeof t,function:t=>"function"==typeof t,boolean:t=>"boolean"==typeof t,string:t=>"string"==typeof t,stringOrUint8Array:t=>"string"==typeof t||i(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>"function"==typeof t&&Number.isSafeInteger(t.outputLen)};e.validateObject=function(t,e,r={}){const n=(e,r,n)=>{const o=b[r];if("function"!=typeof o)throw new Error(`Invalid validator "${r}", expected function`);const i=t[e];if(!(n&&void 0===i||o(i,t)))throw new Error(`Invalid param ${String(e)}=${i} (${typeof i}), expected ${r}`)};for(const[t,r]of Object.entries(e))n(t,r,!1);for(const[t,e]of Object.entries(r))n(t,e,!0);return t}},459:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.hash_to_ristretto255=e.hashToRistretto255=e.RistrettoPoint=e.encodeToCurve=e.hashToCurve=e.edwardsToMontgomeryPriv=e.edwardsToMontgomery=e.edwardsToMontgomeryPub=e.x25519=e.ed25519ph=e.ed25519ctx=e.ed25519=e.ED25519_TORSION_SUBGROUP=void 0;const n=r(102),o=r(175),i=r(377),s=r(854),a=r(967),f=r(484),u=r(761),c=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),h=BigInt(0),d=BigInt(1),p=BigInt(2),y=BigInt(5),g=BigInt(10),b=BigInt(20),w=BigInt(40),m=BigInt(80);function E(t){const e=c,r=t*t%e*t%e,n=(0,a.pow2)(r,p,e)*r%e,o=(0,a.pow2)(n,d,e)*t%e,i=(0,a.pow2)(o,y,e)*o%e,s=(0,a.pow2)(i,g,e)*i%e,f=(0,a.pow2)(s,b,e)*s%e,u=(0,a.pow2)(f,w,e)*f%e,l=(0,a.pow2)(u,m,e)*u%e,h=(0,a.pow2)(l,m,e)*u%e,E=(0,a.pow2)(h,g,e)*i%e;return{pow_p_5_8:(0,a.pow2)(E,p,e)*t%e,b2:r}}function B(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function x(t,e){const r=c,n=(0,a.mod)(e*e*e,r),o=E(t*(0,a.mod)(n*n*e,r)).pow_p_5_8;let i=(0,a.mod)(t*n*o,r);const s=(0,a.mod)(e*i*i,r),f=i,u=(0,a.mod)(i*l,r),h=s===t,d=s===(0,a.mod)(-t,r),p=s===(0,a.mod)(-t*l,r);return h&&(i=f),(d||p)&&(i=u),(0,a.isNegativeLE)(i,r)&&(i=(0,a.mod)(-i,r)),{isValid:h||d,value:i}}e.ED25519_TORSION_SUBGROUP=["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"];const v=(0,a.Field)(c,void 0,!0),A={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:v,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:n.sha512,randomBytes:o.randomBytes,adjustScalarBytes:B,uvRatio:x};function I(t,e,r){if(e.length>255)throw new Error("Context is too big");return(0,o.concatBytes)((0,o.utf8ToBytes)("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}function S(t){const{y:r}=e.ed25519.ExtendedPoint.fromHex(t),n=BigInt(1);return v.toBytes(v.create((n+r)*v.inv(n-r)))}e.ed25519=(0,i.twistedEdwards)(A),e.ed25519ctx=(0,i.twistedEdwards)({...A,domain:I}),e.ed25519ph=(0,i.twistedEdwards)({...A,domain:I,prehash:n.sha512}),e.x25519=(0,s.montgomery)({P:c,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=c,{pow_p_5_8:r,b2:n}=E(t);return(0,a.mod)((0,a.pow2)(r,BigInt(3),e)*n,e)},adjustScalarBytes:B,randomBytes:o.randomBytes}),e.edwardsToMontgomeryPub=S,e.edwardsToMontgomery=S,e.edwardsToMontgomeryPriv=function(t){const e=A.hash(t.subarray(0,32));return A.adjustScalarBytes(e).subarray(0,32)};const U=(v.ORDER+BigInt(3))/BigInt(8),O=v.pow(p,U),T=v.sqrt(v.neg(v.ONE)),k=(v.ORDER-BigInt(5))/BigInt(8),L=BigInt(486662),R=(0,a.FpSqrtEven)(v,v.neg(BigInt(486664)));const _=(()=>(0,u.createHasher)(e.ed25519.ExtendedPoint,(t=>function(t){const{xMn:e,xMd:r,yMn:n,yMd:o}=function(t){let e=v.sqr(t);e=v.mul(e,p);let r=v.add(e,v.ONE),n=v.neg(L),o=v.sqr(r),i=v.mul(o,r),s=v.mul(e,L);s=v.mul(s,n),s=v.add(s,o),s=v.mul(s,n);let a=v.sqr(i);o=v.sqr(a),a=v.mul(a,i),a=v.mul(a,s),o=v.mul(o,a);let f=v.pow(o,k);f=v.mul(f,a);let u=v.mul(f,T);o=v.sqr(f),o=v.mul(o,i);let c=v.eql(o,s),l=v.cmov(u,f,c),h=v.mul(n,e),y=v.mul(f,t);y=v.mul(y,O);let g=v.mul(y,T),b=v.mul(s,e);o=v.sqr(y),o=v.mul(o,i);let w=v.eql(o,b),m=v.cmov(g,y,w);o=v.sqr(l),o=v.mul(o,i);let E=v.eql(o,s),B=v.cmov(h,n,E),x=v.cmov(m,l,E),A=v.isOdd(x);return x=v.cmov(x,v.neg(x),E!==A),{xMn:B,xMd:r,yMn:x,yMd:d}}(t);let i=v.mul(e,o);i=v.mul(i,R);let s=v.mul(r,n),a=v.sub(e,r),f=v.add(e,r),u=v.mul(s,f),c=v.eql(u,v.ZERO);i=v.cmov(i,v.ZERO,c),s=v.cmov(s,v.ONE,c),a=v.cmov(a,v.ONE,c),f=v.cmov(f,v.ONE,c);const l=v.invertBatch([s,f]);return{x:v.mul(i,l[0]),y:v.mul(a,l[1])}}(t[0])),{DST:"edwards25519_XMD:SHA-512_ELL2_RO_",encodeDST:"edwards25519_XMD:SHA-512_ELL2_NU_",p:v.ORDER,m:1,k:128,expand:"xmd",hash:n.sha512}))();function M(t){if(!(t instanceof $))throw new Error("RistrettoPoint expected")}e.hashToCurve=_.hashToCurve,e.encodeToCurve=_.encodeToCurve;const C=l,j=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),N=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),P=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),F=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),H=t=>x(d,t),D=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),V=t=>e.ed25519.CURVE.Fp.create((0,f.bytesToNumberLE)(t)&D);function q(t){const{d:r}=e.ed25519.CURVE,n=e.ed25519.CURVE.Fp.ORDER,o=e.ed25519.CURVE.Fp.create,i=o(C*t*t),s=o((i+d)*P);let f=BigInt(-1);const u=o((f-r*i)*o(i+r));let{isValid:c,value:l}=x(s,u),h=o(l*t);(0,a.isNegativeLE)(h,n)||(h=o(-h)),c||(l=h),c||(f=i);const p=o(f*(i-d)*F-u),y=l*l,g=o((l+l)*u),b=o(p*j),w=o(d-y),m=o(d+y);return new e.ed25519.ExtendedPoint(o(g*m),o(w*b),o(b*m),o(g*w))}class ${constructor(t){this.ep=t}static fromAffine(t){return new $(e.ed25519.ExtendedPoint.fromAffine(t))}static hashToCurve(t){t=(0,f.ensureBytes)("ristrettoHash",t,64);const e=q(V(t.slice(0,32))),r=q(V(t.slice(32,64)));return new $(e.add(r))}static fromHex(t){t=(0,f.ensureBytes)("ristrettoHex",t,32);const{a:r,d:n}=e.ed25519.CURVE,o=e.ed25519.CURVE.Fp.ORDER,i=e.ed25519.CURVE.Fp.create,s="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",u=V(t);if(!(0,f.equalBytes)((0,f.numberToBytesLE)(u,32),t)||(0,a.isNegativeLE)(u,o))throw new Error(s);const c=i(u*u),l=i(d+r*c),p=i(d-r*c),y=i(l*l),g=i(p*p),b=i(r*n*y-g),{isValid:w,value:m}=H(i(b*g)),E=i(m*p),B=i(m*E*b);let x=i((u+u)*E);(0,a.isNegativeLE)(x,o)&&(x=i(-x));const v=i(l*B),A=i(x*v);if(!w||(0,a.isNegativeLE)(A,o)||v===h)throw new Error(s);return new $(new e.ed25519.ExtendedPoint(x,v,d,A))}toRawBytes(){let{ex:t,ey:r,ez:n,et:o}=this.ep;const i=e.ed25519.CURVE.Fp.ORDER,s=e.ed25519.CURVE.Fp.create,u=s(s(n+r)*s(n-r)),c=s(t*r),l=s(c*c),{value:h}=H(s(u*l)),d=s(h*u),p=s(h*c),y=s(d*p*o);let g;if((0,a.isNegativeLE)(o*y,i)){let e=s(r*C),n=s(t*C);t=e,r=n,g=s(d*N)}else g=p;(0,a.isNegativeLE)(t*y,i)&&(r=s(-r));let b=s((n-r)*g);return(0,a.isNegativeLE)(b,i)&&(b=s(-b)),(0,f.numberToBytesLE)(b,32)}toHex(){return(0,f.bytesToHex)(this.toRawBytes())}toString(){return this.toHex()}equals(t){M(t);const{ex:r,ey:n}=this.ep,{ex:o,ey:i}=t.ep,s=e.ed25519.CURVE.Fp.create,a=s(r*i)===s(n*o),f=s(n*i)===s(r*o);return a||f}add(t){return M(t),new $(this.ep.add(t.ep))}subtract(t){return M(t),new $(this.ep.subtract(t.ep))}multiply(t){return new $(this.ep.multiply(t))}multiplyUnsafe(t){return new $(this.ep.multiplyUnsafe(t))}double(){return new $(this.ep.double())}negate(){return new $(this.ep.negate())}}e.RistrettoPoint=($.BASE||($.BASE=new $(e.ed25519.ExtendedPoint.BASE)),$.ZERO||($.ZERO=new $(e.ed25519.ExtendedPoint.ZERO)),$),e.hashToRistretto255=(t,e)=>{const r=e.DST,i="string"==typeof r?(0,o.utf8ToBytes)(r):r,s=(0,u.expand_message_xmd)(t,i,64,n.sha512);return $.hashToCurve(s)},e.hash_to_ristretto255=e.hashToRistretto255},557:(t,e)=>{"use strict";function r(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function n(t){if("boolean"!=typeof t)throw new Error(`Expected boolean, not ${t}`)}function o(t,...e){if(!((r=t)instanceof Uint8Array||null!=r&&"object"==typeof r&&"Uint8Array"===r.constructor.name))throw new Error("Expected Uint8Array");var r;if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function i(t){if("function"!=typeof t||"function"!=typeof t.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");r(t.outputLen),r(t.blockLen)}function s(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function a(t,e){o(t);const r=e.outputLen;if(t.length{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SHA2=void 0;const n=r(557),o=r(175);class i extends o.Hash{constructor(t,e,r,n){super(),this.blockLen=t,this.outputLen=e,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=(0,o.createView)(this.buffer)}update(t){(0,n.exists)(this);const{view:e,buffer:r,blockLen:i}=this,s=(t=(0,o.toBytes)(t)).length;for(let n=0;ni-a&&(this.process(r,0),a=0);for(let t=a;t>o&i),a=Number(r&i),f=n?4:0,u=n?0:4;t.setUint32(e+f,s,n),t.setUint32(e+u,a,n)}(r,i-8,BigInt(8*this.length),s),this.process(r,0);const f=(0,o.createView)(t),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=u/4,l=this.get();if(c>l.length)throw new Error("_sha2: outputLen bigger than state");for(let t=0;t{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.add5L=e.add5H=e.add4H=e.add4L=e.add3H=e.add3L=e.add=e.rotlBL=e.rotlBH=e.rotlSL=e.rotlSH=e.rotr32L=e.rotr32H=e.rotrBL=e.rotrBH=e.rotrSL=e.rotrSH=e.shrSL=e.shrSH=e.toBig=e.split=e.fromBig=void 0;const r=BigInt(2**32-1),n=BigInt(32);function o(t,e=!1){return e?{h:Number(t&r),l:Number(t>>n&r)}:{h:0|Number(t>>n&r),l:0|Number(t&r)}}function i(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;iBigInt(t>>>0)<>>0);e.toBig=s;const a=(t,e,r)=>t>>>r;e.shrSH=a;const f=(t,e,r)=>t<<32-r|e>>>r;e.shrSL=f;const u=(t,e,r)=>t>>>r|e<<32-r;e.rotrSH=u;const c=(t,e,r)=>t<<32-r|e>>>r;e.rotrSL=c;const l=(t,e,r)=>t<<64-r|e>>>r-32;e.rotrBH=l;const h=(t,e,r)=>t>>>r-32|e<<64-r;e.rotrBL=h;const d=(t,e)=>e;e.rotr32H=d;const p=(t,e)=>t;e.rotr32L=p;const y=(t,e,r)=>t<>>32-r;e.rotlSH=y;const g=(t,e,r)=>e<>>32-r;e.rotlSL=g;const b=(t,e,r)=>e<>>64-r;e.rotlBH=b;const w=(t,e,r)=>t<>>64-r;function m(t,e,r,n){const o=(e>>>0)+(n>>>0);return{h:t+r+(o/2**32|0)|0,l:0|o}}e.rotlBL=w,e.add=m;const E=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0);e.add3L=E;const B=(t,e,r,n)=>e+r+n+(t/2**32|0)|0;e.add3H=B;const x=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0);e.add4L=x;const v=(t,e,r,n,o)=>e+r+n+o+(t/2**32|0)|0;e.add4H=v;const A=(t,e,r,n,o)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(o>>>0);e.add5L=A;const I=(t,e,r,n,o,i)=>e+r+n+o+i+(t/2**32|0)|0;e.add5H=I;const S={fromBig:o,split:i,toBig:s,shrSH:a,shrSL:f,rotrSH:u,rotrSL:c,rotrBH:l,rotrBL:h,rotr32H:d,rotr32L:p,rotlSH:y,rotlSL:g,rotlBH:b,rotlBL:w,add:m,add3L:E,add3H:B,add4L:x,add4H:v,add5H:I,add5L:A};e.default=S},145:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.crypto=void 0,e.crypto="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0},102:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.sha384=e.sha512_256=e.sha512_224=e.sha512=e.SHA512=void 0;const n=r(915),o=r(318),i=r(175),[s,a]=(()=>o.default.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((t=>BigInt(t)))))(),f=new Uint32Array(80),u=new Uint32Array(80);class c extends n.SHA2{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:t,Al:e,Bh:r,Bl:n,Ch:o,Cl:i,Dh:s,Dl:a,Eh:f,El:u,Fh:c,Fl:l,Gh:h,Gl:d,Hh:p,Hl:y}=this;return[t,e,r,n,o,i,s,a,f,u,c,l,h,d,p,y]}set(t,e,r,n,o,i,s,a,f,u,c,l,h,d,p,y){this.Ah=0|t,this.Al=0|e,this.Bh=0|r,this.Bl=0|n,this.Ch=0|o,this.Cl=0|i,this.Dh=0|s,this.Dl=0|a,this.Eh=0|f,this.El=0|u,this.Fh=0|c,this.Fl=0|l,this.Gh=0|h,this.Gl=0|d,this.Hh=0|p,this.Hl=0|y}process(t,e){for(let r=0;r<16;r++,e+=4)f[r]=t.getUint32(e),u[r]=t.getUint32(e+=4);for(let t=16;t<80;t++){const e=0|f[t-15],r=0|u[t-15],n=o.default.rotrSH(e,r,1)^o.default.rotrSH(e,r,8)^o.default.shrSH(e,r,7),i=o.default.rotrSL(e,r,1)^o.default.rotrSL(e,r,8)^o.default.shrSL(e,r,7),s=0|f[t-2],a=0|u[t-2],c=o.default.rotrSH(s,a,19)^o.default.rotrBH(s,a,61)^o.default.shrSH(s,a,6),l=o.default.rotrSL(s,a,19)^o.default.rotrBL(s,a,61)^o.default.shrSL(s,a,6),h=o.default.add4L(i,l,u[t-7],u[t-16]),d=o.default.add4H(h,n,c,f[t-7],f[t-16]);f[t]=0|d,u[t]=0|h}let{Ah:r,Al:n,Bh:i,Bl:c,Ch:l,Cl:h,Dh:d,Dl:p,Eh:y,El:g,Fh:b,Fl:w,Gh:m,Gl:E,Hh:B,Hl:x}=this;for(let t=0;t<80;t++){const e=o.default.rotrSH(y,g,14)^o.default.rotrSH(y,g,18)^o.default.rotrBH(y,g,41),v=o.default.rotrSL(y,g,14)^o.default.rotrSL(y,g,18)^o.default.rotrBL(y,g,41),A=y&b^~y&m,I=g&w^~g&E,S=o.default.add5L(x,v,I,a[t],u[t]),U=o.default.add5H(S,B,e,A,s[t],f[t]),O=0|S,T=o.default.rotrSH(r,n,28)^o.default.rotrBH(r,n,34)^o.default.rotrBH(r,n,39),k=o.default.rotrSL(r,n,28)^o.default.rotrBL(r,n,34)^o.default.rotrBL(r,n,39),L=r&i^r&l^i&l,R=n&c^n&h^c&h;B=0|m,x=0|E,m=0|b,E=0|w,b=0|y,w=0|g,({h:y,l:g}=o.default.add(0|d,0|p,0|U,0|O)),d=0|l,p=0|h,l=0|i,h=0|c,i=0|r,c=0|n;const _=o.default.add3L(O,k,R);r=o.default.add3H(_,U,T,L),n=0|_}({h:r,l:n}=o.default.add(0|this.Ah,0|this.Al,0|r,0|n)),({h:i,l:c}=o.default.add(0|this.Bh,0|this.Bl,0|i,0|c)),({h:l,l:h}=o.default.add(0|this.Ch,0|this.Cl,0|l,0|h)),({h:d,l:p}=o.default.add(0|this.Dh,0|this.Dl,0|d,0|p)),({h:y,l:g}=o.default.add(0|this.Eh,0|this.El,0|y,0|g)),({h:b,l:w}=o.default.add(0|this.Fh,0|this.Fl,0|b,0|w)),({h:m,l:E}=o.default.add(0|this.Gh,0|this.Gl,0|m,0|E)),({h:B,l:x}=o.default.add(0|this.Hh,0|this.Hl,0|B,0|x)),this.set(r,n,i,c,l,h,d,p,y,g,b,w,m,E,B,x)}roundClean(){f.fill(0),u.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}e.SHA512=c;class l extends c{constructor(){super(),this.Ah=-1942145080,this.Al=424955298,this.Bh=1944164710,this.Bl=-1982016298,this.Ch=502970286,this.Cl=855612546,this.Dh=1738396948,this.Dl=1479516111,this.Eh=258812777,this.El=2077511080,this.Fh=2011393907,this.Fl=79989058,this.Gh=1067287976,this.Gl=1780299464,this.Hh=286451373,this.Hl=-1848208735,this.outputLen=28}}class h extends c{constructor(){super(),this.Ah=573645204,this.Al=-64227540,this.Bh=-1621794909,this.Bl=-934517566,this.Ch=596883563,this.Cl=1867755857,this.Dh=-1774684391,this.Dl=1497426621,this.Eh=-1775747358,this.El=-1467023389,this.Fh=-1101128155,this.Fl=1401305490,this.Gh=721525244,this.Gl=746961066,this.Hh=246885852,this.Hl=-2117784414,this.outputLen=32}}class d extends c{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48}}e.sha512=(0,i.wrapConstructor)((()=>new c)),e.sha512_224=(0,i.wrapConstructor)((()=>new l)),e.sha512_256=(0,i.wrapConstructor)((()=>new h)),e.sha384=(0,i.wrapConstructor)((()=>new d))},175:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.randomBytes=e.wrapXOFConstructorWithOpts=e.wrapConstructorWithOpts=e.wrapConstructor=e.checkOpts=e.Hash=e.concatBytes=e.toBytes=e.utf8ToBytes=e.asyncLoop=e.nextTick=e.hexToBytes=e.bytesToHex=e.isLE=e.rotr=e.createView=e.u32=e.u8=void 0;const n=r(145);function o(t){return t instanceof Uint8Array||null!=t&&"object"==typeof t&&"Uint8Array"===t.constructor.name}if(e.u8=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e.u32=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),e.createView=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),e.rotr=(t,e)=>t<<32-e|t>>>e,e.isLE=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0],!e.isLE)throw new Error("Non little-endian hardware is not supported");const i=Array.from({length:256},((t,e)=>e.toString(16).padStart(2,"0")));e.bytesToHex=function(t){if(!o(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r=s&&t<=a?t-s:t>=f&&t<=u?t-(f-10):t>=c&&t<=l?t-(c-10):void 0}function d(t){if("string"!=typeof t)throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array((new TextEncoder).encode(t))}function p(t){if("string"==typeof t&&(t=d(t)),!o(t))throw new Error("expected Uint8Array, got "+typeof t);return t}e.hexToBytes=function(t){if("string"!=typeof t)throw new Error("hex string expected, got "+typeof t);const e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const n=new Uint8Array(r);for(let e=0,o=0;e{},e.asyncLoop=async function(t,r,n){let o=Date.now();for(let i=0;i=0&&tt().update(p(e)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e},e.wrapConstructorWithOpts=function(t){const e=(e,r)=>t(r).update(p(e)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=e=>t(e),e},e.wrapXOFConstructorWithOpts=function(t){const e=(e,r)=>t(r).update(p(e)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=e=>t(e),e},e.randomBytes=function(t=32){if(n.crypto&&"function"==typeof n.crypto.getRandomValues)return n.crypto.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}},526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,i=a(t),s=i[0],f=i[1],u=new o(function(t,e,r){return 3*(e+r)/4-r}(0,s,f)),c=0,l=f>0?s-4:s;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===f&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===f&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,o=n%3,i=[],s=16383,a=0,u=n-o;au?u:a+s));return 1===o?(e=t[n-1],i.push(r[e>>2]+r[e<<4&63]+"==")):2===o&&(e=(t[n-2]<<8)+t[n-1],i.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),i.join("")};for(var r=[],n=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)r[s]=i[s],n[i.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function f(t,e,n){for(var o,i,s=[],a=e;a>18&63]+r[i>>12&63]+r[i>>6&63]+r[63&i]);return s.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},343:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.bech32m=e.bech32=void 0;const r="qpzry9x8gf2tvdw0s3jn54khce6mua7l",n={};for(let t=0;t<32;t++){const e=r.charAt(t);n[e]=t}function o(t){const e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function i(t){let e=1;for(let r=0;r126)return"Invalid prefix ("+t+")";e=o(e)^n>>5}e=o(e);for(let r=0;r=r;)i-=r,a.push(o>>i&s);if(n)i>0&&a.push(o<=e)return"Excess padding";if(o<r)return"Exceeds length limit";const s=t.toLowerCase(),a=t.toUpperCase();if(t!==s&&t!==a)return"Mixed-case string "+t;const f=(t=s).lastIndexOf("1");if(-1===f)return"No separator character for "+t;if(0===f)return"Missing prefix for "+t;const u=t.slice(0,f),c=t.slice(f+1);if(c.length<6)return"Data too short";let l=i(u);if("string"==typeof l)return l;const h=[];for(let t=0;t=c.length||h.push(r)}return l!==e?"Invalid checksum for "+t:{prefix:u,words:h}}return e="bech32"===t?1:734539939,{decodeUnsafe:function(t,e){const r=s(t,e);if("object"==typeof r)return r},decode:function(t,e){const r=s(t,e);if("object"==typeof r)return r;throw new Error(r)},encode:function(t,n,s){if(s=s||90,t.length+7+n.length>s)throw new TypeError("Exceeds length limit");let a=i(t=t.toLowerCase());if("string"==typeof a)throw new Error(a);let f=t+"1";for(let t=0;t>5!=0)throw new Error("Non 5-bit word");a=o(a)^e,f+=r.charAt(e)}for(let t=0;t<6;++t)a=o(a);a^=e;for(let t=0;t<6;++t)f+=r.charAt(a>>5*(5-t)&31);return f},toWords:a,fromWordsUnsafe:f,fromWords:u}}e.bech32=c("bech32"),e.bech32m=c("bech32m")},156:(t,e,r)=>{const n=r(829);function o(t,e,r){const n=t[e]+t[r];let o=t[e+1]+t[r+1];n>=4294967296&&o++,t[e]=n,t[e+1]=o}function i(t,e,r,n){let o=t[e]+r;r<0&&(o+=4294967296);let i=t[e+1]+n;o>=4294967296&&i++,t[e]=o,t[e+1]=i}function s(t,e){return t[e]^t[e+1]<<8^t[e+2]<<16^t[e+3]<<24}function a(t,e,r,n,s,a){const f=l[s],u=l[s+1],h=l[a],d=l[a+1];o(c,t,e),i(c,t,f,u);let p=c[n]^c[t],y=c[n+1]^c[t+1];c[n]=y,c[n+1]=p,o(c,r,n),p=c[e]^c[r],y=c[e+1]^c[r+1],c[e]=p>>>24^y<<8,c[e+1]=y>>>24^p<<8,o(c,t,e),i(c,t,h,d),p=c[n]^c[t],y=c[n+1]^c[t+1],c[n]=p>>>16^y<<16,c[n+1]=y>>>16^p<<16,o(c,r,n),p=c[e]^c[r],y=c[e+1]^c[r+1],c[e]=y>>>31^p<<1,c[e+1]=p>>>31^y<<1}const f=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),u=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3].map((function(t){return 2*t}))),c=new Uint32Array(32),l=new Uint32Array(32);function h(t,e){let r=0;for(r=0;r<16;r++)c[r]=t.h[r],c[r+16]=f[r];for(c[24]=c[24]^t.t,c[25]=c[25]^t.t/4294967296,e&&(c[28]=~c[28],c[29]=~c[29]),r=0;r<32;r++)l[r]=s(t.b,4*r);for(r=0;r<12;r++)a(0,8,16,24,u[16*r+0],u[16*r+1]),a(2,10,18,26,u[16*r+2],u[16*r+3]),a(4,12,20,28,u[16*r+4],u[16*r+5]),a(6,14,22,30,u[16*r+6],u[16*r+7]),a(0,10,20,30,u[16*r+8],u[16*r+9]),a(2,12,22,24,u[16*r+10],u[16*r+11]),a(4,14,16,26,u[16*r+12],u[16*r+13]),a(6,8,18,28,u[16*r+14],u[16*r+15]);for(r=0;r<16;r++)t.h[r]=t.h[r]^c[r]^c[r+16]}const d=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function p(t,e,r,n){if(0===t||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(e&&e.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(r&&16!==r.length)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(n&&16!==n.length)throw new Error("Illegal personal, expected Uint8Array with length is 16");const o={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};d.fill(0),d[0]=t,e&&(d[1]=e.length),d[2]=1,d[3]=1,r&&d.set(r,32),n&&d.set(n,48);for(let t=0;t<16;t++)o.h[t]=f[t]^s(d,4*t);return e&&(y(o,e),o.c=128),o}function y(t,e){for(let r=0;r>2]>>8*(3&r);return e}function b(t,e,r,o,i){r=r||64,t=n.normalizeInput(t),o&&(o=n.normalizeInput(o)),i&&(i=n.normalizeInput(i));const s=p(r,e,o,i);return y(s,t),g(s)}t.exports={blake2b:b,blake2bHex:function(t,e,r,o,i){const s=b(t,e,r,o,i);return n.toHex(s)},blake2bInit:p,blake2bUpdate:y,blake2bFinal:g}},843:(t,e,r)=>{const n=r(829);function o(t,e){return t[e]^t[e+1]<<8^t[e+2]<<16^t[e+3]<<24}function i(t,e,r,n,o,i){u[t]=u[t]+u[e]+o,u[n]=s(u[n]^u[t],16),u[r]=u[r]+u[n],u[e]=s(u[e]^u[r],12),u[t]=u[t]+u[e]+i,u[n]=s(u[n]^u[t],8),u[r]=u[r]+u[n],u[e]=s(u[e]^u[r],7)}function s(t,e){return t>>>e^t<<32-e}const a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),f=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),u=new Uint32Array(16),c=new Uint32Array(16);function l(t,e){let r=0;for(r=0;r<8;r++)u[r]=t.h[r],u[r+8]=a[r];for(u[12]^=t.t,u[13]^=t.t/4294967296,e&&(u[14]=~u[14]),r=0;r<16;r++)c[r]=o(t.b,4*r);for(r=0;r<10;r++)i(0,4,8,12,c[f[16*r+0]],c[f[16*r+1]]),i(1,5,9,13,c[f[16*r+2]],c[f[16*r+3]]),i(2,6,10,14,c[f[16*r+4]],c[f[16*r+5]]),i(3,7,11,15,c[f[16*r+6]],c[f[16*r+7]]),i(0,5,10,15,c[f[16*r+8]],c[f[16*r+9]]),i(1,6,11,12,c[f[16*r+10]],c[f[16*r+11]]),i(2,7,8,13,c[f[16*r+12]],c[f[16*r+13]]),i(3,4,9,14,c[f[16*r+14]],c[f[16*r+15]]);for(r=0;r<8;r++)t.h[r]^=u[r]^u[r+8]}function h(t,e){if(!(t>0&&t<=32))throw new Error("Incorrect output length, should be in [1, 32]");const r=e?e.length:0;if(e&&!(r>0&&r<=32))throw new Error("Incorrect key length, should be in [1, 32]");const n={h:new Uint32Array(a),b:new Uint8Array(64),c:0,t:0,outlen:t};return n.h[0]^=16842752^r<<8^t,r>0&&(d(n,e),n.c=64),n}function d(t,e){for(let r=0;r>2]>>8*(3&r)&255;return e}function y(t,e,r){r=r||32,t=n.normalizeInput(t);const o=h(r,e);return d(o,t),p(o)}t.exports={blake2s:y,blake2sHex:function(t,e,r){const o=y(t,e,r);return n.toHex(o)},blake2sInit:h,blake2sUpdate:d,blake2sFinal:p}},493:(t,e,r)=>{const n=r(156),o=r(843);t.exports={blake2b:n.blake2b,blake2bHex:n.blake2bHex,blake2bInit:n.blake2bInit,blake2bUpdate:n.blake2bUpdate,blake2bFinal:n.blake2bFinal,blake2s:o.blake2s,blake2sHex:o.blake2sHex,blake2sInit:o.blake2sInit,blake2sUpdate:o.blake2sUpdate,blake2sFinal:o.blake2sFinal}},829:t=>{function e(t){return(4294967296+t).toString(16).substring(1)}t.exports={normalizeInput:function(t){let e;if(t instanceof Uint8Array)e=t;else{if("string"!=typeof t)throw new Error("Input must be an string, Buffer or Uint8Array");e=(new TextEncoder).encode(t)}return e},toHex:function(t){return Array.prototype.map.call(t,(function(t){return(t<16?"0":"")+t.toString(16)})).join("")},debugPrint:function(t,r,n){let o="\n"+t+" = ";for(let i=0;i{"use strict";const n=r(526),o=r(251),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=f,e.SlowBuffer=function(t){return+t!=t&&(t=0),f.alloc(+t)},e.INSPECT_MAX_BYTES=50;const s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,f.prototype),e}function f(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return l(t)}return u(t,e,r)}function u(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|y(t,e);let n=a(r);const o=n.write(t,e);return o!==r&&(n=n.slice(0,o)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Z(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return h(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Z(t,ArrayBuffer)||t&&Z(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Z(t,SharedArrayBuffer)||t&&Z(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return f.from(n,e,r);const o=function(t){if(f.isBuffer(t)){const e=0|p(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||J(t.length)?a(0):h(t):"Buffer"===t.type&&Array.isArray(t.data)?h(t.data):void 0}(t);if(o)return o;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return f.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function l(t){return c(t),a(t<0?0:0|p(t))}function h(t){const e=t.length<0?0:0|p(t.length),r=a(e);for(let n=0;n=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function y(t,e){if(f.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;let o=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return W(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(t).length;default:if(o)return n?-1:W(t).length;e=(""+e).toLowerCase(),o=!0}}function g(t,e,r){let n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return O(this,e,r);case"latin1":case"binary":return T(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function b(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function w(t,e,r,n,o){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),J(r=+r)&&(r=o?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(o)return-1;r=t.length-1}else if(r<0){if(!o)return-1;r=0}if("string"==typeof e&&(e=f.from(e,n)),f.isBuffer(e))return 0===e.length?-1:m(t,e,r,n,o);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):m(t,[e],r,n,o);throw new TypeError("val must be string, number or Buffer")}function m(t,e,r,n,o){let i,s=1,a=t.length,f=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;s=2,a/=2,f/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(o){let n=-1;for(i=r;ia&&(r=a-f),i=r;i>=0;i--){let r=!0;for(let n=0;no&&(n=o):n=o;const i=e.length;let s;for(n>i/2&&(n=i/2),s=0;s>8,o=r%256,i.push(o),i.push(n);return i}(e,t.length-r),t,r,n)}function I(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);const n=[];let o=e;for(;o239?4:e>223?3:e>191?2:1;if(o+s<=r){let r,n,a,f;switch(s){case 1:e<128&&(i=e);break;case 2:r=t[o+1],128==(192&r)&&(f=(31&e)<<6|63&r,f>127&&(i=f));break;case 3:r=t[o+1],n=t[o+2],128==(192&r)&&128==(192&n)&&(f=(15&e)<<12|(63&r)<<6|63&n,f>2047&&(f<55296||f>57343)&&(i=f));break;case 4:r=t[o+1],n=t[o+2],a=t[o+3],128==(192&r)&&128==(192&n)&&128==(192&a)&&(f=(15&e)<<18|(63&r)<<12|(63&n)<<6|63&a,f>65535&&f<1114112&&(i=f))}}null===i?(i=65533,s=1):i>65535&&(i-=65536,n.push(i>>>10&1023|55296),i=56320|1023&i),n.push(i),o+=s}return function(t){const e=t.length;if(e<=U)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nn.length?(f.isBuffer(e)||(e=f.from(e)),e.copy(n,o)):Uint8Array.prototype.set.call(n,e,o);else{if(!f.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(n,o)}o+=e.length}return n},f.byteLength=y,f.prototype._isBuffer=!0,f.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;er&&(t+=" ... "),""},i&&(f.prototype[i]=f.prototype.inspect),f.prototype.compare=function(t,e,r,n,o){if(Z(t,Uint8Array)&&(t=f.from(t,t.offset,t.byteLength)),!f.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),e<0||r>t.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&e>=r)return 0;if(n>=o)return-1;if(e>=r)return 1;if(this===t)return 0;let i=(o>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0);const a=Math.min(i,s),u=this.slice(n,o),c=t.slice(e,r);for(let t=0;t>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}const o=this.length-e;if((void 0===r||r>o)&&(r=o),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let i=!1;for(;;)switch(n){case"hex":return E(this,t,e,r);case"utf8":case"utf-8":return B(this,t,e,r);case"ascii":case"latin1":case"binary":return x(this,t,e,r);case"base64":return v(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const U=4096;function O(t,e,r){let n="";r=Math.min(t.length,r);for(let o=e;on)&&(r=n);let o="";for(let n=e;nr)throw new RangeError("Trying to access beyond buffer length")}function _(t,e,r,n,o,i){if(!f.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>o||et.length)throw new RangeError("Index out of range")}function M(t,e,r,n,o){V(e,n,o,t,r,7);let i=Number(e&BigInt(4294967295));t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i,i>>=8,t[r++]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function C(t,e,r,n,o){V(e,n,o,t,r,7);let i=Number(e&BigInt(4294967295));t[r+7]=i,i>>=8,t[r+6]=i,i>>=8,t[r+5]=i,i>>=8,t[r+4]=i;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function j(t,e,r,n,o,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(t,e,r,n,i){return e=+e,r>>>=0,i||j(t,0,r,4),o.write(t,e,r,n,23,4),r+4}function P(t,e,r,n,i){return e=+e,r>>>=0,i||j(t,0,r,8),o.write(t,e,r,n,52,8),r+8}f.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||R(t,e,this.length);let n=this[t],o=1,i=0;for(;++i>>=0,e>>>=0,r||R(t,e,this.length);let n=this[t+--e],o=1;for(;e>0&&(o*=256);)n+=this[t+--e]*o;return n},f.prototype.readUint8=f.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},f.prototype.readBigUInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const n=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,o=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(n)+(BigInt(o)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const n=e*2**24+65536*this[++t]+256*this[++t]+this[++t],o=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(n)<>>=0,e>>>=0,r||R(t,e,this.length);let n=this[t],o=1,i=0;for(;++i=o&&(n-=Math.pow(2,8*e)),n},f.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||R(t,e,this.length);let n=e,o=1,i=this[t+--n];for(;n>0&&(o*=256);)i+=this[t+--n]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*e)),i},f.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},f.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},f.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},f.prototype.readBigInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const n=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(n)<>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);const n=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(n)<>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},f.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},f.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},f.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},f.prototype.writeUintLE=f.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||_(this,t,e,r,Math.pow(2,8*r)-1,0);let o=1,i=0;for(this[e]=255&t;++i>>=0,r>>>=0,n||_(this,t,e,r,Math.pow(2,8*r)-1,0);let o=r-1,i=1;for(this[e+o]=255&t;--o>=0&&(i*=256);)this[e+o]=t/i&255;return e+r},f.prototype.writeUint8=f.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,1,255,0),this[e]=255&t,e+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},f.prototype.writeBigUInt64LE=X((function(t,e=0){return M(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),f.prototype.writeBigUInt64BE=X((function(t,e=0){return C(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),f.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);_(this,t,e,r,n-1,-n)}let o=0,i=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+r},f.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){const n=Math.pow(2,8*r-1);_(this,t,e,r,n-1,-n)}let o=r-1,i=1,s=0;for(this[e+o]=255&t;--o>=0&&(i*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/i>>0)-s&255;return e+r},f.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},f.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},f.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},f.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},f.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||_(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},f.prototype.writeBigInt64LE=X((function(t,e=0){return M(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),f.prototype.writeBigInt64BE=X((function(t,e=0){return C(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),f.prototype.writeFloatLE=function(t,e,r){return N(this,t,e,!0,r)},f.prototype.writeFloatBE=function(t,e,r){return N(this,t,e,!1,r)},f.prototype.writeDoubleLE=function(t,e,r){return P(this,t,e,!0,r)},f.prototype.writeDoubleBE=function(t,e,r){return P(this,t,e,!1,r)},f.prototype.copy=function(t,e,r,n){if(!f.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function V(t,e,r,n,o,i){if(t>r||t3?0===e||e===BigInt(0)?`>= 0${n} and < 2${n} ** ${8*(i+1)}${n}`:`>= -(2${n} ** ${8*(i+1)-1}${n}) and < 2 ** ${8*(i+1)-1}${n}`:`>= ${e}${n} and <= ${r}${n}`,new F.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){q(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(n,o,i)}function q(t,e){if("number"!=typeof t)throw new F.ERR_INVALID_ARG_TYPE(e,"number",t)}function $(t,e,r){if(Math.floor(t)!==t)throw q(t,r),new F.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}H("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),H("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),H("ERR_OUT_OF_RANGE",(function(t,e,r){let n=`The value of "${t}" is out of range.`,o=r;return Number.isInteger(r)&&Math.abs(r)>2**32?o=D(String(r)):"bigint"==typeof r&&(o=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(o=D(o)),o+="n"),n+=` It must be ${e}. Received ${o}`,n}),RangeError);const K=/[^+/0-9A-Za-z-_]/g;function W(t,e){let r;e=e||1/0;const n=t.length;let o=null;const i=[];for(let s=0;s55295&&r<57344){if(!o){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(e-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function z(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function G(t,e,r,n){let o;for(o=0;o=e.length||o>=t.length);++o)e[o+r]=t[o];return o}function Z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function J(t){return t!=t}const Y=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const n=16*r;for(let o=0;o<16;++o)e[n+o]=t[r]+t[o]}return e}();function X(t){return"undefined"==typeof BigInt?Q:t}function Q(){throw new Error("BigInt not supported")}},251:(t,e)=>{e.read=function(t,e,r,n,o){var i,s,a=8*o-n-1,f=(1<>1,c=-7,l=r?o-1:0,h=r?-1:1,d=t[e+l];for(l+=h,i=d&(1<<-c)-1,d>>=-c,c+=a;c>0;i=256*i+t[e+l],l+=h,c-=8);for(s=i&(1<<-c)-1,i>>=-c,c+=n;c>0;s=256*s+t[e+l],l+=h,c-=8);if(0===i)i=1-u;else{if(i===f)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),i-=u}return(d?-1:1)*s*Math.pow(2,i-n)},e.write=function(t,e,r,n,o,i){var s,a,f,u=8*i-o-1,c=(1<>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:i-1,p=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(f=Math.pow(2,-s))<1&&(s--,f*=2),(e+=s+l>=1?h/f:h*Math.pow(2,1-l))*f>=2&&(s++,f/=2),s+l>=c?(a=0,s=c):s+l>=1?(a=(e*f-1)*Math.pow(2,o),s+=l):(a=e*Math.pow(2,l-1)*Math.pow(2,o),s=0));o>=8;t[r+d]=255&a,d+=p,a/=256,o-=8);for(s=s<0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*y}},92:(t,e,r)=>{"use strict";var n=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r.g)return r.g;throw new Error("unable to locate global object")}();t.exports=e=n.fetch,n.fetch&&(e.default=n.fetch.bind(n)),e.Headers=n.Headers,e.Request=n.Request,e.Response=n.Response},374:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.mkCardanoWalletExtension=e.mkCip95Wallet=void 0;const n=r(493),o=r(329),i=r(772),s=r(353),a=r(329),f=r(493),u=r(287),c=new a.Encoder({mapsAsObjects:!1,useRecords:!1}),l=new a.Decoder({mapsAsObjects:!1});class h{constructor(t){this.value=t}}async function d(t,e){const r=e.networkId??0,o=t.addressBech32(r);console.debug("Wallet address:"+o);const i=u.Buffer.from(t.addressRawBytes(r)),a=i.toString("hex"),h=u.Buffer.from(t.rewardAddressRawBytes(r)).toString("hex"),d=u.Buffer.from(t.stakeKey.public).toString("hex");return{getBalance:async()=>(await s.default.queryUtxos(o),"0"),submitTx:async t=>(console.debug("[CardanoWallet] SubmittingTx: ",t),await s.default.submitTransaction(t).then((async e=>function(t){let e=l.decode(u.Buffer.from(t,"hex"));const r=Uint8Array.from(c.encode(e[0]));return(0,f.blake2bHex)(r,void 0,32)}(t)))),getUtxos:(t,e)=>p(o,i,t,e),getUsedAddresses:async()=>[a],getUnusedAddresses:async()=>[a],getChangeAddress:async()=>a,getRewardAddresses:async()=>[h,...e.extraRewardAddresses??[]],getNetworkId:async()=>r,experimental:{on:(t,e)=>{},off:(t,e)=>{},getCollateral:()=>""},cip95:{getPubDRepKey:async()=>d,getUnregisteredPubStakeKeys:async()=>[d],getRegisteredPubStakeKeys:async()=>[d,...e.extraRegisteredPubStakeKeys??[]]},getActivePubStakeKeys:async()=>[h],signTx:async(r,o)=>{let i=l.decode(u.Buffer.from(r,"hex"));const s=u.Buffer.from(c.encode(i)).toString("hex");r!=s&&(console.warn("[CardanoWallet] Re-encoded tx is not same"),console.warn("[CardanoWallet] Starting Tx",r),console.warn("[CardanoWallet] Re-Encoded Tx",s));const a=Uint8Array.from(c.encode(i[0])),f=n.blake2b(a,void 0,32);console.debug("[CardanoWallet] Signing Tx hash="+u.Buffer.from(f).toString("hex"));const h=await t.paymentKey.signRaw(f),d=new Map,p=[[t.paymentKey.public,h]];if(e.enableStakeSigning){console.debug("Signing stake key...");const e=await t.stakeKey.signRaw(f);p.push([t.stakeKey.public,e])}return d.set(0,p),u.Buffer.from(c.encode(d)).toString("hex")},signData:async(t,e)=>"",getExtensions:()=>[{cip:95}]}}(0,o.addExtension)({Class:h,tag:259,encode:(t,e)=>e(t.value),decode:t=>new h(t)}),e.mkCip95Wallet=d,e.mkCardanoWalletExtension=async function(){let t=!1;return{apiVersion:"1.3.1",icon:"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg viewBox='0 0 500 500' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='309.36' y='12.441' width='121.115' height='472.347' style='fill: rgb(128 177 211)%3B'/%3E%3Cellipse style='fill: rgb(128 177 211)%3B' cx='231.272' cy='320.966' rx='171.791' ry='137.051'/%3E%3C/svg%3E",enable:async function(){const e=window.cardanoTestWallet.wallet||(await i.ShelleyWallet.generate()).json(),r=window.cardanoTestWallet.config||{};return t=!0,await d(i.ShelleyWallet.fromJson(e),r)},isEnabled:async function(){return t},name:"Demos",supportedExtensions:[{cip:95}]}};const p=async(t,e,r,n)=>{function o(t){const e=BigInt(t.lovelace);let r=new Map;for(let e in t){const n=t[e];for(let t in n)if(r.has(e))r.get(e).set(t,BigInt(n[t]));else{let o=new Map;o.set(t,BigInt(n[t])),r.set(e,o)}}return r.size>0?[e,r]:e}return(await s.default.queryUtxos(t)).map((t=>{const r=t.txin.split("#");return u.Buffer.from(c.encode([[u.Buffer.from(r[0],"hex"),BigInt(r[1])],[e,o(t.value)]])).toString("hex")}))}},772:(t,e,r)=>{"use strict";var n=r(287).Buffer;Object.defineProperty(e,"__esModule",{value:!0}),e.ShelleyWalletAddress=e.ShelleyWallet=e.Ed25519Key=void 0;const o=r(459),i=r(343),s=r(493);class a{constructor(t,e,r){this.private=t,this.public=e,this.pkh=r}static async generate(){const t=o.ed25519.utils.randomPrivateKey();return await a.fromPrivateKey(t)}static async fromPrivateKey(t){const e=o.ed25519.getPublicKey(t),r=s.blake2b(e,void 0,28);return new a(t,e,r)}static async fromPrivateKeyHex(t){return await a.fromPrivateKey(Uint8Array.from(n.from(t,"hex")))}bech32Pkh(t="stake"){return i.bech32.encode(t,i.bech32.toWords(this.pkh))}bech32PublicKey(t="vk_"){return i.bech32.encode(t,i.bech32.toWords(this.public))}bech32PrivateKey(t="sk_"){return i.bech32.encode(t,i.bech32.toWords(this.private))}async signRaw(t){return o.ed25519.sign(t,this.private)}async verify(t,e){return o.ed25519.verify(e,t,this.public)}json(){return{private:n.from(this.private).toString("hex"),public:n.from(this.public).toString("hex"),pkh:n.from(this.pkh).toString("hex")}}static fromJson(t){if(!t||"object"!=typeof t)throw new Error("Invalid JSON format for Ed25519Key: Input must be a non-null object.");if(!t.private||!t.public||!t.pkh)throw new Error("Invalid JSON format for Ed25519Key: Missing required fields (private, public, or pkh).");return new a(Uint8Array.from(n.from(t.private,"hex")),Uint8Array.from(n.from(t.public,"hex")),Uint8Array.from(n.from(t.pkh,"hex")))}}e.Ed25519Key=a;class f{constructor(t,e){this.paymentKey=t,this.stakeKey=e}static async generate(){return new f(await a.generate(),await a.generate())}addressBech32(t){const e=0==t?"addr_test":"addr";return i.bech32.encode(e,i.bech32.toWords(n.from(this.addressRawBytes(t))),200)}addressRawBytes(t){const e=new Uint8Array(57);return e[0]=t,e.set(this.paymentKey.pkh,1),e.set(this.stakeKey.pkh,29),e}rewardAddressRawBytes(t){const e=224|t,r=new Uint8Array(29);return r[0]=e,r.set(this.stakeKey.pkh,1),r}rewardAddressBech32(t){const e=0==t?"stake_test":"stake";return i.bech32.encode(e,i.bech32.toWords(n.from(this.rewardAddressRawBytes(t))),200)}json(){return{payment:this.paymentKey.json(),stake:this.stakeKey.json()}}static fromJson(t){if(!t||"object"!=typeof t)throw new Error("ShelleyWallet.fromJson: The input must be an object.");const e=t.payment,r=t.stake;if(!e||"object"!=typeof e)throw new Error("ShelleyWallet.fromJson : Invalid payment key: It must be an object.");if(!r||"object"!=typeof r)throw new Error("ShelleyWallet.fromJson : Invalid stake key: It must be an object.");return new f(a.fromJson(e),a.fromJson(r))}static dummy(){return f.fromJson({payment:{pkh:"595ac9bbf256bae584f56a4b671baa4b14a18c8098b8e571834bc12c",private:"5a1380cd79ecaee48d66c14f7d92ddfc866490a3b59d44520e60f16309c8a17d",public:"8d2f4d49118eb1156048b66dd6372cdb1f82da0f8e208d9f8ea4b388c79c09ad"},stake:{pkh:"6706efab75778c2f08b9a5321ead8bfc982a5c08b51a0b2a713cac52",private:"24e8c012c7bef2f5823baef1c06dac253da860a43f0d1f43fc3c8349a4f719a1",public:"f7a1eaea2691ee80b6c0d6f27482145d7037055829b1b26224a5d8f0c2243f16"}})}}e.ShelleyWallet=f;class u{constructor(t,e,r){this.network="mainnet"==t?1:"testnet"==t?0:t,this.paymentKeyHash=e,this.stakeKeyHash=r}static fromRawBytes(t){let e;if(114==t.length&&"string"==typeof t)e=n.from(t,"hex");else{if(57!==t.length)throw Error("ShelleyAddress.fromRawBytes: Invalid byte array length. expected: 57 got: "+t.length);e=n.from(t)}let r=e.subarray(1,29),o=e.subarray(29,57);return new u(e.at(0),r,o)}toBech32(){const t=0==this.network?"addr_test":"addr";return i.bech32.encode(t,i.bech32.toWords(n.from(this.toRawBytes())),200)}toRawBytes(){const t=new Uint8Array(57);return t[0]=this.network,t.set(this.paymentKeyHash,1),t.set(this.stakeKeyHash,29),t}toRawBytesHex(){return n.from(this.toRawBytes()).toString("hex")}}e.ShelleyWalletAddress=u},353:(t,e,r)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=r(92),o={apiUrl:window.cardanoTestWallet.kuberApiUrl,apiKey:window.cardanoTestWallet.kuberApiKey},i={submitTransaction:t=>(0,n.default)(o.apiUrl+"/api/v1/tx/submit",{method:"POST",headers:{"Content-Type":"application/json","api-key":o.apiKey},body:JSON.stringify({tx:{description:"",type:"Tx ConwayEra",cborHex:t}}),redirect:"follow"}),queryUtxos:t=>async function(t,e="GET",r,i="application/json"){const s=o.apiUrl+t,a={"api-key":o.apiKey};i&&(a["content-type"]=i);const f={method:e,headers:a};return"POST"===e&&r&&(f.body=r),(0,n.default)(s,f).then((async t=>200===t.status?t.json():t.text().then((e=>{let r,n;try{n=JSON.parse(e),r=n?Error(`KuberApi [Status ${t.status}] : ${n.message?n.message:e}`):Error(`KuberApi [Status ${t.status}] : ${e}`)}catch(n){r=Error(`KuberApi [Status ${t.status}] : ${e}`)}throw r.status=t.status,r}))))}("/api/v3/utxo?address="+t)};e.default=i},329:(t,e,r)=>{"use strict";r.r(e),r.d(e,{ALWAYS:()=>Vt,DECIMAL_FIT:()=>$t,DECIMAL_ROUND:()=>qt,Decoder:()=>k,Encoder:()=>It,FLOAT32_OPTIONS:()=>at,NEVER:()=>Dt,REUSE_BUFFER_MODE:()=>Kt,Tag:()=>q,addExtension:()=>jt,clearSource:()=>rt,decode:()=>it,decodeIter:()=>Jt,decodeMultiple:()=>st,encode:()=>Pt,encodeAsAsyncIterable:()=>Ht,encodeAsIterable:()=>Ft,encodeIter:()=>Zt,isNativeAccelerationEnabled:()=>N,roundFloat32:()=>ft});var n=r(287).Buffer;let o,i,s;try{o=new TextDecoder}catch(t){}let a=0;const f=[],u=57342,c=57343,l=57337,h={};let d,p,y,g,b,w,m,E=f,B=0,x={},v=0,A=0,I=[],S=[],U={useRecords:!1,mapsAsObjects:!0},O=!1,T=2;try{new Function("")}catch(t){T=1/0}class k{constructor(t){if(t&&(!t.keyMap&&!t._keyMap||t.useRecords||(t.useRecords=!1,t.mapsAsObjects=!0),!1===t.useRecords&&void 0===t.mapsAsObjects&&(t.mapsAsObjects=!0),t.getStructures&&(t.getShared=t.getStructures),t.getShared&&!t.structures&&((t.structures=[]).uninitialized=!0),t.keyMap)){this.mapKey=new Map;for(let[e,r]of Object.entries(t.keyMap))this.mapKey.set(r,e)}Object.assign(this,t)}decodeKey(t){return this.keyMap&&this.mapKey.get(t)||t}encodeKey(t){return this.keyMap&&this.keyMap.hasOwnProperty(t)?this.keyMap[t]:t}encodeKeys(t){if(!this._keyMap)return t;let e=new Map;for(let[r,n]of Object.entries(t))e.set(this._keyMap.hasOwnProperty(r)?this._keyMap[r]:r,n);return e}decodeKeys(t){if(!this._keyMap||"Map"!=t.constructor.name)return t;if(!this._mapKey){this._mapKey=new Map;for(let[t,e]of Object.entries(this._keyMap))this._mapKey.set(e,t)}let e={};return t.forEach(((t,r)=>e[C(this._mapKey.has(r)?this._mapKey.get(r):r)]=t)),e}mapDecode(t,e){let r=this.decode(t);return this._keyMap&&"Array"===r.constructor.name?r.map((t=>this.decodeKeys(t))):r}decode(t,e){if(i)return et((()=>(rt(),this?this.decode(t,e):k.prototype.decode.call(U,t,e))));s=e>-1?e:t.length,a=0,B=0,A=0,p=null,E=f,y=null,i=t;try{w=t.dataView||(t.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength))}catch(e){if(i=null,t instanceof Uint8Array)throw e;throw new Error("Source must be a Uint8Array or Buffer but was a "+(t&&"object"==typeof t?t.constructor.name:typeof t))}if(this instanceof k){if(x=this,b=this.sharedValues&&(this.pack?new Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return d=this.structures,L();(!d||d.length>0)&&(d=[])}else x=U,(!d||d.length>0)&&(d=[]),b=null;return L()}decodeMultiple(t,e){let r,n=0;try{let o=t.length;O=!0;let i=this?this.decode(t,o):ot.decode(t,o);if(!e){for(r=[i];a=y.postBundlePosition){let t=new Error("Unexpected bundle position");throw t.incomplete=!0,t}a=y.postBundlePosition,y=null}if(a==s)d=null,i=null,g&&(g=null);else{if(a>s){let t=new Error("Unexpected end of CBOR data");throw t.incomplete=!0,t}if(!O)throw new Error("Data read, but end of buffer not reached")}return t}catch(t){throw rt(),(t instanceof RangeError||t.message.startsWith("Unexpected end of buffer"))&&(t.incomplete=!0),t}}function R(){let t=i[a++],e=t>>5;if(t&=31,t>23)switch(t){case 24:t=i[a++];break;case 25:if(7==e)return function(){let t=i[a++],e=i[a++],r=(127&t)>>2;if(31===r)return e||3&t?NaN:128&t?-1/0:1/0;if(0===r){let r=((3&t)<<8|e)/(1<<24);return 128&t?-r:r}return V[3]=128&t|56+(r>>1),V[2]=(7&t)<<5|e>>3,V[1]=e<<5,V[0]=0,D[0]}();t=w.getUint16(a),a+=2;break;case 26:if(7==e){let t=w.getFloat32(a);if(x.useFloat32>2){let e=nt[(127&i[a])<<1|i[a+1]>>7];return a+=4,(e*t+(t>0?.5:-.5)>>0)/e}return a+=4,t}t=w.getUint32(a),a+=4;break;case 27:if(7==e){let t=w.getFloat64(a);return a+=8,t}if(e>1){if(w.getUint32(a)>0)throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");t=w.getUint32(a+4)}else x.int64AsNumber?(t=4294967296*w.getUint32(a),t+=w.getUint32(a+4)):t=w.getBigUint64(a);a+=8;break;case 31:switch(e){case 2:case 3:throw new Error("Indefinite length not supported for byte or text strings");case 4:let t,r=[],o=0;for(;(t=R())!=h;)r[o++]=t;return 4==e?r:3==e?r.join(""):n.concat(r);case 5:let i;if(x.mapsAsObjects){let t={};if(x.keyMap)for(;(i=R())!=h;)t[C(x.decodeKey(i))]=R();else for(;(i=R())!=h;)t[C(i)]=R();return t}{m&&(x.mapsAsObjects=!0,m=!1);let t=new Map;if(x.keyMap)for(;(i=R())!=h;)t.set(x.decodeKey(i),R());else for(;(i=R())!=h;)t.set(i,R());return t}case 7:return h;default:throw new Error("Invalid major type for indefinite length "+e)}default:throw new Error("Unknown token "+t)}switch(e){case 0:return t;case 1:return~t;case 2:return r=t,x.copyBuffers?Uint8Array.prototype.slice.call(i,a,a+=r):i.subarray(a,a+=r);case 3:if(A>=a)return p.slice(a-v,(a+=t)-v);if(0==A&&s<140&&t<32){let e=t<16?H(t):function(t){let e=a,r=new Array(t);for(let n=0;n0)return void(a=e);r[n]=t}return F.apply(String,r)}(t);if(null!=e)return e}return j(t);case 4:let e=new Array(t);for(let r=0;r=l){let e=d[8191&t];if(e)return e.read||(e.read=M(e)),e.read();if(t<65536){if(t==c){let t=Q(),e=R(),r=R();$(e,r);let n={};if(x.keyMap)for(let e=2;e23)switch(t){case 24:t=i[a++];break;case 25:t=w.getUint16(a),a+=2;break;case 26:t=w.getUint32(a),a+=4;break;default:throw new Error("Expected array header, but got "+i[a-1])}let e=this.compiledReader;for(;e;){if(e.propertyCount===t)return e(R);e=e.next}if(this.slowReads++>=T){let r=this.length==t?this:this.slice(0,t);return e=x.keyMap?new Function("r","return {"+r.map((t=>x.decodeKey(t))).map((t=>_.test(t)?C(t)+":r()":"["+JSON.stringify(t)+"]:r()")).join(",")+"}"):new Function("r","return {"+r.map((t=>_.test(t)?C(t)+":r()":"["+JSON.stringify(t)+"]:r()")).join(",")+"}"),this.compiledReader&&(e.next=this.compiledReader),e.propertyCount=t,this.compiledReader=e,e(R)}let r={};if(x.keyMap)for(let e=0;e64&&o)return o.decode(i.subarray(a,a+=t));const r=a+t,n=[];for(e="";a65535&&(e-=65536,n.push(e>>>10&1023|55296),e=56320|1023&e),n.push(e)}else n.push(t);n.length>=4096&&(e+=F.apply(String,n),n.length=0)}return n.length>0&&(e+=F.apply(String,n)),e}let F=String.fromCharCode;function H(t){if(t<4){if(t<2){if(0===t)return"";{let t=i[a++];return(128&t)>1?void(a-=1):F(t)}}{let e=i[a++],r=i[a++];if((128&e)>0||(128&r)>0)return void(a-=2);if(t<3)return F(e,r);let n=i[a++];return(128&n)>0?void(a-=3):F(e,r,n)}}{let e=i[a++],r=i[a++],n=i[a++],o=i[a++];if((128&e)>0||(128&r)>0||(128&n)>0||(128&o)>0)return void(a-=4);if(t<6){if(4===t)return F(e,r,n,o);{let t=i[a++];return(128&t)>0?void(a-=5):F(e,r,n,o,t)}}if(t<8){let s=i[a++],f=i[a++];if((128&s)>0||(128&f)>0)return void(a-=6);if(t<7)return F(e,r,n,o,s,f);let u=i[a++];return(128&u)>0?void(a-=7):F(e,r,n,o,s,f,u)}{let s=i[a++],f=i[a++],u=i[a++],c=i[a++];if((128&s)>0||(128&f)>0||(128&u)>0||(128&c)>0)return void(a-=8);if(t<10){if(8===t)return F(e,r,n,o,s,f,u,c);{let t=i[a++];return(128&t)>0?void(a-=9):F(e,r,n,o,s,f,u,c,t)}}if(t<12){let l=i[a++],h=i[a++];if((128&l)>0||(128&h)>0)return void(a-=10);if(t<11)return F(e,r,n,o,s,f,u,c,l,h);let d=i[a++];return(128&d)>0?void(a-=11):F(e,r,n,o,s,f,u,c,l,h,d)}{let l=i[a++],h=i[a++],d=i[a++],p=i[a++];if((128&l)>0||(128&h)>0||(128&d)>0||(128&p)>0)return void(a-=12);if(t<14){if(12===t)return F(e,r,n,o,s,f,u,c,l,h,d,p);{let t=i[a++];return(128&t)>0?void(a-=13):F(e,r,n,o,s,f,u,c,l,h,d,p,t)}}{let y=i[a++],g=i[a++];if((128&y)>0||(128&g)>0)return void(a-=14);if(t<15)return F(e,r,n,o,s,f,u,c,l,h,d,p,y,g);let b=i[a++];return(128&b)>0?void(a-=15):F(e,r,n,o,s,f,u,c,l,h,d,p,y,g,b)}}}}}let D=new Float32Array(1),V=new Uint8Array(D.buffer,0,4);new Array(4096);class q{constructor(t,e){this.value=t,this.tag=e}}I[0]=t=>new Date(t),I[1]=t=>new Date(Math.round(1e3*t)),I[2]=t=>{let e=BigInt(0);for(let r=0,n=t.byteLength;rBigInt(-1)-I[2](t),I[4]=t=>+(t[1]+"e"+t[0]),I[5]=t=>t[1]*Math.exp(t[0]*Math.log(2));const $=(t,e)=>{let r=d[t-=57344];r&&r.isShared&&((d.restoreStructures||(d.restoreStructures=[]))[t]=r),d[t]=e,e.read=M(e)};I[105]=t=>{let e=t.length,r=t[1];$(t[0],r);let n={};for(let o=2;oy?y[0].slice(y.position0,y.position0+=t):new q(t,14),I[15]=t=>y?y[1].slice(y.position1,y.position1+=t):new q(t,15);let K={Error,RegExp};I[27]=t=>(K[t[0]]||Error)(t[1],t[2]);const W=t=>{if(132!=i[a++]){let t=new Error("Packed values structure must be followed by a 4 element array");throw i.length{if(!b){if(!x.getShared)return new q(t,6);tt()}if("number"==typeof t)return b[16+(t>=0?2*t:-2*t-1)];let e=new Error("No support for non-integer packed references yet");throw void 0===t&&(e.incomplete=!0),e},I[28]=t=>{g||(g=new Map,g.id=0);let e,r=g.id++;e=i[a]>>5==4?[]:{};let n={target:e};g.set(r,n);let o=t();return n.used?Object.assign(e,o):(n.target=o,o)},I[28].handlesRead=!0,I[29]=t=>{let e=g.get(t);return e.used=!0,e.target},I[258]=t=>new Set(t),(I[259]=t=>(x.mapsAsObjects&&(x.mapsAsObjects=!1,m=!0),t())).handlesRead=!0,S.push(((t,e)=>t>=225&&t<=255?z(G().prefixes[t-224],e):t>=28704&&t<=32767?z(G().prefixes[t-28672],e):t>=1879052288&&t<=2147483647?z(G().prefixes[t-1879048192],e):t>=216&&t<=223?z(e,G().suffixes[t-216]):t>=27647&&t<=28671?z(e,G().suffixes[t-27639]):t>=1811940352&&t<=1879048191?z(e,G().suffixes[t-1811939328]):1399353956==t?{packedValues:b,structures:d.slice(0),version:e}:55799==t?e:void 0));const Z=1==new Uint8Array(new Uint16Array([1]).buffer)[0],J=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,"undefined"==typeof BigUint64Array?{name:"BigUint64Array"}:BigUint64Array,Int8Array,Int16Array,Int32Array,"undefined"==typeof BigInt64Array?{name:"BigInt64Array"}:BigInt64Array,Float32Array,Float64Array],Y=[64,68,69,70,71,72,77,78,79,85,86];for(let t=0;t{if(!t)throw new Error("Could not find typed array for code "+e);return x.copyBuffers||1!==r&&(2!==r||1&n.byteOffset)&&(4!==r||3&n.byteOffset)&&(8!==r||7&n.byteOffset)?new t(Uint8Array.prototype.slice.call(n,0).buffer):new t(n.buffer,n.byteOffset,n.byteLength)}:r=>{if(!t)throw new Error("Could not find typed array for code "+e);let s=new DataView(r.buffer,r.byteOffset,r.byteLength),a=r.length>>i,f=new t(a),u=s[n];for(let t=0;t23)switch(t){case 24:t=i[a++];break;case 25:t=w.getUint16(a),a+=2;break;case 26:t=w.getUint32(a),a+=4}return t}function tt(){if(x.getShared){let t=et((()=>(i=null,x.getShared())))||{},e=t.structures||[];x.sharedVersion=t.version,b=x.sharedValues=t.packedValues,!0===d?x.structures=d=e:d.splice.apply(d,[0,e.length].concat(e))}}function et(t){let e=s,r=a,n=B,o=v,f=A,u=p,c=E,l=g,h=y,b=new Uint8Array(i.slice(0,s)),m=d,I=x,S=O,U=t();return s=e,a=r,B=n,v=o,A=f,p=u,E=c,g=l,y=h,i=b,O=S,d=m,x=I,w=new DataView(i.buffer,i.byteOffset,i.byteLength),U}function rt(){i=null,g=null,d=null}const nt=new Array(147);for(let t=0;t<256;t++)nt[t]=+("1e"+Math.floor(45.15-.30103*t));let ot=new k({useRecords:!1});const it=ot.decode,st=ot.decodeMultiple,at={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};function ft(t){D[0]=t;let e=nt[(127&V[3])<<1|V[2]>>7];return(e*t+(t>0?.5:-.5)>>0)/e}let ut,ct,lt;try{ut=new TextEncoder}catch(t){}const ht="object"==typeof globalThis&&globalThis.Buffer,dt=void 0!==ht,pt=dt?ht.allocUnsafeSlow:Uint8Array,yt=dt?ht:Uint8Array,gt=dt?4294967296:2144337920;let bt,wt,mt,Et,Bt=0,xt=null;const vt=/[\u0080-\uFFFF]/,At=Symbol("record-id");class It extends k{constructor(t){let e,r,n,o,i;super(t),this.offset=0,t=t||{};let s=yt.prototype.utf8Write?function(t,e,r){return wt.utf8Write(t,e,r)}:!(!ut||!ut.encodeInto)&&function(t,e){return ut.encodeInto(t,wt.subarray(e)).written},a=this,f=t.structures||t.saveStructures,u=t.maxSharedStructures;if(null==u&&(u=f?128:0),u>8190)throw new Error("Maximum maxSharedStructure is 8190");let c=t.sequential;c&&(u=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let l,h,d,p=t.sharedValues;if(p){d=Object.create(null);for(let t=0,e=p.length;tthis.encodeKeys(t)))),this.encode(t,e)},this.encode=function(s,f){if(wt||(wt=new pt(8192),mt=new DataView(wt.buffer,0,8192),Bt=0),Et=wt.length-10,Et-Bt<2048?(wt=new pt(wt.length),mt=new DataView(wt.buffer,0,wt.length),Et=wt.length-10,Bt=0):f===Kt&&(Bt=Bt+7&2147483640),e=Bt,a.useSelfDescribedHeader&&(mt.setUint32(Bt,3654940416),Bt+=3),i=a.structuredClone?new Map:null,a.bundleStrings&&"string"!=typeof s?(xt=[],xt.size=1/0):xt=null,r=a.structures,r){if(r.uninitialized){let t=a.getShared()||{};a.structures=r=t.structures||[],a.sharedVersion=t.version;let e=a.sharedValues=t.packedValues;if(e){d={};for(let t=0,r=e.length;tu&&!c&&(t=u),!r.transitions){r.transitions=Object.create(null);for(let e=0;e0){wt[Bt++]=216,wt[Bt++]=51,Ot(4);let t=e.values;w(t),Ot(0),Ot(0),h=Object.create(d||null);for(let e=0,r=t.length;eEt&&E(Bt),a.offset=Bt;let t=function(t,e){let r,n=2*e.length,o=t.length-n;e.sort(((t,e)=>t.offset>e.offset?1:-1));for(let r=0;r>8,t[e]=255&r}for(;r=e.pop();){let e=r.offset;t.copyWithin(e+n,e,o),n-=2;let i=e+n;t[i++]=216,t[i++]=28,o=e}return t}(wt.subarray(e,Bt),i.idsToInsert);return i=null,t}return f&Kt?(wt.start=e,wt.end=Bt,wt):wt.subarray(e,Bt)}finally{if(r)if(b<10&&b++,r.length>u&&(r.length=u),g>1e4)r.transitions=null,b=0,g=0,y.length>0&&(y=[]);else if(y.length>0&&!c){for(let t=0,e=y.length;tu&&(a.structures=a.structures.slice(0,u));let t=wt.subarray(e,Bt);return!1===a.updateSharedData()?a.encode(s):t}f&Wt&&(Bt=e)}},this.findCommonStringsToPack=()=>(l=new Map,d||(d=Object.create(null)),t=>{let e=t&&t.threshold||4,r=this.pack?t.maxPrivatePackedValues||16:0;p||(p=this.sharedValues=[]);for(let[t,o]of l)o.count>e&&(d[t]=r++,p.push(t),n=!0);for(;this.saveShared&&!1===this.updateSharedData(););l=null});const w=r=>{Bt>Et&&(wt=E(Bt));var n,o=typeof r;if("string"===o){if(h){let e=h[r];if(e>=0)return void(e<16?wt[Bt++]=e+224:(wt[Bt++]=198,w(1&e?15-e>>1:e-16>>1)));if(l&&!t.pack){let t=l.get(r);t?t.count++:l.set(r,{count:1})}}let o,i=r.length;if(xt&&i>=4&&i<1024){if((xt.size+=i)>61440){let t,r=(xt[0]?3*xt[0].length+xt[1].length:0)+10;Bt+r>Et&&(wt=E(Bt+r)),wt[Bt++]=217,wt[Bt++]=223,wt[Bt++]=249,wt[Bt++]=xt.position?132:130,wt[Bt++]=26,t=Bt-e,Bt+=4,xt.position&&Ct(e,w),xt=["",""],xt.size=0,xt.position=t}let t=vt.test(r);return xt[t?0:1]+=r,wt[Bt++]=t?206:207,void w(i)}o=i<32?1:i<256?2:i<65536?3:5;let a=3*i;if(Bt+a>Et&&(wt=E(Bt+a)),i<64||!s){let t,e,s,a=Bt+o;for(t=0;t>6|192,wt[a++]=63&e|128):55296==(64512&e)&&56320==(64512&(s=r.charCodeAt(t+1)))?(e=65536+((1023&e)<<10)+(1023&s),t++,wt[a++]=e>>18|240,wt[a++]=e>>12&63|128,wt[a++]=e>>6&63|128,wt[a++]=63&e|128):(wt[a++]=e>>12|224,wt[a++]=e>>6&63|128,wt[a++]=63&e|128);n=a-Bt-o}else n=s(r,Bt+o,a);n<24?wt[Bt++]=96|n:n<256?(o<2&&wt.copyWithin(Bt+2,Bt+1,Bt+1+n),wt[Bt++]=120,wt[Bt++]=n):n<65536?(o<3&&wt.copyWithin(Bt+3,Bt+2,Bt+2+n),wt[Bt++]=121,wt[Bt++]=n>>8,wt[Bt++]=255&n):(o<5&&wt.copyWithin(Bt+5,Bt+3,Bt+3+n),wt[Bt++]=122,mt.setUint32(Bt,n),Bt+=4),Bt+=n}else if("number"===o)if(this.alwaysUseFloat||r>>>0!==r)if(this.alwaysUseFloat||r>>0!==r){let t;if((t=this.useFloat32)>0&&r<4294967296&&r>=-2147483648){let e;if(wt[Bt++]=250,mt.setFloat32(Bt,r),t<4||(e=r*nt[(127&wt[Bt])<<1|wt[Bt+1]>>7])>>0===e)return void(Bt+=4);Bt--}wt[Bt++]=251,mt.setFloat64(Bt,r),Bt+=8}else r>=-24?wt[Bt++]=31-r:r>=-256?(wt[Bt++]=56,wt[Bt++]=~r):r>=-65536?(wt[Bt++]=57,mt.setUint16(Bt,~r),Bt+=2):(wt[Bt++]=58,mt.setUint32(Bt,~r),Bt+=4);else r<24?wt[Bt++]=r:r<256?(wt[Bt++]=24,wt[Bt++]=r):r<65536?(wt[Bt++]=25,wt[Bt++]=r>>8,wt[Bt++]=255&r):(wt[Bt++]=26,mt.setUint32(Bt,r),Bt+=4);else if("object"===o)if(r){if(i){let t=i.get(r);if(t){if(wt[Bt++]=216,wt[Bt++]=29,wt[Bt++]=25,!t.references){let e=i.idsToInsert||(i.idsToInsert=[]);t.references=[],e.push(t)}return t.references.push(Bt-e),void(Bt+=2)}i.set(r,{offset:Bt-e})}let t=r.constructor;if(t===Object)m(r,!0);else if(t===Array){(n=r.length)<24?wt[Bt++]=128|n:Ot(n);for(let t=0;t>8,wt[Bt++]=255&n):(wt[Bt++]=186,mt.setUint32(Bt,n),Bt+=4),a.keyMap)for(let[t,e]of r)w(a.encodeKey(t)),w(e);else for(let[t,e]of r)w(t),w(e);else{for(let t=0,e=ct.length;t>8,wt[Bt++]=255&n):n>-1&&(wt[Bt++]=218,mt.setUint32(Bt,n),Bt+=4),void e.encode.call(this,r,w,E)}if(r[Symbol.iterator]){if(bt){let t=new Error("Iterable should be serialized as iterator");throw t.iteratorNotHandled=!0,t}wt[Bt++]=159;for(let t of r)w(t);return void(wt[Bt++]=255)}if(r[Symbol.asyncIterator]||kt(r)){let t=new Error("Iterable/blob should be serialized as iterator");throw t.iteratorNotHandled=!0,t}if(this.useToJSON&&r.toJSON){const t=r.toJSON();if(t!==r)return w(t)}m(r,!r.hasOwnProperty)}}else wt[Bt++]=246;else if("boolean"===o)wt[Bt++]=r?245:244;else if("bigint"===o){if(r=0)wt[Bt++]=27,mt.setBigUint64(Bt,r);else if(r>-(BigInt(1)<{let e=Object.keys(t),r=Object.values(t),n=e.length;if(n<24?wt[Bt++]=160|n:n<256?(wt[Bt++]=184,wt[Bt++]=n):n<65536?(wt[Bt++]=185,wt[Bt++]=n>>8,wt[Bt++]=255&n):(wt[Bt++]=186,mt.setUint32(Bt,n),Bt+=4),a.keyMap)for(let t=0;t{wt[Bt++]=185;let n=Bt-e;Bt+=2;let o=0;if(a.keyMap)for(let e in t)(r||t.hasOwnProperty(e))&&(w(a.encodeKey(e)),w(t[e]),o++);else for(let e in t)(r||t.hasOwnProperty(e))&&(w(e),w(t[e]),o++);wt[n+++e]=o>>8,wt[n+e]=255&o}:(t,e)=>{let r,i,s,a=o.transitions||(o.transitions=Object.create(null)),f=0,c=0;if(this.keyMap){s=Object.keys(t).map((t=>this.encodeKey(t))),c=s.length;for(let t=0;t>8|224,wt[Bt++]=255&l;else{if(s||(s=a.__keys__||(a.__keys__=Object.keys(t))),void 0===i?(l=o.nextId++,l||(l=0,o.nextId=1),l>=256&&(o.nextId=(l=u)+1)):l=i,o[l]=s,!(l=256-u&&(y.shift()[At]=void 0),y.push(a),Ot(c+2),w(57344+l),w(s),null===e)return;for(let r in t)(e||t.hasOwnProperty(r))&&w(t[r]);return}wt[Bt++]=217,wt[Bt++]=l>>8|224,wt[Bt++]=255&l,a=o.transitions;for(let t=0;t{let r;if(t>16777216){if(t-e>gt)throw new Error("Encoded buffer would be larger than maximum buffer size");r=Math.min(gt,4096*Math.round(Math.max((t-e)*(t>67108864?1.25:2),4194304)/4096))}else r=1+(Math.max(t-e<<2,wt.length-1)>>12)<<12;let n=new pt(r);return mt=new DataView(n.buffer,0,r),wt.copy?wt.copy(n,0,e,t):n.set(wt.slice(e,t)),Bt-=e,e=0,Et=n.length-10,wt=n};let B=100,x=1e3;function*v(t,r,n){let o=t.constructor;if(o===Object){let e=!1!==a.useRecords;e?m(t,null):St(Object.keys(t).length,160);for(let n in t){let o=t[n];e||w(n),o&&"object"==typeof o?r[n]?yield*v(o,r[n]):yield*A(o,r,n):w(o)}}else if(o===Array){let n=t.length;Ot(n);for(let o=0;oB)?r.element?yield*v(n,r.element):yield*A(n,r,"element"):w(n)}}else if(t[Symbol.iterator]){wt[Bt++]=159;for(let n of t)n&&("object"==typeof n||Bt-e>B)?r.element?yield*v(n,r.element):yield*A(n,r,"element"):w(n);wt[Bt++]=255}else kt(t)?(St(t.size,64),yield wt.subarray(e,Bt),yield t,I()):t[Symbol.asyncIterator]?(wt[Bt++]=159,yield wt.subarray(e,Bt),yield t,I(),wt[Bt++]=255):w(t);n&&Bt>e?yield wt.subarray(e,Bt):Bt-e>B&&(yield wt.subarray(e,Bt),I())}function*A(t,r,n){let o=Bt-e;try{w(t),Bt-e>B&&(yield wt.subarray(e,Bt),I())}catch(i){if(!i.iteratorNotHandled)throw i;r[n]={},Bt=e+o,yield*v.call(this,t,r[n])}}function I(){B=x,a.encode(null,zt)}function S(t,e,r){return B=e&&e.chunkThreshold?x=e.chunkThreshold:100,t&&"object"==typeof t?(a.encode(null,zt),r(t,a.iterateProperties||(a.iterateProperties={}),!0)):[a.encode(t)]}async function*U(t,e){for(let r of v(t,e,!0)){let t=r.constructor;if(t===yt||t===Uint8Array)yield r;else if(kt(r)){let t,e=r.stream().getReader();for(;!(t=await e.read()).done;)yield t.value}else if(r[Symbol.asyncIterator])for await(let t of r)I(),t?yield*U(t,e.async||(e.async={})):yield a.encode(t);else yield r}}this.encodeAsIterable=function(t,e){return S(t,e,v)},this.encodeAsAsyncIterable=function(t,e){return S(t,e,U)}}useBuffer(t){wt=t,mt=new DataView(wt.buffer,wt.byteOffset,wt.byteLength),Bt=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let t=this.sharedVersion||0;this.sharedVersion=t+1;let e=this.structures.slice(0),r=new Ut(e,this.sharedValues,this.sharedVersion),n=this.saveShared(r,(e=>(e&&e.version||0)==t));return!1===n?(r=this.getShared()||{},this.structures=r.structures||[],this.sharedValues=r.packedValues,this.sharedVersion=r.version,this.structures.nextId=this.structures.length):e.forEach(((t,e)=>this.structures[e]=t)),n}}function St(t,e){t<24?wt[Bt++]=e|t:t<256?(wt[Bt++]=24|e,wt[Bt++]=t):t<65536?(wt[Bt++]=25|e,wt[Bt++]=t>>8,wt[Bt++]=255&t):(wt[Bt++]=26|e,mt.setUint32(Bt,t),Bt+=4)}class Ut{constructor(t,e,r){this.structures=t,this.packedValues=e,this.version=r}}function Ot(t){t<24?wt[Bt++]=128|t:t<256?(wt[Bt++]=152,wt[Bt++]=t):t<65536?(wt[Bt++]=153,wt[Bt++]=t>>8,wt[Bt++]=255&t):(wt[Bt++]=154,mt.setUint32(Bt,t),Bt+=4)}const Tt="undefined"==typeof Blob?function(){}:Blob;function kt(t){if(t instanceof Tt)return!0;let e=t[Symbol.toStringTag];return"Blob"===e||"File"===e}function Lt(t,e){switch(typeof t){case"string":if(t.length>3){if(e.objectMap[t]>-1||e.values.length>=e.maxValues)return;let r=e.get(t);if(r)2==++r.count&&e.values.push(t);else if(e.set(t,{count:1}),e.samplingPackedValues){let r=e.samplingPackedValues.get(t);r?r.count++:e.samplingPackedValues.set(t,{count:1})}}break;case"object":if(t)if(t instanceof Array)for(let r=0,n=t.length;r1&&(t-=4),{tag:t,encode:function(t,e){let r=t.byteLength,n=t.byteOffset||0,o=t.buffer||t;e(dt?ht.from(o,n,r):new Uint8Array(o,n,r))}}}function Mt(t,e){let r=t.byteLength;r<24?wt[Bt++]=64+r:r<256?(wt[Bt++]=88,wt[Bt++]=r):r<65536?(wt[Bt++]=89,wt[Bt++]=r>>8,wt[Bt++]=255&r):(wt[Bt++]=90,mt.setUint32(Bt,r),Bt+=4),Bt+r>=wt.length&&e(Bt+r),wt.set(t.buffer?t:new Uint8Array(t),Bt),Bt+=r}function Ct(t,e){mt.setUint32(xt.position+t,Bt-xt.position-t+1);let r=xt;xt=null,e(r[0]),e(r[1])}function jt(t){if(t.Class){if(!t.encode)throw new Error("Extension has no encode function");lt.unshift(t.Class),ct.unshift(t)}!function(t){I[t.tag]=t.decode}(t)}lt=[Date,Set,Error,RegExp,q,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,"undefined"==typeof BigUint64Array?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,"undefined"==typeof BigInt64Array?function(){}:BigInt64Array,Float32Array,Float64Array,Ut],ct=[{tag:1,encode(t,e){let r=t.getTime()/1e3;(this.useTimestamp32||0===t.getMilliseconds())&&r>=0&&r<4294967296?(wt[Bt++]=26,mt.setUint32(Bt,r),Bt+=4):(wt[Bt++]=251,mt.setFloat64(Bt,r),Bt+=8)}},{tag:258,encode(t,e){e(Array.from(t))}},{tag:27,encode(t,e){e([t.name,t.message])}},{tag:27,encode(t,e){e(["RegExp",t.source,t.flags])}},{getTag:t=>t.tag,encode(t,e){e(t.value)}},{encode(t,e,r){Mt(t,r)}},{getTag(t){if(t.constructor===Uint8Array&&(this.tagUint8Array||dt&&!1!==this.tagUint8Array))return 64},encode(t,e,r){Mt(t,r)}},_t(68,1),_t(69,2),_t(70,4),_t(71,8),_t(72,1),_t(77,2),_t(78,4),_t(79,8),_t(85,4),_t(86,8),{encode(t,e){let r=t.packedValues||[],n=t.structures||[];if(r.values.length>0){wt[Bt++]=216,wt[Bt++]=51,Ot(4);let t=r.values;e(t),Ot(0),Ot(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let e=0,r=t.length;e{let e;n&&(t=Gt.concat([n,t]),n=void 0);try{e=r.decodeMultiple(t)}catch(r){if(!r.incomplete)throw r;n=t.slice(r.lastPosition),e=r.values}return e};return"function"==typeof t[Symbol.iterator]?function*(){for(const e of t)yield*o(e)}():"function"==typeof t[Symbol.asyncIterator]?async function*(){for await(const e of t)yield*o(e)}():void 0}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{"use strict";const t=r(374);(async()=>{if(null==window.cardanoTestWallet.walletName)throw new Error('Please specify the wallet name in the cardanoTestWallet.config object. Example: { walletName: "MyWallet" }');const e=await(0,t.mkCardanoWalletExtension)();window.cardano={demos:e}})()})()})();
\ No newline at end of file
diff --git a/tests/cardano-test-wallet/index.js.LICENSE.txt b/tests/cardano-test-wallet/index.js.LICENSE.txt
new file mode 100644
index 000000000..945120b77
--- /dev/null
+++ b/tests/cardano-test-wallet/index.js.LICENSE.txt
@@ -0,0 +1,23 @@
+/*!
+ *
+ * /*!
+ * * The cardano-test-wallet module for browser environments.
+ * *
+ * * @author Nabin Kawan
+ * * @license MIT
+ * * /
+ *
+ */
+
+/*!
+ * The buffer module from node.js, for the browser.
+ *
+ * @author Feross Aboukhadijeh
+ * @license MIT
+ */
+
+/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */
+
+/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
+
+/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
diff --git a/tests/cardano-test-wallet/types.d.ts b/tests/cardano-test-wallet/types.d.ts
new file mode 100644
index 000000000..a08f06b18
--- /dev/null
+++ b/tests/cardano-test-wallet/types.d.ts
@@ -0,0 +1,55 @@
+export type HexString = string;
+export interface CIP30Provider {
+ apiVersion: string;
+ enable: () => Promise;
+ icon: string;
+ isEnabled: () => Promise;
+ name: string;
+ supportedExtensions: Record[];
+}
+export interface CIP30Instance {
+ submitTx: (tx: string) => Promise;
+ signTx: (tx: string, partial?: Boolean) => Promise;
+ getChangeAddress: () => Promise;
+ getNetworkId: () => Promise;
+ getRewardAddresses: () => Promise;
+ getUnusedAddresses: () => Promise;
+ getUsedAddresses: () => Promise>;
+ getUtxos: (amount?: object, paginate?: any) => Promise>;
+ getCollateral?: () => Promise>;
+ signData: (address: string, payload: HexString) => Promise;
+ getBalance: () => Promise;
+}
+export interface Cip95Instance extends CIP30Instance {
+ cip95: {
+ getPubDRepKey: () => Promise;
+ getUnregisteredPubStakeKeys: () => Promise;
+ getRegisteredPubStakeKeys: () => Promise;
+ };
+ getActivePubStakeKeys: () => Promise;
+ getExtensions: () => Record[];
+}
+export type CardanoTestWallet = {
+ payment: {
+ private: string;
+ public: string;
+ pkh: string;
+ };
+ stake: {
+ private: string;
+ public: string;
+ pkh: string;
+ };
+};
+export type CardanoTestWalletConfig = {
+ networkId?: number;
+ walletName?: string;
+ enableStakeSigning?: boolean;
+ extraRegisteredPubStakeKeys?: string[];
+ extraRewardAddresses?: string[];
+ kuberApiUrl: string;
+ kuberApiKey: string;
+};
+export type KuberValue = {
+ [policyId: string]: Record | BigInt | number;
+};
diff --git a/tests/govtool-backend/.gitignore b/tests/govtool-backend/.gitignore
index 40bb37348..ee3cf2608 100644
--- a/tests/govtool-backend/.gitignore
+++ b/tests/govtool-backend/.gitignore
@@ -35,3 +35,4 @@ Thumbs.db
# Other
*.bak
+reports/
diff --git a/tests/govtool-backend/requirements.txt b/tests/govtool-backend/requirements.txt
index b20c7ad50..9ab683282 100644
--- a/tests/govtool-backend/requirements.txt
+++ b/tests/govtool-backend/requirements.txt
@@ -1,4 +1,4 @@
-pytest==7.4.0
pytest-github-report==0.0.1
python-dotenv==1.0.0
requests==2.31.0
+allure-pytest==2.13.5
\ No newline at end of file
diff --git a/tests/govtool-backend/test_cases/test_ada_holder.py b/tests/govtool-backend/test_cases/test_ada_holder.py
index 651a31218..2f0b37515 100644
--- a/tests/govtool-backend/test_cases/test_ada_holder.py
+++ b/tests/govtool-backend/test_cases/test_ada_holder.py
@@ -1,5 +1,7 @@
from models.TestData import AdaHolder, Delegation
+import allure
+@allure.story("AdaHolder")
def test_ada_delegation(govtool_api, ada_holder_delegate_to_drep):
print(ada_holder_delegate_to_drep)
response = govtool_api.ada_holder_get_current_delegation(ada_holder_delegate_to_drep["stakeKey"])
@@ -7,7 +9,7 @@ def test_ada_delegation(govtool_api, ada_holder_delegate_to_drep):
if resp:
assert ada_holder_delegate_to_drep["drepId"] in resp
-
+@allure.story("Drep")
def test_check_voting_power(govtool_api, ada_holder_delegate_to_drep):
response = govtool_api.ada_holder_get_voting_power(ada_holder_delegate_to_drep["stakeKey"])
ada_holder_voting_power = response.json()
diff --git a/tests/govtool-backend/test_cases/test_drep.py b/tests/govtool-backend/test_cases/test_drep.py
index c077e9169..b4b74e62f 100644
--- a/tests/govtool-backend/test_cases/test_drep.py
+++ b/tests/govtool-backend/test_cases/test_drep.py
@@ -1,5 +1,7 @@
from models.TestData import Drep, VoteonProposal, Vote, Proposal
+import allure
+@allure.story("Drep")
def validate_drep_list(drep_list: [Drep]) -> bool:
for item in drep_list:
if not isinstance(item, dict):
@@ -10,6 +12,7 @@ def validate_drep_list(drep_list: [Drep]) -> bool:
return False
return True
+@allure.story("Drep")
def validate_voteonproposal_list(voteonproposal_list: [VoteonProposal]) -> bool:
for item in voteonproposal_list:
if not isinstance(item, dict):
@@ -34,12 +37,13 @@ def validate_voteonproposal_list(voteonproposal_list: [VoteonProposal]) -> bool:
return True
+@allure.story("Drep")
def test_list_drep(govtool_api):
response = govtool_api.drep_list()
drep_list = response.json()
validate_drep_list(drep_list)
-
+@allure.story("Drep")
def test_initialized_getVotes( govtool_api, registered_drep):
response = govtool_api.drep_getVotes(registered_drep["drepId"])
validate_voteonproposal_list(response.json())
@@ -49,6 +53,7 @@ def test_initialized_getVotes( govtool_api, registered_drep):
assert len(proposals)==0
+@allure.story("Drep")
def test_initialized_getVotingPower(govtool_api, registered_drep):
response = govtool_api.drep_get_voting_power(registered_drep["drepId"])
assert isinstance(response.json(), int)
diff --git a/tests/govtool-backend/test_cases/test_proposal.py b/tests/govtool-backend/test_cases/test_proposal.py
index 7533d56ac..aa32990cc 100644
--- a/tests/govtool-backend/test_cases/test_proposal.py
+++ b/tests/govtool-backend/test_cases/test_proposal.py
@@ -1,5 +1,7 @@
from models.TestData import Proposal
+import allure
+@allure.story("Proposal")
def validate_proposal_list(proposal_list: [Proposal]) -> bool:
for item in proposal_list:
if not isinstance(item, dict):
@@ -13,6 +15,7 @@ def validate_proposal_list(proposal_list: [Proposal]) -> bool:
return True
+@allure.story("Proposal")
def test_list_proposal(govtool_api):
response = govtool_api.proposal_list()
proposal_list = response.json()
diff --git a/tests/govtool-frontend/playwright/playwright.config.ts b/tests/govtool-frontend/playwright/playwright.config.ts
new file mode 100644
index 000000000..3439dd15c
--- /dev/null
+++ b/tests/govtool-frontend/playwright/playwright.config.ts
@@ -0,0 +1,77 @@
+import { defineConfig, devices } from "@playwright/test";
+import { config } from "dotenv";
+import { testPlanFilter } from "allure-playwright/dist/testplan";
+
+config();
+
+/**
+ * Read environment variables from file.
+ * https://github.com/motdotla/dotenv
+ */
+// require('dotenv').config();
+
+/**
+ * See https://playwright.dev/docs/test-configuration.
+ */
+export default defineConfig({
+ testDir: "./tests",
+ /* Run tests in files in parallel */
+ fullyParallel: true,
+ /* Fail the build on CI if you accidentally left test.only in the source code. */
+ forbidOnly: !!process.env.CI,
+ /* Retry on CI only */
+ retries: 0,
+ /* Opt out of parallel tests on CI. */
+ workers: process.env.CI ? parseInt(process.env.WORKERS) : undefined,
+ /*use Allure Playwright's testPlanFilter() to determine the grep parameter*/
+ grep: testPlanFilter(),
+ /* Reporter to use. See https://playwright.dev/docs/test-reporters */
+ reporter: [["line"], ["allure-playwright"]],
+ /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
+ use: {
+ /* Base URL to use in actions like `await page.goto('/')`. */
+ baseURL: "",
+
+ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
+ trace: "on-first-retry",
+
+ screenshot: "only-on-failure",
+
+ // video:'retain-on-failure',
+ },
+
+ /* Configure projects for major browsers */
+ projects: [
+ {
+ name: "chrome",
+ use: { ...devices["Desktop Chrome"] },
+ },
+
+ /* Test against mobile viewports. */
+ // {
+ // name: 'Mobile Chrome',
+ // use: { ...devices['Pixel 5'] },
+ // },
+ // {
+ // name: 'Mobile Safari',
+ // use: { ...devices['iPhone 12'] },
+ // },
+
+ /* Test against branded browsers. */
+ // {
+ // name: 'Microsoft Edge',
+ // use: { ...devices['Desktop Edge'], channel: 'msedge' },
+ // },
+ // {
+ // name: 'Google Chrome',
+ // use: { ...devices['Desktop Chrome'], channel: 'chrome' },
+ // },
+ ],
+
+ /* Run your local dev server before starting the tests */
+ // webServer: {
+ // command: 'npm run start',
+ // url: 'http://127.0.0.1:3000',
+ // reuseExistingServer: !process.env.CI,
+ // },
+});
diff --git a/tests/govtool-frontend/playwright/tests/example.spec.ts b/tests/govtool-frontend/playwright/tests/example.spec.ts
new file mode 100644
index 000000000..190e698e2
--- /dev/null
+++ b/tests/govtool-frontend/playwright/tests/example.spec.ts
@@ -0,0 +1,22 @@
+import test, { expect } from "@playwright/test";
+
+test.describe("Example test specs", () => {
+ test("has title", async ({ page }) => {
+ await page.goto("https://playwright.dev/");
+
+ // Expect a title "to contain" a substring.
+ await expect(page).toHaveTitle(/Playwright/);
+ });
+
+ test("get started link", async ({ page }) => {
+ await page.goto("https://playwright.dev/");
+
+ // Click the get started link.
+ await page.getByRole("link", { name: "Get started" }).click();
+
+ // Expects page to have a heading with the name of Installation.
+ await expect(
+ page.getByRole("heading", { name: "Installation" })
+ ).toBeVisible();
+ });
+});