diff --git a/.github/workflows/global-api-develop.yml b/.github/workflows/global-api-develop.yml
index e5aea87b6..d0310633f 100644
--- a/.github/workflows/global-api-develop.yml
+++ b/.github/workflows/global-api-develop.yml
@@ -9,9 +9,59 @@ on:
- k8s/cc-global-api-deploy.yml
- k8s/cc-global-api.yml
- k8s/cc-global-api-migrate.yml
+ - .github/workflows/global-api-develop.yml
branches: ["develop"]
jobs:
+ runTests:
+ runs-on: ubuntu-latest
+ defaults:
+ run:
+ working-directory: ./global-api
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Set up Python 3.11
+ uses: actions/setup-python@v2
+ with:
+ python-version: 3.11
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install flake8 pytest pytest-cov
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
+
+ - name: Set up database
+ run: |
+ docker run --name github_action_postgresql -d -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust -e POSTGRES_PASSWORD="" postgres
+ sleep 10
+ createuser -w -h localhost -p 5432 -U postgres citycatalyst
+ createdb -w -h localhost -p 5432 -U postgres citycatalyst -O citycatalyst
+ cp env.example .env
+
+ - name: Build coverage file
+ run: |
+ pytest --junitxml=pytest.xml --cov-report=term-missing:skip-covered --cov=app tests/ | tee pytest-coverage.txt
+
+ - name: Pytest coverage comment
+ uses: MishaKav/pytest-coverage-comment@main
+ with:
+ pytest-coverage-path: ./pytest-coverage.txt
+ junitxml-path: ./pytest.xml
+
+ - name: Upload coverage reports to Codecov
+ continue-on-error: true
+ uses: codecov/codecov-action@v4.0.1
+ with:
+ fail_ci_if_error: false
+ flags: unittests
+ name: citycatalyst-global-api
+ token: ${{ secrets.CODECOV_TOKEN }}
+ slug: Open-Earth-Foundation/CityCatalyst
+
+ - name: Shut down database
+ run: docker stop github_action_postgresql
pushToGHCR:
runs-on: ubuntu-latest
@@ -55,4 +105,4 @@ jobs:
run: |
kubectl create -f k8s/cc-global-api-migrate.yml -n default
kubectl apply -f k8s/cc-global-api-deploy.yml -n default
- kubectl rollout restart deployment cc-global-api-deploy -n default
+ kubectl rollout restart deployment cc-global-api-deploy -n default
\ No newline at end of file
diff --git a/.github/workflows/global-api-tag.yml b/.github/workflows/global-api-tag.yml
index 36eb915f0..0cfb8382c 100644
--- a/.github/workflows/global-api-tag.yml
+++ b/.github/workflows/global-api-tag.yml
@@ -9,6 +9,7 @@ on:
- k8s/cc-global-api-deploy.yml
- k8s/cc-global-api.yml
- k8s/cc-global-api-migrate.yml
+ - .github/workflows/global-api-tag.yml
tags:
- '^v\d+\.\d+\.\d+$'
diff --git a/.github/workflows/web-develop.yml b/.github/workflows/web-develop.yml
index 381f3df18..494c80377 100644
--- a/.github/workflows/web-develop.yml
+++ b/.github/workflows/web-develop.yml
@@ -3,14 +3,20 @@ name: Push Web app to GHCR and deploy to EKS
on:
workflow_dispatch:
push:
+ branches: ["develop"]
paths:
- app/**
- k8s/cc-migrate.yml
- k8s/cc-web-deploy.yml
- k8s/cc-web.yml
- - .github/workflows/web-actions.yml
- branches: ["develop"]
+ - .github/workflows/web-develop.yml
pull_request:
+ paths:
+ - app/**
+ - k8s/cc-migrate.yml
+ - k8s/cc-web-deploy.yml
+ - k8s/cc-web.yml
+ - .github/workflows/web-develop.yml
jobs:
runTests:
@@ -49,22 +55,9 @@ jobs:
# - name: Run Cypress tests
# run: npm run cy:test
- # ... Generate LCOV files or download it from a different job
- name: Run tests and generate coverage file
run: npm run ci:test
- # - name: Setup LCOV
- # uses: hrishikesh-kadam/setup-lcov@v1
- # - name: Report code coverage
- # uses: zgosalvez/github-actions-report-lcov@v3
- # with:
- # coverage-files: ./app/lcov*.info
- # minimum-coverage: 40
- # artifact-name: code-coverage-report
- # github-token: ${{ secrets.GITHUB_TOKEN }}
- # working-directory: ./app
- # update-comment: true
-
- name: Upload coverage reports to Codecov
continue-on-error: true
uses: codecov/codecov-action@v4.0.1
diff --git a/.gitignore b/.gitignore
index 594383785..d7b650666 100644
--- a/.gitignore
+++ b/.gitignore
@@ -142,3 +142,10 @@ global-api/data-coverage/*.csv
# Test coverage output from ci:test
lcov.info
+# Data files created by importers
+global-api/importer/IEA_energy/IEA_energy.csv
+global-api/importer/ghgrp_epa/epa.csv
+global-api/importer/mendoza_arg/data/**
+global-api/importer/osm/cache/**
+global-api/importer/osm/data/**
+global-api/data/**
diff --git a/app/migrations/20240308152708-add-cityId-to-userFile.cjs b/app/migrations/20240308152708-add-cityId-to-userFile.cjs
new file mode 100644
index 000000000..fc97f1739
--- /dev/null
+++ b/app/migrations/20240308152708-add-cityId-to-userFile.cjs
@@ -0,0 +1,22 @@
+'use strict';
+
+/** @type {import('sequelize-cli').Migration} */
+
+module.exports = {
+ async up (queryInterface, Sequelize) {
+ await queryInterface.addColumn('UserFile', 'city_id', {
+ type: Sequelize.UUID,
+ allowNull: true,
+ references: {
+ model: 'City',
+ key: 'city_id',
+ },
+ onUpdate: 'CASCADE',
+ onDelete: 'SET NULL',
+ });
+ },
+
+ async down (queryInterface, Sequelize) {
+ await queryInterface.removeColumn('UserFile', 'city_id');
+ }
+};
\ No newline at end of file
diff --git a/app/migrations/20240314122321-add_scope_and_subsector_to_userfile.cjs b/app/migrations/20240314122321-add_scope_and_subsector_to_userfile.cjs
new file mode 100644
index 000000000..1d4d3225f
--- /dev/null
+++ b/app/migrations/20240314122321-add_scope_and_subsector_to_userfile.cjs
@@ -0,0 +1,20 @@
+'use strict';
+
+/** @type {import('sequelize-cli').Migration} */
+module.exports = {
+ async up (queryInterface, Sequelize) {
+ await queryInterface.addColumn('UserFile', 'scopes', {
+ type: Sequelize.ARRAY(Sequelize.STRING),
+ allowNull: true
+ })
+ await queryInterface.addColumn('UserFile', 'subsectors', {
+ type: Sequelize.ARRAY(Sequelize.STRING),
+ allowNull: true
+ })
+ },
+
+ async down (queryInterface, Sequelize) {
+ await queryInterface.removeColumn('UserFile', 'scopes');
+ await queryInterface.removeColumn('UserFile', 'subsectors')
+ }
+};
diff --git a/app/migrations/20240318105130-region-population.cjs b/app/migrations/20240318105130-region-population.cjs
new file mode 100644
index 000000000..cb3e1f097
--- /dev/null
+++ b/app/migrations/20240318105130-region-population.cjs
@@ -0,0 +1,16 @@
+"use strict";
+
+/** @type {import('sequelize-cli').Migration} */
+module.exports = {
+ async up(queryInterface, Sequelize) {
+ await queryInterface.addColumn(
+ "Population",
+ "region_population",
+ Sequelize.BIGINT,
+ );
+ },
+
+ async down(queryInterface) {
+ await queryInterface.removeColumn("Population", "region_population");
+ },
+};
diff --git a/app/migrations/20240329160302-new-catalog.cjs b/app/migrations/20240329160302-new-catalog.cjs
new file mode 100644
index 000000000..298f6ca9b
--- /dev/null
+++ b/app/migrations/20240329160302-new-catalog.cjs
@@ -0,0 +1,79 @@
+"use strict";
+
+/** @type {import('sequelize-cli').Migration} */
+module.exports = {
+ async up(queryInterface, Sequelize) {
+ return queryInterface.sequelize.transaction(async (transaction) => {
+ await queryInterface.addColumn("DataSource", "methodology_description", {
+ type: Sequelize.TEXT,
+ transaction,
+ });
+ await queryInterface.addColumn(
+ "DataSource",
+ "transformation_description",
+ {
+ type: Sequelize.TEXT,
+ transaction,
+ },
+ );
+ await queryInterface.addColumn("DataSource", "dataset_name", {
+ type: Sequelize.TEXT,
+ transaction,
+ });
+ await queryInterface.renameColumn(
+ "DataSource",
+ "name",
+ "datasource_name",
+ {
+ transaction,
+ },
+ );
+ await queryInterface.renameColumn(
+ "DataSource",
+ "description",
+ "dataset_description",
+ {
+ transaction,
+ },
+ );
+ });
+ },
+
+ async down(queryInterface) {
+ return queryInterface.sequelize.transaction(async (transaction) => {
+ await queryInterface.removeColumn(
+ "DataSource",
+ "methodology_description",
+ {
+ transaction,
+ },
+ );
+ await queryInterface.removeColumn(
+ "DataSource",
+ "transformation_description",
+ {
+ transaction,
+ },
+ );
+ await queryInterface.removeColumn("DataSource", "dataset_name", {
+ transaction,
+ });
+ await queryInterface.renameColumn(
+ "DataSource",
+ "datasource_name",
+ "name",
+ {
+ transaction,
+ },
+ );
+ await queryInterface.renameColumn(
+ "DataSource",
+ "dataset_description",
+ "description",
+ {
+ transaction,
+ },
+ );
+ });
+ },
+};
diff --git a/app/package-lock.json b/app/package-lock.json
index 3ff06c7a3..60f16664b 100644
--- a/app/package-lock.json
+++ b/app/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "city-catalyst",
- "version": "0.5.0-rc.1",
+ "version": "0.6.0-rc.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "city-catalyst",
- "version": "0.5.0-rc.1",
+ "version": "0.6.0-rc.0",
"dependencies": {
"@chakra-ui/icons": "^2.1.0",
"@chakra-ui/next-js": "^2.2.0",
@@ -24,7 +24,7 @@
"@types/jsonwebtoken": "^9.0.4",
"@types/node": "20.11.5",
"@types/nodemailer": "^6.4.14",
- "@types/pg": "^8.11.2",
+ "@types/pg": "^8.11.4",
"@types/react": "18.2.61",
"@types/react-dom": "18.2.19",
"@types/uuid": "^9.0.8",
@@ -50,7 +50,7 @@
"jsonwebtoken": "^9.0.2",
"next": "14.1.3",
"next-auth": "^4.24.5",
- "nodemailer": "^6.9.9",
+ "nodemailer": "^6.9.13",
"openai": "^4.28.0",
"pg": "^8.11.3",
"pg-hstore": "^2.3.4",
@@ -80,7 +80,7 @@
"@storybook/addon-essentials": "^7.6.16",
"@storybook/addon-interactions": "^7.4.5",
"@storybook/addon-links": "^7.6.17",
- "@storybook/blocks": "^7.6.14",
+ "@storybook/blocks": "^8.0.4",
"@storybook/nextjs": "^7.6.16",
"@types/glob": "^8.1.0",
"cypress": "^13.6.4",
@@ -88,7 +88,7 @@
"prettier": "3.2.5",
"sequelize-auto": "^0.8.8",
"start-server-and-test": "^2.0.3",
- "storybook": "^7.6.17"
+ "storybook": "^8.0.4"
},
"engines": {
"node": ">=20.5.0"
@@ -5977,6 +5977,45 @@
"url": "https://opencollective.com/storybook"
}
},
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/blocks": {
+ "version": "7.6.16",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.16.tgz",
+ "integrity": "sha512-rWG9a7BbK0qYvge1oJTIpAbcQ4eOSxetKqgeZc7jxQGeJw0Xvq7C/CmkBY4ZrdP8nj7M7R1Yw49u6OV4aXlyOg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "7.6.16",
+ "@storybook/client-logger": "7.6.16",
+ "@storybook/components": "7.6.16",
+ "@storybook/core-events": "7.6.16",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/docs-tools": "7.6.16",
+ "@storybook/global": "^5.0.0",
+ "@storybook/manager-api": "7.6.16",
+ "@storybook/preview-api": "7.6.16",
+ "@storybook/theming": "7.6.16",
+ "@storybook/types": "7.6.16",
+ "@types/lodash": "^4.14.167",
+ "color-convert": "^2.0.1",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.8",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.2.2",
+ "react-colorful": "^5.1.2",
+ "telejson": "^7.2.0",
+ "tocbot": "^4.20.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@storybook/addon-docs": {
"version": "7.6.16",
"resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.16.tgz",
@@ -6012,6 +6051,45 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/blocks": {
+ "version": "7.6.16",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.16.tgz",
+ "integrity": "sha512-rWG9a7BbK0qYvge1oJTIpAbcQ4eOSxetKqgeZc7jxQGeJw0Xvq7C/CmkBY4ZrdP8nj7M7R1Yw49u6OV4aXlyOg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "7.6.16",
+ "@storybook/client-logger": "7.6.16",
+ "@storybook/components": "7.6.16",
+ "@storybook/core-events": "7.6.16",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/docs-tools": "7.6.16",
+ "@storybook/global": "^5.0.0",
+ "@storybook/manager-api": "7.6.16",
+ "@storybook/preview-api": "7.6.16",
+ "@storybook/theming": "7.6.16",
+ "@storybook/types": "7.6.16",
+ "@types/lodash": "^4.14.167",
+ "color-convert": "^2.0.1",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.8",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.2.2",
+ "react-colorful": "^5.1.2",
+ "telejson": "^7.2.0",
+ "tocbot": "^4.20.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@storybook/addon-essentials": {
"version": "7.6.16",
"resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.16.tgz",
@@ -6433,27 +6511,28 @@
}
},
"node_modules/@storybook/blocks": {
- "version": "7.6.16",
- "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.16.tgz",
- "integrity": "sha512-rWG9a7BbK0qYvge1oJTIpAbcQ4eOSxetKqgeZc7jxQGeJw0Xvq7C/CmkBY4ZrdP8nj7M7R1Yw49u6OV4aXlyOg==",
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.0.4.tgz",
+ "integrity": "sha512-9dRXk9zLJVPOmEWsSXm10XUmIfvS/tVgeBgFXNbusFQZXPpexIPNdRgB004pDGg9RvlY78ykpnd3yP143zaXMg==",
"dev": true,
"dependencies": {
- "@storybook/channels": "7.6.16",
- "@storybook/client-logger": "7.6.16",
- "@storybook/components": "7.6.16",
- "@storybook/core-events": "7.6.16",
+ "@storybook/channels": "8.0.4",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/components": "8.0.4",
+ "@storybook/core-events": "8.0.4",
"@storybook/csf": "^0.1.2",
- "@storybook/docs-tools": "7.6.16",
+ "@storybook/docs-tools": "8.0.4",
"@storybook/global": "^5.0.0",
- "@storybook/manager-api": "7.6.16",
- "@storybook/preview-api": "7.6.16",
- "@storybook/theming": "7.6.16",
- "@storybook/types": "7.6.16",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/manager-api": "8.0.4",
+ "@storybook/preview-api": "8.0.4",
+ "@storybook/theming": "8.0.4",
+ "@storybook/types": "8.0.4",
"@types/lodash": "^4.14.167",
"color-convert": "^2.0.1",
"dequal": "^2.0.2",
"lodash": "^4.17.21",
- "markdown-to-jsx": "^7.1.8",
+ "markdown-to-jsx": "7.3.2",
"memoizerific": "^1.11.3",
"polished": "^4.2.2",
"react-colorful": "^5.1.2",
@@ -6469,79 +6548,88 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/builder-manager": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz",
- "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/channels": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.4.tgz",
+ "integrity": "sha512-haKV+8RbiSzLjicowUfc7h2fTClZHX/nz9SRUecf4IEZUEu2T78OgM/TzqZvL7rA3+/fKqp5iI+3PN3OA75Sdg==",
+ "dev": true,
"dependencies": {
- "@fal-works/esbuild-plugin-global-externals": "^2.1.2",
- "@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",
- "browser-assert": "^1.2.1",
- "ejs": "^3.1.8",
- "esbuild": "^0.18.0",
- "esbuild-plugin-alias": "^0.2.1",
- "express": "^4.17.3",
- "find-cache-dir": "^3.0.0",
- "fs-extra": "^11.1.0",
- "process": "^0.11.10",
- "util": "^0.12.4"
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/global": "^5.0.0",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/channels": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz",
- "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/client-logger": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.4.tgz",
+ "integrity": "sha512-2SeEg3PT/d0l/+EAVtyj9hmMLTyTPp+bRBSzxYouBjtJPM1jrdKpFagj1o3uBRovwWm9SIVX6/ZsoRC33PEV1g==",
+ "dev": true,
"dependencies": {
- "@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/global": "^5.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/client-logger": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz",
- "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/components": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.0.4.tgz",
+ "integrity": "sha512-i5ngl5GTOLB9nZ1cmpxTjtWct5IuH9UxzFC73a0jHMkCwN26w16IqufRVDaoQv0AvZN4pd4fNM2in/XVHA10dw==",
+ "dev": true,
"dependencies": {
- "@storybook/global": "^5.0.0"
+ "@radix-ui/react-slot": "^1.0.2",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/global": "^5.0.0",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/theming": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "memoizerific": "^1.11.3",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/core-common": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz",
- "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/core-common": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.4.tgz",
+ "integrity": "sha512-dzFRLm5FxUa2EFE6Rx/KLDTJNLBIp1S2/+Q1K+rG8V+CLvewCc2Cd486rStZqSXEKI7vDnsRs/aMla+N0X/++Q==",
+ "dev": true,
"dependencies": {
- "@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",
- "@types/pretty-hrtime": "^1.0.0",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf-tools": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
"chalk": "^4.1.0",
- "esbuild": "^0.18.0",
+ "cross-spawn": "^7.0.3",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
"esbuild-register": "^3.5.0",
+ "execa": "^5.0.0",
"file-system-cache": "2.3.0",
"find-cache-dir": "^3.0.0",
"find-up": "^5.0.0",
@@ -6554,6 +6642,23 @@
"pkg-dir": "^5.0.0",
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
+ "semver": "^7.3.7",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/@storybook/core-events": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.4.tgz",
+ "integrity": "sha512-1FgLacIGi9i6/fyxw7ZJDC621RK47IMaA3keH4lc11ASRzCSwJ4YOrXjBFjfPc79EF2BuX72DDJNbhj6ynfF3g==",
+ "dev": true,
+ "dependencies": {
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -6561,11 +6666,20 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/core-events": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz",
- "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/csf-tools": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.4.tgz",
+ "integrity": "sha512-dMSZxWnXBhmXGOZZOAJ4DKZRCYdA0HaqqZ4/eF9MLLsI+qvW4EklcpjVY6bsIzACgubRWtRZkTpxTnjExi/N1A==",
+ "dev": true,
"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": "8.0.4",
+ "fs-extra": "^11.1.0",
+ "recast": "^0.23.5",
"ts-dedent": "^2.0.0"
},
"funding": {
@@ -6573,103 +6687,191 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/node-logger": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz",
- "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/docs-tools": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.0.4.tgz",
+ "integrity": "sha512-PONfG8j/AOHi79NbEkneFRZIscrShbA0sgA+62zeejH4r9+fuIkIKtLnKcAxvr8Bm6uo9aSQbISJZUcBG42WhQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/core-common": "8.0.4",
+ "@storybook/preview-api": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@types/doctrine": "^0.0.3",
+ "assert": "^2.1.0",
+ "doctrine": "^3.0.0",
+ "lodash": "^4.17.21"
+ },
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@storybook/types": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz",
- "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/manager-api": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.0.4.tgz",
+ "integrity": "sha512-TudiRmWlsi8kdjwqW0DDLen76Zp4Sci/AnvTbZvZOWe8C2mruxcr6aaGwuIug6y+uxIyXDvURF6Cek5Twz4isg==",
+ "dev": true,
"dependencies": {
- "@storybook/channels": "7.6.17",
- "@types/babel__core": "^7.0.0",
- "@types/express": "^4.7.0",
- "file-system-cache": "2.3.0"
+ "@storybook/channels": "8.0.4",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/global": "^5.0.0",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/router": "8.0.4",
+ "@storybook/theming": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "store2": "^2.14.2",
+ "telejson": "^7.2.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-manager/node_modules/@types/node": {
- "version": "18.19.22",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.22.tgz",
- "integrity": "sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/node-logger": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.4.tgz",
+ "integrity": "sha512-cALLHuX53vLQsoJamGRlquh2pfhPq9copXou2JTmFT6mrCcipo77SzhBDfeeuhaGv6vUWPfmGjPBEHXWGPe4+g==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/@storybook/preview-api": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.4.tgz",
+ "integrity": "sha512-uZCgZ/7BZkFTNudCBWx3YPFVdReMQSZJj9EfQVhQaPmfGORHGMvZMRsQXl0ONhPy7zDD4rVQxu5dSKWmIiYoWQ==",
+ "dev": true,
"dependencies": {
- "undici-types": "~5.26.4"
+ "@storybook/channels": "8.0.4",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/global": "^5.0.0",
+ "@storybook/types": "8.0.4",
+ "@types/qs": "^6.9.5",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-webpack5": {
- "version": "7.6.16",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.16.tgz",
- "integrity": "sha512-KBUwFXlG+BBp3W7eyZMdTpWqiGsI6bsKcbyEtzbX4pSPWDRVWaJB2wito+Y1VhOAo/pPukzV/3GLVUlyq4wdsw==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/router": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.0.4.tgz",
+ "integrity": "sha512-hlR80QvmLBflAqMeGcgtDuSe6TJlzdizwEAkBLE1lDvFI6tvvEyAliCAXBpIDdOZTe0u/zeeJkOUXKSx33caoQ==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.23.2",
- "@storybook/channels": "7.6.16",
- "@storybook/client-logger": "7.6.16",
- "@storybook/core-common": "7.6.16",
- "@storybook/core-events": "7.6.16",
- "@storybook/core-webpack": "7.6.16",
- "@storybook/node-logger": "7.6.16",
- "@storybook/preview": "7.6.16",
- "@storybook/preview-api": "7.6.16",
- "@swc/core": "^1.3.82",
- "@types/node": "^18.0.0",
- "@types/semver": "^7.3.4",
- "babel-loader": "^9.0.0",
- "browser-assert": "^1.2.1",
- "case-sensitive-paths-webpack-plugin": "^2.4.0",
- "cjs-module-lexer": "^1.2.3",
- "constants-browserify": "^1.0.0",
- "css-loader": "^6.7.1",
- "es-module-lexer": "^1.4.1",
- "express": "^4.17.3",
- "fork-ts-checker-webpack-plugin": "^8.0.0",
- "fs-extra": "^11.1.0",
- "html-webpack-plugin": "^5.5.0",
- "magic-string": "^0.30.5",
- "path-browserify": "^1.0.1",
- "process": "^0.11.10",
- "semver": "^7.3.7",
- "style-loader": "^3.3.1",
- "swc-loader": "^0.2.3",
- "terser-webpack-plugin": "^5.3.1",
- "ts-dedent": "^2.0.0",
- "url": "^0.11.0",
- "util": "^0.12.4",
- "util-deprecate": "^1.0.2",
- "webpack": "5",
- "webpack-dev-middleware": "^6.1.1",
- "webpack-hot-middleware": "^2.25.1",
- "webpack-virtual-modules": "^0.5.0"
+ "@storybook/client-logger": "8.0.4",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/@storybook/theming": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.0.4.tgz",
+ "integrity": "sha512-NxtTU2wMC0lj375ejoT3Npdcqwv6NeUpLaJl6EZCMXSR41ve9WG4suUNWQ63olhqKxirjzAz0IL7ggH7c3hPvA==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/global": "^5.0.0",
+ "memoizerific": "^1.11.3"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
"peerDependenciesMeta": {
- "typescript": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
"optional": true
}
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/@types/node": {
- "version": "18.19.17",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz",
- "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==",
+ "node_modules/@storybook/blocks/node_modules/@storybook/types": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.4.tgz",
+ "integrity": "sha512-OO7QY+qZFCYkItDUBACtIV32p75O7sNziAiyS1V2Oxgo7Ln7fwZwr3mJcA1ruBed6ZcrW3c87k7Xs40T2zAWcg==",
"dev": true,
"dependencies": {
- "undici-types": "~5.26.4"
+ "@storybook/channels": "8.0.4",
+ "@types/express": "^4.7.0",
+ "file-system-cache": "2.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/lru-cache": {
+ "node_modules/@storybook/blocks/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/@storybook/blocks/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
@@ -6681,7 +6883,7 @@
"node": ">=10"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/semver": {
+ "node_modules/@storybook/blocks/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==",
@@ -6696,85 +6898,40 @@
"node": ">=10"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/yallist": {
+ "node_modules/@storybook/blocks/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
- "node_modules/@storybook/channels": {
- "version": "7.6.16",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.16.tgz",
- "integrity": "sha512-LKB0t4OGISez1O4TRJ/CDPxlb2wAW7gg8YRL91VVUHeffVyr4bnpklvMbLbuEcYrysM82Q2UMB9ipQdyK6Issg==",
- "dependencies": {
- "@storybook/client-logger": "7.6.16",
- "@storybook/core-events": "7.6.16",
- "@storybook/global": "^5.0.0",
- "qs": "^6.10.0",
- "telejson": "^7.2.0",
- "tiny-invariant": "^1.3.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/cli": {
+ "node_modules/@storybook/builder-manager": {
"version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz",
- "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz",
+ "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==",
"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.17",
+ "@fal-works/esbuild-plugin-global-externals": "^2.1.2",
"@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/manager": "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",
- "chalk": "^4.1.0",
- "commander": "^6.2.1",
- "cross-spawn": "^7.0.3",
- "detect-indent": "^6.1.0",
- "envinfo": "^7.7.3",
- "execa": "^5.0.0",
+ "@types/ejs": "^3.1.1",
+ "@types/find-cache-dir": "^3.2.1",
+ "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
+ "browser-assert": "^1.2.1",
+ "ejs": "^3.1.8",
+ "esbuild": "^0.18.0",
+ "esbuild-plugin-alias": "^0.2.1",
"express": "^4.17.3",
- "find-up": "^5.0.0",
+ "find-cache-dir": "^3.0.0",
"fs-extra": "^11.1.0",
- "get-npm-tarball-url": "^2.0.3",
- "get-port": "^5.1.1",
- "giget": "^1.0.0",
- "globby": "^11.0.2",
- "jscodeshift": "^0.15.1",
- "leven": "^3.1.0",
- "ora": "^5.4.1",
- "prettier": "^2.8.0",
- "prompts": "^2.4.0",
- "puppeteer-core": "^2.1.1",
- "read-pkg-up": "^7.0.1",
- "semver": "^7.3.7",
- "strip-json-comments": "^3.0.1",
- "tempy": "^1.0.1",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- },
- "bin": {
- "getstorybook": "bin/index.js",
- "sb": "bin/index.js"
+ "process": "^0.11.10",
+ "util": "^0.12.4"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/channels": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/channels": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz",
"integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==",
@@ -6791,7 +6948,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/client-logger": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/client-logger": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz",
"integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==",
@@ -6803,7 +6960,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/core-common": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/core-common": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz",
"integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==",
@@ -6837,7 +6994,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/core-events": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/core-events": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz",
"integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==",
@@ -6849,27 +7006,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/csf-tools": {
- "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.17",
- "fs-extra": "^11.1.0",
- "recast": "^0.23.1",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/cli/node_modules/@storybook/node-logger": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/node-logger": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz",
"integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==",
@@ -6878,7 +7015,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@storybook/types": {
+ "node_modules/@storybook/builder-manager/node_modules/@storybook/types": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz",
"integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==",
@@ -6893,7 +7030,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/cli/node_modules/@types/node": {
+ "node_modules/@storybook/builder-manager/node_modules/@types/node": {
"version": "18.19.22",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.22.tgz",
"integrity": "sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==",
@@ -6901,51 +7038,75 @@
"undici-types": "~5.26.4"
}
},
- "node_modules/@storybook/cli/node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "node_modules/@storybook/builder-webpack5": {
+ "version": "7.6.16",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.16.tgz",
+ "integrity": "sha512-KBUwFXlG+BBp3W7eyZMdTpWqiGsI6bsKcbyEtzbX4pSPWDRVWaJB2wito+Y1VhOAo/pPukzV/3GLVUlyq4wdsw==",
+ "dev": true,
"dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/@storybook/cli/node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/cli/node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "engines": {
- "node": ">=10.17.0"
+ "@babel/core": "^7.23.2",
+ "@storybook/channels": "7.6.16",
+ "@storybook/client-logger": "7.6.16",
+ "@storybook/core-common": "7.6.16",
+ "@storybook/core-events": "7.6.16",
+ "@storybook/core-webpack": "7.6.16",
+ "@storybook/node-logger": "7.6.16",
+ "@storybook/preview": "7.6.16",
+ "@storybook/preview-api": "7.6.16",
+ "@swc/core": "^1.3.82",
+ "@types/node": "^18.0.0",
+ "@types/semver": "^7.3.4",
+ "babel-loader": "^9.0.0",
+ "browser-assert": "^1.2.1",
+ "case-sensitive-paths-webpack-plugin": "^2.4.0",
+ "cjs-module-lexer": "^1.2.3",
+ "constants-browserify": "^1.0.0",
+ "css-loader": "^6.7.1",
+ "es-module-lexer": "^1.4.1",
+ "express": "^4.17.3",
+ "fork-ts-checker-webpack-plugin": "^8.0.0",
+ "fs-extra": "^11.1.0",
+ "html-webpack-plugin": "^5.5.0",
+ "magic-string": "^0.30.5",
+ "path-browserify": "^1.0.1",
+ "process": "^0.11.10",
+ "semver": "^7.3.7",
+ "style-loader": "^3.3.1",
+ "swc-loader": "^0.2.3",
+ "terser-webpack-plugin": "^5.3.1",
+ "ts-dedent": "^2.0.0",
+ "url": "^0.11.0",
+ "util": "^0.12.4",
+ "util-deprecate": "^1.0.2",
+ "webpack": "5",
+ "webpack-dev-middleware": "^6.1.1",
+ "webpack-hot-middleware": "^2.25.1",
+ "webpack-virtual-modules": "^0.5.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/cli/node_modules/lru-cache": {
+ "node_modules/@storybook/builder-webpack5/node_modules/@types/node": {
+ "version": "18.19.17",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.17.tgz",
+ "integrity": "sha512-SzyGKgwPzuWp2SHhlpXKzCX0pIOfcI4V2eF37nNBJOhwlegQ83omtVQ1XxZpDE06V/d6AQvfQdPfnw0tRC//Ng==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@storybook/builder-webpack5/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
@@ -6953,24 +7114,11 @@
"node": ">=10"
}
},
- "node_modules/@storybook/cli/node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/@storybook/cli/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==",
+ "node_modules/@storybook/builder-webpack5/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,
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -6981,49 +7129,85 @@
"node": ">=10"
}
},
- "node_modules/@storybook/cli/node_modules/yallist": {
+ "node_modules/@storybook/builder-webpack5/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
},
- "node_modules/@storybook/client-logger": {
+ "node_modules/@storybook/channels": {
"version": "7.6.16",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.16.tgz",
- "integrity": "sha512-Vquhmgk/SO0VeAkojcA1juuicBHoTST+f4XwBvyUNiebOSOdGIkxHVxpDFXu2kS0aKflFBEutX2IgoysDup+fQ==",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.16.tgz",
+ "integrity": "sha512-LKB0t4OGISez1O4TRJ/CDPxlb2wAW7gg8YRL91VVUHeffVyr4bnpklvMbLbuEcYrysM82Q2UMB9ipQdyK6Issg==",
"dependencies": {
- "@storybook/global": "^5.0.0"
+ "@storybook/client-logger": "7.6.16",
+ "@storybook/core-events": "7.6.16",
+ "@storybook/global": "^5.0.0",
+ "qs": "^6.10.0",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod": {
+ "node_modules/@storybook/cli": {
"version": "7.6.17",
- "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz",
- "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==",
+ "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",
- "@storybook/csf": "^0.1.2",
+ "@ndelangen/get-tarball": "^3.0.7",
+ "@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/cross-spawn": "^6.0.2",
+ "@types/semver": "^7.3.4",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
+ "chalk": "^4.1.0",
+ "commander": "^6.2.1",
"cross-spawn": "^7.0.3",
+ "detect-indent": "^6.1.0",
+ "envinfo": "^7.7.3",
+ "execa": "^5.0.0",
+ "express": "^4.17.3",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "get-npm-tarball-url": "^2.0.3",
+ "get-port": "^5.1.1",
+ "giget": "^1.0.0",
"globby": "^11.0.2",
"jscodeshift": "^0.15.1",
- "lodash": "^4.17.21",
+ "leven": "^3.1.0",
+ "ora": "^5.4.1",
"prettier": "^2.8.0",
- "recast": "^0.23.1"
+ "prompts": "^2.4.0",
+ "puppeteer-core": "^2.1.1",
+ "read-pkg-up": "^7.0.1",
+ "semver": "^7.3.7",
+ "strip-json-comments": "^3.0.1",
+ "tempy": "^1.0.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "bin": {
+ "getstorybook": "bin/index.js",
+ "sb": "bin/index.js"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/channels": {
+ "node_modules/@storybook/cli/node_modules/@storybook/channels": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz",
"integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==",
@@ -7040,7 +7224,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/client-logger": {
+ "node_modules/@storybook/cli/node_modules/@storybook/client-logger": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz",
"integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==",
@@ -7052,7 +7236,41 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/core-events": {
+ "node_modules/@storybook/cli/node_modules/@storybook/core-common": {
+ "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.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",
+ "@types/pretty-hrtime": "^1.0.0",
+ "chalk": "^4.1.0",
+ "esbuild": "^0.18.0",
+ "esbuild-register": "^3.5.0",
+ "file-system-cache": "2.3.0",
+ "find-cache-dir": "^3.0.0",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "glob": "^10.0.0",
+ "handlebars": "^4.7.7",
+ "lazy-universal-dotenv": "^4.0.0",
+ "node-fetch": "^2.0.0",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/@storybook/core-events": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz",
"integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==",
@@ -7064,7 +7282,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/csf-tools": {
+ "node_modules/@storybook/cli/node_modules/@storybook/csf-tools": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz",
"integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==",
@@ -7084,7 +7302,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/node-logger": {
+ "node_modules/@storybook/cli/node_modules/@storybook/node-logger": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz",
"integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==",
@@ -7093,7 +7311,7 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/@storybook/types": {
+ "node_modules/@storybook/cli/node_modules/@storybook/types": {
"version": "7.6.17",
"resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz",
"integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==",
@@ -7108,7 +7326,67 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/codemod/node_modules/prettier": {
+ "node_modules/@storybook/cli/node_modules/@types/node": {
+ "version": "18.19.22",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.22.tgz",
+ "integrity": "sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==",
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/prettier": {
"version": "2.8.8",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
@@ -7122,9 +7400,164 @@
"url": "https://github.com/prettier/prettier?sponsor=1"
}
},
- "node_modules/@storybook/components": {
- "version": "7.6.16",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.16.tgz",
+ "node_modules/@storybook/cli/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==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/cli/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
+ "node_modules/@storybook/client-logger": {
+ "version": "7.6.16",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.16.tgz",
+ "integrity": "sha512-Vquhmgk/SO0VeAkojcA1juuicBHoTST+f4XwBvyUNiebOSOdGIkxHVxpDFXu2kS0aKflFBEutX2IgoysDup+fQ==",
+ "dependencies": {
+ "@storybook/global": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod": {
+ "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.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",
+ "jscodeshift": "^0.15.1",
+ "lodash": "^4.17.21",
+ "prettier": "^2.8.0",
+ "recast": "^0.23.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/channels": {
+ "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.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"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/client-logger": {
+ "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"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/core-events": {
+ "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"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/csf-tools": {
+ "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.17",
+ "fs-extra": "^11.1.0",
+ "recast": "^0.23.1",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/node-logger": {
+ "version": "7.6.17",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz",
+ "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/@storybook/types": {
+ "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.17",
+ "@types/babel__core": "^7.0.0",
+ "@types/express": "^4.7.0",
+ "file-system-cache": "2.3.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/codemod/node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/@storybook/components": {
+ "version": "7.6.16",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.16.tgz",
"integrity": "sha512-5KZQqxFiVEGM485ceF/7PmiNEkHgouEa8ZUJvDGrW9Ap5MfN0xqAuyTTveHvZzGrKp0YlOcOnpqwu/cSk0HQKA==",
"dev": true,
"dependencies": {
@@ -7546,6 +7979,19 @@
"resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz",
"integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ=="
},
+ "node_modules/@storybook/icons": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.9.tgz",
+ "integrity": "sha512-cOmylsz25SYXaJL/gvTk/dl3pyk7yBFRfeXTsHvTA3dfhoU/LWSq0NKL9nM7WBasJyn6XPSGnLS4RtKXLw5EUg==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/@storybook/instrumenter": {
"version": "7.4.5",
"resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.4.5.tgz",
@@ -8829,9 +9275,9 @@
"integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
},
"node_modules/@types/pg": {
- "version": "8.11.2",
- "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.2.tgz",
- "integrity": "sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==",
+ "version": "8.11.4",
+ "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.4.tgz",
+ "integrity": "sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==",
"dependencies": {
"@types/node": "*",
"pg-protocol": "*",
@@ -10931,12 +11377,12 @@
"dev": true
},
"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==",
"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",
@@ -10944,7 +11390,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"
},
@@ -14846,16 +15292,16 @@
}
},
"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==",
"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",
@@ -14886,6 +15332,14 @@
"node": ">= 0.10.0"
}
},
+ "node_modules/express/node_modules/cookie": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
+ "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
@@ -19157,9 +19611,9 @@
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
},
"node_modules/nodemailer": {
- "version": "6.9.9",
- "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.9.tgz",
- "integrity": "sha512-dexTll8zqQoVJEZPwQAKzxxtFn0qTnjdQTchoU6Re9BUUGBJiOy3YMn/0ShTW6J5M0dfQ1NeDeRTTl4oIWgQMA==",
+ "version": "6.9.13",
+ "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.13.tgz",
+ "integrity": "sha512-7o38Yogx6krdoBf3jCAqnIN4oSQFx+fMa0I7dK1D+me9kBxx12D+/33wSb+fhOCtIxvYJ+4x4IMEhmhCKfAiOA==",
"engines": {
"node": ">=6.0.0"
}
@@ -21047,9 +21501,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==",
"dependencies": {
"bytes": "3.1.2",
"http-errors": "2.0.0",
@@ -22358,14 +22812,14 @@
}
},
"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==",
"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": {
@@ -23741,170 +24195,686 @@
"source-map": "^0.6.0"
}
},
- "node_modules/source-map-support/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
- }
+ "node_modules/source-map-support/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
+ "dev": true,
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "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=="
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.13",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
+ "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w=="
+ },
+ "node_modules/split": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
+ "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==",
+ "dev": true,
+ "dependencies": {
+ "through": "2"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/split2": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
+ "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
+ "engines": {
+ "node": ">= 10.x"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dev": true,
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sswr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.0.0.tgz",
+ "integrity": "sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==",
+ "dependencies": {
+ "swrev": "^4.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^4.0.0"
+ }
+ },
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility"
+ },
+ "node_modules/stackframe": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
+ "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
+ "dev": true
+ },
+ "node_modules/stacktrace-parser": {
+ "version": "0.1.10",
+ "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
+ "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
+ "dependencies": {
+ "type-fest": "^0.7.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/stacktrace-parser/node_modules/type-fest": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
+ "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/start-server-and-test": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz",
+ "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==",
+ "dev": true,
+ "dependencies": {
+ "arg": "^5.0.2",
+ "bluebird": "3.7.2",
+ "check-more-types": "2.24.0",
+ "debug": "4.3.4",
+ "execa": "5.1.1",
+ "lazy-ass": "1.6.0",
+ "ps-tree": "1.2.0",
+ "wait-on": "7.2.0"
+ },
+ "bin": {
+ "server-test": "src/bin/start.js",
+ "start-server-and-test": "src/bin/start.js",
+ "start-test": "src/bin/start.js"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/start-server-and-test/node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/start-server-and-test/node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/start-server-and-test/node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/stop-iteration-iterator": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
+ "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "dependencies": {
+ "internal-slot": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/store2": {
+ "version": "2.14.2",
+ "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz",
+ "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==",
+ "dev": true
+ },
+ "node_modules/storybook": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.0.4.tgz",
+ "integrity": "sha512-FUr3Uc2dSAQ80jINH5fSXz7zD7Ncn08OthROjwRtHAH+jMf4wxyZ+RhF3heFy9xLot2/HXOLIWyHyzZZMtGhxg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/cli": "8.0.4"
+ },
+ "bin": {
+ "sb": "index.js",
+ "storybook": "index.js"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/builder-manager": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.0.4.tgz",
+ "integrity": "sha512-BafYVxq77uuTmXdjYo5by42OyOrb6qcpWYKva3ntWK2ZhTaLJlwwqAOdahT1DVzi4VeUP6465YvsTCzIE8fuIw==",
+ "dev": true,
+ "dependencies": {
+ "@fal-works/esbuild-plugin-global-externals": "^2.1.2",
+ "@storybook/core-common": "8.0.4",
+ "@storybook/manager": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@types/ejs": "^3.1.1",
+ "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10",
+ "browser-assert": "^1.2.1",
+ "ejs": "^3.1.8",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
+ "esbuild-plugin-alias": "^0.2.1",
+ "express": "^4.17.3",
+ "fs-extra": "^11.1.0",
+ "process": "^0.11.10",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/channels": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.0.4.tgz",
+ "integrity": "sha512-haKV+8RbiSzLjicowUfc7h2fTClZHX/nz9SRUecf4IEZUEu2T78OgM/TzqZvL7rA3+/fKqp5iI+3PN3OA75Sdg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/global": "^5.0.0",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/cli": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.0.4.tgz",
+ "integrity": "sha512-8jb8hrulRMfyFyNXFEapxHBS51xb42ZZGfVAacXIsHOJtjOd5CnOoSUYn0aOkVl19VF/snoa9JOW7BaW/50Eqw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.23.0",
+ "@babel/types": "^7.23.0",
+ "@ndelangen/get-tarball": "^3.0.7",
+ "@storybook/codemod": "8.0.4",
+ "@storybook/core-common": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/core-server": "8.0.4",
+ "@storybook/csf-tools": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@storybook/telemetry": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@types/semver": "^7.3.4",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
+ "chalk": "^4.1.0",
+ "commander": "^6.2.1",
+ "cross-spawn": "^7.0.3",
+ "detect-indent": "^6.1.0",
+ "envinfo": "^7.7.3",
+ "execa": "^5.0.0",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "get-npm-tarball-url": "^2.0.3",
+ "giget": "^1.0.0",
+ "globby": "^11.0.2",
+ "jscodeshift": "^0.15.1",
+ "leven": "^3.1.0",
+ "ora": "^5.4.1",
+ "prettier": "^3.1.1",
+ "prompts": "^2.4.0",
+ "read-pkg-up": "^7.0.1",
+ "semver": "^7.3.7",
+ "strip-json-comments": "^3.0.1",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0"
+ },
+ "bin": {
+ "getstorybook": "bin/index.js",
+ "sb": "bin/index.js"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/client-logger": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.0.4.tgz",
+ "integrity": "sha512-2SeEg3PT/d0l/+EAVtyj9hmMLTyTPp+bRBSzxYouBjtJPM1jrdKpFagj1o3uBRovwWm9SIVX6/ZsoRC33PEV1g==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/global": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/codemod": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.0.4.tgz",
+ "integrity": "sha512-bysG46P4wjlR3RCpr/ntNAUaupWpzLcWYWti3iNtIyZ/iPrX6KtXoA9QCIwJZrlv41us6F+KEZbzLzkgWbymtQ==",
+ "dev": true,
+ "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": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@types/cross-spawn": "^6.0.2",
+ "cross-spawn": "^7.0.3",
+ "globby": "^11.0.2",
+ "jscodeshift": "^0.15.1",
+ "lodash": "^4.17.21",
+ "prettier": "^3.1.1",
+ "recast": "^0.23.5",
+ "tiny-invariant": "^1.3.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/core-common": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.0.4.tgz",
+ "integrity": "sha512-dzFRLm5FxUa2EFE6Rx/KLDTJNLBIp1S2/+Q1K+rG8V+CLvewCc2Cd486rStZqSXEKI7vDnsRs/aMla+N0X/++Q==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf-tools": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@yarnpkg/fslib": "2.10.3",
+ "@yarnpkg/libzip": "2.3.0",
+ "chalk": "^4.1.0",
+ "cross-spawn": "^7.0.3",
+ "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0",
+ "esbuild-register": "^3.5.0",
+ "execa": "^5.0.0",
+ "file-system-cache": "2.3.0",
+ "find-cache-dir": "^3.0.0",
+ "find-up": "^5.0.0",
+ "fs-extra": "^11.1.0",
+ "glob": "^10.0.0",
+ "handlebars": "^4.7.7",
+ "lazy-universal-dotenv": "^4.0.0",
+ "node-fetch": "^2.0.0",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
+ "resolve-from": "^5.0.0",
+ "semver": "^7.3.7",
+ "tempy": "^1.0.1",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/core-events": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.0.4.tgz",
+ "integrity": "sha512-1FgLacIGi9i6/fyxw7ZJDC621RK47IMaA3keH4lc11ASRzCSwJ4YOrXjBFjfPc79EF2BuX72DDJNbhj6ynfF3g==",
+ "dev": true,
+ "dependencies": {
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/core-server": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.0.4.tgz",
+ "integrity": "sha512-/633Pp7LPcDWXkPLSW+W9VUYUbVkdVBG6peXjuzogV0vzdM0dM9af/T0uV2NQxUhzoy6/7QdSDljE+eEOBs2Lw==",
+ "dev": true,
+ "dependencies": {
+ "@aw-web-design/x-default-browser": "1.4.126",
+ "@babel/core": "^7.23.9",
+ "@discoveryjs/json-ext": "^0.5.3",
+ "@storybook/builder-manager": "8.0.4",
+ "@storybook/channels": "8.0.4",
+ "@storybook/core-common": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/csf-tools": "8.0.4",
+ "@storybook/docs-mdx": "3.0.0",
+ "@storybook/global": "^5.0.0",
+ "@storybook/manager": "8.0.4",
+ "@storybook/manager-api": "8.0.4",
+ "@storybook/node-logger": "8.0.4",
+ "@storybook/preview-api": "8.0.4",
+ "@storybook/telemetry": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "@types/detect-port": "^1.3.0",
+ "@types/node": "^18.0.0",
+ "@types/pretty-hrtime": "^1.0.0",
+ "@types/semver": "^7.3.4",
+ "better-opn": "^3.0.2",
+ "chalk": "^4.1.0",
+ "cli-table3": "^0.6.1",
+ "compression": "^1.7.4",
+ "detect-port": "^1.3.0",
+ "express": "^4.17.3",
+ "fs-extra": "^11.1.0",
+ "globby": "^11.0.2",
+ "ip": "^2.0.1",
+ "lodash": "^4.17.21",
+ "open": "^8.4.0",
+ "pretty-hrtime": "^1.0.3",
+ "prompts": "^2.4.0",
+ "read-pkg-up": "^7.0.1",
+ "semver": "^7.3.7",
+ "telejson": "^7.2.0",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util": "^0.12.4",
+ "util-deprecate": "^1.0.2",
+ "watchpack": "^2.2.0",
+ "ws": "^8.2.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/csf-tools": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.0.4.tgz",
+ "integrity": "sha512-dMSZxWnXBhmXGOZZOAJ4DKZRCYdA0HaqqZ4/eF9MLLsI+qvW4EklcpjVY6bsIzACgubRWtRZkTpxTnjExi/N1A==",
+ "dev": true,
+ "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": "8.0.4",
+ "fs-extra": "^11.1.0",
+ "recast": "^0.23.5",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/storybook/node_modules/@storybook/docs-mdx": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-3.0.0.tgz",
+ "integrity": "sha512-NmiGXl2HU33zpwTv1XORe9XG9H+dRUC1Jl11u92L4xr062pZtrShLmD4VKIsOQujxhhOrbxpwhNOt+6TdhyIdQ==",
+ "dev": true
},
- "node_modules/space-separated-tokens": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
- "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
+ "node_modules/storybook/node_modules/@storybook/manager": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.0.4.tgz",
+ "integrity": "sha512-M5IofDSxbIQIdAglxUtZOGKjZ1EAq1Mdbh4UolVsF1PKF6dAvBQJLVW6TiLjEbmPBtqgeYKMgrmmYiFNqVcdBQ==",
"dev": true,
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/wooorm"
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/spdx-correct": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
- "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "node_modules/storybook/node_modules/@storybook/manager-api": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.0.4.tgz",
+ "integrity": "sha512-TudiRmWlsi8kdjwqW0DDLen76Zp4Sci/AnvTbZvZOWe8C2mruxcr6aaGwuIug6y+uxIyXDvURF6Cek5Twz4isg==",
+ "dev": true,
"dependencies": {
- "spdx-expression-parse": "^3.0.0",
- "spdx-license-ids": "^3.0.0"
+ "@storybook/channels": "8.0.4",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/global": "^5.0.0",
+ "@storybook/icons": "^1.2.5",
+ "@storybook/router": "8.0.4",
+ "@storybook/theming": "8.0.4",
+ "@storybook/types": "8.0.4",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "store2": "^2.14.2",
+ "telejson": "^7.2.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "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=="
- },
- "node_modules/spdx-expression-parse": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
- "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
- "dependencies": {
- "spdx-exceptions": "^2.1.0",
- "spdx-license-ids": "^3.0.0"
+ "node_modules/storybook/node_modules/@storybook/node-logger": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.0.4.tgz",
+ "integrity": "sha512-cALLHuX53vLQsoJamGRlquh2pfhPq9copXou2JTmFT6mrCcipo77SzhBDfeeuhaGv6vUWPfmGjPBEHXWGPe4+g==",
+ "dev": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/spdx-license-ids": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
- "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w=="
- },
- "node_modules/split": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
- "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==",
+ "node_modules/storybook/node_modules/@storybook/preview-api": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.0.4.tgz",
+ "integrity": "sha512-uZCgZ/7BZkFTNudCBWx3YPFVdReMQSZJj9EfQVhQaPmfGORHGMvZMRsQXl0ONhPy7zDD4rVQxu5dSKWmIiYoWQ==",
"dev": true,
"dependencies": {
- "through": "2"
+ "@storybook/channels": "8.0.4",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-events": "8.0.4",
+ "@storybook/csf": "^0.1.2",
+ "@storybook/global": "^5.0.0",
+ "@storybook/types": "8.0.4",
+ "@types/qs": "^6.9.5",
+ "dequal": "^2.0.2",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "tiny-invariant": "^1.3.1",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": "*"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/split2": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
- "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
- "engines": {
- "node": ">= 10.x"
+ "node_modules/storybook/node_modules/@storybook/router": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.0.4.tgz",
+ "integrity": "sha512-hlR80QvmLBflAqMeGcgtDuSe6TJlzdizwEAkBLE1lDvFI6tvvEyAliCAXBpIDdOZTe0u/zeeJkOUXKSx33caoQ==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/client-logger": "8.0.4",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "dev": true
- },
- "node_modules/sshpk": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
- "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "node_modules/storybook/node_modules/@storybook/telemetry": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.0.4.tgz",
+ "integrity": "sha512-Q3ITY6J46R/TrrPRIU1fs3WNs69ExpTJZ9UlB8087qOUyV90Ex33SYk3i10xVWRczxCmyC1V58Xuht6nxz7mNQ==",
"dev": true,
"dependencies": {
- "asn1": "~0.2.3",
- "assert-plus": "^1.0.0",
- "bcrypt-pbkdf": "^1.0.0",
- "dashdash": "^1.12.0",
- "ecc-jsbn": "~0.1.1",
- "getpass": "^0.1.1",
- "jsbn": "~0.1.0",
- "safer-buffer": "^2.0.2",
- "tweetnacl": "~0.14.0"
- },
- "bin": {
- "sshpk-conv": "bin/sshpk-conv",
- "sshpk-sign": "bin/sshpk-sign",
- "sshpk-verify": "bin/sshpk-verify"
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/core-common": "8.0.4",
+ "@storybook/csf-tools": "8.0.4",
+ "chalk": "^4.1.0",
+ "detect-package-manager": "^2.0.1",
+ "fetch-retry": "^5.0.2",
+ "fs-extra": "^11.1.0",
+ "read-pkg-up": "^7.0.1"
},
- "engines": {
- "node": ">=0.10.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/sswr": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.0.0.tgz",
- "integrity": "sha512-mV0kkeBHcjcb0M5NqKtKVg/uTIYNlIIniyDfSGrSfxpEdM9C365jK0z55pl9K0xAkNTJi2OAOVFQpgMPUk+V0w==",
+ "node_modules/storybook/node_modules/@storybook/theming": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.0.4.tgz",
+ "integrity": "sha512-NxtTU2wMC0lj375ejoT3Npdcqwv6NeUpLaJl6EZCMXSR41ve9WG4suUNWQ63olhqKxirjzAz0IL7ggH7c3hPvA==",
+ "dev": true,
"dependencies": {
- "swrev": "^4.0.0"
+ "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1",
+ "@storybook/client-logger": "8.0.4",
+ "@storybook/global": "^5.0.0",
+ "memoizerific": "^1.11.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "svelte": "^4.0.0"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility"
- },
- "node_modules/stackframe": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz",
- "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==",
- "dev": true
- },
- "node_modules/stacktrace-parser": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz",
- "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==",
+ "node_modules/storybook/node_modules/@storybook/types": {
+ "version": "8.0.4",
+ "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.0.4.tgz",
+ "integrity": "sha512-OO7QY+qZFCYkItDUBACtIV32p75O7sNziAiyS1V2Oxgo7Ln7fwZwr3mJcA1ruBed6ZcrW3c87k7Xs40T2zAWcg==",
+ "dev": true,
"dependencies": {
- "type-fest": "^0.7.1"
+ "@storybook/channels": "8.0.4",
+ "@types/express": "^4.7.0",
+ "file-system-cache": "2.3.0"
},
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/stacktrace-parser/node_modules/type-fest": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz",
- "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==",
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/start-server-and-test": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz",
- "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==",
+ "node_modules/storybook/node_modules/@types/node": {
+ "version": "18.19.26",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz",
+ "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==",
"dev": true,
"dependencies": {
- "arg": "^5.0.2",
- "bluebird": "3.7.2",
- "check-more-types": "2.24.0",
- "debug": "4.3.4",
- "execa": "5.1.1",
- "lazy-ass": "1.6.0",
- "ps-tree": "1.2.0",
- "wait-on": "7.2.0"
- },
- "bin": {
- "server-test": "src/bin/start.js",
- "start-server-and-test": "src/bin/start.js",
- "start-test": "src/bin/start.js"
- },
- "engines": {
- "node": ">=16"
+ "undici-types": "~5.26.4"
}
},
- "node_modules/start-server-and-test/node_modules/execa": {
+ "node_modules/storybook/node_modules/execa": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
"integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
@@ -23927,7 +24897,7 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/start-server-and-test/node_modules/get-stream": {
+ "node_modules/storybook/node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
@@ -23939,7 +24909,7 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/start-server-and-test/node_modules/human-signals": {
+ "node_modules/storybook/node_modules/human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
@@ -23948,48 +24918,39 @@
"node": ">=10.17.0"
}
},
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/stop-iteration-iterator": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz",
- "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==",
+ "node_modules/storybook/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
"dependencies": {
- "internal-slot": "^1.0.4"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">= 0.4"
+ "node": ">=10"
}
},
- "node_modules/store2": {
- "version": "2.14.2",
- "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.2.tgz",
- "integrity": "sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==",
- "dev": true
- },
- "node_modules/storybook": {
- "version": "7.6.17",
- "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz",
- "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==",
+ "node_modules/storybook/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,
"dependencies": {
- "@storybook/cli": "7.6.17"
+ "lru-cache": "^6.0.0"
},
"bin": {
- "sb": "index.js",
- "storybook": "index.js"
+ "semver": "bin/semver.js"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
+ "engines": {
+ "node": ">=10"
}
},
+ "node_modules/storybook/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
"node_modules/stream-browserify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
@@ -24926,9 +25887,9 @@
}
},
"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=="
},
"node_modules/tmp": {
"version": "0.2.1",
@@ -26393,9 +27354,9 @@
}
},
"node_modules/webpack-dev-middleware": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz",
- "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==",
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz",
+ "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==",
"dev": true,
"dependencies": {
"colorette": "^2.0.10",
diff --git a/app/package.json b/app/package.json
index 1a30d60a7..3a646576b 100644
--- a/app/package.json
+++ b/app/package.json
@@ -1,6 +1,6 @@
{
"name": "city-catalyst",
- "version": "0.5.0-rc.1",
+ "version": "0.6.0-rc.0",
"private": true,
"type": "module",
"scripts": {
@@ -46,7 +46,7 @@
"@types/jsonwebtoken": "^9.0.4",
"@types/node": "20.11.5",
"@types/nodemailer": "^6.4.14",
- "@types/pg": "^8.11.2",
+ "@types/pg": "^8.11.4",
"@types/react": "18.2.61",
"@types/react-dom": "18.2.19",
"@types/uuid": "^9.0.8",
@@ -72,7 +72,7 @@
"jsonwebtoken": "^9.0.2",
"next": "14.1.3",
"next-auth": "^4.24.5",
- "nodemailer": "^6.9.9",
+ "nodemailer": "^6.9.13",
"openai": "^4.28.0",
"pg": "^8.11.3",
"pg-hstore": "^2.3.4",
@@ -102,7 +102,7 @@
"@storybook/addon-essentials": "^7.6.16",
"@storybook/addon-interactions": "^7.4.5",
"@storybook/addon-links": "^7.6.17",
- "@storybook/blocks": "^7.6.14",
+ "@storybook/blocks": "^8.0.4",
"@storybook/nextjs": "^7.6.16",
"@types/glob": "^8.1.0",
"cypress": "^13.6.4",
@@ -110,7 +110,7 @@
"prettier": "3.2.5",
"sequelize-auto": "^0.8.8",
"start-server-and-test": "^2.0.3",
- "storybook": "^7.6.17"
+ "storybook": "^8.0.4"
},
"engines": {
"node": ">=20.5.0"
diff --git a/app/public/assets/not-found-background.svg b/app/public/assets/not-found-background.svg
new file mode 100644
index 000000000..399071405
--- /dev/null
+++ b/app/public/assets/not-found-background.svg
@@ -0,0 +1,1181 @@
+
diff --git a/app/scripts/catalogue-sync.ts b/app/scripts/catalogue-sync.ts
index c36627874..d1b3e4809 100644
--- a/app/scripts/catalogue-sync.ts
+++ b/app/scripts/catalogue-sync.ts
@@ -6,10 +6,11 @@ import { logger } from "@/services/logger";
interface Source {
datasource_id: string;
- name: string;
+ datasource_name: string;
+ dataset_name: string;
source_type: string;
url: string;
- description: string;
+ dataset_description: string;
access_type: string;
geographical_location: string;
start_year: number;
@@ -23,6 +24,8 @@ interface Source {
notes: string;
units: string;
methodology_url: string;
+ methodology_description: string;
+ transformation_description: string;
publisher_id: string;
retrieval_method: string;
api_endpoint: string;
@@ -116,7 +119,7 @@ async function syncDataCatalogue() {
if (!source.notes) {
// publisher_id is still a name at this stage
- source.notes = `${source.name} by ${source.publisher_id}. For more details see ${source.url}`;
+ source.notes = `${source.datasource_name} by ${source.publisher_id}. For more details see ${source.url}`;
}
if (source.geographical_location === "global") {
@@ -171,48 +174,15 @@ async function syncDataCatalogue() {
console.dir(sources);
logger.debug("Saving sources...");
+ /*
+ * TODO switch to single query when this issue is fixed:
+ * https://github.com/sequelize/sequelize/issues/15221
+ * https://github.com/sequelize/sequelize/issues/13545
+ */
for (const source of sources) {
await db.models.DataSource.upsert(source);
}
- /* TODO switch to single query when this issue is fixed:
- // https://github.com/sequelize/sequelize/issues/15221
- // https://github.com/sequelize/sequelize/issues/13545
- await db.models.DataSource.bulkCreate(
- sources,
- {
- updateOnDuplicate: [
- "name",
- "sourceType",
- "url",
- "description",
- "accessType",
- "geographicalLocation",
- "startYear",
- "endYear",
- "latestAccountingYear",
- "frequencyOfUpdate",
- "spatialResolution",
- "language",
- "accessibility",
- "dataQuality",
- "notes",
- "units",
- "methodologyUrl",
- "publisherId",
- "retrievalMethod",
- "apiEndpoint",
- "sectorId",
- "subsectorId",
- "subcategoryId",
- "created",
- "lastUpdated",
- ],
- // ignoreDuplicates: true,
- },
- );
- */
-
await catalogue.update({ lastUpdate: new Date(lastUpdate) });
logger.debug("Updated Catalogue, done!");
diff --git a/app/src/app/[...not_found]/layout.tsx b/app/src/app/[...not_found]/layout.tsx
new file mode 100644
index 000000000..fe824e297
--- /dev/null
+++ b/app/src/app/[...not_found]/layout.tsx
@@ -0,0 +1,38 @@
+import "../globals.css";
+import type { Metadata } from "next";
+import { Providers } from "../providers";
+import { dir } from "i18next";
+import { languages } from "@/i18n/settings";
+import { NavigationBar } from "@/components/navigation-bar";
+
+export const metadata: Metadata = {
+ title: "CityCatalyst",
+ description: "Make building a climate inventory a breeze",
+};
+
+export async function generateStaticParams() {
+ return languages.map((lng: string) => ({ lng }));
+}
+
+export default function RootLayout({
+ children,
+ params: { lng },
+}: {
+ children: React.ReactNode;
+ params: { lng: string };
+}) {
+ return (
+
+
+
+
+
+
+
+
+ {children}
+
+
+
+ );
+}
diff --git a/app/src/app/[...not_found]/page.tsx b/app/src/app/[...not_found]/page.tsx
new file mode 100644
index 000000000..9903373c9
--- /dev/null
+++ b/app/src/app/[...not_found]/page.tsx
@@ -0,0 +1,71 @@
+"use client";
+import { useTranslation } from "@/i18n/client";
+import { api } from "@/services/api";
+import { ArrowForwardIcon } from "@chakra-ui/icons";
+import { Box, Text } from "@chakra-ui/layout";
+import { Button, IconButton } from "@chakra-ui/react";
+import Image from "next/image";
+import { useRouter } from "next/navigation";
+import React from "react";
+
+const NotFound = ({ params: { lng } }: { params: { lng: string } }) => {
+ const { data: userInfo, isLoading: isUserInfoLoading } =
+ api.useGetUserInfoQuery();
+ const router = useRouter();
+ const { t } = useTranslation(lng, "not-found");
+
+ return (
+
+
+
+
+ 404
+
+
+ {t("not-found-description")}
+
+
+
+
+ );
+};
+
+export default NotFound;
diff --git a/app/src/app/[lng]/data/[step]/ActivityDataTab.tsx b/app/src/app/[lng]/[inventory]/data/[step]/ActivityDataTab.tsx
similarity index 98%
rename from app/src/app/[lng]/data/[step]/ActivityDataTab.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/ActivityDataTab.tsx
index 170faa23e..4694909fe 100644
--- a/app/src/app/[lng]/data/[step]/ActivityDataTab.tsx
+++ b/app/src/app/[lng]/[inventory]/data/[step]/ActivityDataTab.tsx
@@ -50,7 +50,7 @@ const activityDataUnits: Record = {
export function determineEmissionsFactorType(factor: EmissionsFactorData) {
let sourceName = factor.dataSources
- ? factor.dataSources[0].name || "Unknown data source"
+ ? factor.dataSources[0].datasetName || "Unknown data source"
: "Unknown data source";
if (sourceName.includes("IPCC") && sourceName.includes("US")) {
return "National (US)";
@@ -108,7 +108,8 @@ export function ActivityDataTab({
: Object.keys(factorsByUnit);
// TODO this should happen in default form value, as the form still contains null/ undefined here
- const selectedUnit = watch(prefix + "activityDataUnit") ?? scopeUnits[0] ?? "";
+ const selectedUnit =
+ watch(prefix + "activityDataUnit") ?? scopeUnits[0] ?? "";
const selectedUnitShort = selectedUnit.split(" ")[0];
useEffect(() => {
diff --git a/app/src/app/[lng]/data/[step]/DirectMeasureForm.tsx b/app/src/app/[lng]/[inventory]/data/[step]/DirectMeasureForm.tsx
similarity index 100%
rename from app/src/app/[lng]/data/[step]/DirectMeasureForm.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/DirectMeasureForm.tsx
diff --git a/app/src/app/[lng]/data/[step]/EmissionsForm.tsx b/app/src/app/[lng]/[inventory]/data/[step]/EmissionsForm.tsx
similarity index 100%
rename from app/src/app/[lng]/data/[step]/EmissionsForm.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/EmissionsForm.tsx
diff --git a/app/src/app/[lng]/data/[step]/SourceDrawer.tsx b/app/src/app/[lng]/[inventory]/data/[step]/SourceDrawer.tsx
similarity index 91%
rename from app/src/app/[lng]/data/[step]/SourceDrawer.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/SourceDrawer.tsx
index 071611e2e..5e52423d1 100644
--- a/app/src/app/[lng]/data/[step]/SourceDrawer.tsx
+++ b/app/src/app/[lng]/[inventory]/data/[step]/SourceDrawer.tsx
@@ -54,10 +54,13 @@ export function SourceDrawer({
t: TFunction;
}) {
const emissionsData = sourceData?.totals?.emissions?.co2eq_100yr;
- // TODO scale this down for country data sources
- const totalEmissions = emissionsData
+ let totalEmissions = emissionsData
? ((Number(emissionsData) * sourceData?.scaleFactor) / 1000).toFixed(2)
: "?";
+ if (sourceData?.issue) {
+ totalEmissions = "?";
+ }
+
return (
- {source.name}
+ {source.datasetName}
-
+
{source.subCategory?.referenceNumber ||
source.subSector?.referenceNumber}{" "}
{source.subCategory?.subcategoryName ||
@@ -141,7 +144,7 @@ export function SourceDrawer({
-
+
{t("total-emissions-included")}{" "}
+ {sourceData?.issue && (
+
+ {t("error")}: {t(sourceData?.issue)}
+
+ )}
+
- {t("inside-dataset")}
- {source.description}
+ {t("inside-dataset")}
+
+ {source.datasetDescription}
+
- {/*
- // TODO add methodology description to data source model/ data catalog
- */}
+
+ {source.methodologyDescription}
+
- {t("transform-data-description")}
+ {source.transformationDescription}
diff --git a/app/src/app/[lng]/data/[step]/SubsectorDrawer.tsx b/app/src/app/[lng]/[inventory]/data/[step]/SubsectorDrawer.tsx
similarity index 100%
rename from app/src/app/[lng]/data/[step]/SubsectorDrawer.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/SubsectorDrawer.tsx
diff --git a/app/src/app/[lng]/data/[step]/page.tsx b/app/src/app/[lng]/[inventory]/data/[step]/page.tsx
similarity index 87%
rename from app/src/app/[lng]/data/[step]/page.tsx
rename to app/src/app/[lng]/[inventory]/data/[step]/page.tsx
index 9d7c9813c..2ac9c5b0b 100644
--- a/app/src/app/[lng]/data/[step]/page.tsx
+++ b/app/src/app/[lng]/[inventory]/data/[step]/page.tsx
@@ -60,7 +60,6 @@ import {
MdOutlineEdit,
MdOutlineHomeWork,
MdOutlineSkipNext,
- MdPlaylistAddCheck,
MdRefresh,
} from "react-icons/md";
import { useDispatch, useSelector } from "react-redux";
@@ -72,9 +71,8 @@ import type {
SubSectorWithRelations,
} from "./types";
-import { v4 as uuidv4 } from "uuid";
+import AddFileDataModal from "@/components/Modals/add-file-data-modal";
import { InventoryValueAttributes } from "@/models/InventoryValue";
-import { DataSource } from "@/models/DataSource";
function getMailURI(locode?: string, sector?: string, year?: number): string {
const emails =
@@ -170,9 +168,9 @@ function NoDataSourcesMessage({
}
export default function AddDataSteps({
- params: { lng, step },
+ params: { lng, step, inventory },
}: {
- params: { lng: string; step: string };
+ params: { lng: string; step: string; inventory: string };
}) {
const { t } = useTranslation(lng, "data");
const router = useRouter();
@@ -427,7 +425,7 @@ export default function AddDataSteps({
await new Promise((resolve) => setTimeout(resolve, 1000));
setConfirming(false);
if (activeStep >= steps.length - 1) {
- router.push("/data/review");
+ router.push(`/${inventory}/data/review`);
} else {
window.scrollTo({ top: 0, behavior: "smooth" });
goToNext();
@@ -436,7 +434,7 @@ export default function AddDataSteps({
const onSkip = () => {
if (activeStep >= steps.length - 1) {
- router.push("/data/review");
+ router.push(`/${inventory}/data/review`);
} else {
window.scrollTo({ top: 0, behavior: "smooth" });
goToNext();
@@ -449,35 +447,18 @@ export default function AddDataSteps({
(state: RootState) => state.inventoryData,
);
const dispatch = useDispatch();
- function fileToBase64(file: File) {
- return new Promise((resolve, reject) => {
- const reader = new FileReader();
- reader.readAsDataURL(file);
- reader.onload = () => resolve(reader.result);
- reader.onerror = (error) => reject(error);
- });
- }
// Add file data to rudux state object
+ const {
+ isOpen: isfileDataModalOpen,
+ onOpen: onFileDataModalOpen,
+ onClose: onfileDataModalClose,
+ } = useDisclosure();
+
+ const [uploadedFile, setUploadedFile] = useState();
+
const handleFileSelect = async (file: File) => {
- const base64FileString = await fileToBase64(file);
- const filename = file.name;
- dispatch(
- addFile({
- sectorName: currentStep.title!,
- fileData: {
- fileId: uuidv4(),
- fileName: filename,
- userId: userInfo?.userId,
- sector: currentStep.title,
- data: base64FileString,
- // TODO this should not be passed in but rather set on the server (only necessary for AWS S3 or external hosting)
- url: "http://localhost",
- size: file.size,
- fileType: filename.split(".").pop(),
- },
- }),
- );
+ onFileDataModalOpen();
};
const sectorData = getInventoryData.sectors.filter(
@@ -716,7 +697,7 @@ export default function AddDataSteps({
{/* TODO add icon to DataSource */}
- {source.name}
+ {source.datasetName}
@@ -748,7 +729,8 @@ export default function AddDataSteps({
noOfLines={5}
minHeight={120}
>
- {source.description}
+ {source.datasetDescription ||
+ source.methodologyDescription}
-
+
{t("files-uploaded")}
{sectorData &&
- sectorData[0]?.files.map((file: any, i: number) => (
-
-
-
-
-
-
-
- {file.fileName}
-
- {
+ return (
+
+
+
+
+
+
- {bytesToMB(file.size)}
-
-
-
-
+
+ {bytesToMB(file.size)}
+
+
+
- removeSectorFile(
- file.fileId,
- sectorData[0].sectorName,
- )
- }
+ display="flex"
+ justifyContent="right"
+ alignItems="center"
+ w="full"
>
-
-
+
+
+
+
+ {file.subsectors.split(",").map((item: any) => (
+
+ {item}
+
+ ))}
-
-
- ))}
+
+ );
+ })}
@@ -1005,6 +1010,16 @@ export default function AddDataSteps({
+ {/* Add fole data modal */}
+
{/*** Bottom bar ***/}
diff --git a/app/src/app/[lng]/data/[step]/subsectors.json b/app/src/app/[lng]/[inventory]/data/[step]/subsectors.json
similarity index 100%
rename from app/src/app/[lng]/data/[step]/subsectors.json
rename to app/src/app/[lng]/[inventory]/data/[step]/subsectors.json
diff --git a/app/src/app/[lng]/data/[step]/types.d.ts b/app/src/app/[lng]/[inventory]/data/[step]/types.d.ts
similarity index 100%
rename from app/src/app/[lng]/data/[step]/types.d.ts
rename to app/src/app/[lng]/[inventory]/data/[step]/types.d.ts
diff --git a/app/src/app/[lng]/data/layout.tsx b/app/src/app/[lng]/[inventory]/data/layout.tsx
similarity index 100%
rename from app/src/app/[lng]/data/layout.tsx
rename to app/src/app/[lng]/[inventory]/data/layout.tsx
diff --git a/app/src/app/[lng]/data/page.tsx b/app/src/app/[lng]/[inventory]/data/page.tsx
similarity index 96%
rename from app/src/app/[lng]/data/page.tsx
rename to app/src/app/[lng]/[inventory]/data/page.tsx
index f4d2a0de4..1c7e17a38 100644
--- a/app/src/app/[lng]/data/page.tsx
+++ b/app/src/app/[lng]/[inventory]/data/page.tsx
@@ -14,7 +14,7 @@ import {
Text,
} from "@chakra-ui/react";
import NextLink from "next/link";
-import { useRouter } from "next/navigation";
+import { useParams, useRouter } from "next/navigation";
import { Trans } from "react-i18next/TransWithoutContext";
import { MdOutlineHomeWork } from "react-icons/md";
import { FiTrash2, FiTruck } from "react-icons/fi";
@@ -26,6 +26,7 @@ export default function AddDataIntro({
}) {
const { t } = useTranslation(lng, "data");
const router = useRouter();
+ const { inventory } = useParams();
return (
@@ -129,7 +130,7 @@ export default function AddDataIntro({
-
+