From 91784c2ac4d3bda48a4616d86d41f384a33863d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Thu, 27 Jun 2024 11:58:12 +0100 Subject: [PATCH 01/38] fix: Log error stack explicitly on DPA failures (#3328) --- api.planx.uk/modules/admin/session/digitalPlanningData.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api.planx.uk/modules/admin/session/digitalPlanningData.ts b/api.planx.uk/modules/admin/session/digitalPlanningData.ts index 5ad773a9fa..1089e1aef4 100644 --- a/api.planx.uk/modules/admin/session/digitalPlanningData.ts +++ b/api.planx.uk/modules/admin/session/digitalPlanningData.ts @@ -40,7 +40,7 @@ export const getDigitalPlanningApplicationPayload = async ( return res.send(data); } catch (error) { return next({ - message: `Failed to make Digital Planning Application payload: ${error}`, + message: `Failed to make Digital Planning Application payload: ${error}. Stack: ${(error as Error).stack}`, }); } }; From b58431a597490ef5879d92f18b7ea4230c9d7d23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Thu, 27 Jun 2024 17:27:39 +0100 Subject: [PATCH 02/38] chore: Bump planx-core (#3329) --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 42 +++++++++----- e2e/tests/api-driven/package.json | 2 +- e2e/tests/api-driven/pnpm-lock.yaml | 57 +++++++++--------- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 64 ++++++++++++++------ editor.planx.uk/package.json | 2 +- editor.planx.uk/pnpm-lock.yaml | 90 +++++++++++++++-------------- 8 files changed, 156 insertions(+), 105 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index cba612e645..6d22514c38 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#ccca2ac", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 3a52421e30..bf8e45241a 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#ccca2ac - version: github.com/theopensystemslab/planx-core/ccca2ac + specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 + version: github.com/theopensystemslab/planx-core/db69b87 '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -1215,12 +1215,12 @@ packages: resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} dev: false - /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): + /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.8.1 + graphql: 16.9.0 dev: false /@humanwhocodes/config-array@0.11.14: @@ -4463,14 +4463,14 @@ packages: - encoding dev: false - /graphql-request@6.1.0(graphql@16.8.1): + /graphql-request@6.1.0(graphql@16.9.0): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) cross-fetch: 3.1.8 - graphql: 16.8.1 + graphql: 16.9.0 transitivePeerDependencies: - encoding dev: false @@ -4487,6 +4487,11 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false + /graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + dev: false + /growly@1.3.0: resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} dev: true @@ -5655,6 +5660,7 @@ packages: chalk: 3.0.0 diff-match-patch: 1.0.5 dev: false + bundledDependencies: [] /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} @@ -5916,8 +5922,8 @@ packages: object-visit: 1.0.1 dev: true - /marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + /marked@13.0.1: + resolution: {integrity: sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -7978,6 +7984,11 @@ packages: engines: {node: '>= 0.4.0'} dev: false + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + dev: false + /uuid@8.0.0: resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} hasBin: true @@ -7991,6 +8002,7 @@ packages: /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + dev: true /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -8276,8 +8288,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/ccca2ac: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/ccca2ac} + github.com/theopensystemslab/planx-core/db69b87: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true @@ -8294,16 +8306,16 @@ packages: docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.0 - graphql: 16.8.1 - graphql-request: 6.1.0(graphql@16.8.1) + graphql: 16.9.0 + graphql-request: 6.1.0(graphql@16.9.0) json-schema-to-typescript: 14.0.5 lodash: 4.17.21 - marked: 12.0.2 + marked: 13.0.1 prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) type-fest: 4.20.1 - uuid: 9.0.1 + uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: - '@types/react' diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 45a707d37a..182998d643 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#ccca2ac", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", "axios": "^1.6.8", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index 62c398b969..f8932507e3 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#ccca2ac - version: github.com/theopensystemslab/planx-core/ccca2ac + specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 + version: github.com/theopensystemslab/planx-core/db69b87 axios: specifier: ^1.6.8 version: 1.6.8 @@ -435,12 +435,12 @@ packages: resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} dev: false - /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): + /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.8.1 + graphql: 16.9.0 dev: false /@humanwhocodes/config-array@0.11.14: @@ -1611,14 +1611,14 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: false - /graphql-request@6.1.0(graphql@16.8.1): + /graphql-request@6.1.0(graphql@16.9.0): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) cross-fetch: 3.1.8 - graphql: 16.8.1 + graphql: 16.9.0 transitivePeerDependencies: - encoding dev: false @@ -1638,6 +1638,11 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false + /graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + dev: false + /has-ansi@4.0.1: resolution: {integrity: sha512-Qr4RtTm30xvEdqUXbSBVWDu+PrTokJOwe/FU+VdfJPk+MXAPoeOzKpRyrDTnZIJwAkQ4oBLTU53nu0HrkF/Z2A==} engines: {node: '>=8'} @@ -1827,7 +1832,7 @@ packages: mkdirp: 3.0.1 mz: 2.7.0 node-fetch: 3.3.2 - prettier: 3.3.1 + prettier: 3.3.2 dev: false /json-schema-traverse@0.4.1: @@ -2007,8 +2012,8 @@ packages: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true - /marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + /marked@13.0.1: + resolution: {integrity: sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -2290,8 +2295,8 @@ packages: engines: {node: '>= 0.8.0'} dev: false - /prettier@3.3.1: - resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + /prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true dev: false @@ -2734,8 +2739,8 @@ packages: engines: {node: '>=10'} dev: false - /type-fest@4.20.0: - resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} + /type-fest@4.20.1: + resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} engines: {node: '>=16'} dev: false @@ -2778,13 +2783,13 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false - /uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true dev: false - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + /uuid@9.0.0: + resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} hasBin: true dev: false @@ -2938,8 +2943,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/ccca2ac: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/ccca2ac} + github.com/theopensystemslab/planx-core/db69b87: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true @@ -2956,16 +2961,16 @@ packages: docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.0 - graphql: 16.8.1 - graphql-request: 6.1.0(graphql@16.8.1) + graphql: 16.9.0 + graphql-request: 6.1.0(graphql@16.9.0) json-schema-to-typescript: 14.0.5 lodash: 4.17.21 - marked: 12.0.2 - prettier: 3.3.1 + marked: 13.0.1 + prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - type-fest: 4.20.0 - uuid: 9.0.1 + type-fest: 4.20.1 + uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: - '@types/react' diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index ff08bc350a..e7bbd7563a 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#ccca2ac", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index 0368341d33..fa32bed152 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#ccca2ac - version: github.com/theopensystemslab/planx-core/ccca2ac + specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 + version: github.com/theopensystemslab/planx-core/db69b87 axios: specifier: ^1.6.8 version: 1.6.8 @@ -307,6 +307,14 @@ packages: graphql: 16.8.1 dev: false + /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + graphql: 16.9.0 + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -1510,11 +1518,28 @@ packages: - encoding dev: false + /graphql-request@6.1.0(graphql@16.9.0): + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + peerDependencies: + graphql: 14 - 16 + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) + cross-fetch: 3.1.8 + graphql: 16.9.0 + transitivePeerDependencies: + - encoding + dev: false + /graphql@16.8.1: resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false + /graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + dev: false + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -1703,7 +1728,7 @@ packages: mkdirp: 3.0.1 mz: 2.7.0 node-fetch: 3.3.2 - prettier: 3.3.1 + prettier: 3.3.2 dev: false /json-schema-traverse@0.4.1: @@ -1837,8 +1862,8 @@ packages: es5-ext: 0.10.64 dev: false - /marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + /marked@13.0.1: + resolution: {integrity: sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -2145,8 +2170,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - /prettier@3.3.1: - resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + /prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true dev: false @@ -2529,8 +2554,8 @@ packages: engines: {node: '>=12.20'} dev: false - /type-fest@4.20.0: - resolution: {integrity: sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw==} + /type-fest@4.20.1: + resolution: {integrity: sha512-R6wDsVsoS9xYOpy8vgeBlqpdOyzJ12HNfQhC/aAKWM3YoCV9TtunJzh/QpkMgeDhkoynDcw5f1y+qF9yc/HHyg==} engines: {node: '>=16'} dev: false @@ -2563,6 +2588,11 @@ packages: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: false + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + dev: false + /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -2684,8 +2714,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/ccca2ac: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/ccca2ac} + github.com/theopensystemslab/planx-core/db69b87: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true @@ -2702,16 +2732,16 @@ packages: docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.0 - graphql: 16.8.1 - graphql-request: 6.1.0(graphql@16.8.1) + graphql: 16.9.0 + graphql-request: 6.1.0(graphql@16.9.0) json-schema-to-typescript: 14.0.5 lodash: 4.17.21 - marked: 12.0.2 - prettier: 3.3.1 + marked: 13.0.1 + prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - type-fest: 4.20.0 - uuid: 9.0.1 + type-fest: 4.20.1 + uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: - '@types/react' diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 9fac48b122..06710a7fe1 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -13,7 +13,7 @@ "@mui/material": "^5.15.2", "@mui/utils": "^5.15.2", "@opensystemslab/map": "^0.8.2", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#ccca2ac", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", "@tiptap/core": "^2.4.0", "@tiptap/extension-bold": "^2.0.3", "@tiptap/extension-bubble-menu": "^2.1.13", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index f826773d6c..85bffcd85b 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -42,8 +42,8 @@ dependencies: specifier: ^0.8.2 version: 0.8.2 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#ccca2ac - version: github.com/theopensystemslab/planx-core/ccca2ac(@types/react@18.2.45) + specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 + version: github.com/theopensystemslab/planx-core/db69b87(@types/react@18.2.45) '@tiptap/core': specifier: ^2.4.0 version: 2.4.0(@tiptap/pm@2.0.3) @@ -4576,6 +4576,14 @@ packages: graphql: 16.8.1 dev: false + /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + graphql: 16.9.0 + dev: false + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -6652,11 +6660,11 @@ packages: - supports-color dev: true - /@storybook/builder-manager@8.1.10(prettier@3.0.0): + /@storybook/builder-manager@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/manager': 8.1.10 '@storybook/node-logger': 8.1.10 '@types/ejs': 3.1.5 @@ -6760,12 +6768,12 @@ packages: '@babel/types': 7.24.7 '@ndelangen/get-tarball': 3.0.9 '@storybook/codemod': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/core-events': 8.1.10 - '@storybook/core-server': 8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-server': 8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0) '@storybook/csf-tools': 8.1.10 '@storybook/node-logger': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.0.0) + '@storybook/telemetry': 8.1.10(prettier@3.3.2) '@storybook/types': 8.1.10 '@types/semver': 7.5.8 '@yarnpkg/fslib': 2.10.3 @@ -6904,7 +6912,7 @@ packages: - supports-color dev: true - /@storybook/core-common@8.1.10(prettier@3.0.0): + /@storybook/core-common@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==} peerDependencies: prettier: ^2 || ^3 @@ -6933,8 +6941,8 @@ packages: node-fetch: 2.7.0 picomatch: 2.3.1 pkg-dir: 5.0.0 - prettier: 3.0.0 - prettier-fallback: /prettier@3.0.0 + prettier: 3.3.2 + prettier-fallback: /prettier@3.3.2 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 semver: 7.6.2 @@ -6966,16 +6974,16 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/core-server@8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0): + /@storybook/core-server@8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.7 '@babel/parser': 7.24.7 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.1.10(prettier@3.0.0) + '@storybook/builder-manager': 8.1.10(prettier@3.3.2) '@storybook/channels': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/core-events': 8.1.10 '@storybook/csf': 0.1.8 '@storybook/csf-tools': 8.1.10 @@ -6985,7 +6993,7 @@ packages: '@storybook/manager-api': 8.1.10(react-dom@18.2.0)(react@18.2.0) '@storybook/node-logger': 8.1.10 '@storybook/preview-api': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.0.0) + '@storybook/telemetry': 8.1.10(prettier@3.3.2) '@storybook/types': 8.1.10 '@types/detect-port': 1.3.5 '@types/diff': 5.2.1 @@ -7427,11 +7435,11 @@ packages: qs: 6.12.1 dev: true - /@storybook/telemetry@8.1.10(prettier@3.0.0): + /@storybook/telemetry@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==} dependencies: '@storybook/client-logger': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/csf-tools': 8.1.10 chalk: 4.1.2 detect-package-manager: 2.0.1 @@ -7745,20 +7753,6 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/dom@8.20.1: - resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} - engines: {node: '>=12'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.24.7 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -7796,7 +7790,7 @@ packages: react-dom: ^18.0.0 dependencies: '@babel/runtime': 7.24.7 - '@testing-library/dom': 8.20.1 + '@testing-library/dom': 9.3.4 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -13167,14 +13161,14 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphql-request@6.1.0(graphql@16.8.1): + /graphql-request@6.1.0(graphql@16.9.0): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) cross-fetch: 3.1.8 - graphql: 16.8.1 + graphql: 16.9.0 transitivePeerDependencies: - encoding dev: false @@ -13194,6 +13188,11 @@ packages: engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} dev: false + /graphql@16.9.0: + resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + dev: false + /gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} hasBin: true @@ -15486,8 +15485,8 @@ packages: react: 18.2.0 dev: true - /marked@12.0.2: - resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + /marked@13.0.1: + resolution: {integrity: sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==} engines: {node: '>= 18'} hasBin: true dev: false @@ -20863,6 +20862,11 @@ packages: dev: false optional: true + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + dev: false + /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -21636,9 +21640,9 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - github.com/theopensystemslab/planx-core/ccca2ac(@types/react@18.2.45): - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/ccca2ac} - id: github.com/theopensystemslab/planx-core/ccca2ac + github.com/theopensystemslab/planx-core/db69b87(@types/react@18.2.45): + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} + id: github.com/theopensystemslab/planx-core/db69b87 name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true @@ -21655,16 +21659,16 @@ packages: docx: 8.5.0 eslint: 8.57.0 fast-xml-parser: 4.4.0 - graphql: 16.8.1 - graphql-request: 6.1.0(graphql@16.8.1) + graphql: 16.9.0 + graphql-request: 6.1.0(graphql@16.9.0) json-schema-to-typescript: 14.0.5 lodash: 4.17.21 - marked: 12.0.2 + marked: 13.0.1 prettier: 3.3.2 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) type-fest: 4.20.1 - uuid: 9.0.1 + uuid: 10.0.0 zod: 3.23.8 transitivePeerDependencies: - '@types/react' From 90b09f96c69563a70c3bc2f187f420daba2a82f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 09:52:49 +0100 Subject: [PATCH 03/38] feat: Remove optional/required distinction in List schema (#3332) --- .../@planx/components/List/Public/Fields.tsx | 20 +++++++++---------- .../components/List/Public/index.test.tsx | 1 - .../src/@planx/components/List/model.ts | 6 ++---- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx index 41d579db57..6c99ce5613 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx @@ -22,13 +22,12 @@ type Props = T & { id: string }; export const TextFieldInput: React.FC> = ({ id, data, - required, }) => { const { formik, activeIndex } = useListContext(); return ( > = ({ data.type && ["long", "extraLong"].includes(data.type) ? 5 : undefined } name={`userData[${activeIndex}]['${data.fn}']`} - required={required} + required inputProps={{ "aria-describedby": [ data.description ? DESCRIPTION_TEXT : "", @@ -69,18 +68,17 @@ export const TextFieldInput: React.FC> = ({ export const NumberFieldInput: React.FC> = ({ id, data, - required, }) => { const { formik, activeIndex } = useListContext(); return ( > = ({ export const RadioFieldInput: React.FC> = (props) => { const { formik, activeIndex } = useListContext(); - const { id, data, required } = props; + const { id, data } = props; return ( @@ -124,7 +122,7 @@ export const RadioFieldInput: React.FC> = (props) => { }, })} > - {required === false ? data.title + " (optional)" : data.title} + {data.title} > = (props) => { export const SelectFieldInput: React.FC> = (props) => { const { formik, activeIndex } = useListContext(); - const { id, data, required } = props; + const { id, data } = props; const isDisabled = (option: Option) => { if (!props.unique) return false; @@ -168,7 +166,7 @@ export const SelectFieldInput: React.FC> = (props) => { return ( > = (props) => { > { test.todo("number fields use existing validation schemas"); test.todo("question fields use validation schema"); test.todo("unique constraints are enforced on question where this is set"); - test.todo("optional fields can be empty when saving an item"); test.todo("an error displays if the minimum number of items is not met"); test.todo("an error displays if the maximum number of items is exceeded"); test.todo( diff --git a/editor.planx.uk/src/@planx/components/List/model.ts b/editor.planx.uk/src/@planx/components/List/model.ts index 89ad950cfc..e4d887ff0a 100644 --- a/editor.planx.uk/src/@planx/components/List/model.ts +++ b/editor.planx.uk/src/@planx/components/List/model.ts @@ -28,20 +28,18 @@ const questionInputValidationSchema = (data: QuestionInput) => .oneOf(data.options.map((option) => option.data.val || option.data.text)) .required("Select your answer before continuing"); -// TODO: Add summary fields for inactive view? export type TextField = { type: "text"; - required?: boolean; data: TextInput & { fn: string }; }; + export type NumberField = { type: "number"; - required?: boolean; data: NumberInput & { fn: string }; }; + export type QuestionField = { type: "question"; - required?: boolean; unique?: boolean; data: QuestionInput & { fn: string }; }; From f7410aa2643c87c04c18becdfa6420373e12a732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 11:12:32 +0100 Subject: [PATCH 04/38] fix: Trim all form values on node creation (#3330) --- .../@planx/components/shared/index.test.ts | 20 +++++++++++++++++++ .../src/@planx/components/shared/index.ts | 3 +++ .../FlowEditor/components/forms/FormModal.tsx | 1 - 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 editor.planx.uk/src/@planx/components/shared/index.test.ts diff --git a/editor.planx.uk/src/@planx/components/shared/index.test.ts b/editor.planx.uk/src/@planx/components/shared/index.test.ts new file mode 100644 index 0000000000..81056be44f --- /dev/null +++ b/editor.planx.uk/src/@planx/components/shared/index.test.ts @@ -0,0 +1,20 @@ +import { parseFormValues } from "."; + +describe("parseFormValues util", () => { + it("trims nested strings", () => { + const input = { + type: 100, + data: { + description: "description ", + fn: "my.data.field ", + img: "", + text: "Question ", + }, + }; + const output = parseFormValues(Object.entries(input)); + + expect(output.data.fn).toEqual("my.data.field"); + expect(output.data.text).toEqual("Question"); + expect(output.data.description).toEqual("description"); + }) +}); \ No newline at end of file diff --git a/editor.planx.uk/src/@planx/components/shared/index.ts b/editor.planx.uk/src/@planx/components/shared/index.ts index 364bc753bd..c89b7f1df7 100644 --- a/editor.planx.uk/src/@planx/components/shared/index.ts +++ b/editor.planx.uk/src/@planx/components/shared/index.ts @@ -44,6 +44,9 @@ export const parseFormValues = (ob: any, defaultValues = {}) => .map((o) => parseFormValues(Object.entries(o))) // don't store options with no values .filter((o) => Object.keys(o).length > 0); + } else if (v && typeof v === "object") { + // if it's a nested object + acc[k] = parseFormValues(Object.entries(v)); } else { // it's a number or boolean etc acc[k] = v; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx b/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx index 1aae0ee578..c147014784 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx @@ -10,7 +10,6 @@ import { styled } from "@mui/material/styles"; import { ComponentType as TYPES } from "@opensystemslab/planx-core/types"; import { parseFormValues } from "@planx/components/shared"; import ErrorFallback from "components/ErrorFallback"; -import { hasFeatureFlag } from "lib/featureFlags"; import React from "react"; import { ErrorBoundary } from "react-error-boundary"; import { useNavigation } from "react-navi"; From e873e11022cfb73822d30fa155cdb9a01dc226d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 11:27:14 +0100 Subject: [PATCH 05/38] feat: Remove 'unique' property from List schema (`QuestionField`) (#3331) --- .../src/@planx/components/List/Public/Fields.tsx | 13 ------------- .../@planx/components/List/Public/index.test.tsx | 1 - editor.planx.uk/src/@planx/components/List/model.ts | 1 - 3 files changed, 15 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx index 6c99ce5613..eeb79a1d84 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx @@ -152,18 +152,6 @@ export const SelectFieldInput: React.FC> = (props) => { const { formik, activeIndex } = useListContext(); const { id, data } = props; - const isDisabled = (option: Option) => { - if (!props.unique) return false; - - const existingValues = formik.values.userData - .map((response) => response[data.fn]) - .filter( - (value) => value === option.data.val || value === option.data.text, - ); - - return existingValues.includes(option.data.val || option.data.text); - }; - return ( > = (props) => { {option.data.text} diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx index f112e3d39a..a769a82c3f 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx @@ -383,7 +383,6 @@ describe("Form validation and error handling", () => { test.todo("text fields use existing validation schemas"); test.todo("number fields use existing validation schemas"); test.todo("question fields use validation schema"); - test.todo("unique constraints are enforced on question where this is set"); test.todo("an error displays if the minimum number of items is not met"); test.todo("an error displays if the maximum number of items is exceeded"); test.todo( diff --git a/editor.planx.uk/src/@planx/components/List/model.ts b/editor.planx.uk/src/@planx/components/List/model.ts index e4d887ff0a..65adc60975 100644 --- a/editor.planx.uk/src/@planx/components/List/model.ts +++ b/editor.planx.uk/src/@planx/components/List/model.ts @@ -40,7 +40,6 @@ export type NumberField = { export type QuestionField = { type: "question"; - unique?: boolean; data: QuestionInput & { fn: string }; }; From 766e7b2c1ee0ea1f50d04ea51e5d0f1e323a5c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 11:42:56 +0100 Subject: [PATCH 06/38] test: Outstanding List component validation tests (#3323) --- .../@planx/components/List/Public/Context.tsx | 11 +- .../@planx/components/List/Public/Fields.tsx | 18 +- .../components/List/Public/index.test.tsx | 157 ++++++++++++++++-- .../components/List/schemas/mocks/Zoo.ts | 2 +- 4 files changed, 164 insertions(+), 24 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx index e9c22cee1a..bca7c02f9e 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx @@ -84,6 +84,11 @@ export const ListProvider: React.FC = (props) => { // Do not allow a new item to be added if there's still an active item if (activeIndex !== -1) return setAddItemError(true); + // Do not allow new item to be added if it will exceed max + if (schema.max && formik.values.userData.length === schema.max) { + return setMaxError(true); + } + // Add new item, and set to active setAddItemError(false); formik.values.userData.push(generateInitialValues(schema)); @@ -120,13 +125,11 @@ export const ListProvider: React.FC = (props) => { // Do not allow submissions with an unsaved item if (activeIndex !== -1) return setUnsavedItemError(true); - // Manually validate min/max + // Manually validate minimum number of items if (formik.values.userData.length < schema.min) { return setMinError(true); } - if (schema.max && formik.values.userData.length > schema.max) { - return setMaxError(true); - } + formik.handleSubmit(); }; diff --git a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx index eeb79a1d84..a5313d3cfb 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx @@ -4,7 +4,6 @@ import FormLabel from "@mui/material/FormLabel"; import MenuItem from "@mui/material/MenuItem"; import RadioGroup from "@mui/material/RadioGroup"; import { Option } from "@planx/components/shared"; -import { getIn } from "formik"; import React from "react"; import SelectInput from "ui/editor/SelectInput"; import InputLabel from "ui/public/InputLabel"; @@ -16,6 +15,7 @@ import { DESCRIPTION_TEXT, ERROR_MESSAGE } from "../../shared/constants"; import BasicRadio from "../../shared/Radio/BasicRadio"; import type { NumberField, QuestionField, TextField } from "../model"; import { useListContext } from "./Context"; +import { get } from "lodash"; type Props = T & { id: string }; @@ -40,9 +40,9 @@ export const TextFieldInput: React.FC> = ({ bordered value={formik.values.userData[activeIndex][data.fn]} onChange={formik.handleChange} - errorMessage={getIn( + errorMessage={get( formik.errors, - `userData[${activeIndex}][${data.fn}]`, + ["userData", activeIndex, data.fn], )} id={id} rows={ @@ -53,7 +53,7 @@ export const TextFieldInput: React.FC> = ({ inputProps={{ "aria-describedby": [ data.description ? DESCRIPTION_TEXT : "", - getIn(formik.errors, `userData[${activeIndex}][${data.fn}]`) + get(formik.errors, ["userData", activeIndex, data.fn]) ? `${ERROR_MESSAGE}-${id}` : "", ] @@ -84,14 +84,14 @@ export const NumberFieldInput: React.FC> = ({ type="number" value={formik.values.userData[activeIndex][data.fn]} onChange={formik.handleChange} - errorMessage={getIn( + errorMessage={get( formik.errors, - `userData[${activeIndex}][${data.fn}]`, + ["userData", activeIndex, data.fn], )} inputProps={{ "aria-describedby": [ data.description ? DESCRIPTION_TEXT : "", - getIn(formik.errors, `userData[${activeIndex}][${data.fn}]`) + get(formik.errors, ["userData", activeIndex, data.fn]) ? `${ERROR_MESSAGE}-${id}` : "", ] @@ -126,7 +126,7 @@ export const RadioFieldInput: React.FC> = (props) => { > = (props) => { > { }); describe("Form validation and error handling", () => { - test.todo("form validation is triggered when saving an item"); - test.todo("text fields use existing validation schemas"); - test.todo("number fields use existing validation schemas"); - test.todo("question fields use validation schema"); - test.todo("an error displays if the minimum number of items is not met"); - test.todo("an error displays if the maximum number of items is exceeded"); - test.todo( - "an error displays if you add a new item, without saving the active item", + test("form validation is triggered when saving an item", async () => { + const { user, getByRole, getAllByTestId } = setup(); + + let errorMessages = getAllByTestId(/error-message-input/); + + // Each field has an ErrorWrapper + expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length) + + // All are empty initially + errorMessages.forEach(message => { + expect(message).toBeEmptyDOMElement(); + }); + + await user.click(getByRole("button", { name: /Save/ })); + + // Error wrappers persist + errorMessages = getAllByTestId(/error-message-input/); + expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length) + + // Each field is in an error state + errorMessages.forEach(message => { + expect(message).not.toBeEmptyDOMElement(); + }); + }); + + /** + * These tests are not exhaustive tests of validation schemas, these can be tested in their respective model.test.ts files + * We are testing that the validation schemas are correctly "wired up" to out List component fields + */ + describe("existing validation schemas are correctly referenced", () => { + test("text fields", async () => { + const { user, getByRole, getByTestId } = setup(); + + const nameInput = screen.getByLabelText(/name/); + await user.type(nameInput, "This is a long string of text over one hundred and twenty characters, which should trigger the 'short' text validation warning"); + await user.click(getByRole("button", { name: /Save/ })); + + const nameInputErrorMessage = getByTestId(/error-message-input-text-name/); + + expect(nameInputErrorMessage).toHaveTextContent(/Your answer must be 120 characters or fewer/); + }); + + test("number fields", async () => { + const { user, getByRole, getByTestId } = setup(); + + const ageInput = screen.getByLabelText(/old/); + await user.type(ageInput, "-35"); + await user.click(getByRole("button", { name: /Save/ })); + + const ageInputErrorMessage = getByTestId(/error-message-input-number-age/); + + expect(ageInputErrorMessage).toHaveTextContent(/Enter a positive number/); + }); + + test("question fields", async () => { + const { user, getByRole, getByTestId } = setup(); + + await user.click(getByRole("button", { name: /Save/ })); + + const sizeInputErrorMessage = getByTestId(/error-message-input-question-size/); + + expect(sizeInputErrorMessage).toHaveTextContent(/Select your answer before continuing/); + }); + + test("radio fields", async () => { + const { user, getByRole, getByTestId } = setup(); + + await user.click(getByRole("button", { name: /Save/ })); + + const cuteInputErrorMessage = getByTestId(/error-message-input-question-cute/); + + expect(cuteInputErrorMessage).toHaveTextContent(/Select your answer before continuing/); + }); + + test.todo("checklist fields") + }); + + test("an error displays if the minimum number of items is not met", async () => { + const { user, getByRole, getByTestId, getByText } = setup(); + + const minNumberOfItems = mockZooProps.schema.min; + expect(minNumberOfItems).toEqual(1); + + await user.click(getByRole("button", { name: /Cancel/ })); + await user.click(getByTestId("continue-button")); + + const minItemsErrorMessage = getByText(`You must provide at least ${minNumberOfItems} response(s)`) + expect(minItemsErrorMessage).toBeVisible(); + }); + + test("an error displays if the maximum number of items is exceeded", async () => { + const { user, getAllByTestId, getByTestId, getByText } = setup(); + const addItemButton = getByTestId(/list-add-button/); + + const maxNumberOfItems = mockZooProps.schema.max; + expect(maxNumberOfItems).toEqual(3); + + // Complete three items + await fillInResponse(user); + await user.click(addItemButton); + await fillInResponse(user); + await user.click(addItemButton); + await fillInResponse(user); + + const cards = getAllByTestId(/list-card/); + expect(cards).toHaveLength(3); + + // Try to add a fourth + await user.click(getByTestId(/list-add-button/)); + + const maxItemsErrorMessage = getByText(`You can provide at most ${maxNumberOfItems} response(s)`) + expect(maxItemsErrorMessage).toBeVisible(); + }); + + test( + "an error displays if you add a new item, without saving the active item", async () => { + const { user, getByTestId, getByText, getByLabelText } = setup(); + // Start filling out item + const nameInput = getByLabelText(/name/); + await user.type(nameInput, "Richard Parker"); + + const emailInput = getByLabelText(/email/); + await user.type(emailInput, "richard.parker@pi.com"); + + // Try to add a new item + await user.click(getByTestId(/list-add-button/)); + + const activeItemErrorMessage = getByText(/Please save all responses before adding another/) + expect(activeItemErrorMessage).toBeVisible(); + } ); - test.todo( - "an error displays if you continue, without saving the active item", + + test( + "an error displays if you continue, without saving the active item", async () => { + const { user, getByTestId, getByText, getByLabelText } = setup(); + // Start filling out item + const nameInput = getByLabelText(/name/); + await user.type(nameInput, "Richard Parker"); + + const emailInput = getByLabelText(/email/); + await user.type(emailInput, "richard.parker@pi.com"); + + // Try to continue + await user.click(getByTestId(/continue-button/)); + + const unsavedItemErrorMessage = getByText(/Please save in order to continue/) + expect(unsavedItemErrorMessage).toBeVisible(); + } ); }); diff --git a/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts b/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts index dcd948d5d5..fe94d763e4 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts @@ -66,7 +66,7 @@ export const Zoo: Schema = { }, ], min: 1, - max: 10, + max: 3, } as const; export const mockZooProps: Props = { From 50c8b1a6fcb051c193f2c42389aaa0a7e3680e32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 13:05:37 +0100 Subject: [PATCH 07/38] chore: Bump Hasura fargate CPU and memory (staging) (#3335) --- infrastructure/application/Pulumi.staging.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/infrastructure/application/Pulumi.staging.yaml b/infrastructure/application/Pulumi.staging.yaml index 6b5703d6b0..7927a328cc 100644 --- a/infrastructure/application/Pulumi.staging.yaml +++ b/infrastructure/application/Pulumi.staging.yaml @@ -22,8 +22,8 @@ config: secure: AAABACgwjEmlLmE19ofRO8e/JpD8sHDV2lcDmSXbU/Mw8ZRh5gTgll8DZ3BVjpDWfQfIecBAIf2TFgeo9CsBSLjfaRJ7eJyKDSWm7i8LlMC2JN/PN+Ig8oeI0H0oLkqJIziNKKjx+e97zDiXO9LZ1CVzrywR application:hasura-admin-secret: secure: AAABAHsoh7ZNkr6ep3xXsUZpp/JIjshBX+tJ0KOFgGnJ4wxR0oIcB6VewVDuwSyFJRVix72YahM= - application:hasura-cpu: "256" - application:hasura-memory: "1024" + application:hasura-cpu: "512" + application:hasura-memory: "2048" application:hasura-planx-api-key: secure: AAABANHLs3ItPxkteh0chwMP2bKuHO3ovuRLi4FsIrCqerzXVIaTLFDqNR+4KBTeMPz4cnF5tCTwsrJv9GruZdXU+lg= application:jwt-secret: From afda8e6e5a20827f8ba78e8582e999e4cb6b7b96 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 13:05:54 +0100 Subject: [PATCH 08/38] fix: Make `val` optional in SetValue component (#3333) --- .../src/@planx/components/SetValue/Editor.tsx | 26 ++++++++++--------- .../src/@planx/components/SetValue/model.ts | 14 ++++++++-- .../src/@planx/components/SetValue/utils.ts | 15 +++++------ 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx b/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx index 69e6de5c4d..f3926067ee 100644 --- a/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx @@ -106,18 +106,20 @@ function SetValueComponent(props: Props) { /> - - - - - + {formik.values.operation !== "removeAll" && + + + + + + } diff --git a/editor.planx.uk/src/@planx/components/SetValue/model.ts b/editor.planx.uk/src/@planx/components/SetValue/model.ts index 4433ce54e4..70b7575e1d 100644 --- a/editor.planx.uk/src/@planx/components/SetValue/model.ts +++ b/editor.planx.uk/src/@planx/components/SetValue/model.ts @@ -1,11 +1,21 @@ import { MoreInformation, parseMoreInformation } from "../shared"; -export interface SetValue extends MoreInformation { +export interface BaseSetValue extends MoreInformation { fn: string; +} + +interface SetValueWithVal extends BaseSetValue { val: string; - operation: "replace" | "append" | "removeOne" | "removeAll"; + operation: "replace" | "append" | "removeOne"; } +interface SetValueWithoutVal extends BaseSetValue { + val?: string; + operation: "removeAll"; +} + +export type SetValue = SetValueWithVal | SetValueWithoutVal; + export const parseSetValue = ( data: Record | undefined, ): SetValue => ({ diff --git a/editor.planx.uk/src/@planx/components/SetValue/utils.ts b/editor.planx.uk/src/@planx/components/SetValue/utils.ts index 46df9c9431..46530bfbcd 100644 --- a/editor.planx.uk/src/@planx/components/SetValue/utils.ts +++ b/editor.planx.uk/src/@planx/components/SetValue/utils.ts @@ -15,7 +15,7 @@ type HandleSetValue = (params: { * Called by computePassport() */ export const handleSetValue: HandleSetValue = ({ - nodeData: { operation, fn, val: current }, + nodeData, previousValues, passport, }) => { @@ -31,31 +31,28 @@ export const handleSetValue: HandleSetValue = ({ const previous = formatPreviousValues(previousValues); const newValues = calculateNewValues({ - operation, + nodeData, previous, - current, }); if (newValues) { - passport.data![fn] = newValues; + passport.data![nodeData.fn] = newValues; // Operation has cleared passport value - if (!newValues.length) delete passport.data![fn]; + if (!newValues.length) delete passport.data![nodeData.fn]; } return passport; }; type CalculateNewValues = (params: { - operation: SetValue["operation"]; + nodeData: SetValue; previous: string[]; - current: string; }) => string | string[] | undefined; const calculateNewValues: CalculateNewValues = ({ - operation, + nodeData: { operation, val: current }, previous, - current, }) => { switch (operation) { case "replace": From b07f862ec2ef3a08f855dd461a5c351d91bc4a69 Mon Sep 17 00:00:00 2001 From: Ian Jones <51156018+ianjon3s@users.noreply.github.com> Date: Fri, 28 Jun 2024 13:47:29 +0100 Subject: [PATCH 09/38] refactor: Editor forms tidy up and unify (#3324) --- editor.planx.uk/src/@planx/components/ui.tsx | 52 +++--- .../components/Flow/FeedbackPage.tsx | 10 +- .../Settings/DataManagerSettings.tsx | 10 +- .../Settings/DesignSettings/ButtonForm.tsx | 9 +- .../Settings/DesignSettings/FaviconForm.tsx | 9 +- .../Settings/DesignSettings/TextLinkForm.tsx | 9 +- .../DesignSettings/ThemeAndLogoForm.tsx | 9 +- .../Settings/DesignSettings/index.tsx | 6 +- .../Settings/GeneralSettings/BoundaryForm.tsx | 60 +++---- .../Settings/GeneralSettings/ContactForm.tsx | 90 +++++----- .../Settings/GeneralSettings/index.tsx | 6 +- .../components/Settings/ServiceFlags.tsx | 10 +- .../components/Settings/ServiceSettings.tsx | 54 +++--- .../components/Settings/Submissions/index.tsx | 10 +- .../components/Settings/TeamSettings.tsx | 20 +-- .../Settings/shared/SettingsForm.tsx | 9 +- .../components/Team/TeamMembers.tsx | 14 +- editor.planx.uk/src/pages/GlobalSettings.tsx | 168 +++++++++++------- editor.planx.uk/src/routes/teamSettings.tsx | 10 +- editor.planx.uk/src/ui/editor/InputLabel.tsx | 31 ++++ editor.planx.uk/src/ui/editor/InputLegend.tsx | 1 + ...escription.tsx => SettingsDescription.tsx} | 17 +- .../{EditorRow.tsx => SettingsSection.tsx} | 7 +- 23 files changed, 343 insertions(+), 278 deletions(-) create mode 100644 editor.planx.uk/src/ui/editor/InputLabel.tsx rename editor.planx.uk/src/ui/editor/{InputDescription.tsx => SettingsDescription.tsx} (52%) rename editor.planx.uk/src/ui/editor/{EditorRow.tsx => SettingsSection.tsx} (87%) diff --git a/editor.planx.uk/src/@planx/components/ui.tsx b/editor.planx.uk/src/@planx/components/ui.tsx index f19148de9e..4d7130dd99 100644 --- a/editor.planx.uk/src/@planx/components/ui.tsx +++ b/editor.planx.uk/src/@planx/components/ui.tsx @@ -31,6 +31,7 @@ import type { handleSubmit } from "pages/Preview/Node"; import React, { ChangeEvent } from "react"; import ImgInput from "ui/editor/ImgInput"; import InputGroup from "ui/editor/InputGroup"; +import InputLabel from "ui/editor/InputLabel"; import ModalSection from "ui/editor/ModalSection"; import ModalSectionContent from "ui/editor/ModalSectionContent"; import RichTextInput from "ui/editor/RichTextInput"; @@ -109,46 +110,41 @@ export const MoreInformation = ({ return ( - - + + - - - - + + - - - - - - { - changeField({ - target: { name: "definitionImg", value: newUrl }, - }); - }} /> - + + + + + { + changeField({ + target: { name: "definitionImg", value: newUrl }, + }); + }} + /> + + diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Flow/FeedbackPage.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Flow/FeedbackPage.tsx index 3b8cfd7d3d..04c7307dcf 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Flow/FeedbackPage.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Flow/FeedbackPage.tsx @@ -24,7 +24,7 @@ import gql from "graphql-tag"; import { client } from "lib/graphql"; import React, { useState } from "react"; import { Feedback } from "routes/feedback"; -import EditorRow from "ui/editor/EditorRow"; +import SettingsSection from "ui/editor/SettingsSection"; import ErrorSummary from "ui/shared/ErrorSummary"; import ReactMarkdownOrHtml from "ui/shared/ReactMarkdownOrHtml"; @@ -156,15 +156,15 @@ export const FeedbackPage: React.FC = ({ feedback }) => { return ( - + Feedback log Feedback from users about this service. - - + + {feedback.length === 0 ? ( = ({ feedback }) => { )} - + ); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DataManagerSettings.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DataManagerSettings.tsx index 0654dfd70f..431ba6cb61 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DataManagerSettings.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DataManagerSettings.tsx @@ -1,13 +1,13 @@ import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import React from "react"; -import EditorRow from "ui/editor/EditorRow"; import { FeaturePlaceholder } from "ui/editor/FeaturePlaceholder"; +import SettingsSection from "ui/editor/SettingsSection"; const DataManagerSettings: React.FC = () => { return ( - + Data Manager @@ -15,10 +15,10 @@ const DataManagerSettings: React.FC = () => { Manage the data that your service uses and makes available via its API. - - + + - + ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx index bab3a5c61a..464cf9a215 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx @@ -7,7 +7,6 @@ import { useStore } from "pages/FlowEditor/lib/store"; import React from "react"; import { getContrastTextColor } from "styleUtils"; import ColorPicker from "ui/editor/ColorPicker"; -import InputDescription from "ui/editor/InputDescription"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; @@ -39,12 +38,12 @@ export const ButtonForm: React.FC = ({ legend="Button colour" description={ <> - +

The button background colour should be either a dark or light colour. The text will be programmatically selected to contrast with the selected colour (being either black or white). - - +

+

= ({ > See our guide for setting button colours - +

} input={ diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/FaviconForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/FaviconForm.tsx index 14a5386a88..aeb4ed8571 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/FaviconForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/FaviconForm.tsx @@ -5,7 +5,6 @@ import { useFormik } from "formik"; import { useStore } from "pages/FlowEditor/lib/store"; import React from "react"; import ImgInput from "ui/editor/ImgInput"; -import InputDescription from "ui/editor/InputDescription"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; import InputRowLabel from "ui/shared/InputRowLabel"; @@ -42,11 +41,11 @@ export const FaviconForm: React.FC = ({ legend="Favicon" description={ <> - +

Set the favicon to be used in the browser tab. The favicon should be 32x32px and in .ico or .png format. - - +

+

= ({ > See our guide for favicons - +

} input={ diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx index 4b341a74b4..6064cbac15 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx @@ -5,7 +5,6 @@ import { useFormik } from "formik"; import { useStore } from "pages/FlowEditor/lib/store"; import React from "react"; import ColorPicker from "ui/editor/ColorPicker"; -import InputDescription from "ui/editor/InputDescription"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; @@ -49,11 +48,11 @@ export const TextLinkForm: React.FC = ({ legend="Text link colour" description={ <> - +

The text link colour should be a dark colour that contrasts with white ("#ffffff"). - - +

+

= ({ > See our guide for setting text link colours - +

} input={ diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx index af5c9e8da4..2ab48b447b 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx @@ -7,7 +7,6 @@ import { useStore } from "pages/FlowEditor/lib/store"; import React from "react"; import ColorPicker from "ui/editor/ColorPicker"; import ImgInput from "ui/editor/ImgInput"; -import InputDescription from "ui/editor/InputDescription"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; import InputRowLabel from "ui/shared/InputRowLabel"; @@ -60,13 +59,13 @@ export const ThemeAndLogoForm: React.FC = ({ legend="Theme colour & logo" description={ <> - +

The theme colour and logo, are used in the header of the service. The theme colour should be a dark colour that contrasts with white ("#ffffff"). The logo should contrast with a dark background colour (your theme colour) and have a transparent background. - - +

+

= ({ > See our guide for setting theme colours and logos - +

} input={ diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx index b791d4f2d3..a5071ba261 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/index.tsx @@ -7,7 +7,7 @@ import { TeamTheme } from "@opensystemslab/planx-core/types"; import { FormikConfig } from "formik"; import { useStore } from "pages/FlowEditor/lib/store"; import React, { useEffect, useState } from "react"; -import EditorRow from "ui/editor/EditorRow"; +import SettingsSection from "ui/editor/SettingsSection"; import { ButtonForm } from "./ButtonForm"; import { FaviconForm } from "./FaviconForm"; @@ -76,14 +76,14 @@ const DesignSettings: React.FC = () => { return ( - + Design How your service appears to public users. - + {formikConfig && ( <> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx index e8a249ad6f..dbd93e3f0b 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx @@ -1,9 +1,7 @@ import { useFormik } from "formik"; import React, { ChangeEvent } from "react"; -import InputDescription from "ui/editor/InputDescription"; +import InputLabel from "ui/editor/InputLabel"; import Input from "ui/shared/Input"; -import InputRow from "ui/shared/InputRow"; -import InputRowLabel from "ui/shared/InputRowLabel"; import { SettingsForm } from "../shared/SettingsForm"; import { FormProps } from "."; @@ -22,38 +20,36 @@ export default function BoundaryForm({ formikConfig, onSuccess }: FormProps) { formik={formik} legend="Boundary" description={ - - The boundary URL is used to retrieve the outer boundary of your - council area. This can then help users define whether they are within - your council area. -
-
- The boundary should be given as a link from:{" "} - - https://www.planning.data.gov.uk/ - -
- } - input={ <> - - - Boundary URL - ) => { - formik.setFieldValue("boundaryUrl", ev.target.value); - }} - /> - - +

+ The boundary URL is used to retrieve the outer boundary of your + council area. This can then help users define whether they are + within your council area. +

+

+ The boundary should be given as a link from:{" "} + + https://www.planning.data.gov.uk/ + +

} + input={ + + ) => { + formik.setFieldValue("boundaryUrl", ev.target.value); + }} + id="boundaryUrl" + /> + + } /> ); } diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx index 24075a8168..5b8c8c4047 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx @@ -1,9 +1,7 @@ import { useFormik } from "formik"; import React, { ChangeEvent } from "react"; -import InputDescription from "ui/editor/InputDescription"; +import InputLabel from "ui/editor/InputLabel"; import Input from "ui/shared/Input"; -import InputRow from "ui/shared/InputRow"; -import InputRowLabel from "ui/shared/InputRowLabel"; import * as Yup from "yup"; import { SettingsForm } from "../shared/SettingsForm"; @@ -36,58 +34,50 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { legend="Contact Information" formik={formik} description={ - + <> Details to help direct different messages, feedback, and enquiries from users. - + } input={ <> - - - Homepage URL - { - onChangeFn("homepage", event); - }} - /> - - - - - Contact email address - { - onChangeFn("helpEmail", event); - }} - /> - - - - - Phone number - { - onChangeFn("helpPhone", event); - }} - /> - - - - - Opening hours - { - onChangeFn("helpOpeningHours", event); - }} - /> - - + + { + onChangeFn("homepage", event); + }} + id="homepageUrl" + /> + + + { + onChangeFn("helpEmail", event); + }} + id="helpEmail" + /> + + + { + onChangeFn("helpPhone", event); + }} + id="helpPhone" + /> + + + { + onChangeFn("helpOpeningHours", event); + }} + id="helpOpeningHours" + /> + } /> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx index 4f4ee0195f..a2fec53d73 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx @@ -4,7 +4,7 @@ import Snackbar from "@mui/material/Snackbar"; import Typography from "@mui/material/Typography"; import { FormikConfig } from "formik"; import React, { useEffect, useState } from "react"; -import EditorRow from "ui/editor/EditorRow"; +import SettingsSection from "ui/editor/SettingsSection"; import BoundaryForm from "./BoundaryForm"; import ContactForm from "./ContactForm"; @@ -71,14 +71,14 @@ const GeneralSettings: React.FC = () => { return ( - + General Important links and settings for how your users connect with you - + {formikConfig && ( <> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceFlags.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceFlags.tsx index a2a8a59fd9..12954c5d67 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceFlags.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceFlags.tsx @@ -1,13 +1,13 @@ import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import React from "react"; -import EditorRow from "ui/editor/EditorRow"; import { FeaturePlaceholder } from "ui/editor/FeaturePlaceholder"; +import SettingsSection from "ui/editor/SettingsSection"; const ServiceFlags: React.FC = () => { return ( - + Service flags @@ -15,10 +15,10 @@ const ServiceFlags: React.FC = () => { Manage the flag sets that this service uses. Flags at the top of a set override flags below. - - + + - + ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx index 2b0c905d0e..06abc3430d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/ServiceSettings.tsx @@ -11,10 +11,11 @@ import { FlowStatus } from "@opensystemslab/planx-core/types"; import { useFormik } from "formik"; import React, { useState } from "react"; import { FONT_WEIGHT_BOLD } from "theme"; -import EditorRow from "ui/editor/EditorRow"; import InputGroup from "ui/editor/InputGroup"; import InputLegend from "ui/editor/InputLegend"; import RichTextInput from "ui/editor/RichTextInput"; +import SettingsDescription from "ui/editor/SettingsDescription"; +import SettingsSection from "ui/editor/SettingsSection"; import Input, { Props as InputProps } from "ui/shared/Input"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; @@ -39,14 +40,16 @@ const TextInput: React.FC<{ }) => { return ( - + {title} - - {description && {description}} + + {description && ( + {description} + )} @@ -142,15 +145,15 @@ const ServiceSettings: React.FC = () => { return ( - + Elements Manage the features that users will be able to see. - - + + { onChange: elementsForm.handleChange, }} /> - - + + Footer Links @@ -219,8 +222,8 @@ const ServiceSettings: React.FC = () => { /> - - + + - + - + Status Manage the status of your service. - - + + { /> } /> - - Toggle your service between "offline" and "online". - - - A service must be online to be accessed by the public, and to enable - analytics gathering. - - - Offline services can still be edited and published as normal. - + +

Toggle your service between "offline" and "online".

+

+ A service must be online to be accessed by the public, and to + enable analytics gathering. +

+

Offline services can still be edited and published as normal.

+
-
+
{ return ( - + Submissions Feed of payment and submission events for this service - - + + - + ); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/TeamSettings.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/TeamSettings.tsx index 33d51b9777..9d590cfbcf 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/TeamSettings.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/TeamSettings.tsx @@ -1,35 +1,35 @@ import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import React from "react"; -import EditorRow from "ui/editor/EditorRow"; import { FeaturePlaceholder } from "ui/editor/FeaturePlaceholder"; +import SettingsSection from "ui/editor/SettingsSection"; const Team: React.FC = () => { return ( - + Team Manage who has permission to edit this service. - - + + - -
- + +
+ Sharing Allow other teams on Plan✕ to find and use your service pattern. -
- + + - +
); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx index 3bb553695e..aefab091a4 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx @@ -3,9 +3,10 @@ import Button from "@mui/material/Button"; import Typography from "@mui/material/Typography"; import { FormikProps } from "formik"; import React from "react"; -import EditorRow from "ui/editor/EditorRow"; import InputGroup from "ui/editor/InputGroup"; import InputLegend from "ui/editor/InputLegend"; +import SettingsDescription from "ui/editor/SettingsDescription"; +import SettingsSection from "ui/editor/SettingsSection"; import ErrorWrapper from "ui/shared/ErrorWrapper"; type SettingsFormProps = { @@ -24,11 +25,11 @@ export const SettingsForm = ({ preview, }: SettingsFormProps) => { return ( - +
{legend} - {description} + {description} {input} {preview && ( @@ -60,6 +61,6 @@ export const SettingsForm = ({ -
+ ); }; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Team/TeamMembers.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Team/TeamMembers.tsx index f1fe300a82..445a094839 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Team/TeamMembers.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Team/TeamMembers.tsx @@ -13,7 +13,7 @@ import Typography from "@mui/material/Typography"; import { Role, User } from "@opensystemslab/planx-core/types"; import React from "react"; import { FONT_WEIGHT_SEMI_BOLD } from "theme"; -import EditorRow from "ui/editor/EditorRow"; +import SettingsSection from "ui/editor/SettingsSection"; const StyledAvatar = styled(Avatar)(({ theme }) => ({ background: theme.palette.background.dark, @@ -129,7 +129,7 @@ export const TeamMembers: React.FC = ({ teamMembersByRole }) => { return ( - + Team editors @@ -137,8 +137,8 @@ export const TeamMembers: React.FC = ({ teamMembersByRole }) => { Editors have access to edit your services. - - + + Admins @@ -146,9 +146,9 @@ export const TeamMembers: React.FC = ({ teamMembersByRole }) => { Admins have editor access across all teams. - + {archivedMembers.length > 0 && ( - + Archived team editors @@ -157,7 +157,7 @@ export const TeamMembers: React.FC = ({ teamMembersByRole }) => { be part of the edit history of your services. - + )} diff --git a/editor.planx.uk/src/pages/GlobalSettings.tsx b/editor.planx.uk/src/pages/GlobalSettings.tsx index 2e81623fe3..5b44b151b9 100644 --- a/editor.planx.uk/src/pages/GlobalSettings.tsx +++ b/editor.planx.uk/src/pages/GlobalSettings.tsx @@ -1,12 +1,20 @@ +import Alert from "@mui/material/Alert"; import Box from "@mui/material/Box"; import Button from "@mui/material/Button"; +import Container from "@mui/material/Container"; +import Snackbar from "@mui/material/Snackbar"; import Typography from "@mui/material/Typography"; import { useFormik } from "formik"; import { useStore } from "pages/FlowEditor/lib/store"; -import React from "react"; +import React, { useState } from "react"; import type { TextContent } from "types"; +import Dashboard from "ui/editor/Dashboard"; +import InputGroup from "ui/editor/InputGroup"; +import InputLegend from "ui/editor/InputLegend"; import ListManager from "ui/editor/ListManager"; import RichTextInput from "ui/editor/RichTextInput"; +import SettingsDescription from "ui/editor/SettingsDescription"; +import SettingsSection from "ui/editor/SettingsSection"; import Input from "ui/shared/Input"; import InputRow from "ui/shared/InputRow"; import InputRowItem from "ui/shared/InputRowItem"; @@ -18,6 +26,8 @@ function Component() { state.updateGlobalSettings, ]); + const [isAlertOpen, setIsAlertOpen] = useState(false); + const formik = useFormik({ initialValues: { footerContent: @@ -40,43 +50,73 @@ function Component() { ); updateGlobalSettings(formatted); + setIsAlertOpen(true); }, }); + const handleClose = ( + _event?: React.SyntheticEvent | Event, + reason?: string, + ) => { + if (reason === "clickaway") { + return; + } + + setIsAlertOpen(false); + }; + return ( -
- - Global Settings - - + + + + - Footer Elements + Global Settings - - Manage the content that will appear in the footer - - - { - formik.setFieldValue("footerContent", newOptions); - }} - newValue={() => - ({ - heading: "", - content: "", - show: true, - }) as TextContent - } - Editor={ContentEditor} - /> - - - - -
+ + + + Footer Elements + +

Manage the content that will appear in the footer.

+

+ The heading will appear as a footer link which will open a + content page. +

+
+ + { + formik.setFieldValue("footerContent", newOptions); + }} + newValue={() => + ({ + heading: "", + content: "", + show: true, + }) as TextContent + } + Editor={ContentEditor} + /> + +
+ +
+ + + + + Footer settings updated successfully + + + ); } @@ -86,39 +126,37 @@ function ContentEditor(props: { }) { return ( - - - - { - props.onChange({ - ...props.value, - heading: ev.target.value, - }); - }} - /> - - - - - { - props.onChange({ - ...props.value, - content: ev.target.value, - }); - }} - /> - - - + + + { + props.onChange({ + ...props.value, + heading: ev.target.value, + }); + }} + /> + + + + + { + props.onChange({ + ...props.value, + content: ev.target.value, + }); + }} + /> + + ); } diff --git a/editor.planx.uk/src/routes/teamSettings.tsx b/editor.planx.uk/src/routes/teamSettings.tsx index c03254a546..27fcb11715 100644 --- a/editor.planx.uk/src/routes/teamSettings.tsx +++ b/editor.planx.uk/src/routes/teamSettings.tsx @@ -47,11 +47,11 @@ const teamSettingsRoutes = compose( route: "design", Component: DesignSettings, }, - /* { - name: "General", - route: "general", - Component: GeneralSettings, - },*/ + // { + // name: "General", + // route: "general", + // Component: GeneralSettings, + // }, ]} /> ), diff --git a/editor.planx.uk/src/ui/editor/InputLabel.tsx b/editor.planx.uk/src/ui/editor/InputLabel.tsx new file mode 100644 index 0000000000..a1d57d8948 --- /dev/null +++ b/editor.planx.uk/src/ui/editor/InputLabel.tsx @@ -0,0 +1,31 @@ +import { styled } from "@mui/material/styles"; +import Typography from "@mui/material/Typography"; +import { visuallyHidden } from "@mui/utils"; +import React, { PropsWithChildren } from "react"; + +const Root = styled("label")(() => ({ + display: "block", + width: "100%", +})); + +export default function InputLabel( + props: PropsWithChildren<{ + label: string; + hidden?: boolean; + htmlFor?: string; + id?: string; + }>, +) { + return ( + + + {props.label} + + {props.children} + + ); +} diff --git a/editor.planx.uk/src/ui/editor/InputLegend.tsx b/editor.planx.uk/src/ui/editor/InputLegend.tsx index 2f9c7094a2..764a27f0f3 100644 --- a/editor.planx.uk/src/ui/editor/InputLegend.tsx +++ b/editor.planx.uk/src/ui/editor/InputLegend.tsx @@ -5,6 +5,7 @@ import React, { ReactNode } from "react"; const Legend = styled(Typography)(() => ({ display: "block", width: "100%", + padding: 0, })) as typeof Typography; export default function InputLegend({ children }: { children: ReactNode }) { diff --git a/editor.planx.uk/src/ui/editor/InputDescription.tsx b/editor.planx.uk/src/ui/editor/SettingsDescription.tsx similarity index 52% rename from editor.planx.uk/src/ui/editor/InputDescription.tsx rename to editor.planx.uk/src/ui/editor/SettingsDescription.tsx index d6f4d1cbe1..2d1f541375 100644 --- a/editor.planx.uk/src/ui/editor/InputDescription.tsx +++ b/editor.planx.uk/src/ui/editor/SettingsDescription.tsx @@ -6,12 +6,25 @@ const Description = styled(Typography)(({ theme }) => ({ width: "100%", textAlign: "left", color: theme.palette.text.secondary, + paddingBottom: theme.spacing(1), + paddingTop: theme.spacing(0.5), + "& p, & a": { + fontSize: "inherit", + margin: 0, + }, + "& p + p": { + marginTop: "1em", + }, })) as typeof Typography; -export default function InputDescription({ +export default function SettingsDescription({ children, }: { children: ReactNode; }) { - return {children}; + return ( + + {children} + + ); } diff --git a/editor.planx.uk/src/ui/editor/EditorRow.tsx b/editor.planx.uk/src/ui/editor/SettingsSection.tsx similarity index 87% rename from editor.planx.uk/src/ui/editor/EditorRow.tsx rename to editor.planx.uk/src/ui/editor/SettingsSection.tsx index f489337596..30db4412d4 100644 --- a/editor.planx.uk/src/ui/editor/EditorRow.tsx +++ b/editor.planx.uk/src/ui/editor/SettingsSection.tsx @@ -12,9 +12,10 @@ const Root = styled(Box, { })(({ background, theme }) => ({ display: "block", width: "100%", - padding: theme.spacing(2.5, 0), + marginTop: theme.spacing(2), + paddingBottom: theme.spacing(1), "&:first-of-type": { - paddingTop: 0, + marginTop: 0, }, "& > * + *, & > form > * + *": { ...contentFlowSpacing(theme), @@ -27,7 +28,7 @@ const Root = styled(Box, { }), })); -export default function EditorRow({ +export default function SettingsSection({ children, background, }: { From 764a9dc4f37c290ebc4d4b53e16d2f509dcf1d2d Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Fri, 28 Jun 2024 15:09:55 +0200 Subject: [PATCH 10/38] chore: bump planx-core and @opensystemslab/map (#3337) --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 8 ++++---- e2e/tests/api-driven/package.json | 2 +- e2e/tests/api-driven/pnpm-lock.yaml | 10 +++++----- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 9 +++++---- editor.planx.uk/package.json | 4 ++-- editor.planx.uk/pnpm-lock.yaml | 21 ++++++++++----------- 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index 6d22514c38..9c4026248f 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index bf8e45241a..26275f0cba 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 - version: github.com/theopensystemslab/planx-core/db69b87 + specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 + version: github.com/theopensystemslab/planx-core/c17c3e3 '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -8288,8 +8288,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/db69b87: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} + github.com/theopensystemslab/planx-core/c17c3e3: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 182998d643..afc731f23f 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", "axios": "^1.6.8", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index f8932507e3..1944283c1a 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 - version: github.com/theopensystemslab/planx-core/db69b87 + specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 + version: github.com/theopensystemslab/planx-core/c17c3e3 axios: specifier: ^1.6.8 version: 1.6.8 @@ -1057,7 +1057,7 @@ packages: dev: false /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: false /convert-source-map@1.9.0: @@ -2943,8 +2943,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/db69b87: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} + github.com/theopensystemslab/planx-core/c17c3e3: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index e7bbd7563a..ceb31105be 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index fa32bed152..beef4b255e 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 - version: github.com/theopensystemslab/planx-core/db69b87 + specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 + version: github.com/theopensystemslab/planx-core/c17c3e3 axios: specifier: ^1.6.8 version: 1.6.8 @@ -1489,6 +1489,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -2714,8 +2715,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/db69b87: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} + github.com/theopensystemslab/planx-core/c17c3e3: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 06710a7fe1..1614c2dad4 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -12,8 +12,8 @@ "@mui/lab": "5.0.0-alpha.170", "@mui/material": "^5.15.2", "@mui/utils": "^5.15.2", - "@opensystemslab/map": "^0.8.2", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#db69b87", + "@opensystemslab/map": "^0.8.3", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", "@tiptap/core": "^2.4.0", "@tiptap/extension-bold": "^2.0.3", "@tiptap/extension-bubble-menu": "^2.1.13", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index 85bffcd85b..66b4096d65 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -39,11 +39,11 @@ dependencies: specifier: ^5.15.2 version: 5.15.2(@types/react@18.2.45)(react@18.2.0) '@opensystemslab/map': - specifier: ^0.8.2 - version: 0.8.2 + specifier: ^0.8.3 + version: 0.8.3 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#db69b87 - version: github.com/theopensystemslab/planx-core/db69b87(@types/react@18.2.45) + specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 + version: github.com/theopensystemslab/planx-core/c17c3e3(@types/react@18.2.45) '@tiptap/core': specifier: ^2.4.0 version: 2.4.0(@tiptap/pm@2.0.3) @@ -5602,8 +5602,8 @@ packages: resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} dev: true - /@opensystemslab/map@0.8.2: - resolution: {integrity: sha512-bNWGX4AlJCTVvMymubrEmkBcZIdB5nXLw4ALJlEtZvAnsSJVYlhjG6OiN4GXqRuZTBDpI/l4gu/6giaidEjdwQ==} + /@opensystemslab/map@0.8.3: + resolution: {integrity: sha512-4WS4Cow27wmffp7KLtSB/m9HtXz0UDCXJXhq9kz152ofSretWgAl7+WFbqC+CeoVx+CV7ETmbFdjoJ3yZQzJ0Q==} dependencies: '@turf/union': 6.5.0 accessible-autocomplete: 2.0.4 @@ -6639,7 +6639,7 @@ packages: '@storybook/preview-api': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.5 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -8373,7 +8373,6 @@ packages: /@types/lodash@4.17.5: resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} - dev: false /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -21640,9 +21639,9 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - github.com/theopensystemslab/planx-core/db69b87(@types/react@18.2.45): - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/db69b87} - id: github.com/theopensystemslab/planx-core/db69b87 + github.com/theopensystemslab/planx-core/c17c3e3(@types/react@18.2.45): + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} + id: github.com/theopensystemslab/planx-core/c17c3e3 name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true From fba15e7e2b2a377e6de510a91205f4432e0ea454 Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Fri, 28 Jun 2024 16:24:10 +0200 Subject: [PATCH 11/38] feat: stub out editor & API endpoint and send events for Idox Nexus (#3281) --- .env.example | 3 + api.planx.uk/lib/hasura/metadata/index.ts | 1 + .../send/createSendEvents/controller.ts | 12 +- .../modules/send/createSendEvents/types.ts | 1 + api.planx.uk/modules/send/idox/nexus.test.ts | 24 ++ api.planx.uk/modules/send/idox/nexus.ts | 408 ++++++++++++++++++ api.planx.uk/modules/send/routes.ts | 2 + api.planx.uk/modules/send/utils/exportZip.ts | 190 ++++---- .../src/@planx/components/Send/Editor.tsx | 7 +- .../src/@planx/components/Send/Public.tsx | 10 + .../src/@planx/components/Send/model.ts | 8 + 11 files changed, 571 insertions(+), 95 deletions(-) create mode 100644 api.planx.uk/modules/send/idox/nexus.test.ts create mode 100644 api.planx.uk/modules/send/idox/nexus.ts diff --git a/.env.example b/.env.example index 369418ea13..fd2f0b1203 100644 --- a/.env.example +++ b/.env.example @@ -98,5 +98,8 @@ UNIFORM_CLIENT_AYLESBURY_VALE=👻 UNIFORM_CLIENT_CHILTERN=👻 UNIFORM_CLIENT_WYCOMBE=👻 +## Forthcoming Idox Nexus integration +IDOX_NEXUS_CLIENT=👻 + ## End-to-end test team (borrows Lambeth's details) GOV_UK_PAY_SECRET_E2E=👻 diff --git a/api.planx.uk/lib/hasura/metadata/index.ts b/api.planx.uk/lib/hasura/metadata/index.ts index 41b2fc8d19..b6e5fb4aaa 100644 --- a/api.planx.uk/lib/hasura/metadata/index.ts +++ b/api.planx.uk/lib/hasura/metadata/index.ts @@ -12,6 +12,7 @@ interface ScheduledEvent { export interface CombinedResponse { bops?: ScheduledEventResponse; uniform?: ScheduledEventResponse; + idox?: ScheduledEventResponse; email?: ScheduledEventResponse; s3?: ScheduledEventResponse; } diff --git a/api.planx.uk/modules/send/createSendEvents/controller.ts b/api.planx.uk/modules/send/createSendEvents/controller.ts index f0ea313c39..9cfd7c892f 100644 --- a/api.planx.uk/modules/send/createSendEvents/controller.ts +++ b/api.planx.uk/modules/send/createSendEvents/controller.ts @@ -10,7 +10,7 @@ const createSendEvents: CreateSendEventsController = async ( res, next, ) => { - const { email, uniform, bops, s3 } = res.locals.parsedReq.body; + const { email, uniform, bops, s3, idox } = res.locals.parsedReq.body; const { sessionId } = res.locals.parsedReq.params; try { @@ -47,6 +47,16 @@ const createSendEvents: CreateSendEventsController = async ( combinedResponse["uniform"] = uniformEvent; } + if (idox) { + const idoxEvent = await createScheduledEvent({ + webhook: `{{HASURA_PLANX_API_URL}}/idox/${idox.localAuthority}`, + schedule_at: new Date(now.getTime() + 60 * 1000), + payload: idox.body, + comment: `idox_nexus_submission_${sessionId}`, + }); + combinedResponse["idox"] = idoxEvent; + } + if (s3) { const s3Event = await createScheduledEvent({ webhook: `{{HASURA_PLANX_API_URL}}/upload-submission/${s3.localAuthority}`, diff --git a/api.planx.uk/modules/send/createSendEvents/types.ts b/api.planx.uk/modules/send/createSendEvents/types.ts index 98b51bdf13..e5151dadb8 100644 --- a/api.planx.uk/modules/send/createSendEvents/types.ts +++ b/api.planx.uk/modules/send/createSendEvents/types.ts @@ -15,6 +15,7 @@ export const combinedEventsPayloadSchema = z.object({ bops: eventSchema.optional(), uniform: eventSchema.optional(), s3: eventSchema.optional(), + idox: eventSchema.optional(), }), params: z.object({ sessionId: z.string().uuid(), diff --git a/api.planx.uk/modules/send/idox/nexus.test.ts b/api.planx.uk/modules/send/idox/nexus.test.ts new file mode 100644 index 0000000000..e8e2bf793e --- /dev/null +++ b/api.planx.uk/modules/send/idox/nexus.test.ts @@ -0,0 +1,24 @@ +import supertest from "supertest"; +import app from "../../../server"; + +describe(`sending an application to Idox Nexus`, () => { + it("fails without authorization header", async () => { + await supertest(app) + .post("/idox/southwark") + .send({ payload: { sessionId: "123" } }) + .expect(401); + }); + + it("errors if the payload body does not include a sessionId", async () => { + await supertest(app) + .post("/idox/southwark") + .set({ Authorization: process.env.HASURA_PLANX_API_KEY! }) + .send({ payload: { somethingElse: "123" } }) + .expect(400) + .then((res) => { + expect(res.body).toEqual({ + error: "Missing application data to send to Idox Nexus", + }); + }); + }); +}); diff --git a/api.planx.uk/modules/send/idox/nexus.ts b/api.planx.uk/modules/send/idox/nexus.ts new file mode 100644 index 0000000000..4adb6ad97f --- /dev/null +++ b/api.planx.uk/modules/send/idox/nexus.ts @@ -0,0 +1,408 @@ +import axios, { AxiosRequestConfig, isAxiosError } from "axios"; +import { NextFunction, Request, Response } from "express"; +import FormData from "form-data"; +import fs from "fs"; +import { gql } from "graphql-request"; +import jwt from "jsonwebtoken"; +import { Buffer } from "node:buffer"; +import { $api } from "../../../client"; +import { markSessionAsSubmitted } from "../../saveAndReturn/service/utils"; +import { buildSubmissionExportZip } from "../utils/exportZip"; + +interface UniformClient { + clientId: string; + clientSecret: string; +} + +interface UniformSubmissionResponse { + submissionStatus?: string; + canDownload?: boolean; + submissionId?: string; +} + +interface RawUniformAuthResponse { + access_token: string; +} + +interface UniformAuthResponse { + token: string; + organisation: string; + organisationId: string; +} + +interface UniformApplication { + id: string; + idox_submission_id: string; + submission_reference: string; + destination: string; + response: UniformSubmissionResponse; + created_at: string; +} + +interface SendToUniformPayload { + sessionId: string; +} + +export async function sendToIdoxNexus( + req: Request, + res: Response, + next: NextFunction, +) { + /** + * Submits application data to Uniform + * + * first, create a zip folder containing an XML (Idox's schema), CSV (our format), and any user-uploaded files + * then, make requests to Uniform's "Submission API" to authenticate, create a submission, and attach the zip to the submission + * finally, insert a record into uniform_applications for future auditing + */ + req.setTimeout(120 * 1000); // Temporary bump to address submission timeouts + + // `/uniform/:localAuthority` is only called via Hasura's scheduled event webhook now, so body is wrapped in a "payload" key + const payload: SendToUniformPayload = req.body.payload; + if (!payload?.sessionId) { + return next({ + status: 400, + message: "Missing application data to send to Idox Nexus", + }); + } + + // localAuthority is only parsed for audit record, not client-specific + const localAuthority = req.params.localAuthority; + const uniformClient = getUniformClient(); + + // confirm that this session has not already been successfully submitted before proceeding + const submittedApp = await checkUniformAuditTable(payload?.sessionId); + const isAlreadySubmitted = + submittedApp?.submissionStatus === "PENDING" && submittedApp?.canDownload; + if (isAlreadySubmitted) { + return res.status(200).send({ + sessionId: payload?.sessionId, + idoxSubmissionId: submittedApp?.submissionId, + message: `Skipping send, already successfully submitted`, + }); + } + + try { + // Request 1/4 - Authenticate + const { token, organisation, organisationId } = + await authenticate(uniformClient); + + // 2/4 - Create a submission + const idoxSubmissionId = await createSubmission( + token, + organisation, + organisationId, + payload.sessionId, + ); + + // 3/4 - Create & attach the zip + const zip = await buildSubmissionExportZip({ + sessionId: payload.sessionId, + onlyDigitalPlanningJSON: true, + }); + + const attachmentAdded = await attachArchive( + token, + idoxSubmissionId, + zip.filename, + ); + + // clean-up zip file + zip.remove(); + + // 4/4 - Get submission details and create audit record + const submissionDetails = await retrieveSubmission(token, idoxSubmissionId); + + const applicationAuditRecord = await createUniformApplicationAuditRecord({ + idoxSubmissionId, + submissionDetails, + payload, + localAuthority, + }); + + // Mark session as submitted so that reminder and expiry emails are not triggered + markSessionAsSubmitted(payload?.sessionId); + + return res.status(200).send({ + message: `Successfully created an Idox Nexus submission`, + zipAttached: attachmentAdded, + application: applicationAuditRecord, + }); + } catch (error) { + const errorMessage = isAxiosError(error) + ? JSON.stringify(error.response?.data) + : (error as Error).message; + return next({ + error, + message: `Failed to send to Idox Nexus (${payload.sessionId}): ${errorMessage}`, + }); + } +} + +/** + * Query the Uniform audit table to see if we already have an application for this session + */ +async function checkUniformAuditTable( + sessionId: string, +): Promise { + const application: Record<"uniform_applications", UniformApplication[]> = + await $api.client.request( + gql` + query FindApplication($submission_reference: String = "") { + uniform_applications( + where: { submission_reference: { _eq: $submission_reference } } + order_by: { created_at: desc } + ) { + response + } + } + `, + { + submission_reference: sessionId, + }, + ); + + return application?.uniform_applications[0]?.response; +} + +/** + * Logs in to the Idox Submission API using a username/password + * and returns an access token + */ +async function authenticate({ + clientId, + clientSecret, +}: UniformClient): Promise { + const authString = Buffer.from(`${clientId}:${clientSecret}`).toString( + "base64", + ); + + const authConfig: AxiosRequestConfig = { + method: "POST", + url: process.env.UNIFORM_TOKEN_URL!, + headers: { + Authorization: `Basic ${authString}`, + "Content-type": "application/x-www-form-urlencoded", + }, + data: new URLSearchParams({ + client_id: clientId, + client_secret: clientSecret, + grant_type: "client_credentials", + }), + }; + + const response = await axios.request(authConfig); + + if (!response.data.access_token) { + throw Error("Failed to authenticate to Uniform - no access token returned"); + } + + // Decode access_token to get "organisation-name" & "organisation-id" + const decodedAccessToken = jwt.decode(response.data.access_token) as any; + const organisation = decodedAccessToken?.["organisation-name"]; + const organisationId = decodedAccessToken?.["organisation-id"]; + + if (!organisation || !organisationId) { + throw Error( + "Failed to authenticate to Uniform - failed to decode organisation details from access_token", + ); + } + + const uniformAuthResponse: UniformAuthResponse = { + token: response.data.access_token, + organisation: organisation, + organisationId: organisationId, + }; + + return uniformAuthResponse; +} + +/** + * Creates a submission (submissionReference is unique value provided by RIPA & must match XML ) + * and returns a submissionId parsed from the resource link + */ +async function createSubmission( + token: string, + organisation: string, + organisationId: string, + sessionId = "TEST", +): Promise { + const createSubmissionEndpoint = `${process.env + .UNIFORM_SUBMISSION_URL!}/secure/submission`; + + const isStaging = ["mock-server", "staging"].some((hostname) => + createSubmissionEndpoint.includes(hostname), + ); + + const createSubmissionConfig: AxiosRequestConfig = { + url: createSubmissionEndpoint, + method: "POST", + headers: { + Authorization: `Bearer ${token}`, + "Content-type": "application/json", + }, + data: JSON.stringify({ + entity: "dc", + module: "dc", + organisation: organisation, + organisationId: organisationId, + submissionReference: sessionId, + description: isStaging + ? "Staging submission from PlanX" + : "Production submission from PlanX", + submissionProcessorType: "API", + }), + }; + + const response = await axios.request(createSubmissionConfig); + // successful submission returns 201 Created without body + if (response.status !== 201) + throw Error("Failed to authenticate to Idox Nexus"); + + // parse & return the submissionId + const resourceLink = response.headers.location; + const submissionId = resourceLink.split("/").pop(); + if (!submissionId) + throw Error("Authenticated to Idox Nexus, but failed to create submission"); + + return submissionId; +} + +/** + * Uploads and attaches a zip folder to an existing submission + */ +async function attachArchive( + token: string, + submissionId: string, + zipPath: string, +): Promise { + if (!fs.existsSync(zipPath)) { + console.log( + `Zip does not exist, cannot attach to idox_submission_id ${submissionId}`, + ); + return false; + } + + const attachArchiveEndpoint = `${process.env + .UNIFORM_SUBMISSION_URL!}/secure/submission/${submissionId}/archive`; + + const formData = new FormData(); + formData.append("file", fs.createReadStream(zipPath)); + + const attachArchiveConfig: AxiosRequestConfig = { + url: attachArchiveEndpoint, + method: "POST", + headers: { + Authorization: `Bearer ${token}`, + }, + data: formData, + // Restrict to 1GB + maxBodyLength: 1e9, + maxContentLength: 1e9, + }; + + const response = await axios.request(attachArchiveConfig); + // successful upload returns 204 No Content without body + const isSuccess = response.status === 204; + + // Temp additional logging to debug failures + console.log("*** Uniform attachArchive response ***"); + console.log({ status: response.status }); + console.log(JSON.stringify(response.data, null, 2)); + console.log("******"); + + return isSuccess; +} + +/** + * Gets details about an existing submission to store for auditing purposes + * since neither createSubmission nor attachArchive requests return a meaningful response body + */ +async function retrieveSubmission( + token: string, + submissionId: string, +): Promise { + const getSubmissionEndpoint = `${process.env + .UNIFORM_SUBMISSION_URL!}/secure/submission/${submissionId}`; + + const getSubmissionConfig: AxiosRequestConfig = { + url: getSubmissionEndpoint, + method: "GET", + headers: { + Authorization: `Bearer ${token}`, + }, + }; + + const response = await axios.request(getSubmissionConfig); + return response.data; +} + +/** + * Get id and secret of Idox Nexus client + */ +const getUniformClient = (): UniformClient => { + const client = process.env["IDOX_NEXUS_CLIENT"]; + + if (!client) throw Error(`Unable to find Idox Nexus client`); + + const [clientId, clientSecret] = client.split(":"); + return { clientId, clientSecret }; +}; + +const createUniformApplicationAuditRecord = async ({ + idoxSubmissionId, + payload, + localAuthority, + submissionDetails, +}: { + idoxSubmissionId: string; + payload: SendToUniformPayload; + localAuthority: string; + submissionDetails: UniformSubmissionResponse; +}): Promise => { + const xml = await $api.export.oneAppPayload(payload?.sessionId); + + const application: Record< + "insert_uniform_applications_one", + UniformApplication + > = await $api.client.request( + gql` + mutation CreateUniformApplication( + $idox_submission_id: String = "" + $submission_reference: String = "" + $destination: String = "" + $response: jsonb = "" + $payload: jsonb = "" + $xml: xml = "" + ) { + insert_uniform_applications_one( + object: { + idox_submission_id: $idox_submission_id + submission_reference: $submission_reference + destination: $destination + response: $response + payload: $payload + xml: $xml + } + ) { + id + idox_submission_id + submission_reference + destination + response + created_at + } + } + `, + { + idox_submission_id: idoxSubmissionId, + submission_reference: payload?.sessionId, + destination: localAuthority, + response: submissionDetails, + payload, + xml, + }, + ); + + return application.insert_uniform_applications_one; +}; diff --git a/api.planx.uk/modules/send/routes.ts b/api.planx.uk/modules/send/routes.ts index 37e2eb31da..5447f7ad3d 100644 --- a/api.planx.uk/modules/send/routes.ts +++ b/api.planx.uk/modules/send/routes.ts @@ -8,6 +8,7 @@ import { validate } from "../../shared/middleware/validate"; import { combinedEventsPayloadSchema } from "./createSendEvents/types"; import { downloadApplicationFiles } from "./downloadApplicationFiles"; import { sendToS3 } from "./s3"; +import { sendToIdoxNexus } from "./idox/nexus"; const router = Router(); @@ -18,6 +19,7 @@ router.post( ); router.post("/bops/:localAuthority", useHasuraAuth, sendToBOPS); router.post("/uniform/:localAuthority", useHasuraAuth, sendToUniform); +router.post("/idox/:localAuthority", useHasuraAuth, sendToIdoxNexus); router.post("/email-submission/:localAuthority", useHasuraAuth, sendToEmail); router.get("/download-application-files/:sessionId", downloadApplicationFiles); router.post("/upload-submission/:localAuthority", useHasuraAuth, sendToS3); diff --git a/api.planx.uk/modules/send/utils/exportZip.ts b/api.planx.uk/modules/send/utils/exportZip.ts index 2d15f79c2f..98843e53f2 100644 --- a/api.planx.uk/modules/send/utils/exportZip.ts +++ b/api.planx.uk/modules/send/utils/exportZip.ts @@ -22,10 +22,12 @@ export async function buildSubmissionExportZip({ sessionId, includeOneAppXML = false, includeDigitalPlanningJSON = false, + onlyDigitalPlanningJSON = false, }: { sessionId: string; includeOneAppXML?: boolean; includeDigitalPlanningJSON?: boolean; + onlyDigitalPlanningJSON?: boolean; }): Promise { // fetch session data const sessionData = await $api.session.find(sessionId); @@ -41,7 +43,7 @@ export async function buildSubmissionExportZip({ const zip = new ExportZip(sessionId, flowSlug); // add OneApp XML to the zip - if (includeOneAppXML) { + if (includeOneAppXML && !onlyDigitalPlanningJSON) { try { const xml = await $api.export.oneAppPayload(sessionId); const xmlStream = str(xml.trim()); @@ -57,7 +59,7 @@ export async function buildSubmissionExportZip({ } // add ODP Schema JSON to the zip, skipping validation if an unsupported application type - if (includeDigitalPlanningJSON) { + if (includeDigitalPlanningJSON || onlyDigitalPlanningJSON) { try { const doValidation = isApplicationTypeSupported(passport); const schema = doValidation @@ -75,115 +77,117 @@ export async function buildSubmissionExportZip({ } } - // add remote files on S3 to the zip - const files = new Passport(passport).files; - if (files.length) { - for (const file of files) { - // Ensure unique filename by combining original filename and S3 folder name, which is a nanoid - // Uniform requires all uploaded files to be present in the zip, even if they are duplicates - // Must match unique filename in editor.planx.uk/src/@planx/components/Send/uniform/xml.ts - const uniqueFilename = decodeURIComponent( - file.url.split("/").slice(-2).join("-"), - ); - await zip.addRemoteFile({ url: file.url, name: uniqueFilename }); + if (!onlyDigitalPlanningJSON) { + // add remote user-uploaded files on S3 to the zip + const files = new Passport(passport).files; + if (files.length) { + for (const file of files) { + // Ensure unique filename by combining original filename and S3 folder name, which is a nanoid + // Uniform requires all uploaded files to be present in the zip, even if they are duplicates + // Must match unique filename in editor.planx.uk/src/@planx/components/Send/uniform/xml.ts + const uniqueFilename = decodeURIComponent( + file.url.split("/").slice(-2).join("-"), + ); + await zip.addRemoteFile({ url: file.url, name: uniqueFilename }); + } } - } - // generate csv data - const responses = await $api.export.csvData(sessionId); - const redactedResponses = await $api.export.csvDataRedacted(sessionId); - - // write csv to the zip - try { - const csvStream = stringify(responses, { - columns: ["question", "responses", "metadata"], - header: true, - }); - await zip.addStream({ - name: "application.csv", - stream: csvStream, - }); - } catch (error) { - throw new Error( - `Failed to generate CSV for ${sessionId} zip. Error - ${error}`, - ); - } + // generate csv data + const responses = await $api.export.csvData(sessionId); + const redactedResponses = await $api.export.csvDataRedacted(sessionId); - // add template files to zip - const templateNames = - await $api.getDocumentTemplateNamesForSession(sessionId); - for (const templateName of templateNames || []) { + // write csv to the zip try { - const isTemplateSupported = hasRequiredDataForTemplate({ - passport, - templateName, + const csvStream = stringify(responses, { + columns: ["question", "responses", "metadata"], + header: true, + }); + await zip.addStream({ + name: "application.csv", + stream: csvStream, }); - if (isTemplateSupported) { - const templateStream = generateDocxTemplateStream({ + } catch (error) { + throw new Error( + `Failed to generate CSV for ${sessionId} zip. Error - ${error}`, + ); + } + + // add template files to zip + const templateNames = + await $api.getDocumentTemplateNamesForSession(sessionId); + for (const templateName of templateNames || []) { + try { + const isTemplateSupported = hasRequiredDataForTemplate({ passport, templateName, }); - await zip.addStream({ - name: `${templateName}.doc`, - stream: templateStream, - }); + if (isTemplateSupported) { + const templateStream = generateDocxTemplateStream({ + passport, + templateName, + }); + await zip.addStream({ + name: `${templateName}.doc`, + stream: templateStream, + }); + } + } catch (error) { + console.log( + `Template "${templateName}" could not be generated so has been skipped. Error - ${error}`, + ); + continue; } - } catch (error) { - console.log( - `Template "${templateName}" could not be generated so has been skipped. Error - ${error}`, - ); - continue; } - } - const boundingBox = passport.data["property.boundary.site.buffered"]; - const userAction = passport.data?.["drawBoundary.action"]; - // generate and add an HTML overview document for the submission to zip - const overviewHTML = generateApplicationHTML({ - planXExportData: responses as PlanXExportData[], - boundingBox, - userAction, - }); - await zip.addFile({ - name: "Overview.htm", - buffer: Buffer.from(overviewHTML), - }); - - // generate and add an HTML overview document for the submission to zip - const redactedOverviewHTML = generateApplicationHTML({ - planXExportData: redactedResponses as PlanXExportData[], - boundingBox, - userAction, - }); - await zip.addFile({ - name: "RedactedOverview.htm", - buffer: Buffer.from(redactedOverviewHTML), - }); - - // add an optional GeoJSON file to zip - const geojson: GeoJSON.Feature | undefined = - passport?.data?.["property.boundary.site"]; - if (geojson) { - if (userAction) { - geojson["properties"] ??= {}; - geojson["properties"]["planx_user_action"] = userAction; - } - const geoBuff = Buffer.from(JSON.stringify(geojson, null, 2)); - zip.addFile({ - name: "LocationPlanGeoJSON.geojson", - buffer: geoBuff, + const boundingBox = passport.data["property.boundary.site.buffered"]; + const userAction = passport.data?.["drawBoundary.action"]; + // generate and add an HTML overview document for the submission to zip + const overviewHTML = generateApplicationHTML({ + planXExportData: responses as PlanXExportData[], + boundingBox, + userAction, + }); + await zip.addFile({ + name: "Overview.htm", + buffer: Buffer.from(overviewHTML), }); - // generate and add an HTML boundary document for the submission to zip - const boundaryHTML = generateMapHTML({ - geojson, + // generate and add an HTML overview document for the submission to zip + const redactedOverviewHTML = generateApplicationHTML({ + planXExportData: redactedResponses as PlanXExportData[], boundingBox, userAction, }); await zip.addFile({ - name: "LocationPlan.htm", - buffer: Buffer.from(boundaryHTML), + name: "RedactedOverview.htm", + buffer: Buffer.from(redactedOverviewHTML), }); + + // add an optional GeoJSON file to zip + const geojson: GeoJSON.Feature | undefined = + passport?.data?.["property.boundary.site"]; + if (geojson) { + if (userAction) { + geojson["properties"] ??= {}; + geojson["properties"]["planx_user_action"] = userAction; + } + const geoBuff = Buffer.from(JSON.stringify(geojson, null, 2)); + zip.addFile({ + name: "LocationPlanGeoJSON.geojson", + buffer: geoBuff, + }); + + // generate and add an HTML boundary document for the submission to zip + const boundaryHTML = generateMapHTML({ + geojson, + boundingBox, + userAction, + }); + await zip.addFile({ + name: "LocationPlan.htm", + buffer: Buffer.from(boundaryHTML), + }); + } } // write the zip diff --git a/editor.planx.uk/src/@planx/components/Send/Editor.tsx b/editor.planx.uk/src/@planx/components/Send/Editor.tsx index 9e1816982b..bfc3f208ca 100644 --- a/editor.planx.uk/src/@planx/components/Send/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/Send/Editor.tsx @@ -57,12 +57,17 @@ const SendComponent: React.FC = (props) => { }, ]; - // Show S3 option on staging only + // Show S3 & Nexus options on staging only if (process.env.REACT_APP_ENV !== "production") { options.push({ value: Destination.S3, label: "Upload to AWS S3 bucket", }); + + options.push({ + value: Destination.Idox, + label: "Idox Nexus", + }); } const changeCheckbox = diff --git a/editor.planx.uk/src/@planx/components/Send/Public.tsx b/editor.planx.uk/src/@planx/components/Send/Public.tsx index 8b8be0b35f..f6c1b872bf 100644 --- a/editor.planx.uk/src/@planx/components/Send/Public.tsx +++ b/editor.planx.uk/src/@planx/components/Send/Public.tsx @@ -96,6 +96,16 @@ const CreateSendEvents: React.FC = ({ ); } + if ( + destinations.includes(Destination.Idox) && + isReady && + props.handleSubmit + ) { + props.handleSubmit( + makeData(props, request.value.idox?.event_id, "idoxSendEventId") + ); + } + if ( destinations.includes(Destination.Email) && isReady && diff --git a/editor.planx.uk/src/@planx/components/Send/model.ts b/editor.planx.uk/src/@planx/components/Send/model.ts index d5f9fd5a16..cd1082b4a5 100644 --- a/editor.planx.uk/src/@planx/components/Send/model.ts +++ b/editor.planx.uk/src/@planx/components/Send/model.ts @@ -4,6 +4,7 @@ import { MoreInformation, parseMoreInformation } from "../shared"; export enum Destination { BOPS = "bops", Uniform = "uniform", + Idox = "idox", Email = "email", S3 = "s3", } @@ -79,6 +80,13 @@ export function getCombinedEventsPayload({ }; } + if (destinations.includes(Destination.Idox)) { + combinedEventsPayload[Destination.Idox] = { + localAuthority: teamSlug, + body: { sessionId }, + }; + } + if (destinations.includes(Destination.S3)) { combinedEventsPayload[Destination.S3] = { localAuthority: teamSlug, From 720f1d875578e3932674d147853e6fd392fdba67 Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Fri, 28 Jun 2024 17:37:30 +0200 Subject: [PATCH 12/38] chore: bump planx-core (#3340) --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 8 ++++---- e2e/tests/api-driven/package.json | 2 +- e2e/tests/api-driven/pnpm-lock.yaml | 8 ++++---- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 8 ++++---- editor.planx.uk/package.json | 2 +- editor.planx.uk/pnpm-lock.yaml | 12 ++++++------ 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index 9c4026248f..ab680ac837 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 26275f0cba..09c13e9457 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 - version: github.com/theopensystemslab/planx-core/c17c3e3 + specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 + version: github.com/theopensystemslab/planx-core/b975cf9 '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -8288,8 +8288,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/c17c3e3: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} + github.com/theopensystemslab/planx-core/b975cf9: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index afc731f23f..3fb3256b3e 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", "axios": "^1.6.8", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index 1944283c1a..118c25b018 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 - version: github.com/theopensystemslab/planx-core/c17c3e3 + specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 + version: github.com/theopensystemslab/planx-core/b975cf9 axios: specifier: ^1.6.8 version: 1.6.8 @@ -2943,8 +2943,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/c17c3e3: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} + github.com/theopensystemslab/planx-core/b975cf9: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index ceb31105be..99eada8d2b 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index beef4b255e..c0ee351d54 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 - version: github.com/theopensystemslab/planx-core/c17c3e3 + specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 + version: github.com/theopensystemslab/planx-core/b975cf9 axios: specifier: ^1.6.8 version: 1.6.8 @@ -2715,8 +2715,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/c17c3e3: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} + github.com/theopensystemslab/planx-core/b975cf9: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 1614c2dad4..f96b12fb79 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -13,7 +13,7 @@ "@mui/material": "^5.15.2", "@mui/utils": "^5.15.2", "@opensystemslab/map": "^0.8.3", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#c17c3e3", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", "@tiptap/core": "^2.4.0", "@tiptap/extension-bold": "^2.0.3", "@tiptap/extension-bubble-menu": "^2.1.13", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index 66b4096d65..e2772eb954 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -42,8 +42,8 @@ dependencies: specifier: ^0.8.3 version: 0.8.3 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#c17c3e3 - version: github.com/theopensystemslab/planx-core/c17c3e3(@types/react@18.2.45) + specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 + version: github.com/theopensystemslab/planx-core/b975cf9(@types/react@18.2.45) '@tiptap/core': specifier: ^2.4.0 version: 2.4.0(@tiptap/pm@2.0.3) @@ -10471,7 +10471,7 @@ packages: dev: false /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -21639,9 +21639,9 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - github.com/theopensystemslab/planx-core/c17c3e3(@types/react@18.2.45): - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/c17c3e3} - id: github.com/theopensystemslab/planx-core/c17c3e3 + github.com/theopensystemslab/planx-core/b975cf9(@types/react@18.2.45): + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} + id: github.com/theopensystemslab/planx-core/b975cf9 name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true From a062ff7b15d060979eda9a78ee61157b1bd54a06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 28 Jun 2024 17:20:41 +0100 Subject: [PATCH 13/38] Revert "fix: Trim all form values on node creation" (#3339) --- .../@planx/components/shared/index.test.ts | 20 ------------------- .../src/@planx/components/shared/index.ts | 3 --- .../FlowEditor/components/forms/FormModal.tsx | 1 + 3 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 editor.planx.uk/src/@planx/components/shared/index.test.ts diff --git a/editor.planx.uk/src/@planx/components/shared/index.test.ts b/editor.planx.uk/src/@planx/components/shared/index.test.ts deleted file mode 100644 index 81056be44f..0000000000 --- a/editor.planx.uk/src/@planx/components/shared/index.test.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { parseFormValues } from "."; - -describe("parseFormValues util", () => { - it("trims nested strings", () => { - const input = { - type: 100, - data: { - description: "description ", - fn: "my.data.field ", - img: "", - text: "Question ", - }, - }; - const output = parseFormValues(Object.entries(input)); - - expect(output.data.fn).toEqual("my.data.field"); - expect(output.data.text).toEqual("Question"); - expect(output.data.description).toEqual("description"); - }) -}); \ No newline at end of file diff --git a/editor.planx.uk/src/@planx/components/shared/index.ts b/editor.planx.uk/src/@planx/components/shared/index.ts index c89b7f1df7..364bc753bd 100644 --- a/editor.planx.uk/src/@planx/components/shared/index.ts +++ b/editor.planx.uk/src/@planx/components/shared/index.ts @@ -44,9 +44,6 @@ export const parseFormValues = (ob: any, defaultValues = {}) => .map((o) => parseFormValues(Object.entries(o))) // don't store options with no values .filter((o) => Object.keys(o).length > 0); - } else if (v && typeof v === "object") { - // if it's a nested object - acc[k] = parseFormValues(Object.entries(v)); } else { // it's a number or boolean etc acc[k] = v; diff --git a/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx b/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx index c147014784..1aae0ee578 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/forms/FormModal.tsx @@ -10,6 +10,7 @@ import { styled } from "@mui/material/styles"; import { ComponentType as TYPES } from "@opensystemslab/planx-core/types"; import { parseFormValues } from "@planx/components/shared"; import ErrorFallback from "components/ErrorFallback"; +import { hasFeatureFlag } from "lib/featureFlags"; import React from "react"; import { ErrorBoundary } from "react-error-boundary"; import { useNavigation } from "react-navi"; From 2a095c06d6e8c595ab4d116769deffda53b6db7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Mon, 1 Jul 2024 10:20:35 +0100 Subject: [PATCH 14/38] feat: `ChecklistFieldInput` for List component (#3304) --- .../@planx/components/Checklist/Public.tsx | 74 +++++----------- .../src/@planx/components/Checklist/model.ts | 45 ++++++++++ .../src/@planx/components/List/Editor.tsx | 16 +++- .../@planx/components/List/Public/Context.tsx | 2 +- .../@planx/components/List/Public/Fields.tsx | 64 +++++++++++++- .../components/List/Public/index.test.tsx | 15 +++- .../@planx/components/List/Public/index.tsx | 5 +- .../src/@planx/components/List/model.ts | 25 +++++- .../schemas/ResidentialUnits/GLA/Gained.ts | 68 ++++----------- .../List/schemas/ResidentialUnits/GLA/Lost.ts | 68 ++++----------- .../List/schemas/ResidentialUnits/GLA/New.ts | 68 ++++----------- .../schemas/ResidentialUnits/GLA/Rebuilt.ts | 68 ++++----------- .../schemas/ResidentialUnits/GLA/Removed.ts | 68 ++++----------- .../components/List/schemas/mocks/Zoo.ts | 22 ++++- .../src/@planx/components/List/utils.test.ts | 6 +- .../components/List/{utils.ts => utils.tsx} | 87 +++++++++++++------ editor.planx.uk/src/ui/shared/Checkbox.tsx | 2 +- 17 files changed, 349 insertions(+), 354 deletions(-) rename editor.planx.uk/src/@planx/components/List/{utils.ts => utils.tsx} (65%) diff --git a/editor.planx.uk/src/@planx/components/Checklist/Public.tsx b/editor.planx.uk/src/@planx/components/Checklist/Public.tsx index 768bc86f73..6383d8abcd 100644 --- a/editor.planx.uk/src/@planx/components/Checklist/Public.tsx +++ b/editor.planx.uk/src/@planx/components/Checklist/Public.tsx @@ -1,7 +1,12 @@ import Box from "@mui/material/Box"; import Grid from "@mui/material/Grid"; import { visuallyHidden } from "@mui/utils"; -import type { Checklist, Group } from "@planx/components/Checklist/model"; +import { + type Checklist, + checklistValidationSchema, + getFlatOptions, + type Group, +} from "@planx/components/Checklist/model"; import ImageButton from "@planx/components/shared/Buttons/ImageButton"; import Card from "@planx/components/shared/Preview/Card"; import CardHeader from "@planx/components/shared/Preview/CardHeader"; @@ -12,7 +17,7 @@ import FormWrapper from "ui/public/FormWrapper"; import FullWidthWrapper from "ui/public/FullWidthWrapper"; import ChecklistItem from "ui/shared/ChecklistItem"; import ErrorWrapper from "ui/shared/ErrorWrapper"; -import { array, object } from "yup"; +import { object } from "yup"; import { Option } from "../shared"; import type { PublicProps } from "../ui"; @@ -31,36 +36,21 @@ function toggleInArray(value: T, arr: Array): Array { : [...arr, value]; } -function getFlatOptions({ - options, - groupedOptions, -}: { - options: Checklist["options"]; - groupedOptions: Checklist["groupedOptions"]; -}) { - if (options) { - return options; - } - if (groupedOptions) { - return groupedOptions.flatMap((group) => group.children); - } - return []; -} +const ChecklistComponent: React.FC = (props) => { + const { + description = "", + groupedOptions, + handleSubmit, + howMeasured, + info, + options, + policyRef, + text, + img, + previouslySubmittedData, + id, + } = props; -const ChecklistComponent: React.FC = ({ - allRequired, - description = "", - groupedOptions, - handleSubmit, - howMeasured, - info, - options, - policyRef, - text, - img, - previouslySubmittedData, - id, -}) => { const formik = useFormik<{ checked: Array }>({ initialValues: { checked: previouslySubmittedData?.answers || [], @@ -71,27 +61,7 @@ const ChecklistComponent: React.FC = ({ validateOnBlur: false, validateOnChange: false, validationSchema: object({ - checked: array() - .required() - .test({ - name: "atLeastOneChecked", - message: "Select at least one option", - test: (checked?: Array) => { - return Boolean(checked && checked.length > 0); - }, - }) - .test({ - name: "notAllChecked", - message: "All options must be checked", - test: (checked?: Array) => { - if (!allRequired) { - return true; - } - const flatOptions = getFlatOptions({ options, groupedOptions }); - const allChecked = checked && checked.length === flatOptions.length; - return Boolean(allChecked); - }, - }), + checked: checklistValidationSchema(props), }), }); diff --git a/editor.planx.uk/src/@planx/components/Checklist/model.ts b/editor.planx.uk/src/@planx/components/Checklist/model.ts index 843be32901..7287fe9364 100644 --- a/editor.planx.uk/src/@planx/components/Checklist/model.ts +++ b/editor.planx.uk/src/@planx/components/Checklist/model.ts @@ -1,3 +1,5 @@ +import { array } from "yup"; + import { MoreInformation, Option } from "../shared"; export interface Group { @@ -56,3 +58,46 @@ export const toggleExpandableChecklist = ( }; } }; + +export const getFlatOptions = ({ + options, + groupedOptions, +}: { + options: Checklist["options"]; + groupedOptions: Checklist["groupedOptions"]; +}) => { + if (options) { + return options; + } + if (groupedOptions) { + return groupedOptions.flatMap((group) => group.children); + } + return []; +}; + +export const checklistValidationSchema = ({ + allRequired, + options, + groupedOptions, +}: Checklist) => + array() + .required() + .test({ + name: "atLeastOneChecked", + message: "Select at least one option", + test: (checked?: Array) => { + return Boolean(checked && checked.length > 0); + }, + }) + .test({ + name: "notAllChecked", + message: "All options must be checked", + test: (checked?: Array) => { + if (!allRequired) { + return true; + } + const flatOptions = getFlatOptions({ options, groupedOptions }); + const allChecked = checked && checked.length === flatOptions.length; + return Boolean(allChecked); + }, + }); diff --git a/editor.planx.uk/src/@planx/components/List/Editor.tsx b/editor.planx.uk/src/@planx/components/List/Editor.tsx index 6b85d49b87..bfa3e99ae8 100644 --- a/editor.planx.uk/src/@planx/components/List/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/List/Editor.tsx @@ -20,10 +20,12 @@ import { CommunalSpaceGLA } from "./schemas/GLA/CommunalSpace"; import { ExistingAndProposedUsesGLA } from "./schemas/GLA/ExistingAndProposedUses"; import { OpenSpaceGLA } from "./schemas/GLA/OpenSpace"; import { ProtectedSpaceGLA } from "./schemas/GLA/ProtectedSpace"; -import { Zoo } from "./schemas/mocks/Zoo"; import { ResidentialUnitsExisting } from "./schemas/ResidentialUnits/Existing"; import { ResidentialUnitsGLAGained } from "./schemas/ResidentialUnits/GLA/Gained"; import { ResidentialUnitsGLALost } from "./schemas/ResidentialUnits/GLA/Lost"; +import { ResidentialUnitsGLANew } from "./schemas/ResidentialUnits/GLA/New"; +import { ResidentialUnitsGLARebuilt } from "./schemas/ResidentialUnits/GLA/Rebuilt"; +import { ResidentialUnitsGLARemoved } from "./schemas/ResidentialUnits/GLA/Removed"; import { ResidentialUnitsProposed } from "./schemas/ResidentialUnits/Proposed"; type Props = EditorProps; @@ -36,6 +38,18 @@ export const SCHEMAS = [ schema: ResidentialUnitsGLAGained, }, { name: "Residential units (GLA) - Lost", schema: ResidentialUnitsGLALost }, + { + name: "Residential units (GLA) - New", + schema: ResidentialUnitsGLANew, + }, + { + name: "Residential units (GLA) - Rebuilt", + schema: ResidentialUnitsGLARebuilt, + }, + { + name: "Residential units (GLA) - Removed", + schema: ResidentialUnitsGLARemoved, + }, { name: "Non-residential floorspace", schema: NonResidentialFloorspace }, { name: "Existing and proposed uses (GLA)", diff --git a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx index bca7c02f9e..38bb5b1ec4 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx @@ -171,7 +171,7 @@ export const ListProvider: React.FC = (props) => { const defaultPassportData = makeData(props, values.userData)?.["data"]; // flattenedPassportData makes individual list items compatible with Calculate components - const flattenedPassportData = flatten(defaultPassportData); + const flattenedPassportData = flatten(defaultPassportData, { depth: 2 }); // basic example of general summary stats we can add onSubmit: // 1. count of items/responses diff --git a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx index a5313d3cfb..8fad6c35db 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx @@ -1,19 +1,27 @@ import Box from "@mui/material/Box"; import FormControl from "@mui/material/FormControl"; import FormLabel from "@mui/material/FormLabel"; +import Grid from "@mui/material/Grid"; import MenuItem from "@mui/material/MenuItem"; import RadioGroup from "@mui/material/RadioGroup"; -import { Option } from "@planx/components/shared"; +import { visuallyHidden } from "@mui/utils"; +import { getIn } from "formik"; import React from "react"; import SelectInput from "ui/editor/SelectInput"; import InputLabel from "ui/public/InputLabel"; +import ChecklistItem from "ui/shared/ChecklistItem"; import ErrorWrapper from "ui/shared/ErrorWrapper"; import Input from "ui/shared/Input"; import InputRowLabel from "ui/shared/InputRowLabel"; import { DESCRIPTION_TEXT, ERROR_MESSAGE } from "../../shared/constants"; import BasicRadio from "../../shared/Radio/BasicRadio"; -import type { NumberField, QuestionField, TextField } from "../model"; +import type { + ChecklistField, + NumberField, + QuestionField, + TextField, +} from "../model"; import { useListContext } from "./Context"; import { get } from "lodash"; @@ -183,3 +191,55 @@ export const SelectFieldInput: React.FC> = (props) => {
); }; + +export const ChecklistFieldInput: React.FC> = (props) => { + const { formik, activeIndex } = useListContext(); + const { + id, + data: { options, title, fn }, + } = props; + + const changeCheckbox = + (id: string) => + async ( + _checked: React.MouseEvent | undefined, + ) => { + let newCheckedIds; + + if (formik.values.userData[activeIndex][fn].includes(id)) { + newCheckedIds = ( + formik.values.userData[activeIndex][fn] as string[] + ).filter((x) => x !== id); + } else { + newCheckedIds = [...formik.values.userData[activeIndex][fn], id]; + } + + await formik.setFieldValue( + `userData[${activeIndex}]['${fn}']`, + newCheckedIds, + ); + }; + + return ( + + + + {title} + {options.map((option) => ( + + ))} + + + + ); +}; diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx index 5bdaa44f8b..b2c2d6ec73 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.test.tsx @@ -453,7 +453,15 @@ describe("Form validation and error handling", () => { expect(cuteInputErrorMessage).toHaveTextContent(/Select your answer before continuing/); }); - test.todo("checklist fields") + test("checklist fields", async () => { + const { user, getByRole, getByTestId } = setup(); + + await user.click(getByRole("button", { name: /Save/ })); + + const foodInputErrorMessage = getByTestId(/error-message-input-checklist-food/); + + expect(foodInputErrorMessage).toHaveTextContent(/Select at least one option/); + }) }); test("an error displays if the minimum number of items is not met", async () => { @@ -651,6 +659,11 @@ const fillInResponse = async (user: UserEvent) => { const cuteRadio = screen.getAllByRole("radio")[0]; await user.click(cuteRadio); + const eatCheckboxes = screen.getAllByRole("checkbox"); + await user.click(eatCheckboxes[0]); + await user.click(eatCheckboxes[1]); + await user.click(eatCheckboxes[2]); + const saveButton = screen.getByRole("button", { name: /Save/, }); diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.tsx index 66efdcd9d9..c0d3136c29 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.tsx @@ -20,6 +20,7 @@ import type { Field, List } from "../model"; import { formatSchemaDisplayValue } from "../utils"; import { ListProvider, useListContext } from "./Context"; import { + ChecklistFieldInput, NumberFieldInput, RadioFieldInput, SelectFieldInput, @@ -59,6 +60,8 @@ const InputField: React.FC = (props) => { return ; } return ; + case "checklist": + return ; } }; @@ -126,7 +129,7 @@ const InactiveListCard: React.FC<{ {formatSchemaDisplayValue( formik.values.userData[i][field.data.fn], - schema, + schema.fields[j], )} diff --git a/editor.planx.uk/src/@planx/components/List/model.ts b/editor.planx.uk/src/@planx/components/List/model.ts index 65adc60975..759aae527b 100644 --- a/editor.planx.uk/src/@planx/components/List/model.ts +++ b/editor.planx.uk/src/@planx/components/List/model.ts @@ -1,6 +1,7 @@ import { cloneDeep } from "lodash"; import { array, BaseSchema, object, ObjectSchema, string } from "yup"; +import { checklistValidationSchema } from "../Checklist/model"; import { NumberInput, numberInputValidationSchema } from "../NumberInput/model"; import { MoreInformation, Option, parseMoreInformation } from "../shared"; import { @@ -20,6 +21,12 @@ interface QuestionInput { options: Option[]; } +interface ChecklistInput { + title: string; + description?: string; + options: Option[]; +} + /** * As above, we need a simplified validation schema for QuestionsInputs */ @@ -42,12 +49,17 @@ export type QuestionField = { type: "question"; data: QuestionInput & { fn: string }; }; +export type ChecklistField = { + type: "checklist"; + required?: true; + data: ChecklistInput & { fn: string }; +}; /** * Represents the input types available in the List component * Existing models are used to allow to us to re-use existing components, maintaining consistend UX/UI */ -export type Field = TextField | NumberField | QuestionField; +export type Field = TextField | NumberField | QuestionField | ChecklistField; /** * Models the form displayed to the user @@ -59,7 +71,7 @@ export interface Schema { max?: number; } -export type UserResponse = Record; +export type UserResponse = Record; export type UserData = { userData: UserResponse[] }; @@ -100,6 +112,9 @@ const generateValidationSchemaForFields = ( case "question": fieldSchemas[data.fn] = questionInputValidationSchema(data); break; + case "checklist": + fieldSchemas[data.fn] = checklistValidationSchema(data); + break; } }); @@ -125,6 +140,10 @@ export const generateValidationSchema = (schema: Schema) => { export const generateInitialValues = (schema: Schema): UserResponse => { const initialValues: UserResponse = {}; - schema.fields.forEach((field) => (initialValues[field.data.fn] = "")); + schema.fields.forEach((field) => { + field.type === "checklist" + ? (initialValues[field.data.fn] = []) + : (initialValues[field.data.fn] = ""); + }); return initialValues; }; diff --git a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Gained.ts b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Gained.ts index b08d3bbc6f..f403091c5c 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Gained.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Gained.ts @@ -70,61 +70,25 @@ export const ResidentialUnitsGLAGained: Schema = { ], }, }, - // { - // type: "checklist", // @todo - // data: { - // title: "Is this unit compliant with any of the following?", - // fn: "compliance", - // options: [ - // { - // id: "m42", - // data: { text: "Part M4(2) of the Building Regulations 2010" }, - // }, - // { - // id: "m432a", - // data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - // }, - // { - // id: "m432b", - // data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - // }, - // { id: "none", data: { text: "None of these" } }, - // ], - // }, - // }, { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(2) of the Building Regulations 2010?", - fn: "compliance.m42", - options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, - ], - }, - }, - { - type: "question", + type: "checklist", data: { - title: - "Is this unit compliant with Part M4(3)(2a) of the Building Regulations 2010?", - fn: "compliance.m432a", + title: "Is this unit compliant with any of the following?", + fn: "compliance", options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, - ], - }, - }, - { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(3)(2b) of the Building Regulations 2010?", - fn: "compliance.m432b", - options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, + { + id: "m42", + data: { text: "Part M4(2) of the Building Regulations 2010" }, + }, + { + id: "m432a", + data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, + }, + { + id: "m432b", + data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, + }, + { id: "none", data: { text: "None of these" } }, ], }, }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Lost.ts b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Lost.ts index 5c4d126916..bed690a2e7 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Lost.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Lost.ts @@ -53,61 +53,25 @@ export const ResidentialUnitsGLALost: Schema = { ], }, }, - // { - // type: "checklist", // @todo - // data: { - // title: "Is this unit compliant with any of the following?", - // fn: "compliance", - // options: [ - // { - // id: "m42", - // data: { text: "Part M4(2) of the Building Regulations 2010" }, - // }, - // { - // id: "m432a", - // data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - // }, - // { - // id: "m432b", - // data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - // }, - // { id: "none", data: { text: "None of these" } }, - // ], - // }, - // }, { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(2) of the Building Regulations 2010?", - fn: "compliance.m42", - options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, - ], - }, - }, - { - type: "question", + type: "checklist", data: { - title: - "Is this unit compliant with Part M4(3)(2a) of the Building Regulations 2010?", - fn: "compliance.m432a", + title: "Is this unit compliant with any of the following?", + fn: "compliance", options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, - ], - }, - }, - { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(3)(2b) of the Building Regulations 2010?", - fn: "compliance.m432b", - options: [ - { id: "true", data: { text: "Yes" } }, - { id: "false", data: { text: "No" } }, + { + id: "m42", + data: { text: "Part M4(2) of the Building Regulations 2010" }, + }, + { + id: "m432a", + data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, + }, + { + id: "m432b", + data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, + }, + { id: "none", data: { text: "None of these" } }, ], }, }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/New.ts b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/New.ts index 67a67ff4d0..fe8f9a2a78 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/New.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/New.ts @@ -90,61 +90,25 @@ export const ResidentialUnitsGLANew: Schema = { ], }, }, - // { - // type: "checklist", // @todo - // data: { - // title: "Is this unit compliant with any of the following?", - // fn: "compliance", - // options: [ - // { - // id: "m42", - // data: { text: "Part M4(2) of the Building Regulations 2010" }, - // }, - // { - // id: "m432a", - // data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - // }, - // { - // id: "m432b", - // data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - // }, - // { id: "none", data: { text: "None of these" } }, - // ], - // }, - // }, { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(2) of the Building Regulations 2010?", - fn: "compliance.m42", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", + type: "checklist", data: { - title: - "Is this unit compliant with Part M4(3)(2a) of the Building Regulations 2010?", - fn: "compliance.m432a", + title: "Is this unit compliant with any of the following?", + fn: "compliance", options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(3)(2b) of the Building Regulations 2010?", - fn: "compliance.m432b", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, + { + id: "m42", + data: { text: "Part M4(2) of the Building Regulations 2010" }, + }, + { + id: "m432a", + data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, + }, + { + id: "m432b", + data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, + }, + { id: "none", data: { text: "None of these" } }, ], }, }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Rebuilt.ts b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Rebuilt.ts index 31953e66b6..b108866be2 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Rebuilt.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Rebuilt.ts @@ -90,61 +90,25 @@ export const ResidentialUnitsGLARebuilt: Schema = { ], }, }, - // { - // type: "checklist", // @todo - // data: { - // title: "Is this unit compliant with any of the following?", - // fn: "compliance", - // options: [ - // { - // id: "m42", - // data: { text: "Part M4(2) of the Building Regulations 2010" }, - // }, - // { - // id: "m432a", - // data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - // }, - // { - // id: "m432b", - // data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - // }, - // { id: "none", data: { text: "None of these" } }, - // ], - // }, - // }, { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(2) of the Building Regulations 2010?", - fn: "compliance.m42", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", + type: "checklist", data: { - title: - "Is this unit compliant with Part M4(3)(2a) of the Building Regulations 2010?", - fn: "compliance.m432a", + title: "Is this unit compliant with any of the following?", + fn: "compliance", options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(3)(2b) of the Building Regulations 2010?", - fn: "compliance.m432b", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, + { + id: "m42", + data: { text: "Part M4(2) of the Building Regulations 2010" }, + }, + { + id: "m432a", + data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, + }, + { + id: "m432b", + data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, + }, + { id: "none", data: { text: "None of these" } }, ], }, }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Removed.ts b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Removed.ts index 4c5d4ecd94..b5fde1a983 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Removed.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/ResidentialUnits/GLA/Removed.ts @@ -69,61 +69,25 @@ export const ResidentialUnitsGLARemoved: Schema = { ], }, }, - // { - // type: "checklist", // @todo - // data: { - // title: "Is this unit compliant with any of the following?", - // fn: "compliance", - // options: [ - // { - // id: "m42", - // data: { text: "Part M4(2) of the Building Regulations 2010" }, - // }, - // { - // id: "m432a", - // data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, - // }, - // { - // id: "m432b", - // data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, - // }, - // { id: "none", data: { text: "None of these" } }, - // ], - // }, - // }, { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(2) of the Building Regulations 2010?", - fn: "compliance.m42", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", + type: "checklist", data: { - title: - "Is this unit compliant with Part M4(3)(2a) of the Building Regulations 2010?", - fn: "compliance.m432a", + title: "Is this unit compliant with any of the following?", + fn: "compliance", options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, - ], - }, - }, - { - type: "question", - data: { - title: - "Is this unit compliant with Part M4(3)(2b) of the Building Regulations 2010?", - fn: "compliance.m432b", - options: [ - { id: "true", data: { text: "Yes", val: "true" } }, - { id: "false", data: { text: "No", val: "false" } }, + { + id: "m42", + data: { text: "Part M4(2) of the Building Regulations 2010" }, + }, + { + id: "m432a", + data: { text: "Part M4(3)(2a) of the Building Regulations 2010" }, + }, + { + id: "m432b", + data: { text: "Part M4(3)(2b) of the Building Regulations 2010" }, + }, + { id: "none", data: { text: "None of these" } }, ], }, }, diff --git a/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts b/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts index fe94d763e4..59394a6f31 100644 --- a/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts +++ b/editor.planx.uk/src/@planx/components/List/schemas/mocks/Zoo.ts @@ -3,10 +3,6 @@ import { TextInputType } from "@planx/components/TextInput/model"; import { Schema } from "../../model"; import { Props } from "../../Public"; -/** - * Temp simple example to build out UI - * Can be re-used as mock for testing - */ export const Zoo: Schema = { type: "Animal", fields: [ @@ -64,6 +60,20 @@ export const Zoo: Schema = { ], }, }, + // Checklist + { + type: "checklist", + data: { + title: "What do they eat?", + fn: "food", + options: [ + { id: "meat", data: { text: "Meat" } }, + { id: "leaves", data: { text: "Leaves" } }, + { id: "bamboo", data: { text: "Bamboo" } }, + { id: "fruit", data: { text: "fruit" } }, + ], + }, + }, ], min: 1, max: 3, @@ -86,6 +96,7 @@ export const mockZooPayload = { "email.address": "richard.parker@pi.com", name: "Richard Parker", size: "Medium", + food: ["meat", "leaves", "bamboo"], }, { age: 10, @@ -93,6 +104,7 @@ export const mockZooPayload = { "email.address": "richard.parker@pi.com", name: "Richard Parker", size: "Medium", + food: ["meat", "leaves", "bamboo"], }, ], "mockFn.one.age": 10, @@ -100,11 +112,13 @@ export const mockZooPayload = { "mockFn.one.email.address": "richard.parker@pi.com", "mockFn.one.name": "Richard Parker", "mockFn.one.size": "Medium", + "mockFn.one.food": ["meat", "leaves", "bamboo"], "mockFn.two.age": 10, "mockFn.two.cuteness.amount": "Very", "mockFn.two.email.address": "richard.parker@pi.com", "mockFn.two.name": "Richard Parker", "mockFn.two.size": "Medium", + "mockFn.two.food": ["meat", "leaves", "bamboo"], "mockFn.total.listItems": 2, }, }; diff --git a/editor.planx.uk/src/@planx/components/List/utils.test.ts b/editor.planx.uk/src/@planx/components/List/utils.test.ts index c34dbf20d8..72e8996e19 100644 --- a/editor.planx.uk/src/@planx/components/List/utils.test.ts +++ b/editor.planx.uk/src/@planx/components/List/utils.test.ts @@ -15,6 +15,7 @@ describe("passport data shape", () => { "email.address": "richard.parker@pi.com", name: "Richard Parker", size: "Medium", + food: ["bamboo", "leaves"], }, { age: 10, @@ -22,21 +23,24 @@ describe("passport data shape", () => { "email.address": "richard.parker@pi.com", name: "Richard Parker", size: "Medium", + food: ["meat", "bamboo", "leaves"], }, ], }; - expect(flatten(defaultPassportData)).toEqual({ + expect(flatten(defaultPassportData, { depth: 2 })).toEqual({ "mockFn.one.age": 10, "mockFn.one.cuteness.amount": "Very", "mockFn.one.email.address": "richard.parker@pi.com", "mockFn.one.name": "Richard Parker", "mockFn.one.size": "Medium", + "mockFn.one.food": ["bamboo", "leaves"], "mockFn.two.age": 10, "mockFn.two.cuteness.amount": "Very", "mockFn.two.email.address": "richard.parker@pi.com", "mockFn.two.name": "Richard Parker", "mockFn.two.size": "Medium", + "mockFn.two.food": ["meat", "bamboo", "leaves"], }); }); diff --git a/editor.planx.uk/src/@planx/components/List/utils.ts b/editor.planx.uk/src/@planx/components/List/utils.tsx similarity index 65% rename from editor.planx.uk/src/@planx/components/List/utils.ts rename to editor.planx.uk/src/@planx/components/List/utils.tsx index 0e0d0dcdc3..7b26eee627 100644 --- a/editor.planx.uk/src/@planx/components/List/utils.ts +++ b/editor.planx.uk/src/@planx/components/List/utils.tsx @@ -1,24 +1,47 @@ -import { QuestionField, Schema, UserResponse } from "./model"; +import React from "react"; + +import { Field, UserResponse } from "./model"; +import { styled } from "@mui/material/styles"; + +const List = styled("ul")(() => ({ + listStylePosition: "inside", + padding: 0, + margin: 0, +})) /** - * In the case of "question" fields, ensure the displayed value reflects option "text", rather than "val" as recorded in passport + * In the case of "question" and "checklist" fields, ensure the displayed value reflects option "text", rather than "val" as recorded in passport * @param value - the `val` or `text` of an Option defined in the schema's fields - * @param schema - the Schema object - * @returns string - the `text` for the given value `val`, or the original value + * @param field - the Field object + * @returns string | React.JSX.Element - the `text` for the given value `val`, or the original value */ -export function formatSchemaDisplayValue(value: string, schema: Schema) { - const questionFields = schema.fields.filter( - (field) => field.type === "question", - ) as QuestionField[]; - const matchingField = questionFields?.find((field) => - field.data.options.some((option) => option.data.val === value), - ); - const matchingOption = matchingField?.data.options.find( - (option) => option.data.val === value, - ); - - // If we found a "val" match, return its text, else just return the value as passed in - return matchingOption?.data?.text || value; +export function formatSchemaDisplayValue( + value: string | string[], + field: Field, +) { + switch (field.type) { + case "number": + case "text": + return value; + case "checklist": { + const matchingOptions = field.data.options.filter((option) => + (value as string[]).includes(option.id), + ); + return ( + + {matchingOptions.map((option) => ( +
  • {option.data.text}
  • + ))} +
    + ); + } + case "question": { + const matchingOption = field.data.options.find( + (option) => option.data.val === value, + ); + return matchingOption?.data.text; + } + } } /** @@ -32,7 +55,11 @@ export function sumIdenticalUnits( passportData: Record, ): number { let sum = 0; - passportData[`${fn}`].map((item) => (sum += parseInt(item?.identicalUnits))); + passportData[`${fn}`].map((item) => { + if (!Array.isArray(item?.identicalUnits)) { + sum += parseInt(item?.identicalUnits); + } + }); return sum; } @@ -58,10 +85,11 @@ export function sumIdenticalUnitsByDevelopmentType( newBuild: 0, notKnown: 0, }; - passportData[`${fn}`].map( - (item) => - (baseSums[`${item?.development}`] += parseInt(item?.identicalUnits)), - ); + passportData[`${fn}`].map((item) => { + if (!Array.isArray(item?.identicalUnits)) { + baseSums[`${item?.development}`] += parseInt(item?.identicalUnits); + } + }); // Format property names for passport, and filter out any entries with default sum = 0 const formattedSums: Record = {}; @@ -74,14 +102,19 @@ export function sumIdenticalUnitsByDevelopmentType( return formattedSums; } +interface FlattenOptions { + depth?: number; + path?: string | null; + separator?: string; +}; + /** * Flattens nested object so we can output passport variables like `{listFn}.{itemIndexAsText}.{fieldFn}` * Adapted from https://gist.github.com/penguinboy/762197 */ export function flatten>( - object: T, - path: string | null = null, - separator = ".", + object: T, + { depth = Infinity, path = null, separator = ".", }: FlattenOptions = {} ): T { return Object.keys(object).reduce((acc: T, key: string): T => { const value = object[key]; @@ -100,8 +133,8 @@ export function flatten>( !(Array.isArray(value) && value.length === 0), ].every(Boolean); - return isObject - ? { ...acc, ...flatten(value, newPath, separator) } + return (isObject && depth > 0) + ? { ...acc, ...flatten(value, { depth: depth - 1, path: newPath, separator }) } : { ...acc, [newPath]: value }; }, {} as T); } diff --git a/editor.planx.uk/src/ui/shared/Checkbox.tsx b/editor.planx.uk/src/ui/shared/Checkbox.tsx index 5637178092..37969b1e90 100644 --- a/editor.planx.uk/src/ui/shared/Checkbox.tsx +++ b/editor.planx.uk/src/ui/shared/Checkbox.tsx @@ -11,7 +11,7 @@ const Root = styled(Box)(({ theme }) => ({ height: 40, borderColor: theme.palette.text.primary, border: "2px solid", - background: "transparent", + backgroundColor: theme.palette.common.white, "&:focus-within": borderedFocusStyle, })); From af3659e74a12cf1a9149450dd07641de9943a294 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Mon, 1 Jul 2024 15:06:23 +0100 Subject: [PATCH 15/38] fix: Broken lockfiles (#3355) --- api.planx.uk/pnpm-lock.yaml | 147 ++--- e2e/tests/api-driven/pnpm-lock.yaml | 416 ++++++++----- e2e/tests/ui-driven/pnpm-lock.yaml | 412 ++++++++----- editor.planx.uk/pnpm-lock.yaml | 844 ++++++++++++++++---------- hasura.planx.uk/tests/pnpm-lock.yaml | 868 ++++++++++++--------------- 5 files changed, 1508 insertions(+), 1179 deletions(-) diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 09c13e9457..bc32cd21ed 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -1158,8 +1158,8 @@ packages: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - /@eslint-community/regexpp@4.10.1: - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@2.1.4: @@ -1182,21 +1182,21 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - /@floating-ui/core@1.6.2: - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + /@floating-ui/core@1.6.4: + resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} dependencies: - '@floating-ui/utils': 0.2.2 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/dom@1.6.5: - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + /@floating-ui/dom@1.6.7: + resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/react-dom@2.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -1206,13 +1206,13 @@ packages: react-dom: optional: true dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.7 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.2: - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + /@floating-ui/utils@0.2.4: + resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): @@ -1397,7 +1397,7 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 istanbul-lib-coverage: 3.2.2 - istanbul-lib-instrument: 6.0.2 + istanbul-lib-instrument: 6.0.3 istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.7 @@ -1407,7 +1407,7 @@ packages: slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.2.0 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color dev: true @@ -1569,7 +1569,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.14 '@mui/utils': 5.15.20(react@18.3.1) '@popperjs/core': 2.11.8 @@ -1579,12 +1579,12 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.15.20: - resolution: {integrity: sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA==} + /@mui/core-downloads-tracker@5.15.21: + resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} dev: false - /@mui/material@5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-tVq3l4qoXx/NxUgIx/x3lZiPn/5xDbdTE8VrLczNpfblLYZzlrbxA7kb9mI8NoBF6+w9WE9IrxWnKK5KlPI2bg==} + /@mui/material@5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -1608,7 +1608,7 @@ packages: '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.20 + '@mui/core-downloads-tracker': 5.15.21 '@mui/system': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) '@mui/types': 7.2.14 '@mui/utils': 5.15.20(react@18.3.1) @@ -1869,8 +1869,8 @@ packages: '@types/pino-http': 5.8.4 dev: true - /@types/express-serve-static-core@4.19.3: - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + /@types/express-serve-static-core@4.19.5: + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} dependencies: '@types/node': 18.19.13 '@types/qs': 6.9.15 @@ -1881,7 +1881,7 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.3 + '@types/express-serve-static-core': 4.19.5 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 @@ -1980,8 +1980,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/node@20.14.5: - resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + /@types/node@20.14.9: + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} dependencies: undici-types: 5.26.5 dev: false @@ -2176,7 +2176,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) @@ -2422,10 +2422,6 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: false - /anymatch@2.0.0: resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} dependencies: @@ -2739,8 +2735,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.806 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.815 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) dev: true @@ -2835,8 +2831,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001636: - resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + /caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} dev: true /capture-exit@2.0.0: @@ -3473,7 +3469,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.14.5 + '@types/node': 20.14.9 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -3551,8 +3547,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: false - /electron-to-chromium@1.4.806: - resolution: {integrity: sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==} + /electron-to-chromium@1.4.815: + resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} dev: true /emittery@0.13.1: @@ -3758,7 +3754,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -4376,7 +4372,7 @@ packages: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -4656,8 +4652,8 @@ packages: - debug dev: false - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + /https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 @@ -4787,8 +4783,9 @@ packages: ci-info: 2.0.0 dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 @@ -5001,8 +4998,8 @@ packages: - supports-color dev: true - /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + /istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: '@babel/core': 7.24.0 @@ -5576,7 +5573,7 @@ packages: form-data: 4.0.0 html-encoding-sniffer: 4.0.0 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 is-potential-custom-element-name: 1.0.1 nwsapi: 2.2.10 parse5: 7.1.2 @@ -5608,8 +5605,8 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /json-schema-to-typescript@14.0.5: - resolution: {integrity: sha512-JmHsbgY0KKo8Pw0HRXpGzAlZYxlu+M5kFhSzhNkUSrVJ4sCXPdAGIdSpzva5ev2/Kybz10S6AfnNdF4o3Pzt3A==} + /json-schema-to-typescript@14.1.0: + resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: @@ -5623,7 +5620,6 @@ packages: lodash: 4.17.21 minimist: 1.2.8 mkdirp: 3.0.1 - mz: 2.7.0 node-fetch: 3.3.2 prettier: 3.3.2 dev: false @@ -5660,7 +5656,6 @@ packages: chalk: 3.0.0 diff-match-patch: 1.0.5 dev: false - bundledDependencies: [] /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} @@ -5877,8 +5872,8 @@ packages: js-tokens: 4.0.0 dev: false - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + /lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -6043,8 +6038,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -6105,14 +6100,6 @@ packages: xtend: 4.0.2 dev: false - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: false - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -6318,8 +6305,9 @@ packages: engines: {node: '>= 0.10.0'} dev: true - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} /object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} @@ -6543,7 +6531,7 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 /path-to-regexp@0.1.7: @@ -6992,7 +6980,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -7244,7 +7232,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -7604,19 +7592,6 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: false - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: false - /thread-stream@0.15.2: resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} dependencies: @@ -8008,8 +7983,8 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -8297,7 +8272,7 @@ packages: dependencies: '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) - '@mui/material': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) '@types/geojson': 7946.0.14 ajv: 8.16.0 ajv-formats: 2.1.1(ajv@8.16.0) @@ -8308,7 +8283,7 @@ packages: fast-xml-parser: 4.4.0 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.0.5 + json-schema-to-typescript: 14.1.0 lodash: 4.17.21 marked: 13.0.1 prettier: 3.3.2 diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index 118c25b018..c2d0779c7a 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -49,8 +49,8 @@ devDependencies: packages: - /@apidevtools/json-schema-ref-parser@11.6.2: - resolution: {integrity: sha512-ENUdLLT04aDbbHCRwfKf8gR67AhV0CdFrOAtk+FcakBAgaq6ds3HLK9X0BCyiFUz8pK9uP+k6YZyJaGG7Mt7vQ==} + /@apidevtools/json-schema-ref-parser@11.6.4: + resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} dependencies: '@jsdevtools/ono': 7.1.3 @@ -58,54 +58,131 @@ packages: js-yaml: 4.1.0 dev: false - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.5 + '@babel/highlight': 7.24.7 picocolors: 1.0.1 dev: false - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + /@babel/generator@7.24.7: + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 dev: false - /@babel/helper-string-parser@7.24.1: - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + /@babel/helper-environment-visitor@7.24.7: + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/helper-function-name@7.24.7: + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: false + + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-split-export-declaration@7.24.7: + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 dev: false - /@babel/helper-validator-identifier@7.24.5: - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + /@babel/helper-string-parser@7.24.7: + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} dev: false - /@babel/highlight@7.24.5: - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.1 dev: false - /@babel/runtime@7.24.5: - resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + /@babel/parser@7.24.7: + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/runtime@7.24.7: + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: false - /@babel/types@7.24.5: - resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + dev: false + + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 dev: false @@ -152,7 +229,7 @@ packages: chalk: 4.1.2 cli-table3: 0.6.3 commander: 10.0.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) error-stack-parser: 2.1.4 figures: 3.2.0 glob: 7.2.3 @@ -176,7 +253,7 @@ packages: util-arity: 1.1.0 verror: 1.10.1 xmlbuilder: 15.1.1 - yaml: 2.4.2 + yaml: 2.4.5 yup: 0.32.11 dev: false @@ -259,8 +336,8 @@ packages: /@emotion/babel-plugin@11.11.0: resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: - '@babel/helper-module-imports': 7.24.3 - '@babel/runtime': 7.24.5 + '@babel/helper-module-imports': 7.24.7 + '@babel/runtime': 7.24.7 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.4 @@ -270,6 +347,8 @@ packages: find-root: 1.1.0 source-map: 0.5.7 stylis: 4.2.0 + transitivePeerDependencies: + - supports-color dev: false /@emotion/cache@11.11.0: @@ -305,7 +384,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 '@emotion/serialize': 1.1.4 @@ -314,6 +393,8 @@ packages: '@emotion/weak-memoize': 0.3.1 hoist-non-react-statics: 3.3.2 react: 18.3.1 + transitivePeerDependencies: + - supports-color dev: false /@emotion/serialize@1.1.4: @@ -340,7 +421,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/babel-plugin': 11.11.0 '@emotion/is-prop-valid': 1.2.2 '@emotion/react': 11.11.4(react@18.3.1) @@ -348,6 +429,8 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) '@emotion/utils': 1.2.1 react: 18.3.1 + transitivePeerDependencies: + - supports-color dev: false /@emotion/unitless@0.8.1: @@ -380,8 +463,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: false @@ -390,7 +473,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -407,32 +490,32 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@floating-ui/core@1.6.2: - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + /@floating-ui/core@1.6.4: + resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} dependencies: - '@floating-ui/utils': 0.2.2 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/dom@1.6.5: - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + /@floating-ui/dom@1.6.7: + resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/react-dom@2.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.7 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.2: - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + /@floating-ui/utils@0.2.4: + resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): @@ -449,7 +532,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -477,14 +560,33 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: false + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: false + /@jridgewell/resolve-uri@3.1.2: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: false /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -508,10 +610,10 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 - '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@babel/runtime': 7.24.7 + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) '@popperjs/core': 2.11.8 clsx: 2.1.1 prop-types: 15.8.1 @@ -519,12 +621,12 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.15.18: - resolution: {integrity: sha512-/9pVk+Al8qxAjwFUADv4BRZgMpZM4m5E+2Q/20qhVPuIJWqKp4Ie4tGExac6zu93rgPTYVQGgu+1vjiT0E+cEw==} + /@mui/core-downloads-tracker@5.15.21: + resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} dev: false - /@mui/material@5.15.18(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-n+/dsiqux74fFfcRUJjok+ieNQ7+BEk6/OwX9cLcLvriZrZb+/7Y8+Fd2HlUUbn5N0CDurgAHm0VH1DqyJ9HAw==} + /@mui/material@5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -540,14 +642,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.18 - '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) + '@mui/core-downloads-tracker': 5.15.21 + '@mui/system': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) '@types/react-transition-group': 4.4.10 clsx: 2.1.1 csstype: 3.1.3 @@ -558,8 +660,8 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/private-theming@5.15.14(react@18.3.1): - resolution: {integrity: sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==} + /@mui/private-theming@5.15.20(react@18.3.1): + resolution: {integrity: sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -568,8 +670,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 - '@mui/utils': 5.15.14(react@18.3.1) + '@babel/runtime': 7.24.7 + '@mui/utils': 5.15.20(react@18.3.1) prop-types: 15.8.1 react: 18.3.1 dev: false @@ -587,7 +689,7 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/cache': 11.11.0 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) @@ -596,8 +698,8 @@ packages: react: 18.3.1 dev: false - /@mui/system@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1): - resolution: {integrity: sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==} + /@mui/system@5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1): + resolution: {integrity: sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -612,13 +714,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) - '@mui/private-theming': 5.15.14(react@18.3.1) + '@mui/private-theming': 5.15.20(react@18.3.1) '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -634,8 +736,8 @@ packages: optional: true dev: false - /@mui/utils@5.15.14(react@18.3.1): - resolution: {integrity: sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==} + /@mui/utils@5.15.20(react@18.3.1): + resolution: {integrity: sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -644,7 +746,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@types/prop-types': 15.7.12 prop-types: 15.8.1 react: 18.3.1 @@ -715,18 +817,18 @@ packages: /@types/lodash.zipobject@4.1.7: resolution: {integrity: sha512-bsFXX/ac3fFgW3l/yxwRx7NvTXryi4bMaNcsbSK2MJnTPn0nHvs7NdwfHtvOkNKxSQ0dXgnNwI5oEGLoMA1mug==} dependencies: - '@types/lodash': 4.17.4 + '@types/lodash': 4.17.6 dev: true - /@types/lodash@4.17.4: - resolution: {integrity: sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==} + /@types/lodash@4.17.6: + resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} /@types/node@18.16.1: resolution: {integrity: sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==} dev: true - /@types/node@20.12.12: - resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + /@types/node@20.14.9: + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} dependencies: undici-types: 5.26.5 dev: false @@ -764,21 +866,23 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.12.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.3 + acorn: 8.12.0 dev: false - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + /acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} engines: {node: '>=0.4.0'} + dependencies: + acorn: 8.12.0 dev: true - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + /acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -888,7 +992,7 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false @@ -931,7 +1035,7 @@ packages: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.6.3 upper-case-first: 2.0.2 dev: false @@ -987,8 +1091,8 @@ packages: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 - memoizee: 0.4.16 - timers-ext: 0.1.7 + memoizee: 0.4.17 + timers-ext: 0.1.8 dev: false /cli-table3@0.6.3: @@ -1057,7 +1161,7 @@ packages: dev: false /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: false /convert-source-map@1.9.0: @@ -1141,7 +1245,7 @@ packages: engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 - type: 2.7.2 + type: 2.7.3 dev: false /data-uri-to-buffer@4.0.1: @@ -1149,8 +1253,8 @@ packages: engines: {node: '>= 12'} dev: false - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.3.5(supports-color@8.1.1): + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1186,7 +1290,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.14.9 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -1196,7 +1300,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 csstype: 3.1.3 dev: false @@ -1342,7 +1446,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -1352,7 +1456,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -1390,15 +1494,15 @@ packages: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 - type: 2.7.2 + type: 2.7.3 dev: false /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 dev: false @@ -1436,7 +1540,7 @@ packages: /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: - type: 2.7.2 + type: 2.7.3 dev: false /extsprintf@1.4.1: @@ -1526,8 +1630,8 @@ packages: optional: true dev: false - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + /foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 @@ -1570,20 +1674,22 @@ packages: is-glob: 4.0.3 dev: false - /glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + /glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} hasBin: true dependencies: - foreground-child: 3.1.1 - jackspeak: 3.1.2 - minimatch: 9.0.4 + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.5 minipass: 7.1.2 + package-json-from-dist: 1.0.0 path-scurry: 1.11.1 dev: false /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1600,6 +1706,11 @@ packages: ini: 2.0.0 dev: false + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -1630,7 +1741,7 @@ packages: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: graphql: 16.8.1 - tslib: 2.6.2 + tslib: 2.6.3 dev: false /graphql@16.8.1: @@ -1730,8 +1841,9 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 dev: false @@ -1787,8 +1899,8 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: false - /jackspeak@3.1.2: - resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + /jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -1807,6 +1919,12 @@ packages: argparse: 2.0.1 dev: false + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: false @@ -1815,22 +1933,21 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-to-typescript@14.0.5: - resolution: {integrity: sha512-JmHsbgY0KKo8Pw0HRXpGzAlZYxlu+M5kFhSzhNkUSrVJ4sCXPdAGIdSpzva5ev2/Kybz10S6AfnNdF4o3Pzt3A==} + /json-schema-to-typescript@14.1.0: + resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: - '@apidevtools/json-schema-ref-parser': 11.6.2 + '@apidevtools/json-schema-ref-parser': 11.6.4 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.4 + '@types/lodash': 4.17.6 cli-color: 2.0.4 - glob: 10.4.1 + glob: 10.4.2 is-glob: 4.0.3 js-yaml: 4.1.0 lodash: 4.17.21 minimist: 1.2.8 mkdirp: 3.0.1 - mz: 2.7.0 node-fetch: 3.3.2 prettier: 3.3.2 dev: false @@ -1982,11 +2099,11 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.2 + tslib: 2.6.3 dev: false - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + /lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} dev: false @@ -2018,9 +2135,9 @@ packages: hasBin: true dev: false - /memoizee@0.4.16: - resolution: {integrity: sha512-eOxQqGfogqdcQ2jeyLgsTp91bFOdbjaiJ1P0ZeDt1HHT1+ektm2u+raWDytppt8SMZ1fP2sIWlTbZukHhMKhiQ==} - engines: {node: '>=.0.12'} + /memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -2029,7 +2146,7 @@ packages: is-promise: 2.2.2 lru-queue: 0.1.0 next-tick: 1.1.0 - timers-ext: 0.1.7 + timers-ext: 0.1.8 dev: false /mime-db@1.52.0: @@ -2050,8 +2167,8 @@ packages: brace-expansion: 1.1.11 dev: false - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -2122,14 +2239,14 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.2 + tslib: 2.6.3 dev: false /nock@13.3.1: resolution: {integrity: sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==} engines: {node: '>= 10.13'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5(supports-color@8.1.1) json-stringify-safe: 5.0.1 lodash: 4.17.21 propagate: 2.0.1 @@ -2213,6 +2330,10 @@ packages: p-limit: 3.1.0 dev: false + /package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + dev: false + /pad-right@0.2.2: resolution: {integrity: sha512-4cy8M95ioIGolCoMmm2cMntGR1lPLEbOMzOKu8bzjuJP6JpzEMQcDHmh7hHLYGgob+nKe1YHFMaG4V59HQa89g==} engines: {node: '>=0.10.0'} @@ -2235,7 +2356,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -2277,7 +2398,7 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 dev: false @@ -2364,7 +2485,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -2455,7 +2576,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -2487,8 +2608,8 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + /sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} dev: false /scheduler@0.23.2: @@ -2667,8 +2788,9 @@ packages: xtend: 4.0.2 dev: false - /timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + /timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 @@ -2712,8 +2834,8 @@ packages: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 18.16.1 - acorn: 8.11.3 - acorn-walk: 8.3.2 + acorn: 8.12.0 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -2723,8 +2845,8 @@ packages: yn: 3.1.1 dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + /tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} dev: false /type-check@0.4.0: @@ -2744,8 +2866,8 @@ packages: engines: {node: '>=16'} dev: false - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + /type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} dev: false /typescript@5.4.3: @@ -2766,7 +2888,7 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.6.2 + tslib: 2.6.3 dev: false /uri-js@4.4.1: @@ -2861,7 +2983,7 @@ packages: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true dependencies: - sax: 1.3.0 + sax: 1.4.1 dev: false /xml@1.0.1: @@ -2892,8 +3014,8 @@ packages: engines: {node: '>= 6'} dev: false - /yaml@2.4.2: - resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} + /yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} hasBin: true dev: false @@ -2930,8 +3052,8 @@ packages: resolution: {integrity: sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg==} engines: {node: '>=10'} dependencies: - '@babel/runtime': 7.24.5 - '@types/lodash': 4.17.4 + '@babel/runtime': 7.24.7 + '@types/lodash': 4.17.6 lodash: 4.17.21 lodash-es: 4.17.21 nanoclone: 0.2.1 @@ -2952,7 +3074,7 @@ packages: dependencies: '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) - '@mui/material': 5.15.18(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) '@types/geojson': 7946.0.14 ajv: 8.16.0 ajv-formats: 2.1.1(ajv@8.16.0) @@ -2963,7 +3085,7 @@ packages: fast-xml-parser: 4.4.0 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.0.5 + json-schema-to-typescript: 14.1.0 lodash: 4.17.21 marked: 13.0.1 prettier: 3.3.2 diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index c0ee351d54..32d3fa41e6 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -49,8 +49,8 @@ devDependencies: packages: - /@apidevtools/json-schema-ref-parser@11.6.2: - resolution: {integrity: sha512-ENUdLLT04aDbbHCRwfKf8gR67AhV0CdFrOAtk+FcakBAgaq6ds3HLK9X0BCyiFUz8pK9uP+k6YZyJaGG7Mt7vQ==} + /@apidevtools/json-schema-ref-parser@11.6.4: + resolution: {integrity: sha512-9K6xOqeevacvweLGik6LnZCb1fBtCOSIWQs8d096XGeqoLKC33UVMGz9+77Gw44KvbH4pKcQPWo4ZpxkXYj05w==} engines: {node: '>= 16'} dependencies: '@jsdevtools/ono': 7.1.3 @@ -58,62 +58,139 @@ packages: js-yaml: 4.1.0 dev: false - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.5 + '@babel/highlight': 7.24.7 picocolors: 1.0.1 dev: false - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + /@babel/generator@7.24.7: + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 dev: false - /@babel/helper-string-parser@7.24.1: - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + /@babel/helper-environment-visitor@7.24.7: + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/helper-function-name@7.24.7: + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 dev: false - /@babel/helper-validator-identifier@7.24.5: - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 dev: false - /@babel/highlight@7.24.5: - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/helper-split-export-declaration@7.24.7: + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/helper-string-parser@7.24.7: + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.1 dev: false - /@babel/runtime@7.24.5: - resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + /@babel/parser@7.24.7: + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.7 + dev: false + + /@babel/runtime@7.24.7: + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: false - /@babel/types@7.24.5: - resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + dev: false + + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 dev: false /@emotion/babel-plugin@11.11.0: resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: - '@babel/helper-module-imports': 7.24.3 - '@babel/runtime': 7.24.5 + '@babel/helper-module-imports': 7.24.7 + '@babel/runtime': 7.24.7 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.4 @@ -123,6 +200,8 @@ packages: find-root: 1.1.0 source-map: 0.5.7 stylis: 4.2.0 + transitivePeerDependencies: + - supports-color dev: false /@emotion/cache@11.11.0: @@ -158,7 +237,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 '@emotion/serialize': 1.1.4 @@ -167,6 +246,8 @@ packages: '@emotion/weak-memoize': 0.3.1 hoist-non-react-statics: 3.3.2 react: 18.3.1 + transitivePeerDependencies: + - supports-color dev: false /@emotion/serialize@1.1.4: @@ -193,7 +274,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/babel-plugin': 11.11.0 '@emotion/is-prop-valid': 1.2.2 '@emotion/react': 11.11.4(react@18.3.1) @@ -201,6 +282,8 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) '@emotion/utils': 1.2.1 react: 18.3.1 + transitivePeerDependencies: + - supports-color dev: false /@emotion/unitless@0.8.1: @@ -242,8 +325,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@2.1.4: @@ -251,7 +334,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -271,32 +354,32 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: false - /@floating-ui/core@1.6.2: - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + /@floating-ui/core@1.6.4: + resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} dependencies: - '@floating-ui/utils': 0.2.2 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/dom@1.6.5: - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + /@floating-ui/dom@1.6.7: + resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.4 dev: false - /@floating-ui/react-dom@2.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.7 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.2: - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + /@floating-ui/utils@0.2.4: + resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} dev: false /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): @@ -318,9 +401,10 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -331,6 +415,7 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -344,6 +429,36 @@ packages: wrap-ansi-cjs: /wrap-ansi@7.0.0 dev: false + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: false + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: false + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: false + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + /@jsdevtools/ono@7.1.3: resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} dev: false @@ -359,10 +474,10 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 - '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@babel/runtime': 7.24.7 + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) '@popperjs/core': 2.11.8 clsx: 2.1.1 prop-types: 15.8.1 @@ -370,12 +485,12 @@ packages: react-dom: 18.3.1(react@18.3.1) dev: false - /@mui/core-downloads-tracker@5.15.18: - resolution: {integrity: sha512-/9pVk+Al8qxAjwFUADv4BRZgMpZM4m5E+2Q/20qhVPuIJWqKp4Ie4tGExac6zu93rgPTYVQGgu+1vjiT0E+cEw==} + /@mui/core-downloads-tracker@5.15.21: + resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} dev: false - /@mui/material@5.15.18(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-n+/dsiqux74fFfcRUJjok+ieNQ7+BEk6/OwX9cLcLvriZrZb+/7Y8+Fd2HlUUbn5N0CDurgAHm0VH1DqyJ9HAw==} + /@mui/material@5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-nTyCcgduKwHqiuQ/B03EQUa+utSMzn2sQp0QAibsnYe4tvc3zkMbO0amKpl48vhABIY3IvT6w9615BFIgMt0YA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -391,14 +506,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) '@mui/base': 5.0.0-beta.40(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.18 - '@mui/system': 5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) + '@mui/core-downloads-tracker': 5.15.21 + '@mui/system': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) '@types/react-transition-group': 4.4.10 clsx: 2.1.1 csstype: 3.1.3 @@ -409,8 +524,8 @@ packages: react-transition-group: 4.4.5(react-dom@18.3.1)(react@18.3.1) dev: false - /@mui/private-theming@5.15.14(react@18.3.1): - resolution: {integrity: sha512-UH0EiZckOWcxiXLX3Jbb0K7rC8mxTr9L9l6QhOZxYc4r8FHUkefltV9VDGLrzCaWh30SQiJvAEd7djX3XXY6Xw==} + /@mui/private-theming@5.15.20(react@18.3.1): + resolution: {integrity: sha512-BK8F94AIqSrnaPYXf2KAOjGZJgWfvqAVQ2gVR3EryvQFtuBnG6RwodxrCvd3B48VuMy6Wsk897+lQMUxJyk+6g==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -419,8 +534,8 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 - '@mui/utils': 5.15.14(react@18.3.1) + '@babel/runtime': 7.24.7 + '@mui/utils': 5.15.20(react@18.3.1) prop-types: 15.8.1 react: 18.3.1 dev: false @@ -438,7 +553,7 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/cache': 11.11.0 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) @@ -447,8 +562,8 @@ packages: react: 18.3.1 dev: false - /@mui/system@5.15.15(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1): - resolution: {integrity: sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ==} + /@mui/system@5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1): + resolution: {integrity: sha512-LoMq4IlAAhxzL2VNUDBTQxAb4chnBe8JvRINVNDiMtHE2PiPOoHlhOPutSxEbaL5mkECPVWSv6p8JEV+uykwIA==} engines: {node: '>=12.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -463,13 +578,13 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) - '@mui/private-theming': 5.15.14(react@18.3.1) + '@mui/private-theming': 5.15.20(react@18.3.1) '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.3.1) '@mui/types': 7.2.14 - '@mui/utils': 5.15.14(react@18.3.1) + '@mui/utils': 5.15.20(react@18.3.1) clsx: 2.1.1 csstype: 3.1.3 prop-types: 15.8.1 @@ -485,8 +600,8 @@ packages: optional: true dev: false - /@mui/utils@5.15.14(react@18.3.1): - resolution: {integrity: sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA==} + /@mui/utils@5.15.20(react@18.3.1): + resolution: {integrity: sha512-mAbYx0sovrnpAu1zHc3MDIhPqL8RPVC5W5xcO1b7PiSCJPtckIZmBkp8hefamAvUiAV8gpfMOM6Zb+eSisbI2A==} engines: {node: '>=12.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 @@ -495,7 +610,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 '@types/prop-types': 15.7.12 prop-types: 15.8.1 react: 18.3.1 @@ -547,16 +662,16 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: false - /@types/lodash@4.17.4: - resolution: {integrity: sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==} + /@types/lodash@4.17.6: + resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} dev: false /@types/node@18.16.1: resolution: {integrity: sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==} dev: true - /@types/node@20.12.12: - resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + /@types/node@20.14.9: + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} dependencies: undici-types: 5.26.5 dev: false @@ -597,15 +712,15 @@ packages: negotiator: 0.6.3 dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.12.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.11.3 + acorn: 8.12.0 - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + /acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -679,10 +794,6 @@ packages: engines: {node: '>=12'} dev: false - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: false - /arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} dev: false @@ -712,7 +823,7 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 cosmiconfig: 7.1.0 resolve: 1.22.8 dev: false @@ -832,8 +943,8 @@ packages: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 - memoizee: 0.4.16 - timers-ext: 0.1.7 + memoizee: 0.4.17 + timers-ext: 0.1.8 dev: false /clipboardy@3.0.0: @@ -986,7 +1097,7 @@ packages: engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 - type: 2.7.2 + type: 2.7.3 dev: false /data-uri-to-buffer@4.0.1: @@ -1005,8 +1116,8 @@ packages: ms: 2.0.0 dev: false - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1039,7 +1150,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.14.9 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -1049,7 +1160,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 csstype: 3.1.3 dev: false @@ -1194,7 +1305,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.56.0 '@humanwhocodes/config-array': 0.11.14 @@ -1204,7 +1315,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -1240,7 +1351,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -1250,7 +1361,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -1288,15 +1399,15 @@ packages: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 - type: 2.7.2 + type: 2.7.3 dev: false /espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) + acorn: 8.12.0 + acorn-jsx: 5.3.2(acorn@8.12.0) eslint-visitor-keys: 3.4.3 /esquery@1.5.0: @@ -1344,7 +1455,7 @@ packages: /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} dependencies: - type: 2.7.2 + type: 2.7.3 dev: false /fast-deep-equal@3.1.3: @@ -1420,8 +1531,8 @@ packages: optional: true dev: false - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + /foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 @@ -1475,15 +1586,16 @@ packages: dependencies: is-glob: 4.0.3 - /glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + /glob@10.4.2: + resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} hasBin: true dependencies: - foreground-child: 3.1.1 - jackspeak: 3.1.2 - minimatch: 9.0.4 + foreground-child: 3.2.1 + jackspeak: 3.4.0 + minimatch: 9.0.5 minipass: 7.1.2 + package-json-from-dist: 1.0.0 path-scurry: 1.11.1 dev: false @@ -1498,6 +1610,11 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + /globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} @@ -1614,8 +1731,9 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 dev: false @@ -1686,8 +1804,8 @@ packages: - encoding dev: false - /jackspeak@3.1.2: - resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + /jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -1705,6 +1823,12 @@ packages: dependencies: argparse: 2.0.1 + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -1712,22 +1836,21 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: false - /json-schema-to-typescript@14.0.5: - resolution: {integrity: sha512-JmHsbgY0KKo8Pw0HRXpGzAlZYxlu+M5kFhSzhNkUSrVJ4sCXPdAGIdSpzva5ev2/Kybz10S6AfnNdF4o3Pzt3A==} + /json-schema-to-typescript@14.1.0: + resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: - '@apidevtools/json-schema-ref-parser': 11.6.2 + '@apidevtools/json-schema-ref-parser': 11.6.4 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.4 + '@types/lodash': 4.17.6 cli-color: 2.0.4 - glob: 10.4.1 + glob: 10.4.2 is-glob: 4.0.3 js-yaml: 4.1.0 lodash: 4.17.21 minimist: 1.2.8 mkdirp: 3.0.1 - mz: 2.7.0 node-fetch: 3.3.2 prettier: 3.3.2 dev: false @@ -1852,8 +1975,8 @@ packages: js-tokens: 4.0.0 dev: false - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + /lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} dev: false @@ -1869,9 +1992,9 @@ packages: hasBin: true dev: false - /memoizee@0.4.16: - resolution: {integrity: sha512-eOxQqGfogqdcQ2jeyLgsTp91bFOdbjaiJ1P0ZeDt1HHT1+ektm2u+raWDytppt8SMZ1fP2sIWlTbZukHhMKhiQ==} - engines: {node: '>=.0.12'} + /memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -1880,7 +2003,7 @@ packages: is-promise: 2.2.2 lru-queue: 0.1.0 next-tick: 1.1.0 - timers-ext: 0.1.7 + timers-ext: 0.1.8 dev: false /merge-stream@2.0.0: @@ -1921,8 +2044,8 @@ packages: dependencies: brace-expansion: 1.1.11 - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -1960,14 +2083,6 @@ packages: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: false - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: false - /nanoid@5.0.7: resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} engines: {node: ^18 || >=20} @@ -2077,6 +2192,10 @@ packages: dependencies: p-limit: 3.1.0 + /package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + dev: false + /pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} dev: false @@ -2091,7 +2210,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -2134,7 +2253,7 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 dev: false @@ -2243,7 +2362,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -2315,7 +2434,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -2326,6 +2445,7 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true dependencies: glob: 7.2.3 @@ -2343,8 +2463,8 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + /sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} dev: false /scheduler@0.23.2: @@ -2504,19 +2624,6 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: false - - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: false - /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: @@ -2524,8 +2631,9 @@ packages: xtend: 4.0.2 dev: false - /timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + /timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 @@ -2560,8 +2668,8 @@ packages: engines: {node: '>=16'} dev: false - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + /type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} dev: false /undici-types@5.26.5: @@ -2667,7 +2775,7 @@ packages: resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} hasBin: true dependencies: - sax: 1.3.0 + sax: 1.4.1 dev: false /xml@1.0.1: @@ -2724,7 +2832,7 @@ packages: dependencies: '@emotion/react': 11.11.4(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(react@18.3.1) - '@mui/material': 5.15.18(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) + '@mui/material': 5.15.21(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react-dom@18.3.1)(react@18.3.1) '@types/geojson': 7946.0.14 ajv: 8.16.0 ajv-formats: 2.1.1(ajv@8.16.0) @@ -2735,7 +2843,7 @@ packages: fast-xml-parser: 4.4.0 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.0.5 + json-schema-to-typescript: 14.1.0 lodash: 4.17.21 marked: 13.0.1 prettier: 3.3.2 diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index e2772eb954..a3af39f28f 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -223,7 +223,7 @@ dependencies: version: 0.15.0(navi@0.15.0)(react-dom@18.2.0)(react-navi@0.15.0)(react@18.2.0) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) react-toastify: specifier: ^9.1.3 version: 9.1.3(react-dom@18.2.0)(react@18.2.0) @@ -291,7 +291,7 @@ devDependencies: version: 7.23.3(@babel/core@7.22.5) '@craco/craco': specifier: ^7.1.0 - version: 7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) + version: 7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) '@react-theming/storybook-addon': specifier: ^1.1.10 version: 1.1.10(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(@storybook/theming@7.6.7)(react-dom@18.2.0)(react@18.2.0) @@ -321,7 +321,7 @@ devDependencies: version: 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react-webpack5': specifier: ^7.6.7 - version: 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + version: 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/testing-library': specifier: ^0.2.2 version: 0.2.2 @@ -336,7 +336,7 @@ devDependencies: version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.4.3 - version: 14.4.3(@testing-library/dom@10.1.0) + version: 14.4.3(@testing-library/dom@10.2.0) '@types/dompurify': specifier: ^3.0.5 version: 3.0.5 @@ -468,7 +468,7 @@ devDependencies: version: 5.4.3 webpack: specifier: ^5.91.0 - version: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + version: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) packages: @@ -3410,7 +3410,7 @@ packages: dev: true optional: true - /@craco/craco@7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): + /@craco/craco@7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): resolution: {integrity: sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==} engines: {node: '>=6'} hasBin: true @@ -3419,10 +3419,10 @@ packages: dependencies: autoprefixer: 10.4.16(postcss@8.4.32) cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 1.0.9(@swc/core@1.6.3)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3) + cosmiconfig-typescript-loader: 1.0.9(@swc/core@1.6.6)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3) cross-spawn: 7.0.3 lodash: 4.17.21 - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 7.6.2 webpack-merge: 5.10.0 transitivePeerDependencies: @@ -4481,8 +4481,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.10.1: - resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@2.1.4: @@ -4514,40 +4514,40 @@ packages: resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} dev: true - /@floating-ui/core@1.6.2: - resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} + /@floating-ui/core@1.6.4: + resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} dependencies: - '@floating-ui/utils': 0.2.2 + '@floating-ui/utils': 0.2.4 - /@floating-ui/dom@1.6.5: - resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} + /@floating-ui/dom@1.6.7: + resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} dependencies: - '@floating-ui/core': 1.6.2 - '@floating-ui/utils': 0.2.2 + '@floating-ui/core': 1.6.4 + '@floating-ui/utils': 0.2.4 - /@floating-ui/react-dom@2.1.0(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + /@floating-ui/react-dom@2.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.7 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@floating-ui/react-dom@2.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} + /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.5 + '@floating-ui/dom': 1.6.7 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.2: - resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} + /@floating-ui/utils@0.2.4: + resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} /@focus-reactive/react-yaml@1.1.2(react@18.2.0): resolution: {integrity: sha512-X9/rmfuDHR+beDym2206RsD5m/5EfH26vVuGVbLXy7+BunPcVBRqwe2WbvCyoHloMUX7Ccp2xrLwmmPrvZ9hrA==} @@ -5159,7 +5159,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.2.0) '@popperjs/core': 2.11.8 @@ -5182,7 +5182,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1)(react@18.3.1) + '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.3.1) '@popperjs/core': 2.11.8 @@ -5205,7 +5205,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.20(@types/react@18.2.45)(react@18.2.0) '@popperjs/core': 2.11.8 @@ -5216,8 +5216,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@mui/core-downloads-tracker@5.15.20: - resolution: {integrity: sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA==} + /@mui/core-downloads-tracker@5.15.21: + resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} dev: false /@mui/icons-material@5.15.2(@mui/material@5.15.2)(@types/react@18.2.45)(react@18.2.0): @@ -5291,7 +5291,7 @@ packages: '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) '@mui/base': 5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@mui/core-downloads-tracker': 5.15.20 + '@mui/core-downloads-tracker': 5.15.21 '@mui/system': 5.15.20(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.2.0) @@ -5327,7 +5327,7 @@ packages: '@emotion/react': 11.11.4(@types/react@18.2.45)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.45)(react@18.3.1) '@mui/base': 5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.20 + '@mui/core-downloads-tracker': 5.15.21 '@mui/system': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.45)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.3.1) @@ -5613,7 +5613,7 @@ packages: lit: 3.1.4 ol: 9.2.4 ol-ext: 4.0.18(ol@9.2.4) - ol-mapbox-style: 12.3.3(ol@9.2.4) + ol-mapbox-style: 12.3.4(ol@9.2.4) postcode: 5.1.0 proj4: 2.11.0 rambda: 8.6.0 @@ -5663,7 +5663,7 @@ packages: react-refresh: 0.11.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-dev-server: 4.15.2(webpack@5.91.0) /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.0)(webpack@5.91.0): @@ -5700,7 +5700,7 @@ packages: react-refresh: 0.14.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /@popperjs/core@2.11.8: @@ -5719,6 +5719,10 @@ packages: '@babel/runtime': 7.24.7 dev: true + /@radix-ui/primitive@1.1.0: + resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + dev: true + /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: @@ -5764,6 +5768,29 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@radix-ui/react-collection@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: @@ -5778,6 +5805,19 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: @@ -5792,6 +5832,19 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-context@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: @@ -5806,6 +5859,19 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-direction@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: @@ -5883,6 +5949,20 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-id@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: @@ -5897,7 +5977,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) @@ -5955,29 +6035,48 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} + /@radix-ui/react-primitive@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@types/react': 18.2.45 + '@types/react-dom': 18.2.18 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6025,21 +6124,20 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) dev: true - /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} + /@radix-ui/react-separator@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.7 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6061,77 +6159,88 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} + /@radix-ui/react-slot@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + + /@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} + /@radix-ui/react-toggle@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} + /@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ZUKknxhMTL/4hPh+4DuaTot9aO7UD6Kupj4gqXCsBTayX1pD1L+0C2/2VZKXb4tIifQklZ3pf2hG9T+ns+FclQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@babel/runtime': 7.24.7 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/primitive': 1.1.0 + '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6152,6 +6261,19 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: @@ -6167,6 +6289,20 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: @@ -6196,6 +6332,19 @@ packages: react: 18.2.0 dev: true + /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.45)(react@18.2.0): + resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.45 + react: 18.2.0 + dev: true + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: @@ -6581,7 +6730,7 @@ packages: react: optional: true dependencies: - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 react: 18.2.0 ts-dedent: 2.2.0 @@ -6632,14 +6781,14 @@ packages: '@storybook/client-logger': 7.6.7 '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/docs-tools': 7.6.7 '@storybook/global': 5.0.0 '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/preview-api': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 - '@types/lodash': 4.17.5 + '@types/lodash': 4.14.202 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -6660,11 +6809,11 @@ packages: - supports-color dev: true - /@storybook/builder-manager@8.1.10(prettier@3.3.2): + /@storybook/builder-manager@8.1.10(prettier@3.0.0): resolution: {integrity: sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.1.10(prettier@3.3.2) + '@storybook/core-common': 8.1.10(prettier@3.0.0) '@storybook/manager': 8.1.10 '@storybook/node-logger': 8.1.10 '@types/ejs': 3.1.5 @@ -6700,15 +6849,15 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/preview': 7.6.7 '@storybook/preview-api': 7.6.7 - '@swc/core': 1.6.3 - '@types/node': 18.19.36 + '@swc/core': 1.6.6 + '@types/node': 18.19.39 '@types/semver': 7.5.8 babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.91.0) browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 css-loader: 6.10.0(webpack@5.91.0) - es-module-lexer: 1.5.3 + es-module-lexer: 1.5.4 express: 4.19.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.3)(webpack@5.91.0) fs-extra: 11.2.0 @@ -6718,14 +6867,14 @@ packages: process: 0.11.10 semver: 7.6.2 style-loader: 3.3.4(webpack@5.91.0) - swc-loader: 0.2.6(@swc/core@1.6.3)(webpack@5.91.0) - terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) + swc-loader: 0.2.6(@swc/core@1.6.6)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) ts-dedent: 2.2.0 typescript: 5.4.3 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-dev-middleware: 6.1.3(webpack@5.91.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 @@ -6768,12 +6917,12 @@ packages: '@babel/types': 7.24.7 '@ndelangen/get-tarball': 3.0.9 '@storybook/codemod': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.2) + '@storybook/core-common': 8.1.10(prettier@3.0.0) '@storybook/core-events': 8.1.10 - '@storybook/core-server': 8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-server': 8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0) '@storybook/csf-tools': 8.1.10 '@storybook/node-logger': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.3.2) + '@storybook/telemetry': 8.1.10(prettier@3.0.0) '@storybook/types': 8.1.10 '@types/semver': 7.5.8 '@yarnpkg/fslib': 2.10.3 @@ -6788,7 +6937,7 @@ packages: fs-extra: 11.2.0 get-npm-tarball-url: 2.1.0 giget: 1.2.3 - globby: 14.0.1 + globby: 14.0.2 jscodeshift: 0.15.2(@babel/preset-env@7.22.6) leven: 3.1.0 ora: 5.4.1 @@ -6835,13 +6984,13 @@ packages: '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/types': 7.24.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/csf-tools': 8.1.10 '@storybook/node-logger': 8.1.10 '@storybook/types': 8.1.10 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 - globby: 14.0.1 + globby: 14.0.2 jscodeshift: 0.15.2(@babel/preset-env@7.24.7) lodash: 4.17.21 prettier: 3.3.2 @@ -6858,9 +7007,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/client-logger': 7.6.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 @@ -6888,7 +7037,7 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/types': 7.6.7 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.36 + '@types/node': 18.19.39 '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 @@ -6912,7 +7061,7 @@ packages: - supports-color dev: true - /@storybook/core-common@8.1.10(prettier@3.3.2): + /@storybook/core-common@8.1.10(prettier@3.0.0): resolution: {integrity: sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==} peerDependencies: prettier: ^2 || ^3 @@ -6941,8 +7090,8 @@ packages: node-fetch: 2.7.0 picomatch: 2.3.1 pkg-dir: 5.0.0 - prettier: 3.3.2 - prettier-fallback: /prettier@3.3.2 + prettier: 3.0.0 + prettier-fallback: /prettier@3.0.0 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 semver: 7.6.2 @@ -6970,22 +7119,22 @@ packages: /@storybook/core-events@8.1.10: resolution: {integrity: sha512-aS4zsBVyJds74+rAW0IfTEjULDCQwXecVpQfv11B8/89/07s3bOPssGGoTtCTaN4pHbduywE6MxbmFvTmXOFCA==} dependencies: - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 ts-dedent: 2.2.0 dev: true - /@storybook/core-server@8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0): + /@storybook/core-server@8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.7 '@babel/parser': 7.24.7 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.1.10(prettier@3.3.2) + '@storybook/builder-manager': 8.1.10(prettier@3.0.0) '@storybook/channels': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.2) + '@storybook/core-common': 8.1.10(prettier@3.0.0) '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/csf-tools': 8.1.10 '@storybook/docs-mdx': 3.1.0-next.0 '@storybook/global': 5.0.0 @@ -6993,11 +7142,11 @@ packages: '@storybook/manager-api': 8.1.10(react-dom@18.2.0)(react@18.2.0) '@storybook/node-logger': 8.1.10 '@storybook/preview-api': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.3.2) + '@storybook/telemetry': 8.1.10(prettier@3.0.0) '@storybook/types': 8.1.10 '@types/detect-port': 1.3.5 '@types/diff': 5.2.1 - '@types/node': 18.19.36 + '@types/node': 18.19.39 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.5.8 better-opn: 3.0.2 @@ -7008,7 +7157,7 @@ packages: diff: 5.2.0 express: 4.19.2 fs-extra: 11.2.0 - globby: 14.0.1 + globby: 14.0.2 lodash: 4.17.21 open: 8.4.2 pretty-hrtime: 1.0.3 @@ -7038,7 +7187,7 @@ packages: '@storybook/core-common': 7.6.7 '@storybook/node-logger': 7.6.7 '@storybook/types': 7.6.7 - '@types/node': 18.19.36 + '@types/node': 18.19.39 ts-dedent: 2.2.0 transitivePeerDependencies: - encoding @@ -7049,7 +7198,7 @@ packages: resolution: {integrity: sha512-YL7e6H4iVcsDI0UpgpdQX2IiGDrlbgaQMHQgDLWXmZyKxBcy0ONROAX5zoT1ml44EHkL60TMaG4f7SinviJCog==} dependencies: '@storybook/csf-tools': 7.6.7 - unplugin: 1.10.1 + unplugin: 1.11.0 transitivePeerDependencies: - supports-color dev: true @@ -7061,7 +7210,7 @@ packages: '@babel/parser': 7.24.7 '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/types': 7.6.7 fs-extra: 11.2.0 recast: 0.23.9 @@ -7077,7 +7226,7 @@ packages: '@babel/parser': 7.24.7 '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/types': 8.1.10 fs-extra: 11.2.0 recast: 0.23.9 @@ -7086,8 +7235,8 @@ packages: - supports-color dev: true - /@storybook/csf@0.1.8: - resolution: {integrity: sha512-Ntab9o7LjBCbFIao5l42itFiaSh/Qu+l16l/r/9qmV9LnYZkO+JQ7tzhdlwpgJfhs+B5xeejpdAtftDRyXNajw==} + /@storybook/csf@0.1.9: + resolution: {integrity: sha512-JlZ6v/iFn+iKohKGpYXnMeNeTiiAMeFoDhYnPLIC8GnyyIWqEI9wJYrOK9i9rxlJ8NZAH/ojGC/u/xVC41qSgQ==} dependencies: type-fest: 2.19.0 dev: true @@ -7132,7 +7281,7 @@ packages: '@storybook/channels': 7.6.7 '@storybook/client-logger': 7.6.7 '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 '@storybook/router': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) @@ -7154,7 +7303,7 @@ packages: '@storybook/channels': 8.1.10 '@storybook/client-logger': 8.1.10 '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) '@storybook/router': 8.1.10 @@ -7204,7 +7353,7 @@ packages: '@types/babel__core': 7.20.5 '@types/semver': 7.5.8 pnp-webpack-plugin: 1.7.0(typescript@5.4.3) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 7.6.2 transitivePeerDependencies: - '@types/webpack' @@ -7219,7 +7368,7 @@ packages: - webpack-plugin-serve dev: true - /@storybook/preset-react-webpack@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): + /@storybook/preset-react-webpack@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): resolution: {integrity: sha512-olKTivJmbyuiPIa99/4Gx3zxbBplyXgbNso9ZAXHnSf7rBD0irV5oRqk+gFlEFJDHkK9vnpWMenly7vzX8QCXQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -7242,7 +7391,7 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.3)(webpack@5.91.0) - '@types/node': 18.19.36 + '@types/node': 18.19.39 '@types/semver': 7.5.8 babel-plugin-add-react-displayname: 0.0.5 fs-extra: 11.2.0 @@ -7253,7 +7402,7 @@ packages: react-refresh: 0.14.0 semver: 7.6.2 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) transitivePeerDependencies: - '@swc/core' - '@types/webpack' @@ -7275,7 +7424,7 @@ packages: '@storybook/channels': 7.6.7 '@storybook/client-logger': 7.6.7 '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 '@storybook/types': 7.6.7 '@types/qs': 6.9.15 @@ -7294,7 +7443,7 @@ packages: '@storybook/channels': 8.1.10 '@storybook/client-logger': 8.1.10 '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.8 + '@storybook/csf': 0.1.9 '@storybook/global': 5.0.0 '@storybook/types': 8.1.10 '@types/qs': 6.9.15 @@ -7325,7 +7474,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.3) tslib: 2.6.3 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) transitivePeerDependencies: - supports-color dev: true @@ -7340,7 +7489,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-webpack5@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): + /@storybook/react-webpack5@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): resolution: {integrity: sha512-/HK+v8vmeApN4WI5RyaDdhPhjFuEQfMQmvZLl+ewpamhJNMRr4nvrdvxOSfBw46zFubKgieuxEcW+VxHwvZ1og==} engines: {node: '>=16.0.0'} peerDependencies: @@ -7356,9 +7505,9 @@ packages: dependencies: '@babel/core': 7.22.5 '@storybook/builder-webpack5': 7.6.7(esbuild@0.21.3)(typescript@5.4.3) - '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@types/node': 18.19.36 + '@types/node': 18.19.39 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) typescript: 5.4.3 @@ -7399,7 +7548,7 @@ packages: '@storybook/types': 7.6.7 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.36 + '@types/node': 18.19.39 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -7435,11 +7584,11 @@ packages: qs: 6.12.1 dev: true - /@storybook/telemetry@8.1.10(prettier@3.3.2): + /@storybook/telemetry@8.1.10(prettier@3.0.0): resolution: {integrity: sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==} dependencies: '@storybook/client-logger': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.3.2) + '@storybook/core-common': 8.1.10(prettier@3.0.0) '@storybook/csf-tools': 8.1.10 chalk: 4.1.2 detect-package-manager: 2.0.1 @@ -7627,88 +7776,88 @@ packages: transitivePeerDependencies: - supports-color - /@swc/core-darwin-arm64@1.6.3: - resolution: {integrity: sha512-3r7cJf1BcE30iyF1rnOSKrEzIR+cqnyYSZvivrm62TZdXVsIjfXe1xulsKGxZgNeLY5erIu7ukvMvBvPhnQvqA==} + /@swc/core-darwin-arm64@1.6.6: + resolution: {integrity: sha512-5DA8NUGECcbcK1YLKJwNDKqdtTYDVnkfDU1WvQSXq/rU+bjYCLtn5gCe8/yzL7ISXA6rwqPU1RDejhbNt4ARLQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.6.3: - resolution: {integrity: sha512-8GLZ23IgVpF5xh2SbS5ZW/12/EEBuRU1hFOLB5rKERJU0y1RJ6YhDMf/FuOWhfHQcFM7TeedBwHIzaF+tdKKlw==} + /@swc/core-darwin-x64@1.6.6: + resolution: {integrity: sha512-2nbh/RHpweNRsJiYDFk1KcX7UtaKgzzTNUjwtvK5cp0wWrpbXmPvdlWOx3yzwoiSASDFx78242JHHXCIOlEdsw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.6.3: - resolution: {integrity: sha512-VQ/bduX7WhLOlGbJLMG7UH0LBehjjx43R4yuk55rjjJLqpvX5fQzMsWhQdIZ5vsc+4ORzdgtEAlpumTv6bsD1A==} + /@swc/core-linux-arm-gnueabihf@1.6.6: + resolution: {integrity: sha512-YgytuyUfR7b0z0SRHKV+ylr83HmgnROgeT7xryEkth6JGpAEHooCspQ4RrWTU8+WKJ7aXiZlGXPgybQ4TiS+TA==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.6.3: - resolution: {integrity: sha512-jHIQ/PCwtdDBIF/BiC5DochswuCAIW/T5skJ+eDMbta7+QtEnZCXTZWpT5ORoEY/gtsE2fjpOA4TS6fBBvXqUw==} + /@swc/core-linux-arm64-gnu@1.6.6: + resolution: {integrity: sha512-yGwx9fddzEE0iURqRVwKBQ4IwRHE6hNhl15WliHpi/PcYhzmYkUIpcbRXjr0dssubXAVPVnx6+jZVDSbutvnfg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.6.3: - resolution: {integrity: sha512-gA6velEUD27Dwu0BlR9hCcFzkWq2YL2pDAU5qbgeuGhaMiUCBssfqTQB+2ctEnV+AZx+hSMJOHvtA+uFZjfRrw==} + /@swc/core-linux-arm64-musl@1.6.6: + resolution: {integrity: sha512-a6fMbqzSAsS5KCxFJyg1mD5kwN3ZFO8qQLyJ75R/htZP/eCt05jrhmOI7h2n+1HjiG332jLnZ9S8lkVE5O8Nqw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.6.3: - resolution: {integrity: sha512-fy4qoBDr5I8r+ZNCZxs/oZcmu4j/8mtSud6Ka102DaSxEjNg0vfIdo9ITsVIPsofhUTmDKjQsPB2O7YUlJAioQ==} + /@swc/core-linux-x64-gnu@1.6.6: + resolution: {integrity: sha512-hRGsUKNzzZle28YF0dYIpN0bt9PceR9LaVBq7x8+l9TAaDLFbgksSxcnU/ubTtsy+WsYSYGn+A83w3xWC0O8CQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.6.3: - resolution: {integrity: sha512-c/twcMbq/Gpq47G+b3kWgoaCujpXO11aRgJx6am+CprvP4uNeBHEpQkxD+DQmdWFHisZd0i9GB8NG3e7L9Rz9Q==} + /@swc/core-linux-x64-musl@1.6.6: + resolution: {integrity: sha512-NokIUtFxJDVv3LzGeEtYMTV3j2dnGKLac59luTeq36DQLZdJQawQIdTbzzWl2jE7lxxTZme+dhsVOH9LxE3ceg==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.6.3: - resolution: {integrity: sha512-y6RxMtX45acReQmzkxcEfJscfBXce6QjuNgWQHHs9exA592BZzmolDUwgmAyjyvopz1lWX+KdymdZFKvuDSx4w==} + /@swc/core-win32-arm64-msvc@1.6.6: + resolution: {integrity: sha512-lzYdI4qb4k1dFG26yv+9Jaq/bUMAhgs/2JsrLncGjLof86+uj74wKYCQnbzKAsq2hDtS5DqnHnl+//J+miZfGA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.6.3: - resolution: {integrity: sha512-41h7z3xgukl1HDDwhquaeOPSP1OWeHl+mWKnJVmmwd3ui/oowUDCO856qa6JagBgPSnAGfyXwv6vthuXwyCcWA==} + /@swc/core-win32-ia32-msvc@1.6.6: + resolution: {integrity: sha512-bvl7FMaXIJQ76WZU0ER4+RyfKIMGb6S2MgRkBhJOOp0i7VFx4WLOnrmMzaeoPJaJSkityVKAftfNh7NBzTIydQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.6.3: - resolution: {integrity: sha512-//bnwo9b8Vp1ED06eXCHyGZ5xIpdkQgg2fuFDdtd1FITl7r5bdQh2ryRzPiKiGwgXZwZQitUshI4JeEX9IuW+Q==} + /@swc/core-win32-x64-msvc@1.6.6: + resolution: {integrity: sha512-WAP0JoCTfgeYKgOeYJoJV4ZS0sQUmU3OwvXa2dYYtMLF7zsNqOiW4niU7QlThBHgUv/qNZm2p6ITEgh3w1cltw==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.6.3: - resolution: {integrity: sha512-mZpei+LqE+AL+nwgERMQey9EJA9/yhHTN6nwbobH5GnSij/lhfTdGfAb1iumOrroqEcXbHUaK//7wOw7DjBGdA==} + /@swc/core@1.6.6: + resolution: {integrity: sha512-sHfmIUPUXNrQTwFMVCY5V5Ena2GTOeaWjS2GFUpjLhAgVfP90OP67DWow7+cYrfFtqBdILHuWnjkTcd0+uPKlg==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -7718,29 +7867,29 @@ packages: optional: true dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.8 + '@swc/types': 0.1.9 optionalDependencies: - '@swc/core-darwin-arm64': 1.6.3 - '@swc/core-darwin-x64': 1.6.3 - '@swc/core-linux-arm-gnueabihf': 1.6.3 - '@swc/core-linux-arm64-gnu': 1.6.3 - '@swc/core-linux-arm64-musl': 1.6.3 - '@swc/core-linux-x64-gnu': 1.6.3 - '@swc/core-linux-x64-musl': 1.6.3 - '@swc/core-win32-arm64-msvc': 1.6.3 - '@swc/core-win32-ia32-msvc': 1.6.3 - '@swc/core-win32-x64-msvc': 1.6.3 + '@swc/core-darwin-arm64': 1.6.6 + '@swc/core-darwin-x64': 1.6.6 + '@swc/core-linux-arm-gnueabihf': 1.6.6 + '@swc/core-linux-arm64-gnu': 1.6.6 + '@swc/core-linux-arm64-musl': 1.6.6 + '@swc/core-linux-x64-gnu': 1.6.6 + '@swc/core-linux-x64-musl': 1.6.6 + '@swc/core-win32-arm64-msvc': 1.6.6 + '@swc/core-win32-ia32-msvc': 1.6.6 + '@swc/core-win32-x64-msvc': 1.6.6 /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - /@swc/types@0.1.8: - resolution: {integrity: sha512-RNFA3+7OJFNYY78x0FYwi1Ow+iF1eF5WvmfY1nXPOEH4R2p/D4Cr1vzje7dNAI2aLFqpv8Wyz4oKSWqIZArpQA==} + /@swc/types@0.1.9: + resolution: {integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==} dependencies: '@swc/counter': 0.1.3 - /@testing-library/dom@10.1.0: - resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} + /@testing-library/dom@10.2.0: + resolution: {integrity: sha512-CytIvb6tVOADRngTHGWNxH8LPgO/3hi/BdCEHOf7Qd2GvZVClhVP0Wo/QHzWhpki49Bk0b4VT6xpt3fx8HTSIw==} engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.24.7 @@ -7753,6 +7902,20 @@ packages: pretty-format: 27.5.1 dev: true + /@testing-library/dom@8.20.1: + resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} + engines: {node: '>=12'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.24.7 + '@types/aria-query': 5.0.4 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -7790,19 +7953,19 @@ packages: react-dom: ^18.0.0 dependencies: '@babel/runtime': 7.24.7 - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 8.20.1 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@testing-library/user-event@14.4.3(@testing-library/dom@10.1.0): + /@testing-library/user-event@14.4.3(@testing-library/dom@10.2.0): resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 10.1.0 + '@testing-library/dom': 10.2.0 dev: true /@testing-library/user-event@14.4.3(@testing-library/dom@9.3.4): @@ -8013,12 +8176,12 @@ packages: prosemirror-keymap: 1.2.2 prosemirror-markdown: 1.13.0 prosemirror-menu: 1.2.4 - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-schema-basic: 1.2.2 prosemirror-schema-list: 1.4.0 prosemirror-state: 1.4.3 prosemirror-tables: 1.3.7 - prosemirror-trailing-node: 2.0.8(prosemirror-model@1.21.1)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8) + prosemirror-trailing-node: 2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8) prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false @@ -8191,7 +8354,7 @@ packages: /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.19.3 + '@types/express-serve-static-core': 4.19.5 '@types/node': 17.0.45 /@types/connect@3.4.38: @@ -8274,8 +8437,8 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.19.3: - resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} + /@types/express-serve-static-core@4.19.5: + resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} dependencies: '@types/node': 17.0.45 '@types/qs': 6.9.15 @@ -8286,7 +8449,7 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.3 + '@types/express-serve-static-core': 4.19.5 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 @@ -8371,8 +8534,9 @@ packages: /@types/lodash@4.14.202: resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - /@types/lodash@4.17.5: - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + /@types/lodash@4.17.6: + resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} + dev: false /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -8406,14 +8570,14 @@ packages: /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - /@types/node@18.19.36: - resolution: {integrity: sha512-tX1BNmYSWEvViftB26VLNxT6mEr37M7+ldUtq7rlKnv4/2fKYsJIOmqJAjT6h1DNuwQjIKgw3VJ/Dtw3yiTIQw==} + /@types/node@18.19.39: + resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.14.5: - resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} + /@types/node@20.14.9: + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} dependencies: undici-types: 5.26.5 dev: false @@ -8623,7 +8787,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@typescript-eslint/parser': 5.58.0(eslint@8.44.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.44.0)(typescript@5.4.3) @@ -9416,7 +9580,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.1 - caniuse-lite: 1.0.30001636 + caniuse-lite: 1.0.30001639 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 @@ -9453,10 +9617,11 @@ packages: - debug dev: false - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + /axobject-query@3.2.2: + resolution: {integrity: sha512-QtQGAQJfHXiTrtRH8Q1gkarFLs56fDmfiMCptvRbo/AEQIImrW6u7EcUAOfkHHNE9dqZKH3227iRKRSp0KtfTw==} + engines: {node: '>= 0.4'} dependencies: - dequal: 2.0.3 + deep-equal-json: 1.0.0 /babel-core@7.0.0-bridge.0(@babel/core@7.24.7): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} @@ -9515,7 +9680,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} @@ -9527,7 +9692,7 @@ packages: '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /babel-plugin-add-react-displayname@0.0.5: @@ -9931,8 +10096,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001636 - electron-to-chromium: 1.4.806 + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.815 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -10035,12 +10200,12 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.1 - caniuse-lite: 1.0.30001636 + caniuse-lite: 1.0.30001639 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - /caniuse-lite@1.0.30001636: - resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} + /caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} /canvg@3.0.10: resolution: {integrity: sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==} @@ -10471,7 +10636,11 @@ packages: dev: false /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: true /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -10566,7 +10735,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig-typescript-loader@1.0.9(@swc/core@1.6.3)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3): + /cosmiconfig-typescript-loader@1.0.9(@swc/core@1.6.6)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3): resolution: {integrity: sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -10576,7 +10745,7 @@ packages: dependencies: '@types/node': 17.0.45 cosmiconfig: 7.1.0 - ts-node: 10.9.2(@swc/core@1.6.3)(@types/node@17.0.45)(typescript@5.4.3) + ts-node: 10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3) typescript: 5.4.3 transitivePeerDependencies: - '@swc/core' @@ -10609,10 +10778,10 @@ packages: '@craco/craco': ^7.0.0 react-scripts: ^5.0.0 dependencies: - '@craco/craco': 7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) + '@craco/craco': 7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) esbuild-jest: 0.5.0(esbuild@0.21.3) esbuild-loader: 4.2.0(webpack@5.91.0) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) transitivePeerDependencies: - esbuild - supports-color @@ -10726,15 +10895,15 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) - postcss-modules-scope: 3.2.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) + postcss-modules-scope: 3.2.0(postcss@8.4.39) + postcss-modules-values: 4.0.0(postcss@8.4.39) postcss-value-parser: 4.2.0 semver: 7.6.2 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /css-minimizer-webpack-plugin@3.4.1(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} @@ -10762,7 +10931,7 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /css-prefers-color-scheme@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} @@ -11042,6 +11211,15 @@ packages: /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + /deep-equal-json@1.0.0: + resolution: {integrity: sha512-x11iOxzQuLWG1faqBf8PYn3xSxkK41Wg38lUbch9f+nVmBeuI53PPXeRIDdHsW2/dP2GGKL9p8cLCahHToE7CA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + /deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -11268,7 +11446,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.14.5 + '@types/node': 20.14.9 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -11440,8 +11618,8 @@ packages: dependencies: jake: 10.9.1 - /electron-to-chromium@1.4.806: - resolution: {integrity: sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==} + /electron-to-chromium@1.4.815: + resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} /emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} @@ -11549,7 +11727,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -11611,8 +11789,8 @@ packages: iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - /es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + /es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} /es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} @@ -11698,7 +11876,7 @@ packages: esbuild: 0.21.3 get-tsconfig: 4.7.5 loader-utils: 2.0.4 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-sources: 1.4.3 dev: true @@ -11912,7 +12090,7 @@ packages: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.13.1 + is-core-module: 2.14.0 resolve: 1.22.8 transitivePeerDependencies: - supports-color @@ -11980,7 +12158,7 @@ packages: eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0) hasown: 2.0.2 - is-core-module: 2.13.1 + is-core-module: 2.14.0 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -12026,7 +12204,7 @@ packages: array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.7 axe-core: 4.9.1 - axobject-query: 3.2.1 + axobject-query: 3.2.2 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 eslint: 8.44.0 @@ -12127,7 +12305,7 @@ packages: micromatch: 4.0.7 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /eslint@8.44.0: resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} @@ -12135,7 +12313,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.44.0 '@humanwhocodes/config-array': 0.11.14 @@ -12182,7 +12360,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.1 + '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -12585,7 +12763,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /file-saver@2.0.5: resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} @@ -12706,8 +12884,8 @@ packages: /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /flow-parser@0.238.0: - resolution: {integrity: sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==} + /flow-parser@0.238.3: + resolution: {integrity: sha512-hNUhucq8V6KWSX1skXUS3vnDmrRNuKWzDvEVK5b+n97uMF32zj2y8pmcLDQEqlY5u926B0GYGWT/3XhwDJfLOQ==} engines: {node: '>=0.4.0'} dev: true @@ -12778,7 +12956,7 @@ packages: semver: 7.6.2 tapable: 1.1.3 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} @@ -12800,7 +12978,7 @@ packages: semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /form-data@2.5.1: @@ -13035,7 +13213,7 @@ packages: consola: 3.2.3 defu: 6.1.4 node-fetch-native: 1.6.4 - nypm: 0.3.8 + nypm: 0.3.9 ohash: 1.1.3 pathe: 1.1.2 tar: 6.2.1 @@ -13067,7 +13245,7 @@ packages: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -13132,8 +13310,8 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} + /globby@14.0.2: + resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 @@ -13403,7 +13581,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /html2canvas@1.4.1: resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} @@ -13550,13 +13728,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.38): + /icss-utils@5.1.0(postcss@8.4.39): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 /idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} @@ -13750,8 +13928,9 @@ packages: rgba-regex: 1.0.0 dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + /is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 @@ -14845,7 +15024,7 @@ packages: '@babel/register': 7.24.6(@babel/core@7.24.7) babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) chalk: 4.1.2 - flow-parser: 0.238.0 + flow-parser: 0.238.3 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -14879,7 +15058,7 @@ packages: '@babel/register': 7.24.6(@babel/core@7.24.7) babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) chalk: 4.1.2 - flow-parser: 0.238.0 + flow-parser: 0.238.3 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -14947,14 +15126,14 @@ packages: /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - /json-schema-to-typescript@14.0.5: - resolution: {integrity: sha512-JmHsbgY0KKo8Pw0HRXpGzAlZYxlu+M5kFhSzhNkUSrVJ4sCXPdAGIdSpzva5ev2/Kybz10S6AfnNdF4o3Pzt3A==} + /json-schema-to-typescript@14.1.0: + resolution: {integrity: sha512-VIeAFQkn88gFh26MSHWG4uX7TjK/arTw0NVLMZn6vX1WrSF+P6xu5MyEdovu+9PJ0uiS5gm0wzwQvYW9eSq1uw==} engines: {node: '>=16.0.0'} hasBin: true dependencies: '@apidevtools/json-schema-ref-parser': 11.6.4 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.5 + '@types/lodash': 4.17.6 cli-color: 2.0.4 glob: 10.4.2 is-glob: 4.0.3 @@ -14962,7 +15141,6 @@ packages: lodash: 4.17.21 minimist: 1.2.8 mkdirp: 3.0.1 - mz: 2.7.0 node-fetch: 3.3.2 prettier: 3.3.2 dev: false @@ -15228,7 +15406,7 @@ packages: listr2: 5.0.8 micromatch: 4.0.7 normalize-path: 3.0.0 - object-inspect: 1.13.1 + object-inspect: 1.13.2 pidtree: 0.6.0 string-argv: 0.3.2 yaml: 2.4.5 @@ -15378,8 +15556,8 @@ packages: dependencies: tslib: 2.6.3 - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + /lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -15873,7 +16051,7 @@ packages: dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -15896,8 +16074,8 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -15958,6 +16136,15 @@ packages: hasBin: true dev: false + /mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + dependencies: + acorn: 8.12.0 + pathe: 1.1.2 + pkg-types: 1.1.2 + ufo: 1.5.3 + dev: true + /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -16211,8 +16398,8 @@ packages: /nwsapi@2.2.10: resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - /nypm@0.3.8: - resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} + /nypm@0.3.9: + resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true dependencies: @@ -16220,6 +16407,7 @@ packages: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 + pkg-types: 1.1.2 ufo: 1.5.3 dev: true @@ -16240,8 +16428,9 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + /object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} /object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} @@ -16249,7 +16438,6 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - dev: true /object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -16350,8 +16538,8 @@ packages: ol: 9.2.4 dev: false - /ol-mapbox-style@12.3.3(ol@9.2.4): - resolution: {integrity: sha512-Wyb1vSxTl/c09S9yC/Dcr7XWQf5u19/9BriqOiDJRgbjLTAbrWXW8l+5N9E/I0fV2gcTQDE+7iFtvVOvXcTmMA==} + /ol-mapbox-style@12.3.4(ol@9.2.4): + resolution: {integrity: sha512-TxGJZw4hmvc6n5dHSyAE8ZpgALJ6hVG5Q9yl0j2Q1KmLS9iq4wMpb383TAitWiG86SvJV4oDkWMGkyyMLfVyew==} peerDependencies: ol: '*' dependencies: @@ -16482,7 +16670,7 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 dev: true /p-locate@3.0.0: @@ -16641,7 +16829,7 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 /path-to-regexp@0.1.7: @@ -16732,6 +16920,14 @@ packages: find-up: 6.3.0 dev: true + /pkg-types@1.1.2: + resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + dev: true + /pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -17065,7 +17261,7 @@ packages: klona: 2.0.6 postcss: 8.4.32 semver: 7.6.2 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /postcss-logical@5.0.4(postcss@8.4.32): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} @@ -17145,42 +17341,42 @@ packages: postcss: 8.4.32 postcss-selector-parser: 6.1.0 - /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.39): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.39): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - /postcss-modules-scope@3.2.0(postcss@8.4.38): + /postcss-modules-scope@3.2.0(postcss@8.4.39): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.1.0 - /postcss-modules-values@4.0.0(postcss@8.4.38): + /postcss-modules-values@4.0.0(postcss@8.4.39): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 /postcss-nested@6.0.1(postcss@8.4.32): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} @@ -17477,8 +17673,8 @@ packages: picocolors: 1.0.1 source-map-js: 1.2.0 - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + /postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -17617,7 +17813,7 @@ packages: /prosemirror-commands@1.5.2: resolution: {integrity: sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -17634,7 +17830,7 @@ packages: resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-view: 1.33.8 dev: false @@ -17666,7 +17862,7 @@ packages: resolution: {integrity: sha512-UziddX3ZYSYibgx8042hfGKmukq5Aljp2qoBiJRejD/8MH70siQNz5RB1TrdTPheqLMy4aCe4GYNF10/3lQS5g==} dependencies: markdown-it: 14.1.0 - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 dev: false /prosemirror-menu@1.2.4: @@ -17678,8 +17874,8 @@ packages: prosemirror-state: 1.4.3 dev: false - /prosemirror-model@1.21.1: - resolution: {integrity: sha512-IVBAuMqOfltTr7yPypwpfdGT+6rGAteVOw2FO6GEvCGGa1ZwxLseqC1Eax/EChDvG/xGquB2d/hLdgh3THpsYg==} + /prosemirror-model@1.21.3: + resolution: {integrity: sha512-nt2Xs/RNGepD9hrrkzXvtCm1mpGJoQfFSPktGa0BF/aav6XsnmVGZ9sTXNWRLupAz5SCLa3EyKlFeK7zJWROKg==} dependencies: orderedmap: 2.1.1 dev: false @@ -17687,13 +17883,13 @@ packages: /prosemirror-schema-basic@1.2.2: resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 dev: false /prosemirror-schema-list@1.4.0: resolution: {integrity: sha512-nZOIq/AkBSzCENxUyLm5ltWE53e2PLk65ghMN8qLQptOmDVixZlPqtMeQdiNw0odL9vNpalEjl3upgRkuJ/Jyw==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -17701,7 +17897,7 @@ packages: /prosemirror-state@1.4.3: resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false @@ -17710,13 +17906,13 @@ packages: resolution: {integrity: sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false - /prosemirror-trailing-node@2.0.8(prosemirror-model@1.21.1)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8): + /prosemirror-trailing-node@2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8): resolution: {integrity: sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==} peerDependencies: prosemirror-model: ^1.19.0 @@ -17725,7 +17921,7 @@ packages: dependencies: '@remirror/core-constants': 2.0.2 escape-string-regexp: 4.0.0 - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-view: 1.33.8 dev: false @@ -17733,13 +17929,13 @@ packages: /prosemirror-transform@1.9.0: resolution: {integrity: sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 dev: false /prosemirror-view@1.33.8: resolution: {integrity: sha512-4PhMr/ufz2cdvFgpUAnZfs+0xij3RsFysreeG9V/utpwX7AJtYCDVyuRxzWoMJIEf4C7wVihuBNMPpFLPCiLQw==} dependencies: - prosemirror-model: 1.21.1 + prosemirror-model: 1.21.3 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -17903,7 +18099,7 @@ packages: peerDependencies: react-scripts: '>=2.1.3' dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 5.7.2 dev: true @@ -17994,7 +18190,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) transitivePeerDependencies: - eslint - supports-color @@ -18294,7 +18490,7 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) dev: true - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -18349,9 +18545,9 @@ packages: source-map-loader: 3.0.2(webpack@5.91.0) style-loader: 3.3.4(webpack@5.91.0) tailwindcss: 3.4.4 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-dev-server: 4.15.2(webpack@5.91.0) webpack-manifest-plugin: 4.1.1(webpack@5.91.0) workbox-webpack-plugin: 6.6.0(webpack@5.91.0) @@ -18804,7 +19000,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -18812,7 +19008,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.13.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -19015,7 +19211,7 @@ packages: klona: 2.0.6 neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /sass-loader@13.3.2(sass@1.71.1)(webpack@5.91.0): resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} @@ -19038,7 +19234,7 @@ packages: dependencies: neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /sass@1.71.1: @@ -19292,7 +19488,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -19406,7 +19602,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} @@ -19816,7 +20012,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /style-mod@4.1.2: resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} @@ -19947,15 +20143,15 @@ packages: picocolors: 1.0.1 stable: 0.1.8 - /swc-loader@0.2.6(@swc/core@1.6.3)(webpack@5.91.0): + /swc-loader@0.2.6(@swc/core@1.6.6)(webpack@5.91.0): resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} peerDependencies: '@swc/core': ^1.2.147 webpack: '>=2' dependencies: - '@swc/core': 1.6.3 + '@swc/core': 1.6.6 '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /swr@2.2.4(react@18.2.0): @@ -20109,7 +20305,7 @@ packages: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser-webpack-plugin@5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0): + /terser-webpack-plugin@5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20126,13 +20322,13 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.6.3 + '@swc/core': 1.6.6 esbuild: 0.21.3 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /terser@5.31.1: resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} @@ -20320,7 +20516,7 @@ packages: tslib: 2.6.3 dev: false - /ts-node@10.9.2(@swc/core@1.6.3)(@types/node@17.0.45)(typescript@5.4.3): + /ts-node@10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -20335,7 +20531,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.6.3 + '@swc/core': 1.6.6 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -20693,8 +20889,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unplugin@1.10.1: - resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} + /unplugin@1.11.0: + resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.12.0 @@ -21000,7 +21196,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) /webpack-dev-middleware@6.1.3(webpack@5.91.0): resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} @@ -21016,7 +21212,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) dev: true /webpack-dev-server@4.15.2(webpack@5.91.0): @@ -21060,7 +21256,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-dev-middleware: 5.3.4(webpack@5.91.0) ws: 8.17.1 transitivePeerDependencies: @@ -21084,7 +21280,7 @@ packages: webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-sources: 2.3.1 /webpack-merge@5.10.0: @@ -21121,7 +21317,7 @@ packages: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} dev: true - /webpack@5.91.0(@swc/core@1.6.3)(esbuild@0.21.3): + /webpack@5.91.0(@swc/core@1.6.6)(esbuild@0.21.3): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true @@ -21141,7 +21337,7 @@ packages: browserslist: 4.23.1 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.0 - es-module-lexer: 1.5.3 + es-module-lexer: 1.5.4 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -21152,7 +21348,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -21416,7 +21612,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -21575,8 +21771,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + /yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} dev: true @@ -21660,7 +21856,7 @@ packages: fast-xml-parser: 4.4.0 graphql: 16.9.0 graphql-request: 6.1.0(graphql@16.9.0) - json-schema-to-typescript: 14.0.5 + json-schema-to-typescript: 14.1.0 lodash: 4.17.21 marked: 13.0.1 prettier: 3.3.2 diff --git a/hasura.planx.uk/tests/pnpm-lock.yaml b/hasura.planx.uk/tests/pnpm-lock.yaml index 527e5eceec..89746e8022 100644 --- a/hasura.planx.uk/tests/pnpm-lock.yaml +++ b/hasura.planx.uk/tests/pnpm-lock.yaml @@ -26,403 +26,344 @@ dependencies: packages: - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 dev: false - /@babel/code-frame@7.22.13: - resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.22.20 - chalk: 2.4.2 - dev: false - - /@babel/code-frame@7.22.5: - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 dev: false - /@babel/compat-data@7.22.6: - resolution: {integrity: sha512-29tfsWTq2Ftu7MXmimyC0C5FDZv5DYxOZkh3XD3+QW4V/BYuv/LyEsjj3c0hqedEaDt6DBfDvexMKU8YevdqFg==} + /@babel/compat-data@7.24.7: + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.22.8: - resolution: {integrity: sha512-75+KxFB4CZqYRXjx4NlR4J7yGvKumBuZTmV4NV6v09dVXXkuYVYLT68N6HCzLvfJ+fWCxQsntNzKwwIXL4bHnw==} + /@babel/core@7.24.7: + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.22.5 - '@babel/generator': 7.22.7 - '@babel/helper-compilation-targets': 7.22.6(@babel/core@7.22.8) - '@babel/helper-module-transforms': 7.22.5 - '@babel/helpers': 7.22.6 - '@babel/parser': 7.22.7 - '@babel/template': 7.22.5 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.5 - '@nicolo-ribaudo/semver-v6': 6.3.3 - convert-source-map: 1.9.0 - debug: 4.3.4 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 gensync: 1.0.0-beta.2 json5: 2.2.3 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: false - /@babel/generator@7.22.7: - resolution: {integrity: sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==} + /@babel/generator@7.24.7: + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: false - /@babel/generator@7.23.0: - resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + /@babel/helper-compilation-targets@7.24.7: + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - jsesc: 2.5.2 - dev: false - - /@babel/helper-compilation-targets@7.22.6(@babel/core@7.22.8): - resolution: {integrity: sha512-534sYEqWD9VfUm3IPn2SLcH4Q3P86XL+QvqdC7ZsFrzyyPF3T4XGiVghF6PTYNdWg6pXuoqXxNQAhbYeEInTzA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.22.6 - '@babel/core': 7.22.8 - '@babel/helper-validator-option': 7.22.5 - '@nicolo-ribaudo/semver-v6': 6.3.3 - browserslist: 4.21.9 + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 lru-cache: 5.1.1 + semver: 7.6.2 dev: false - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-environment-visitor@7.22.5: - resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + /@babel/helper-environment-visitor@7.24.7: + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 dev: false - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + /@babel/helper-function-name@7.24.7: + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 dev: false - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.24.7 dev: false - /@babel/helper-module-imports@7.22.5: - resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/helper-module-transforms@7.22.5: - resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} + /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-environment-visitor': 7.22.5 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.5 - '@babel/template': 7.22.5 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + /@babel/helper-plugin-utils@7.24.7: + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.5 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color dev: false - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + /@babel/helper-split-export-declaration@7.24.7: + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 - dev: false - - /@babel/helper-string-parser@7.22.5: - resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} + '@babel/types': 7.24.7 dev: false - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + /@babel/helper-string-parser@7.24.7: + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} dev: false - /@babel/helper-validator-option@7.22.5: - resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.22.6: - resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + /@babel/helper-validator-option@7.24.7: + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.22.5 - '@babel/traverse': 7.23.2 - '@babel/types': 7.22.5 - transitivePeerDependencies: - - supports-color dev: false - /@babel/highlight@7.22.20: - resolution: {integrity: sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==} + /@babel/helpers@7.24.7: + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 dev: false - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.5 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.1 dev: false - /@babel/parser@7.22.7: - resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.22.5 - dev: false - - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + /@babel/parser@7.24.7: + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.24.7 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.8): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.8): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.8): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.8): - resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.8): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.8): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.8): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.8): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.8): - resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + /@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.8 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/template@7.22.15: - resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 dev: false - /@babel/template@7.22.5: - resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.5 - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 dev: false - /@babel/traverse@7.23.2: - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 - debug: 4.3.4 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.22.5: - resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.5 - to-fast-properties: 2.0.0 - dev: false - - /@babel/types@7.23.0: - resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 dev: false @@ -451,7 +392,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -472,14 +413,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 ansi-escapes: 4.3.2 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.4.0) + jest-config: 29.7.0(@types/node@20.14.9) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -491,7 +432,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -507,7 +448,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 jest-mock: 29.7.0 dev: false @@ -534,7 +475,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.4.0 + '@types/node': 20.14.9 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -566,25 +507,25 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 20.4.0 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 20.14.9 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 6.0.0 - istanbul-lib-report: 3.0.0 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.5 + istanbul-reports: 3.1.7 jest-message-util: 29.7.0 jest-util: 29.7.0 jest-worker: 29.7.0 slash: 3.0.0 string-length: 4.0.2 strip-ansi: 6.0.1 - v8-to-istanbul: 9.1.0 + v8-to-istanbul: 9.3.0 transitivePeerDependencies: - supports-color dev: false @@ -600,7 +541,7 @@ packages: resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 dev: false @@ -611,7 +552,7 @@ packages: dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 dev: false @@ -629,9 +570,9 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.24.7 '@jest/types': 29.6.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 convert-source-map: 2.0.0 @@ -640,7 +581,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -653,58 +594,49 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.4.0 - '@types/yargs': 17.0.24 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.9 + '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/trace-mapping': 0.3.25 dev: false - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} dev: false - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: false - /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: false - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: false - - /@nicolo-ribaudo/semver-v6@6.3.3: - resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==} - hasBin: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 dev: false /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: false - /@sinonjs/commons@3.0.0: - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 dev: false @@ -712,76 +644,78 @@ packages: /@sinonjs/fake-timers@10.3.0: resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 dev: false - /@types/babel__core@7.20.1: - resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.20.1 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 dev: false - /@types/babel__generator@7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.24.7 dev: false - /@types/babel__template@7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.22.7 - '@babel/types': 7.22.5 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 dev: false - /@types/babel__traverse@7.20.1: - resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.22.5 + '@babel/types': 7.24.7 dev: false - /@types/graceful-fs@4.1.6: - resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.4.0 + '@types/node': 20.14.9 dev: false - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: false - /@types/istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: - '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-coverage': 2.0.6 dev: false - /@types/istanbul-reports@3.0.1: - resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: - '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-lib-report': 3.0.3 dev: false - /@types/node@20.4.0: - resolution: {integrity: sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g==} + /@types/node@20.14.9: + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} + dependencies: + undici-types: 5.26.5 dev: false - /@types/stack-utils@2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: false - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} dev: false - /@types/yargs@17.0.24: - resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 dev: false /ansi-escapes@4.3.2: @@ -829,17 +763,17 @@ packages: sprintf-js: 1.0.3 dev: false - /babel-jest@29.7.0(@babel/core@7.22.8): + /babel-jest@29.7.0(@babel/core@7.24.7): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.24.7 '@jest/transform': 29.7.0 - '@types/babel__core': 7.20.1 + '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.22.8) + babel-preset-jest: 29.6.3(@babel/core@7.24.7) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -851,7 +785,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.24.7 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -864,41 +798,41 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.22.5 - '@babel/types': 7.22.5 - '@types/babel__core': 7.20.1 - '@types/babel__traverse': 7.20.1 + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + '@types/babel__core': 7.20.5 + '@types/babel__traverse': 7.20.6 dev: false - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.8): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.7): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.8 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.8) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.8) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.8) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.8) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.8) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.8) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.8) - dev: false - - /babel-preset-jest@29.6.3(@babel/core@7.22.8): + '@babel/core': 7.24.7 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) + dev: false + + /babel-preset-jest@29.6.3(@babel/core@7.24.7): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.24.7 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.8) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) dev: false /balanced-match@1.0.2: @@ -919,15 +853,15 @@ packages: fill-range: 7.1.1 dev: false - /browserslist@4.21.9: - resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} + /browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001512 - electron-to-chromium: 1.4.451 - node-releases: 2.0.12 - update-browserslist-db: 1.0.11(browserslist@4.21.9) + caniuse-lite: 1.0.30001639 + electron-to-chromium: 1.4.815 + node-releases: 2.0.14 + update-browserslist-db: 1.0.16(browserslist@4.23.1) dev: false /bser@2.1.1: @@ -959,8 +893,8 @@ packages: engines: {node: '>=10'} dev: false - /caniuse-lite@1.0.30001512: - resolution: {integrity: sha512-2S9nK0G/mE+jasCUsMPlARhRCts1ebcp2Ji8Y8PWi4NDE1iRdLCnEPHkEfeBrGC45L4isBx5ur3IQ6yTE2mRZw==} + /caniuse-lite@1.0.30001639: + resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} dev: false /chalk@2.4.2: @@ -985,13 +919,13 @@ packages: engines: {node: '>=10'} dev: false - /ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} dev: false - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + /cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} dev: false /cliui@8.0.1: @@ -1037,10 +971,6 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: false - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: false - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: false @@ -1054,7 +984,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.4.0) + jest-config: 29.7.0(@types/node@20.14.9) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -1073,8 +1003,8 @@ packages: which: 2.0.2 dev: false - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + /debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1085,8 +1015,8 @@ packages: ms: 2.1.2 dev: false - /dedent@1.3.0: - resolution: {integrity: sha512-7glNLfvdsMzZm3FpRY1CHuI2lbYDR+71YmrhmTZjYFD5pfT0ACgnGRdrrC9Mk2uICnzkcdelCx5at787UDGOvg==} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -1120,8 +1050,8 @@ packages: safe-buffer: 5.2.1 dev: false - /electron-to-chromium@1.4.451: - resolution: {integrity: sha512-YYbXHIBxAHe3KWvGOJOuWa6f3tgow44rBW+QAuwVp2DvGqNZeE//K2MowNdWS7XE8li5cgQDrX1LdBr41LufkA==} + /electron-to-chromium@1.4.815: + resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} dev: false /emittery@0.13.1: @@ -1139,8 +1069,8 @@ packages: is-arrayish: 0.2.1 dev: false - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} dev: false @@ -1220,16 +1150,16 @@ packages: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: false - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: false optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: false /gensync@1.0.0-beta.2: @@ -1254,6 +1184,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1282,11 +1213,11 @@ packages: engines: {node: '>=8'} dev: false - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 dev: false /html-escaper@2.0.2: @@ -1314,6 +1245,7 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -1327,10 +1259,11 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: false - /is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + /is-core-module@2.14.0: + resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} + engines: {node: '>= 0.4'} dependencies: - has: 1.0.3 + hasown: 2.0.2 dev: false /is-fullwidth-code-point@3.0.0: @@ -1360,14 +1293,14 @@ packages: /isomorphic-fetch@3.0.0: resolution: {integrity: sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==} dependencies: - node-fetch: 2.6.12 - whatwg-fetch: 3.6.2 + node-fetch: 2.7.0 + whatwg-fetch: 3.6.20 transitivePeerDependencies: - encoding dev: false - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} dev: false @@ -1375,34 +1308,34 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.22.8 - '@babel/parser': 7.22.7 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 7.5.4 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: false - /istanbul-lib-instrument@6.0.0: - resolution: {integrity: sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw==} + /istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.22.8 - '@babel/parser': 7.22.7 + '@babel/core': 7.24.7 + '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 7.5.4 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: false - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 supports-color: 7.2.0 dev: false @@ -1410,19 +1343,19 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.0 + debug: 4.3.5 + istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: false - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + istanbul-lib-report: 3.0.1 dev: false /jest-changed-files@29.7.0: @@ -1442,10 +1375,10 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 chalk: 4.1.2 co: 4.6.0 - dedent: 1.3.0 + dedent: 1.5.3 is-generator-fn: 2.1.0 jest-each: 29.7.0 jest-matcher-utils: 29.7.0 @@ -1455,7 +1388,7 @@ packages: jest-util: 29.7.0 p-limit: 3.1.0 pretty-format: 29.7.0 - pure-rand: 6.0.2 + pure-rand: 6.1.0 slash: 3.0.0 stack-utils: 2.0.6 transitivePeerDependencies: @@ -1480,7 +1413,7 @@ packages: create-jest: 29.7.0 exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.4.0) + jest-config: 29.7.0(@types/node@20.14.9) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -1491,7 +1424,7 @@ packages: - ts-node dev: false - /jest-config@29.7.0(@types/node@20.4.0): + /jest-config@29.7.0(@types/node@20.14.9): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -1503,13 +1436,13 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.22.8 + '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 - babel-jest: 29.7.0(@babel/core@7.22.8) + '@types/node': 20.14.9 + babel-jest: 29.7.0(@babel/core@7.24.7) chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 @@ -1521,7 +1454,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -1566,7 +1499,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -1581,18 +1514,18 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/graceful-fs': 4.1.6 - '@types/node': 20.4.0 + '@types/graceful-fs': 4.1.9 + '@types/node': 20.14.9 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: - fsevents: 2.3.2 + fsevents: 2.3.3 dev: false /jest-leak-detector@29.7.0: @@ -1617,12 +1550,12 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.1 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -1633,7 +1566,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 jest-util: 29.7.0 dev: false @@ -1674,7 +1607,7 @@ packages: jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0) jest-util: 29.7.0 jest-validate: 29.7.0 - resolve: 1.22.2 + resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 dev: false @@ -1688,7 +1621,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -1719,9 +1652,9 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 chalk: 4.1.2 - cjs-module-lexer: 1.2.3 + cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -1742,15 +1675,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.22.8 - '@babel/generator': 7.22.7 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.8) - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.8) - '@babel/types': 7.22.5 + '@babel/core': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.7) + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.7) + '@babel/types': 7.24.7 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.8) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.7) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -1761,7 +1694,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.4 + semver: 7.6.2 transitivePeerDependencies: - supports-color dev: false @@ -1771,9 +1704,9 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 dev: false @@ -1796,7 +1729,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.4.0 + '@types/node': 20.14.9 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -1808,7 +1741,7 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.4.0 + '@types/node': 20.14.9 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -1869,8 +1802,8 @@ packages: dependencies: jws: 3.2.2 lodash: 4.17.21 - ms: 2.1.2 - semver: 7.5.4 + ms: 2.1.3 + semver: 7.6.2 dev: false /jwa@1.4.1: @@ -1919,18 +1852,11 @@ packages: yallist: 3.1.1 dev: false - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - yallist: 4.0.0 - dev: false - - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - dependencies: - semver: 7.5.4 + semver: 7.6.2 dev: false /makeerror@1.0.12: @@ -1943,8 +1869,8 @@ packages: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: false - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} dependencies: braces: 3.0.3 @@ -1966,12 +1892,16 @@ packages: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: false + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 @@ -1986,8 +1916,8 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: false - /node-releases@2.0.12: - resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: false /normalize-path@3.0.0: @@ -2045,7 +1975,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.24.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -2070,8 +2000,8 @@ packages: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} dev: false /picomatch@2.3.1: @@ -2097,7 +2027,7 @@ packages: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: false /prompts@2.4.2: @@ -2108,12 +2038,12 @@ packages: sisteransi: 1.0.5 dev: false - /pure-rand@6.0.2: - resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} dev: false - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: false /require-directory@2.1.1: @@ -2138,11 +2068,11 @@ packages: engines: {node: '>=10'} dev: false - /resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.12.1 + is-core-module: 2.14.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -2151,12 +2081,10 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 dev: false /shebang-command@2.0.0: @@ -2311,15 +2239,19 @@ packages: engines: {node: '>=10'} dev: false - /update-browserslist-db@1.0.11(browserslist@4.21.9): - resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: false + + /update-browserslist-db@1.0.16(browserslist@4.23.1): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.9 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 dev: false /uuid@9.0.0: @@ -2327,13 +2259,13 @@ packages: hasBin: true dev: false - /v8-to-istanbul@9.1.0: - resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + /v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.18 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 dev: false /walker@1.0.8: @@ -2346,8 +2278,8 @@ packages: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: false - /whatwg-fetch@3.6.2: - resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + /whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} dev: false /whatwg-url@5.0.0: @@ -2395,10 +2327,6 @@ packages: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: false - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false - /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -2409,7 +2337,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 From 0f05cc9e26ab96af05ff8ae3f0c5c610399ceaf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Mon, 1 Jul 2024 16:11:29 +0100 Subject: [PATCH 16/38] chore: Fix broken lockfiles (#3358) --- api.planx.uk/pnpm-lock.yaml | 75 +--------- e2e/tests/api-driven/pnpm-lock.yaml | 15 -- e2e/tests/ui-driven/pnpm-lock.yaml | 19 --- editor.planx.uk/pnpm-lock.yaml | 196 ++------------------------- hasura.planx.uk/tests/pnpm-lock.yaml | 17 --- 5 files changed, 16 insertions(+), 306 deletions(-) diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index bc32cd21ed..89a9ab3e88 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -577,7 +577,6 @@ packages: /@babel/parser@7.24.7: resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} - hasBin: true dependencies: '@babel/types': 7.24.7 @@ -802,7 +801,6 @@ packages: /@cnakazawa/watch@1.0.4: resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} - hasBin: true dependencies: exec-sh: 0.3.6 minimist: 1.2.8 @@ -1226,7 +1224,6 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.5 @@ -1240,7 +1237,6 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -2026,14 +2022,12 @@ packages: /@types/pino-pretty@5.0.0: resolution: {integrity: sha512-N1uzqSzioqz8R3AkDbSJwcfDWeI3YMPNapSQQhnB2ISU4NYgUIcAh+hYT5ygqBM+klX4htpEhXMmoJv3J7GrdA==} - deprecated: This is a stub types definition. pino-pretty provides its own type definitions, so you do not need this installed. dependencies: pino-pretty: 11.2.1 dev: true /@types/pino-std-serializers@4.0.0: resolution: {integrity: sha512-gXfUZx2xIBbFYozGms53fT0nvkacx/+62c8iTxrEqH5PkIGAQvDbXg2774VWOycMPbqn5YJBQ3BMsg4Li3dWbg==} - deprecated: This is a stub types definition. pino-std-serializers provides its own type definitions, so you do not need this installed. dependencies: pino-std-serializers: 7.0.0 dev: true @@ -2330,7 +2324,6 @@ packages: /acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} - hasBin: true /adm-zip@0.5.10: resolution: {integrity: sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==} @@ -2495,7 +2488,6 @@ packages: /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} - hasBin: true dev: true /atomic-sleep@1.0.0: @@ -2733,7 +2725,6 @@ packages: /browserslist@4.23.1: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true dependencies: caniuse-lite: 1.0.30001639 electron-to-chromium: 1.4.815 @@ -3135,7 +3126,6 @@ packages: /copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} - hasBin: true dependencies: glob: 7.2.3 minimatch: 3.1.2 @@ -3172,7 +3162,6 @@ packages: /create-jest@29.7.0(@types/node@18.19.13): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -3649,7 +3638,6 @@ packages: /esbuild@0.21.4: resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} engines: {node: '>=12'} - hasBin: true requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.21.4 @@ -3700,7 +3688,6 @@ packages: /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: @@ -3751,7 +3738,6 @@ packages: /eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.11.0 @@ -3815,7 +3801,6 @@ packages: /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} - hasBin: true dev: true /esquery@1.5.0: @@ -3975,7 +3960,6 @@ packages: /express-pino-logger@7.0.0: resolution: {integrity: sha512-g8T6nhqq9L9AuwppymXa1rm6+A7xVUfkcEodXA+d2ILsM1uyoqSn83kpXE61v6JR2eFL8n878VyFDir1w2PuPw==} - deprecated: use pino-http instead dependencies: pino-http: 6.6.0 dev: false @@ -4368,7 +4352,6 @@ packages: /glob@10.4.2: resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} - hasBin: true dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 @@ -4379,7 +4362,6 @@ packages: /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4391,7 +4373,6 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -4558,7 +4539,6 @@ packages: /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true dev: false /helmet@7.1.0: @@ -4675,7 +4655,6 @@ packages: /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} - hasBin: true dev: false /iconv-lite@0.4.24: @@ -4718,7 +4697,6 @@ packages: /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} - hasBin: true dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 @@ -4730,7 +4708,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -4778,7 +4755,6 @@ packages: /is-ci@2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true dependencies: ci-info: 2.0.0 dev: true @@ -4822,7 +4798,6 @@ packages: /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} - hasBin: true dev: true /is-extendable@0.1.1: @@ -5092,7 +5067,6 @@ packages: /jest-cli@29.7.0(@types/node@18.19.13): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -5513,7 +5487,6 @@ packages: /jest@29.7.0(@types/node@18.19.13): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -5546,7 +5519,6 @@ packages: /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -5554,7 +5526,6 @@ packages: /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true dependencies: argparse: 2.0.1 @@ -5597,7 +5568,6 @@ packages: /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} - hasBin: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -5645,17 +5615,16 @@ packages: /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} - hasBin: true dev: true /jsondiffpatch@0.5.0: resolution: {integrity: sha512-Quz3MvAwHxVYNXsOByL7xI5EB2WYOeFswqaHIA3qOK3isRWTxiplBEocmmru6XmxDB2L7jDNYtYA4FyimoAFEw==} engines: {node: '>=8.17.0'} - hasBin: true dependencies: chalk: 3.0.0 diff-match-patch: 1.0.5 dev: false + bundledDependencies: [] /jsonwebtoken@9.0.2: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} @@ -5762,7 +5731,6 @@ packages: /lint-staged@15.0.2: resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} engines: {node: '>=18.12.0'} - hasBin: true dependencies: chalk: 5.3.0 commander: 11.1.0 @@ -6008,19 +5976,16 @@ packages: /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} - hasBin: true dev: false /mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} - hasBin: true dev: true /mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} - hasBin: true dev: false /mimic-fn@2.1.0: @@ -6061,7 +6026,6 @@ packages: /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true dependencies: minimist: 1.2.8 dev: false @@ -6069,7 +6033,6 @@ packages: /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} - hasBin: true /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} @@ -6103,7 +6066,6 @@ packages: /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true dev: false /nanoid@5.0.7: @@ -6165,7 +6127,6 @@ packages: /node-dev@8.0.0: resolution: {integrity: sha512-GXc0KxmBXfQxMPdymOui40yvC5W/RXFwmuUDT65wvTAO/o9wAsddYC8q4EHKxq3Qqt+uLS/g7XKdgVcsjyk9lw==} engines: {node: '>=14'} - hasBin: true dependencies: dateformat: 3.0.3 dynamic-dedupe: 0.3.0 @@ -6556,7 +6517,6 @@ packages: /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} - hasBin: true dev: true /pino-abstract-transport@0.5.0: @@ -6588,7 +6548,6 @@ packages: /pino-pretty@11.2.1: resolution: {integrity: sha512-O05NuD9tkRasFRWVaF/uHLOvoRDFD7tb5VMertr78rbsYFjYp48Vg3477EshVAF5eZaEw+OpDl/tu+B0R5o+7g==} - hasBin: true dependencies: colorette: 2.0.20 dateformat: 4.6.3 @@ -6620,7 +6579,6 @@ packages: /pino@7.11.0: resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} - hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -6664,7 +6622,6 @@ packages: /prettier@3.2.4: resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} engines: {node: '>=14'} - hasBin: true dev: true /prettier@3.3.2: @@ -6783,7 +6740,6 @@ packages: /querystring@0.2.0: resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: false /querystringify@2.2.0: @@ -6968,7 +6924,6 @@ packages: /resolve-url@0.2.1: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated dev: true /resolve.exports@2.0.2: @@ -6978,7 +6933,6 @@ packages: /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true dependencies: is-core-module: 2.14.0 path-parse: 1.0.7 @@ -7007,23 +6961,18 @@ packages: /rimraf@2.7.1: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true dependencies: glob: 7.2.3 dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true dependencies: glob: 7.2.3 /rimraf@5.0.5: resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} engines: {node: '>=14'} - hasBin: true dependencies: glob: 10.4.2 dev: true @@ -7071,8 +7020,6 @@ packages: /sane@4.1.0: resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true dependencies: '@cnakazawa/watch': 1.0.4 anymatch: 2.0.0 @@ -7114,18 +7061,15 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true dev: true /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} - hasBin: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -7293,7 +7237,6 @@ packages: /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: atob: 2.1.2 decode-uri-component: 0.2.2 @@ -7318,7 +7261,6 @@ packages: /source-map-url@0.4.1: resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true /source-map@0.5.7: @@ -7535,7 +7477,6 @@ packages: /swagger-jsdoc@6.2.8(openapi-types@12.1.3): resolution: {integrity: sha512-VPvil1+JRpmJ55CgAtn8DIcpBs0bL5L3q5bVQvF4tAW/k/9JYSj7dCpaYCAv5rufe0vcCbBRQXGvzpkWjvLklQ==} engines: {node: '>=12.0.0'} - hasBin: true dependencies: commander: 6.2.0 doctrine: 3.0.0 @@ -7672,13 +7613,11 @@ packages: /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true dev: true /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.4.3): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' '@jest/types': ^29.0.0 @@ -7713,7 +7652,6 @@ packages: /ts-node-dev@2.0.0(@types/node@18.19.13)(typescript@5.4.3): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} - hasBin: true peerDependencies: node-notifier: '*' typescript: '*' @@ -7740,7 +7678,6 @@ packages: /ts-node@10.9.2(@types/node@18.19.13)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -7857,7 +7794,6 @@ packages: /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} - hasBin: true dev: true /uid2@0.0.4: @@ -7902,7 +7838,6 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -7918,7 +7853,6 @@ packages: /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated dev: true /url-parse@1.5.10: @@ -7966,17 +7900,14 @@ packages: /uuid@8.0.0: resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} - hasBin: true dev: false /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true dev: true /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true dev: true /v8-compile-cache-lib@3.0.1: @@ -8073,7 +8004,6 @@ packages: /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true dependencies: isexe: 2.0.0 dev: true @@ -8081,7 +8011,6 @@ packages: /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} - hasBin: true dependencies: isexe: 2.0.0 @@ -8246,7 +8175,6 @@ packages: /z-schema@5.0.5: resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} engines: {node: '>=8.0.0'} - hasBin: true dependencies: lodash.get: 4.4.2 lodash.isequal: 4.5.0 @@ -8267,7 +8195,6 @@ packages: resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 - prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index c2d0779c7a..cf097777b1 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -213,7 +213,6 @@ packages: /@cucumber/cucumber@9.3.0: resolution: {integrity: sha512-8QvcQVJzRra3pZpV0dITPcFuT2yYH0C1fEgzDlqe6+Zpz9k3z+ov9xUWEYgKp0VMx65JxNKAYYYWmG6cWOiYQQ==} engines: {node: 14 || 16 || >=18} - hasBin: true dependencies: '@cucumber/ci-environment': 9.2.0 '@cucumber/cucumber-expressions': 16.1.2 @@ -259,7 +258,6 @@ packages: /@cucumber/gherkin-streams@5.0.1(@cucumber/gherkin@26.2.0)(@cucumber/message-streams@4.0.1)(@cucumber/messages@22.0.0): resolution: {integrity: sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==} - hasBin: true peerDependencies: '@cucumber/gherkin': '>=22.0.0' '@cucumber/message-streams': '>=4.0.0' @@ -274,7 +272,6 @@ packages: /@cucumber/gherkin-utils@8.0.2: resolution: {integrity: sha512-aQlziN3r3cTwprEDbLEcFoMRQajb9DTOu2OZZp5xkuNz6bjSTowSY90lHUD2pWT7jhEEckZRIREnk7MAwC2d1A==} - hasBin: true dependencies: '@cucumber/gherkin': 25.0.2 '@cucumber/messages': 19.1.4 @@ -884,7 +881,6 @@ packages: /acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} - hasBin: true /ajv-formats@2.1.1(ajv@8.16.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -1689,7 +1685,6 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1822,7 +1817,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -2192,7 +2186,6 @@ packages: /mkdirp@2.1.6: resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} engines: {node: '>=10'} - hasBin: true dev: false /mkdirp@3.0.1: @@ -2537,7 +2530,6 @@ packages: /regexp-tree@0.1.27: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true dev: false /repeat-string@1.6.1: @@ -2625,7 +2617,6 @@ packages: /semver@7.5.3: resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} - hasBin: true dependencies: lru-cache: 6.0.0 dev: false @@ -2633,7 +2624,6 @@ packages: /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} - hasBin: true dev: false /setimmediate@1.0.5: @@ -2816,7 +2806,6 @@ packages: /ts-node@10.9.1(@types/node@18.16.1)(typescript@5.4.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -2873,7 +2862,6 @@ packages: /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} - hasBin: true dev: true /undici-types@5.26.5: @@ -2912,7 +2900,6 @@ packages: /uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true dev: false /v8-compile-cache-lib@3.0.1: @@ -3017,7 +3004,6 @@ packages: /yaml@2.4.5: resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} - hasBin: true dev: false /yargs-parser@20.2.9: @@ -3069,7 +3055,6 @@ packages: resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 - prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index 32d3fa41e6..e20757a273 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -401,7 +401,6 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.5 @@ -415,7 +414,6 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead /@isaacs/cliui@8.0.2: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -645,7 +643,6 @@ packages: /@playwright/test@1.40.1: resolution: {integrity: sha512-EaaawMTOeEItCRvfmkI9v6rBkF1svM8wjl/YPRrg2N2Wmp+4qJYkWtJsbew1szfKKDm6fPLy4YAanBhIlf9dWw==} engines: {node: '>=16'} - hasBin: true dependencies: playwright: 1.40.1 dev: true @@ -722,7 +719,6 @@ packages: /acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} - hasBin: true /ajv-formats@2.1.1(ajv@8.16.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} @@ -1302,7 +1298,6 @@ packages: /eslint@8.56.0: resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@eslint-community/regexpp': 4.11.0 @@ -1601,7 +1596,6 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1715,7 +1709,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -1741,7 +1734,6 @@ packages: /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} - hasBin: true dev: false /is-extglob@2.1.1: @@ -1819,7 +1811,6 @@ packages: /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true dependencies: argparse: 2.0.1 @@ -2273,13 +2264,11 @@ packages: /playwright-core@1.40.1: resolution: {integrity: sha512-+hkOycxPiV534c4HhpfX6yrlawqVUzITRKwHAmYfmsVreltEl6fAZJ3DPfLMOODw0H3s1Itd6MDCWmP1fl/QvQ==} engines: {node: '>=16'} - hasBin: true dev: true /playwright@1.40.1: resolution: {integrity: sha512-2eHI7IioIpQ0bS1Ovg/HszsN/XKNwEG1kbzSDDmADpclKc7CyqkHw7Mg2JCz/bbCxg25QUPcjksoMW7JcIFQmw==} engines: {node: '>=16'} - hasBin: true dependencies: playwright-core: 1.40.1 optionalDependencies: @@ -2330,7 +2319,6 @@ packages: /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true dependencies: deep-extend: 0.6.0 ini: 1.3.8 @@ -2445,8 +2433,6 @@ packages: /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true dependencies: glob: 7.2.3 @@ -2476,7 +2462,6 @@ packages: /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} - hasBin: true dev: false /serve-handler@6.1.5: @@ -2495,7 +2480,6 @@ packages: /serve@14.2.1: resolution: {integrity: sha512-48er5fzHh7GCShLnNyPBRPEjs2I6QBozeGr02gaacROiyS/8ARADlj595j39iZXAqBbJHH/ivJJyPRWY9sQWZA==} engines: {node: '>= 14'} - hasBin: true dependencies: '@zeit/schemas': 2.29.0 ajv: 8.11.0 @@ -2704,7 +2688,6 @@ packages: /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true dev: false /vary@1.1.2: @@ -2735,7 +2718,6 @@ packages: /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} - hasBin: true dependencies: isexe: 2.0.0 @@ -2827,7 +2809,6 @@ packages: resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 - prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index a3af39f28f..3569f494b1 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -558,7 +558,6 @@ packages: /@aw-web-design/x-default-browser@1.4.126: resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} - hasBin: true dependencies: default-browser-id: 3.0.0 dev: true @@ -983,7 +982,6 @@ packages: /@babel/parser@7.24.7: resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} - hasBin: true dependencies: '@babel/types': 7.24.7 @@ -1058,7 +1056,6 @@ packages: /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1084,7 +1081,6 @@ packages: /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.22.5): resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1096,7 +1092,6 @@ packages: /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1107,7 +1102,6 @@ packages: /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1118,7 +1112,6 @@ packages: /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.5): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1132,7 +1125,6 @@ packages: /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1162,7 +1154,6 @@ packages: /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.5): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -1177,7 +1168,6 @@ packages: /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3160,7 +3150,6 @@ packages: /@cnakazawa/watch@1.0.4: resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} - hasBin: true dependencies: exec-sh: 0.3.6 minimist: 1.2.8 @@ -3179,7 +3168,6 @@ packages: /@codemirror/basic-setup@0.19.3: resolution: {integrity: sha512-2hfO+QDk/HTpQzeYk1NyL1G9D5L7Sj78dtaQP8xBU42DKU9+OBPF5MdjLYnxP0jKzm6IfQfsLd89fnqW3rBVfQ==} - deprecated: In version 6.0, this package has been renamed to just 'codemirror' dependencies: '@codemirror/autocomplete': 0.19.15 '@codemirror/closebrackets': 0.19.2 @@ -3200,7 +3188,6 @@ packages: /@codemirror/closebrackets@0.19.2: resolution: {integrity: sha512-ClMPzPcPP0eQiDcVjtVPl6OLxgdtZSYDazsvT0AKl70V1OJva0eHgl4/6kCW3RZ0pb2n34i9nJz4eXCmK+TYDA==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/autocomplete dependencies: '@codemirror/language': 0.19.10 '@codemirror/rangeset': 0.19.9 @@ -3222,7 +3209,6 @@ packages: /@codemirror/comment@0.19.1: resolution: {integrity: sha512-uGKteBuVWAC6fW+Yt8u27DOnXMT/xV4Ekk2Z5mRsiADCZDqYvryrJd6PLL5+8t64BVyocwQwNfz1UswYS2CtFQ==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/commands dependencies: '@codemirror/state': 0.19.9 '@codemirror/text': 0.19.6 @@ -3231,7 +3217,6 @@ packages: /@codemirror/fold@0.19.4: resolution: {integrity: sha512-0SNSkRSOa6gymD6GauHa3sxiysjPhUC0SRVyTlvL52o0gz9GHdc8kNqNQskm3fBtGGOiSriGwF/kAsajRiGhVw==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/language dependencies: '@codemirror/gutter': 0.19.9 '@codemirror/language': 0.19.10 @@ -3242,7 +3227,6 @@ packages: /@codemirror/gutter@0.19.9: resolution: {integrity: sha512-PFrtmilahin1g6uL27aG5tM/rqR9DZzZYZsIrCXA5Uc2OFTFqx4owuhoU9hqfYxHp5ovfvBwQ+txFzqS4vog6Q==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/view dependencies: '@codemirror/rangeset': 0.19.9 '@codemirror/state': 0.19.9 @@ -3251,7 +3235,6 @@ packages: /@codemirror/highlight@0.19.8: resolution: {integrity: sha512-v/lzuHjrYR8MN2mEJcUD6fHSTXXli9C1XGYpr+ElV6fLBIUhMTNKR3qThp611xuWfXfwDxeL7ppcbkM/MzPV3A==} - deprecated: As of 0.20.0, this package has been split between @lezer/highlight and @codemirror/language dependencies: '@codemirror/language': 0.19.10 '@codemirror/rangeset': 0.19.9 @@ -3263,7 +3246,6 @@ packages: /@codemirror/history@0.19.2: resolution: {integrity: sha512-unhP4t3N2smzmHoo/Yio6ueWi+il8gm9VKrvi6wlcdGH5fOfVDNkmjHQ495SiR+EdOG35+3iNebSPYww0vN7ow==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/commands dependencies: '@codemirror/state': 0.19.9 '@codemirror/view': 0.19.48 @@ -3311,7 +3293,6 @@ packages: /@codemirror/matchbrackets@0.19.4: resolution: {integrity: sha512-VFkaOKPNudAA5sGP1zikRHCEKU0hjYmkKpr04pybUpQvfTvNJXlReCyP0rvH/1iEwAGPL990ZTT+QrLdu4MeEA==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/language dependencies: '@codemirror/language': 0.19.10 '@codemirror/state': 0.19.9 @@ -3321,7 +3302,6 @@ packages: /@codemirror/panel@0.19.1: resolution: {integrity: sha512-sYeOCMA3KRYxZYJYn5PNlt9yNsjy3zTNTrbYSfVgjgL9QomIVgOJWPO5hZ2sTN8lufO6lw0vTBsIPL9MSidmBg==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/view dependencies: '@codemirror/state': 0.19.9 '@codemirror/view': 0.19.48 @@ -3329,14 +3309,12 @@ packages: /@codemirror/rangeset@0.19.9: resolution: {integrity: sha512-V8YUuOvK+ew87Xem+71nKcqu1SXd5QROMRLMS/ljT5/3MCxtgrRie1Cvild0G/Z2f1fpWxzX78V0U4jjXBorBQ==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/state dependencies: '@codemirror/state': 0.19.9 dev: true /@codemirror/rectangular-selection@0.19.2: resolution: {integrity: sha512-AXK/p5eGwFJ9GJcLfntqN4dgY+XiIF7eHfXNQJX5HhQLSped2wJE6WuC1rMEaOlcpOqlb9mrNi/ZdUjSIj9mbA==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/view dependencies: '@codemirror/state': 0.19.9 '@codemirror/text': 0.19.6 @@ -3362,7 +3340,6 @@ packages: /@codemirror/stream-parser@0.19.9: resolution: {integrity: sha512-WTmkEFSRCetpk8xIOvV2yyXdZs3DgYckM0IP7eFi4ewlxWnJO/H4BeJZLs4wQaydWsAqTQoDyIwNH1BCzK5LUQ==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/language dependencies: '@codemirror/highlight': 0.19.8 '@codemirror/language': 0.19.10 @@ -3374,7 +3351,6 @@ packages: /@codemirror/text@0.19.6: resolution: {integrity: sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/state dev: true /@codemirror/theme-one-dark@0.19.0: @@ -3387,7 +3363,6 @@ packages: /@codemirror/tooltip@0.19.16: resolution: {integrity: sha512-zxKDHryUV5/RS45AQL+wOeN+i7/l81wK56OMnUPoTSzCWNITfxHn7BToDsjtrRKbzHqUxKYmBnn/4hPjpZ4WJQ==} - deprecated: As of 0.20.0, this package has been merged into @codemirror/view dependencies: '@codemirror/state': 0.19.9 '@codemirror/view': 0.19.48 @@ -3413,7 +3388,6 @@ packages: /@craco/craco@7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): resolution: {integrity: sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==} engines: {node: '>=6'} - hasBin: true peerDependencies: react-scripts: ^5.0.0 dependencies: @@ -4587,7 +4561,6 @@ packages: /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.5 @@ -4601,7 +4574,6 @@ packages: /@humanwhocodes/object-schema@2.0.3: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead /@icons/material@0.2.4(react@18.2.0): resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==} @@ -5010,7 +4982,6 @@ packages: /@mapbox/mapbox-gl-style-spec@13.28.0: resolution: {integrity: sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==} - hasBin: true dependencies: '@mapbox/jsonlint-lines-primitives': 2.0.2 '@mapbox/point-geometry': 0.1.0 @@ -5578,7 +5549,6 @@ packages: /@nicolo-ribaudo/semver-v6@6.3.3: resolution: {integrity: sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==} - hasBin: true /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -6809,11 +6779,11 @@ packages: - supports-color dev: true - /@storybook/builder-manager@8.1.10(prettier@3.0.0): + /@storybook/builder-manager@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/manager': 8.1.10 '@storybook/node-logger': 8.1.10 '@types/ejs': 3.1.5 @@ -6911,18 +6881,17 @@ packages: /@storybook/cli@8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7Fm2Qgk33sHayZ0QABqwe1Jto4yyVRVW6kTrSeP5IuLh+mn244RgxBvWtGCyL1EcWDFI7PYUFa0HxgTCq7C+OA==} - hasBin: true dependencies: '@babel/core': 7.24.7 '@babel/types': 7.24.7 '@ndelangen/get-tarball': 3.0.9 '@storybook/codemod': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/core-events': 8.1.10 - '@storybook/core-server': 8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-server': 8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0) '@storybook/csf-tools': 8.1.10 '@storybook/node-logger': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.0.0) + '@storybook/telemetry': 8.1.10(prettier@3.3.2) '@storybook/types': 8.1.10 '@types/semver': 7.5.8 '@yarnpkg/fslib': 2.10.3 @@ -7061,7 +7030,7 @@ packages: - supports-color dev: true - /@storybook/core-common@8.1.10(prettier@3.0.0): + /@storybook/core-common@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==} peerDependencies: prettier: ^2 || ^3 @@ -7090,8 +7059,8 @@ packages: node-fetch: 2.7.0 picomatch: 2.3.1 pkg-dir: 5.0.0 - prettier: 3.0.0 - prettier-fallback: /prettier@3.0.0 + prettier: 3.3.2 + prettier-fallback: /prettier@3.3.2 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 semver: 7.6.2 @@ -7123,16 +7092,16 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/core-server@8.1.10(prettier@3.0.0)(react-dom@18.2.0)(react@18.2.0): + /@storybook/core-server@8.1.10(prettier@3.3.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.7 '@babel/parser': 7.24.7 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.1.10(prettier@3.0.0) + '@storybook/builder-manager': 8.1.10(prettier@3.3.2) '@storybook/channels': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/core-events': 8.1.10 '@storybook/csf': 0.1.9 '@storybook/csf-tools': 8.1.10 @@ -7142,7 +7111,7 @@ packages: '@storybook/manager-api': 8.1.10(react-dom@18.2.0)(react@18.2.0) '@storybook/node-logger': 8.1.10 '@storybook/preview-api': 8.1.10 - '@storybook/telemetry': 8.1.10(prettier@3.0.0) + '@storybook/telemetry': 8.1.10(prettier@3.3.2) '@storybook/types': 8.1.10 '@types/detect-port': 1.3.5 '@types/diff': 5.2.1 @@ -7584,11 +7553,11 @@ packages: qs: 6.12.1 dev: true - /@storybook/telemetry@8.1.10(prettier@3.0.0): + /@storybook/telemetry@8.1.10(prettier@3.3.2): resolution: {integrity: sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==} dependencies: '@storybook/client-logger': 8.1.10 - '@storybook/core-common': 8.1.10(prettier@3.0.0) + '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/csf-tools': 8.1.10 chalk: 4.1.2 detect-package-manager: 2.0.1 @@ -7902,20 +7871,6 @@ packages: pretty-format: 27.5.1 dev: true - /@testing-library/dom@8.20.1: - resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} - engines: {node: '>=12'} - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.24.7 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -7953,7 +7908,7 @@ packages: react-dom: ^18.0.0 dependencies: '@babel/runtime': 7.24.7 - '@testing-library/dom': 8.20.1 + '@testing-library/dom': 9.3.4 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -9144,7 +9099,6 @@ packages: /abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead /abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} @@ -9206,12 +9160,10 @@ packages: /acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} - hasBin: true /acorn@8.12.0: resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} - hasBin: true /address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} @@ -9290,12 +9242,10 @@ packages: /ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} - hasBin: true /ansi-html@0.0.9: resolution: {integrity: sha512-ozbS3LuenHVxNRh/wdnN16QapUHzauqSomAl1jwwJRRsGwFwtj644lIhxfWu0Fy0acCij2+AEgHvjscq3dlVXg==} engines: {'0': node >= 0.8.0} - hasBin: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -9565,7 +9515,6 @@ packages: /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} - hasBin: true /attr-accept@2.2.2: resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==} @@ -9575,7 +9524,6 @@ packages: /autoprefixer@10.4.16(postcss@8.4.32): resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} - hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: @@ -10094,7 +10042,6 @@ packages: /browserslist@4.23.1: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true dependencies: caniuse-lite: 1.0.30001639 electron-to-chromium: 1.4.815 @@ -10109,7 +10056,6 @@ packages: /btoa@1.2.1: resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==} engines: {node: '>= 0.4.0'} - hasBin: true dev: false /buffer-from@1.1.2: @@ -10724,7 +10670,6 @@ packages: /core-js@2.6.12: resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} - deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. requiresBuild: true dev: true @@ -10835,7 +10780,6 @@ packages: /css-blank-pseudo@3.0.3(postcss@8.4.32): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} - hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -10863,7 +10807,6 @@ packages: /css-has-pseudo@3.0.4(postcss@8.4.32): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} - hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -10936,7 +10879,6 @@ packages: /css-prefers-color-scheme@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} - hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -11015,7 +10957,6 @@ packages: /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} - hasBin: true /cssnano-preset-default@5.2.14(postcss@8.4.32): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} @@ -11368,7 +11309,6 @@ packages: /detect-port-alt@1.1.6: resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} engines: {node: '>= 4.2.1'} - hasBin: true dependencies: address: 1.2.2 debug: 2.6.9 @@ -11378,7 +11318,6 @@ packages: /detect-port@1.6.1: resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==} engines: {node: '>= 4.0.0'} - hasBin: true dependencies: address: 1.2.2 debug: 4.3.5 @@ -11502,7 +11441,6 @@ packages: /domexception@2.0.1: resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead dependencies: webidl-conversions: 5.0.0 @@ -11600,7 +11538,6 @@ packages: /editorconfig@1.0.4: resolution: {integrity: sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==} engines: {node: '>=14'} - hasBin: true dependencies: '@one-ini/wasm': 0.1.1 commander: 10.0.1 @@ -11614,7 +11551,6 @@ packages: /ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} - hasBin: true dependencies: jake: 10.9.1 @@ -11679,7 +11615,6 @@ packages: /envinfo@7.13.0: resolution: {integrity: sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==} engines: {node: '>=4'} - hasBin: true dev: true /error-ex@1.3.2: @@ -11909,7 +11844,6 @@ packages: /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} - hasBin: true requiresBuild: true optionalDependencies: '@esbuild/android-arm': 0.18.20 @@ -11939,7 +11873,6 @@ packages: /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} - hasBin: true requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 @@ -11970,7 +11903,6 @@ packages: /esbuild@0.21.3: resolution: {integrity: sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==} engines: {node: '>=12'} - hasBin: true requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.21.3 @@ -12023,7 +11955,6 @@ packages: /escodegen@1.14.3: resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} engines: {node: '>=4.0'} - hasBin: true dependencies: esprima: 4.0.1 estraverse: 4.3.0 @@ -12035,7 +11966,6 @@ packages: /escodegen@2.1.0: resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} engines: {node: '>=6.0'} - hasBin: true dependencies: esprima: 4.0.1 estraverse: 5.3.0 @@ -12045,7 +11975,6 @@ packages: /eslint-config-prettier@9.0.0(eslint@8.44.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} - hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: @@ -12310,7 +12239,6 @@ packages: /eslint@8.44.0: resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@eslint-community/regexpp': 4.11.0 @@ -12422,12 +12350,10 @@ packages: /esprima@1.2.2: resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} engines: {node: '>=0.4.0'} - hasBin: true /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} - hasBin: true /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -12878,7 +12804,6 @@ packages: /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true dev: true /flatted@3.3.1: @@ -13207,7 +13132,6 @@ packages: /giget@1.2.3: resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==} - hasBin: true dependencies: citty: 0.1.6 consola: 3.2.3 @@ -13241,7 +13165,6 @@ packages: /glob@10.4.2: resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} - hasBin: true dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 @@ -13252,7 +13175,6 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13372,7 +13294,6 @@ packages: /gunzip-maybe@1.4.2: resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} - hasBin: true dependencies: browserify-zlib: 0.1.4 is-deflate: 1.0.0 @@ -13394,7 +13315,6 @@ packages: /handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} - hasBin: true dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -13488,7 +13408,6 @@ packages: /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true /hex-color-regex@1.1.0: resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} @@ -13549,7 +13468,6 @@ packages: /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} engines: {node: '>=12'} - hasBin: true dependencies: camel-case: 4.1.2 clean-css: 5.3.3 @@ -13710,7 +13628,6 @@ packages: /husky@8.0.3: resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} engines: {node: '>=14'} - hasBin: true dev: true /hyphenate-style-name@1.1.0: @@ -13777,7 +13694,6 @@ packages: /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} - hasBin: true dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 @@ -13793,7 +13709,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -13912,7 +13827,6 @@ packages: /is-ci@2.0.0: resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true dependencies: ci-info: 2.0.0 dev: true @@ -13976,7 +13890,6 @@ packages: /is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} - hasBin: true /is-dom@1.1.0: resolution: {integrity: sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==} @@ -14307,7 +14220,6 @@ packages: /jake@10.9.1: resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} engines: {node: '>=10'} - hasBin: true dependencies: async: 3.2.5 chalk: 4.1.2 @@ -14365,7 +14277,6 @@ packages: /jest-cli@27.5.1: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -14945,7 +14856,6 @@ packages: /jest@27.5.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -14964,12 +14874,10 @@ packages: /jiti@1.21.6: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} - hasBin: true /js-beautify@1.15.1: resolution: {integrity: sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==} engines: {node: '>=14'} - hasBin: true dependencies: config-chain: 1.1.13 editorconfig: 1.0.4 @@ -14991,20 +14899,17 @@ packages: /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true dependencies: argparse: 2.0.1 /jscodeshift@0.15.2(@babel/preset-env@7.22.6): resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 peerDependenciesMeta: @@ -15038,7 +14943,6 @@ packages: /jscodeshift@0.15.2(@babel/preset-env@7.24.7): resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} - hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 peerDependenciesMeta: @@ -15113,12 +15017,10 @@ packages: /jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} - hasBin: true /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} @@ -15163,14 +15065,12 @@ packages: /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true dependencies: minimist: 1.2.8 /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} - hasBin: true /jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -15395,7 +15295,6 @@ packages: /lint-staged@13.2.3: resolution: {integrity: sha512-zVVEXLuQIhr1Y7R7YAWx4TZLdvuzk7DnmrsTNL0fax6Z3jrpFcas+vKbzxhhvp6TA55m1SQuWkpzI1qbfDZbAg==} engines: {node: ^14.13.1 || >=16.0.0} - hasBin: true dependencies: chalk: 5.2.0 cli-truncate: 3.1.0 @@ -15547,7 +15446,6 @@ packages: /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true dependencies: js-tokens: 4.0.0 @@ -15573,7 +15471,6 @@ packages: /lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true dev: true /magic-string@0.25.9: @@ -15643,7 +15540,6 @@ packages: /markdown-it@14.1.0: resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} - hasBin: true dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -15674,7 +15570,6 @@ packages: /mathjs@11.8.2: resolution: {integrity: sha512-ZePu0oDbM0vuFExikIMY/9syjo/jbgNbX6ti+iMdaALDuxciMCsXIslGDBEn7QCpCWYBiVCYmc0lsmk5bwHBdQ==} engines: {node: '>= 14'} - hasBin: true dependencies: '@babel/runtime': 7.24.7 complex.js: 2.1.1 @@ -16021,7 +15916,6 @@ packages: /mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} - hasBin: true /mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} @@ -16121,14 +16015,12 @@ packages: /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true dependencies: minimist: 1.2.8 /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} - hasBin: true /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} @@ -16161,7 +16053,6 @@ packages: /multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true dependencies: dns-packet: 5.6.1 thunky: 1.1.0 @@ -16205,12 +16096,10 @@ packages: /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true /nanoid@5.0.7: resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} engines: {node: ^18 || >=20} - hasBin: true dev: false /nanomatch@1.2.13: @@ -16337,7 +16226,6 @@ packages: /nopt@7.2.1: resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true dependencies: abbrev: 2.0.0 dev: true @@ -16401,7 +16289,6 @@ packages: /nypm@0.3.9: resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==} engines: {node: ^14.16.0 || >=16.10.0} - hasBin: true dependencies: citty: 0.1.6 consola: 3.2.3 @@ -16850,7 +16737,6 @@ packages: /pbf@3.2.1: resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==} - hasBin: true dependencies: ieee754: 1.2.1 resolve-protobuf-schema: 2.1.0 @@ -16877,7 +16763,6 @@ packages: /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} - hasBin: true dev: true /pify@2.3.0: @@ -17697,7 +17582,6 @@ packages: /prettier@3.0.0: resolution: {integrity: sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==} engines: {node: '>=14'} - hasBin: true dev: true /prettier@3.3.2: @@ -18004,10 +17888,6 @@ packages: /q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} - deprecated: |- - You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. - - (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) /qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} @@ -18095,7 +17975,6 @@ packages: /react-app-rewired@2.2.1(react-scripts@5.0.1): resolution: {integrity: sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==} - hasBin: true peerDependencies: react-scripts: '>=2.1.3' dependencies: @@ -18493,7 +18372,6 @@ packages: /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} - hasBin: true peerDependencies: eslint: '*' react: '>= 16' @@ -18868,7 +18746,6 @@ packages: /regjsparser@0.9.1: resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true dependencies: jsesc: 0.5.0 @@ -18989,7 +18866,6 @@ packages: /resolve-url@0.2.1: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated dev: true /resolve.exports@1.1.1: @@ -18998,7 +18874,6 @@ packages: /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true dependencies: is-core-module: 2.14.0 path-parse: 1.0.7 @@ -19006,7 +18881,6 @@ packages: /resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true dependencies: is-core-module: 2.14.0 path-parse: 1.0.7 @@ -19063,16 +18937,12 @@ packages: /rimraf@2.6.3: resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true dependencies: glob: 7.2.3 dev: true /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true dependencies: glob: 7.2.3 @@ -19082,7 +18952,6 @@ packages: /rollup-plugin-terser@7.0.2(rollup@2.79.1): resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser peerDependencies: rollup: ^2.0.0 dependencies: @@ -19095,7 +18964,6 @@ packages: /rollup@2.79.1: resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} engines: {node: '>=10.0.0'} - hasBin: true optionalDependencies: fsevents: 2.3.3 @@ -19170,8 +19038,6 @@ packages: /sane@4.1.0: resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true dependencies: '@cnakazawa/watch': 1.0.4 anymatch: 2.0.0 @@ -19240,7 +19106,6 @@ packages: /sass@1.71.1: resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} engines: {node: '>=14.0.0'} - hasBin: true dependencies: chokidar: 3.6.0 immutable: 4.3.6 @@ -19324,17 +19189,14 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} - hasBin: true /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -19606,7 +19468,6 @@ packages: /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated dependencies: atob: 2.1.2 decode-uri-component: 0.2.2 @@ -19623,7 +19484,6 @@ packages: /source-map-url@0.4.1: resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated dev: true /source-map@0.5.6: @@ -19651,7 +19511,6 @@ packages: /sourcemap-codec@1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead /space-separated-tokens@1.1.5: resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==} @@ -19723,7 +19582,6 @@ packages: /stable@0.1.8: resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' /stack-generator@2.0.10: resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} @@ -19821,7 +19679,6 @@ packages: /storybook@8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-HHlZibyc/QkcQj8aEnYnYwEl+ItNZ/uRbCdkvJzu/vIWYon5jUg30mHFIGZprgLSt27CxOs30Et8yT9z4VhwjA==} - hasBin: true dependencies: '@storybook/cli': 8.1.10(@babel/preset-env@7.22.6)(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: @@ -20044,7 +19901,6 @@ packages: /subscriptions-transport-ws@0.11.0(graphql@16.8.1): resolution: {integrity: sha512-8D4C6DIH5tGiAIpp5I0wD/xRlNiZAPGHygzCe7VzyzUoxHtawzjNAY9SUTXU05/EY2NMY9/9GF0ycizkXr1CWQ==} - deprecated: The `subscriptions-transport-ws` package is no longer maintained. We recommend you use `graphql-ws` instead. For help migrating Apollo software to `graphql-ws`, see https://www.apollographql.com/docs/apollo-server/data/subscriptions/#switching-from-subscriptions-transport-ws For general help using `graphql-ws`, see https://github.com/enisdenjo/graphql-ws/blob/master/README.md peerDependencies: graphql: ^15.7.2 || ^16.0.0 dependencies: @@ -20062,7 +19918,6 @@ packages: /sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} - hasBin: true dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 @@ -20113,8 +19968,6 @@ packages: /svgo@1.3.2: resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true dependencies: chalk: 2.4.2 coa: 2.0.2 @@ -20133,7 +19986,6 @@ packages: /svgo@2.8.0: resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} engines: {node: '>=10.13.0'} - hasBin: true dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 @@ -20184,7 +20036,6 @@ packages: /tailwindcss@3.4.4: resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} - hasBin: true dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -20333,7 +20184,6 @@ packages: /terser@5.31.1: resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} engines: {node: '>=10'} - hasBin: true dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.0 @@ -20518,7 +20368,6 @@ packages: /ts-node@10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -20726,7 +20575,6 @@ packages: /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} - hasBin: true /ua-parser-js@1.0.38: resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} @@ -20743,7 +20591,6 @@ packages: /uglify-js@3.18.0: resolution: {integrity: sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==} engines: {node: '>=0.8.0'} - hasBin: true requiresBuild: true dev: true optional: true @@ -20920,7 +20767,6 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -20935,7 +20781,6 @@ packages: /urix@0.1.0: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated dev: true /url-parse@1.5.10: @@ -21064,16 +20909,13 @@ packages: /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true /uvu@0.5.6: resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} engines: {node: '>=8'} - hasBin: true dependencies: dequal: 2.0.3 diff: 5.2.0 @@ -21126,7 +20968,6 @@ packages: /w3c-hr-time@1.0.2: resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. dependencies: browser-process-hrtime: 1.0.0 @@ -21218,7 +21059,6 @@ packages: /webpack-dev-server@4.15.2(webpack@5.91.0): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} - hasBin: true peerDependencies: webpack: ^4.37.0 || ^5.0.0 webpack-cli: '*' @@ -21320,7 +21160,6 @@ packages: /webpack@5.91.0(@swc/core@1.6.6)(esbuild@0.21.3): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} - hasBin: true peerDependencies: webpack-cli: '*' peerDependenciesMeta: @@ -21447,14 +21286,12 @@ packages: /which@1.3.1: resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true dependencies: isexe: 2.0.0 /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} - hasBin: true dependencies: isexe: 2.0.0 @@ -21536,7 +21373,6 @@ packages: /workbox-cacheable-response@6.6.0: resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} - deprecated: workbox-background-sync@6.6.0 dependencies: workbox-core: 6.6.0 @@ -21744,7 +21580,6 @@ packages: /yaml@2.4.5: resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} - hasBin: true /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -21840,7 +21675,6 @@ packages: id: github.com/theopensystemslab/planx-core/b975cf9 name: '@opensystemslab/planx-core' version: 1.0.0 - prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(@types/react@18.2.45)(react@18.3.1) diff --git a/hasura.planx.uk/tests/pnpm-lock.yaml b/hasura.planx.uk/tests/pnpm-lock.yaml index 89746e8022..5cc294ccda 100644 --- a/hasura.planx.uk/tests/pnpm-lock.yaml +++ b/hasura.planx.uk/tests/pnpm-lock.yaml @@ -197,7 +197,6 @@ packages: /@babel/parser@7.24.7: resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} engines: {node: '>=6.0.0'} - hasBin: true dependencies: '@babel/types': 7.24.7 dev: false @@ -856,7 +855,6 @@ packages: /browserslist@4.23.1: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true dependencies: caniuse-lite: 1.0.30001639 electron-to-chromium: 1.4.815 @@ -978,7 +976,6 @@ packages: /create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -1087,7 +1084,6 @@ packages: /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} - hasBin: true dev: false /execa@5.1.1: @@ -1184,7 +1180,6 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -1232,7 +1227,6 @@ packages: /import-local@3.1.0: resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} engines: {node: '>=8'} - hasBin: true dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 @@ -1245,7 +1239,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -1399,7 +1392,6 @@ packages: /jest-cli@29.7.0: resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -1750,7 +1742,6 @@ packages: /jest@29.7.0: resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -1774,7 +1765,6 @@ packages: /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -1783,7 +1773,6 @@ packages: /jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} - hasBin: true dev: false /json-parse-even-better-errors@2.3.1: @@ -1793,7 +1782,6 @@ packages: /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} - hasBin: true dev: false /jsonwebtoken@9.0.1: @@ -2070,7 +2058,6 @@ packages: /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true dependencies: is-core-module: 2.14.0 path-parse: 1.0.7 @@ -2084,7 +2071,6 @@ packages: /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} - hasBin: true dev: false /shebang-command@2.0.0: @@ -2245,7 +2231,6 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} - hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -2256,7 +2241,6 @@ packages: /uuid@9.0.0: resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} - hasBin: true dev: false /v8-to-istanbul@9.3.0: @@ -2292,7 +2276,6 @@ packages: /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} - hasBin: true dependencies: isexe: 2.0.0 dev: false From 95b54c43e4ac8dc911d617e648b35a56d803161c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Tue, 2 Jul 2024 11:22:54 +0100 Subject: [PATCH 17/38] chore: Add `packageManager` field to all `package.json` files (#3359) --- api.planx.uk/package.json | 1 + e2e/package.json | 1 + e2e/tests/api-driven/package.json | 1 + e2e/tests/ui-driven/package.json | 1 + editor.planx.uk/package.json | 1 + hasura.planx.uk/package.json | 1 + infrastructure/application/package.json | 1 + infrastructure/certificates/package.json | 1 + infrastructure/data/package.json | 1 + infrastructure/networking/package.json | 1 + scripts/encrypt/package.json | 1 + sharedb.planx.uk/package.json | 1 + 12 files changed, 12 insertions(+) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index ab680ac837..0d6fde610d 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -2,6 +2,7 @@ "name": "api.planx.uk", "license": "MPL-2.0", "private": true, + "packageManager": "pnpm@8.6.6", "dependencies": { "@airbrake/node": "^2.1.8", "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", diff --git a/e2e/package.json b/e2e/package.json index c5888413e4..5151d20aed 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -20,6 +20,7 @@ "prettier -w ./tests" ] }, + "packageManager": "pnpm@8.6.6", "devDependencies": { "@types/node": "18.16.1", "@typescript-eslint/eslint-plugin": "^5.62.0", diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 3fb3256b3e..6fb4c3bbd6 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -4,6 +4,7 @@ "test": "cucumber-js --tags 'not @regression'", "test:regression": "cucumber-js" }, + "packageManager": "pnpm@8.6.6", "dependencies": { "@cucumber/cucumber": "^9.3.0", "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index 99eada8d2b..2d115ebd2d 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -19,6 +19,7 @@ "serve": "^14.2.1", "uuid": "^9.0.1" }, + "packageManager": "pnpm@8.6.6", "devDependencies": { "@playwright/test": "^1.40.1", "@types/node": "18.16.1", diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index f96b12fb79..044a921413 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -158,6 +158,7 @@ "typescript": "^5.4.3", "webpack": "^5.91.0" }, + "packageManager": "pnpm@8.6.6", "scripts": { "start": "craco start", "build": "CI=false && craco build", diff --git a/hasura.planx.uk/package.json b/hasura.planx.uk/package.json index 1b859f4845..19bf95a16c 100644 --- a/hasura.planx.uk/package.json +++ b/hasura.planx.uk/package.json @@ -5,6 +5,7 @@ "scripts": { "start": "hasura console --envfile ./../.env" }, + "packageManager": "pnpm@8.6.6", "pnpm": { "overrides": { "follow-redirects@<=1.15.5": ">=1.15.6" diff --git a/infrastructure/application/package.json b/infrastructure/application/package.json index 9847b6ec4e..aa65adf6d6 100644 --- a/infrastructure/application/package.json +++ b/infrastructure/application/package.json @@ -19,6 +19,7 @@ "scripts": { "build-editor": "cd ../../editor.planx.uk && pnpm build" }, + "packageManager": "pnpm@8.6.6", "pnpm": { "overrides": { "protobufjs@>=7.0.0 <7.2.5": ">=7.2.5", diff --git a/infrastructure/certificates/package.json b/infrastructure/certificates/package.json index 09511d2a7d..ab8d8e38cf 100644 --- a/infrastructure/certificates/package.json +++ b/infrastructure/certificates/package.json @@ -10,6 +10,7 @@ "@pulumi/pulumi": "^3.0.0", "tldjs": "^2.3.1" }, + "packageManager": "pnpm@8.6.6", "pnpm": { "overrides": { "protobufjs": ">=7.2.4", diff --git a/infrastructure/data/package.json b/infrastructure/data/package.json index ddb789481e..8ee29c4301 100644 --- a/infrastructure/data/package.json +++ b/infrastructure/data/package.json @@ -7,6 +7,7 @@ "@pulumi/awsx": "^0.30.0", "@pulumi/pulumi": "^3.74.0" }, + "packageManager": "pnpm@8.6.6", "pnpm": { "overrides": { "protobufjs@>=7.0.0 <7.2.5": ">=7.2.5", diff --git a/infrastructure/networking/package.json b/infrastructure/networking/package.json index ddb789481e..8ee29c4301 100644 --- a/infrastructure/networking/package.json +++ b/infrastructure/networking/package.json @@ -7,6 +7,7 @@ "@pulumi/awsx": "^0.30.0", "@pulumi/pulumi": "^3.74.0" }, + "packageManager": "pnpm@8.6.6", "pnpm": { "overrides": { "protobufjs@>=7.0.0 <7.2.5": ">=7.2.5", diff --git a/scripts/encrypt/package.json b/scripts/encrypt/package.json index bed04c82bc..47f53c4676 100644 --- a/scripts/encrypt/package.json +++ b/scripts/encrypt/package.json @@ -7,6 +7,7 @@ "encrypt": "ts-node encrypt.ts", "decrypt": "ts-node decrypt.ts" }, + "packageManager": "pnpm@8.6.6", "keywords": [], "dependencies": { "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#722e1c7", diff --git a/sharedb.planx.uk/package.json b/sharedb.planx.uk/package.json index bbbf9a5532..9841fc0c35 100644 --- a/sharedb.planx.uk/package.json +++ b/sharedb.planx.uk/package.json @@ -15,6 +15,7 @@ "dev": "node-dev server.js", "start": "node server.js" }, + "packageManager": "pnpm@8.6.6", "devDependencies": { "node-dev": "^8.0.0" }, From 69fe9a1a7afa2408fe7cdbb147a79f3aaa7a3cd0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:18:20 +0100 Subject: [PATCH 18/38] chore(deps): bump graphql from 16.8.1 to 16.9.0 in /api.planx.uk (#3342) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index 0d6fde610d..bdd45131cc 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -24,7 +24,7 @@ "express-pino-logger": "^7.0.0", "express-rate-limit": "^7.1.5", "form-data": "^4.0.0", - "graphql": "^16.8.1", + "graphql": "^16.9.0", "graphql-request": "^4.3.0", "he": "^1.2.0", "helmet": "^7.1.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 89a9ab3e88..2f47d1001f 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -71,11 +71,11 @@ dependencies: specifier: ^4.0.0 version: 4.0.0 graphql: - specifier: ^16.8.1 - version: 16.8.1 + specifier: ^16.9.0 + version: 16.9.0 graphql-request: specifier: ^4.3.0 - version: 4.3.0(graphql@16.8.1) + version: 4.3.0(graphql@16.9.0) he: specifier: ^1.2.0 version: 1.2.0 @@ -3688,6 +3688,7 @@ packages: /eslint-config-prettier@9.1.0(eslint@8.57.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: @@ -4427,7 +4428,7 @@ packages: object-hash: 1.3.1 dev: true - /graphql-request@4.3.0(graphql@16.8.1): + /graphql-request@4.3.0(graphql@16.9.0): resolution: {integrity: sha512-2v6hQViJvSsifK606AliqiNiijb1uwWp6Re7o0RTyH+uRTv/u7Uqm2g4Fjq/LgZIzARB38RZEvVBFOQOVdlBow==} peerDependencies: graphql: 14 - 16 @@ -4435,7 +4436,7 @@ packages: cross-fetch: 3.1.8 extract-files: 9.0.0 form-data: 3.0.1 - graphql: 16.8.1 + graphql: 16.9.0 transitivePeerDependencies: - encoding dev: false @@ -4459,11 +4460,6 @@ packages: iterall: 1.3.0 dev: true - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: false - /graphql@16.9.0: resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -5067,6 +5063,7 @@ packages: /jest-cli@29.7.0(@types/node@18.19.13): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -5487,6 +5484,7 @@ packages: /jest@29.7.0(@types/node@18.19.13): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -7618,6 +7616,7 @@ packages: /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.4.3): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' '@jest/types': ^29.0.0 @@ -7652,6 +7651,7 @@ packages: /ts-node-dev@2.0.0(@types/node@18.19.13)(typescript@5.4.3): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} + hasBin: true peerDependencies: node-notifier: '*' typescript: '*' @@ -7678,6 +7678,7 @@ packages: /ts-node@10.9.2(@types/node@18.19.13)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -7838,6 +7839,7 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -8195,6 +8197,7 @@ packages: resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} name: '@opensystemslab/planx-core' version: 1.0.0 + prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) From bd40f268cdd72a0ff88855cf07e1a7c3ef0fd559 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:55:30 +0100 Subject: [PATCH 19/38] chore(deps-dev): bump uuid and @types/uuid in /api.planx.uk (#3346) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- api.planx.uk/package.json | 4 +- api.planx.uk/pnpm-lock.yaml | 104 ++++++++++++++++++------------------ 2 files changed, 53 insertions(+), 55 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index bdd45131cc..e334fd8ce3 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -92,7 +92,7 @@ "@types/supertest": "^6.0.2", "@types/swagger-jsdoc": "^6.0.4", "@types/swagger-ui-express": "^4.1.6", - "@types/uuid": "^9.0.7", + "@types/uuid": "^10.0.0", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "dotenv": "^16.4.5", @@ -113,7 +113,7 @@ "ts-jest": "^29.1.1", "ts-node-dev": "^2.0.0", "typescript": "^5.4.3", - "uuid": "^9.0.1" + "uuid": "^10.0.0" }, "pnpm": { "peerDependencyRules": { diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 2f47d1001f..82da7df72c 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -114,7 +114,7 @@ dependencies: version: 3.3.7 notifications-node-client: specifier: ^8.1.0 - version: 8.1.0 + version: 8.2.0 passport: specifier: ^0.5.3 version: 0.5.3 @@ -214,14 +214,14 @@ devDependencies: specifier: ^4.1.6 version: 4.1.6 '@types/uuid': - specifier: ^9.0.7 - version: 9.0.7 + specifier: ^10.0.0 + version: 10.0.0 '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.2) '@typescript-eslint/parser': specifier: ^5.62.0 - version: 5.62.0(eslint@8.57.0)(typescript@5.4.3) + version: 5.62.0(eslint@8.57.0)(typescript@5.5.2) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -239,7 +239,7 @@ devDependencies: version: 9.1.0(eslint@8.57.0) eslint-plugin-jest: specifier: ^27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3) + version: 27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.2) graphql-query-test-mock: specifier: ^0.12.1 version: 0.12.1(nock@13.5.4) @@ -269,16 +269,16 @@ devDependencies: version: 7.0.0 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.4.3) + version: 29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.5.2) ts-node-dev: specifier: ^2.0.0 - version: 2.0.0(@types/node@18.19.13)(typescript@5.4.3) + version: 2.0.0(@types/node@18.19.13)(typescript@5.5.2) typescript: specifier: ^5.4.3 - version: 5.4.3 + version: 5.5.2 uuid: - specifier: ^9.0.1 - version: 9.0.1 + specifier: ^10.0.0 + version: 10.0.0 packages: @@ -2139,8 +2139,8 @@ packages: resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} dev: true - /@types/uuid@9.0.7: - resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==} + /@types/uuid@10.0.0: + resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} dev: true /@types/yargs-parser@21.0.3: @@ -2159,7 +2159,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.2): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2171,23 +2171,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.2) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) debug: 4.3.5 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare-lite: 1.4.0 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.2) + typescript: 5.5.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.2): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2199,10 +2199,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) debug: 4.3.5 eslint: 8.57.0 - typescript: 5.4.3 + typescript: 5.5.2 transitivePeerDependencies: - supports-color dev: true @@ -2215,7 +2215,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.5.2): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2225,12 +2225,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) debug: 4.3.5 eslint: 8.57.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.2) + typescript: 5.5.2 transitivePeerDependencies: - supports-color dev: true @@ -2240,7 +2240,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.2): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2255,13 +2255,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.2) + typescript: 5.5.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.2): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2272,7 +2272,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.2) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.2 @@ -3695,7 +3695,7 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.3): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.2): resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -3708,8 +3708,8 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 jest: 29.7.0(@types/node@18.19.13) transitivePeerDependencies: @@ -6200,8 +6200,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /notifications-node-client@8.1.0: - resolution: {integrity: sha512-2NJqPEcvlFRxuPMMWqoVXVUDz9EWl8dQVAhnLfRdv61PaHMqIRiQTdwn2qge8sC3kAsLnJoTl0qxhwDUarkYsQ==} + /notifications-node-client@8.2.0: + resolution: {integrity: sha512-XGmW2f2CroEwIUrPaTyShpF8pLlu79rBnwWns1uPGs27LbZdzNPJF1BzPl3cG3Tsu3nVlaWeXJJYAE+ALryalA==} engines: {node: '>=14.17.3', npm: '>=6.14.13'} dependencies: axios: 1.6.8 @@ -7613,7 +7613,7 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} dev: true - /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.4.3): + /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.5.2): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -7644,11 +7644,11 @@ packages: lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.6.2 - typescript: 5.4.3 + typescript: 5.5.2 yargs-parser: 21.1.1 dev: true - /ts-node-dev@2.0.0(@types/node@18.19.13)(typescript@5.4.3): + /ts-node-dev@2.0.0(@types/node@18.19.13)(typescript@5.5.2): resolution: {integrity: sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==} engines: {node: '>=0.8.0'} hasBin: true @@ -7667,16 +7667,16 @@ packages: rimraf: 2.7.1 source-map-support: 0.5.21 tree-kill: 1.2.2 - ts-node: 10.9.2(@types/node@18.19.13)(typescript@5.4.3) + ts-node: 10.9.2(@types/node@18.19.13)(typescript@5.5.2) tsconfig: 7.0.0 - typescript: 5.4.3 + typescript: 5.5.2 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' dev: true - /ts-node@10.9.2(@types/node@18.19.13)(typescript@5.4.3): + /ts-node@10.9.2(@types/node@18.19.13)(typescript@5.5.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -7702,7 +7702,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.3 + typescript: 5.5.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -7725,14 +7725,14 @@ packages: engines: {node: '>=0.6.x'} dev: false - /tsutils@3.21.0(typescript@5.4.3): + /tsutils@3.21.0(typescript@5.5.2): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.3 + typescript: 5.5.2 dev: true /type-check@0.4.0: @@ -7792,9 +7792,10 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + /typescript@5.5.2: + resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} engines: {node: '>=14.17'} + hasBin: true dev: true /uid2@0.0.4: @@ -7898,18 +7899,15 @@ packages: /uuid@10.0.0: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true - dev: false /uuid@8.0.0: resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} + hasBin: true dev: false /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - dev: true - - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true dev: true /v8-compile-cache-lib@3.0.1: From 496bc86cdc1d11bdccbf82d05d565ab0b9c78166 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:58:53 +0100 Subject: [PATCH 20/38] [skip pizza] bump prettier from 3.2.4 to 3.3.2 in /e2e (#3356) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- e2e/package.json | 2 +- e2e/pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/e2e/package.json b/e2e/package.json index 5151d20aed..e9a5719acc 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -28,7 +28,7 @@ "eslint": "^8.57.0", "husky": "^8.0.3", "lint-staged": "^15.2.0", - "prettier": "^3.2.4", + "prettier": "^3.3.2", "typescript": "^5.4.3" } } diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index c367e2a3d4..65d9f4bfa2 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -24,8 +24,8 @@ devDependencies: specifier: ^15.2.0 version: 15.2.0 prettier: - specifier: ^3.2.4 - version: 3.2.4 + specifier: ^3.3.2 + version: 3.3.2 typescript: specifier: ^5.4.3 version: 5.4.3 @@ -1021,8 +1021,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true dev: true From 45cccffe11b98895d53526225f34d4a190a3c943 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:59:33 +0100 Subject: [PATCH 21/38] chore(deps): bump pg from 8.11.3 to 8.12.0 in /sharedb.planx.uk (#3354) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- sharedb.planx.uk/package.json | 2 +- sharedb.planx.uk/pnpm-lock.yaml | 39 ++++++++++++--------------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/sharedb.planx.uk/package.json b/sharedb.planx.uk/package.json index 9841fc0c35..f69b3a89b9 100644 --- a/sharedb.planx.uk/package.json +++ b/sharedb.planx.uk/package.json @@ -7,7 +7,7 @@ "dompurify": "^3.1.2", "jsdom": "^24.1.0", "jsonwebtoken": "^8.5.1", - "pg": "^8.11.3", + "pg": "^8.12.0", "sharedb": "^4.1.1", "ws": "^8.17.1" }, diff --git a/sharedb.planx.uk/pnpm-lock.yaml b/sharedb.planx.uk/pnpm-lock.yaml index 60db207a2a..efc01ef711 100644 --- a/sharedb.planx.uk/pnpm-lock.yaml +++ b/sharedb.planx.uk/pnpm-lock.yaml @@ -23,8 +23,8 @@ dependencies: specifier: '>=9.0.0' version: 9.0.1 pg: - specifier: ^8.11.3 - version: 8.11.3 + specifier: ^8.12.0 + version: 8.12.0 sharedb: specifier: ^4.1.1 version: 4.1.1 @@ -68,11 +68,6 @@ packages: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} dev: false - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - dev: false - /combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -378,10 +373,6 @@ packages: resolution: {integrity: sha512-wf5fci7GGpMYRDnbbdIFQymvhsbFACMHtxjivQo5KgvAHlxekyfJ9aPsRr6YfFQthQkk4bmsl5yESrZwC/oMYQ==} dev: false - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - dev: false - /parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} dependencies: @@ -398,8 +389,8 @@ packages: dev: false optional: true - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + /pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} dev: false /pg-int8@1.0.1: @@ -407,16 +398,16 @@ packages: engines: {node: '>=4.0.0'} dev: false - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + /pg-pool@3.6.2(pg@8.12.0): + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: - pg: 8.11.3 + pg: 8.12.0 dev: false - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + /pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} dev: false /pg-types@2.2.0: @@ -430,8 +421,8 @@ packages: postgres-interval: 1.2.0 dev: false - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + /pg@8.12.0: + resolution: {integrity: sha512-A+LHUSnwnxrnL/tZ+OLfqR1SxLN3c/pgDztZ47Rpbsd4jUytsTtwQo/TLPRzPJMp/1pbhYVhH9cuSZLAajNfjQ==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -439,11 +430,9 @@ packages: pg-native: optional: true dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 + pg-connection-string: 2.6.4 + pg-pool: 3.6.2(pg@8.12.0) + pg-protocol: 1.6.1 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: From 6d6e3d3f8c7ada3c6e777b2b02741f70403f5902 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:05:31 +0100 Subject: [PATCH 22/38] [skip pizza] bump uuid from 9.0.0 to 10.0.0 in /hasura.planx.uk/tests (#3347) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- hasura.planx.uk/tests/package.json | 2 +- hasura.planx.uk/tests/pnpm-lock.yaml | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/hasura.planx.uk/tests/package.json b/hasura.planx.uk/tests/package.json index 3bdcc77c1b..b5f2938381 100644 --- a/hasura.planx.uk/tests/package.json +++ b/hasura.planx.uk/tests/package.json @@ -9,7 +9,7 @@ "isomorphic-fetch": "^3.0.0", "jest": "^29.7.0", "jsonwebtoken": "^9.0.1", - "uuid": "^9.0.0" + "uuid": "^10.0.0" }, "jest": { "setupFilesAfterEnv": [ diff --git a/hasura.planx.uk/tests/pnpm-lock.yaml b/hasura.planx.uk/tests/pnpm-lock.yaml index 5cc294ccda..2aa8871dcd 100644 --- a/hasura.planx.uk/tests/pnpm-lock.yaml +++ b/hasura.planx.uk/tests/pnpm-lock.yaml @@ -21,8 +21,8 @@ dependencies: specifier: ^9.0.1 version: 9.0.1 uuid: - specifier: ^9.0.0 - version: 9.0.0 + specifier: ^10.0.0 + version: 10.0.0 packages: @@ -1392,6 +1392,7 @@ packages: /jest-cli@29.7.0: resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -1742,6 +1743,7 @@ packages: /jest@29.7.0: resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -2231,6 +2233,7 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -2239,8 +2242,9 @@ packages: picocolors: 1.0.1 dev: false - /uuid@9.0.0: - resolution: {integrity: sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==} + /uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true dev: false /v8-to-istanbul@9.3.0: From 9374fc12b453ac19f2be0a496550813e62f3d451 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:26:19 +0100 Subject: [PATCH 23/38] chore(deps-dev): bump eslint-plugin-simple-import-sort from 10.0.0 to 12.1.0 in /editor.planx.uk (#3352) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- editor.planx.uk/package.json | 2 +- editor.planx.uk/pnpm-lock.yaml | 37 ++++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 044a921413..a580d3f5b0 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -138,7 +138,7 @@ "eslint-config-prettier": "^9.0.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-testing-library": "^5.11.1", "husky": "^8.0.3", "identity-obj-proxy": "^3.0.0", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index 3569f494b1..4f6000edb3 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -413,8 +413,8 @@ devDependencies: specifier: ^4.6.0 version: 4.6.0(eslint@8.44.0) eslint-plugin-simple-import-sort: - specifier: ^10.0.0 - version: 10.0.0(eslint@8.44.0) + specifier: ^12.1.0 + version: 12.1.0(eslint@8.44.0) eslint-plugin-testing-library: specifier: ^5.11.1 version: 5.11.1(eslint@8.44.0)(typescript@5.4.3) @@ -3388,6 +3388,7 @@ packages: /@craco/craco@7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): resolution: {integrity: sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==} engines: {node: '>=6'} + hasBin: true peerDependencies: react-scripts: ^5.0.0 dependencies: @@ -6758,7 +6759,7 @@ packages: '@storybook/preview-api': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 - '@types/lodash': 4.14.202 + '@types/lodash': 4.17.6 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -8491,7 +8492,6 @@ packages: /@types/lodash@4.17.6: resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} - dev: false /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -9524,6 +9524,7 @@ packages: /autoprefixer@10.4.16(postcss@8.4.32): resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} + hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: @@ -10780,6 +10781,7 @@ packages: /css-blank-pseudo@3.0.3(postcss@8.4.32): resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} engines: {node: ^12 || ^14 || >=16} + hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -10807,6 +10809,7 @@ packages: /css-has-pseudo@3.0.4(postcss@8.4.32): resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} engines: {node: ^12 || ^14 || >=16} + hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -10879,6 +10882,7 @@ packages: /css-prefers-color-scheme@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} engines: {node: ^12 || ^14 || >=16} + hasBin: true peerDependencies: postcss: ^8.4 dependencies: @@ -11975,6 +11979,7 @@ packages: /eslint-config-prettier@9.0.0(eslint@8.44.0): resolution: {integrity: sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==} + hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: @@ -12179,8 +12184,8 @@ packages: semver: 6.3.1 string.prototype.matchall: 4.0.11 - /eslint-plugin-simple-import-sort@10.0.0(eslint@8.44.0): - resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} + /eslint-plugin-simple-import-sort@12.1.0(eslint@8.44.0): + resolution: {integrity: sha512-Y2fqAfC11TcG/WP3TrI1Gi3p3nc8XJyEOJYHyEPEGI/UAgNx6akxxlX74p7SbAQdLcgASKhj8M0GKvH3vq/+ig==} peerDependencies: eslint: '>=5.0.0' dependencies: @@ -13165,6 +13170,7 @@ packages: /glob@10.4.2: resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} + hasBin: true dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 @@ -13175,6 +13181,7 @@ packages: /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13709,6 +13716,7 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -14277,6 +14285,7 @@ packages: /jest-cli@27.5.1: resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -14856,6 +14865,7 @@ packages: /jest@27.5.1: resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -14899,6 +14909,7 @@ packages: /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -14910,6 +14921,7 @@ packages: /jscodeshift@0.15.2(@babel/preset-env@7.22.6): resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} + hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 peerDependenciesMeta: @@ -14943,6 +14955,7 @@ packages: /jscodeshift@0.15.2(@babel/preset-env@7.24.7): resolution: {integrity: sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==} + hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 peerDependenciesMeta: @@ -15446,6 +15459,7 @@ packages: /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true dependencies: js-tokens: 4.0.0 @@ -16015,12 +16029,14 @@ packages: /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true dependencies: minimist: 1.2.8 /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} + hasBin: true /mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} @@ -17975,6 +17991,7 @@ packages: /react-app-rewired@2.2.1(react-scripts@5.0.1): resolution: {integrity: sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==} + hasBin: true peerDependencies: react-scripts: '>=2.1.3' dependencies: @@ -18372,6 +18389,7 @@ packages: /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} + hasBin: true peerDependencies: eslint: '*' react: '>= 16' @@ -18881,6 +18899,7 @@ packages: /resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true dependencies: is-core-module: 2.14.0 path-parse: 1.0.7 @@ -20368,6 +20387,7 @@ packages: /ts-node@10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -20767,6 +20787,7 @@ packages: /update-browserslist-db@1.0.16(browserslist@4.23.1): resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: @@ -20909,6 +20930,7 @@ packages: /uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} @@ -21059,6 +21081,7 @@ packages: /webpack-dev-server@4.15.2(webpack@5.91.0): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} + hasBin: true peerDependencies: webpack: ^4.37.0 || ^5.0.0 webpack-cli: '*' @@ -21160,6 +21183,7 @@ packages: /webpack@5.91.0(@swc/core@1.6.6)(esbuild@0.21.3): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} + hasBin: true peerDependencies: webpack-cli: '*' peerDependenciesMeta: @@ -21675,6 +21699,7 @@ packages: id: github.com/theopensystemslab/planx-core/b975cf9 name: '@opensystemslab/planx-core' version: 1.0.0 + prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(@types/react@18.2.45)(react@18.3.1) From a0032b113f2d01a477908fca5d640601dcc86469 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:34:52 +0100 Subject: [PATCH 24/38] chore(deps-dev): bump typescript from 5.4.3 to 5.5.2 in /api.planx.uk (#3345) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index e334fd8ce3..a62b2a088b 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -112,7 +112,7 @@ "supertest": "^7.0.0", "ts-jest": "^29.1.1", "ts-node-dev": "^2.0.0", - "typescript": "^5.4.3", + "typescript": "^5.5.2", "uuid": "^10.0.0" }, "pnpm": { diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 82da7df72c..708f3f9dad 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -274,7 +274,7 @@ devDependencies: specifier: ^2.0.0 version: 2.0.0(@types/node@18.19.13)(typescript@5.5.2) typescript: - specifier: ^5.4.3 + specifier: ^5.5.2 version: 5.5.2 uuid: specifier: ^10.0.0 From 8ba938d41934a1c485c7c7d7a9e5c873c2aef5e0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:56:14 +0100 Subject: [PATCH 25/38] chore(deps-dev): bump esbuild from 0.21.4 to 0.22.0 in /api.planx.uk (#3343) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 217 +++++++++++++++++++----------------- 2 files changed, 115 insertions(+), 104 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index a62b2a088b..b91b145f19 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -96,7 +96,7 @@ "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "dotenv": "^16.4.5", - "esbuild": "^0.21.4", + "esbuild": "^0.22.0", "esbuild-jest": "^0.5.0", "eslint": "^8.57.0", "eslint-config-prettier": "^9.1.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 708f3f9dad..2942a9fade 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -226,11 +226,11 @@ devDependencies: specifier: ^16.4.5 version: 16.4.5 esbuild: - specifier: ^0.21.4 - version: 0.21.4 + specifier: ^0.22.0 + version: 0.22.0 esbuild-jest: specifier: ^0.5.0 - version: 0.5.0(esbuild@0.21.4) + version: 0.5.0(esbuild@0.22.0) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -269,7 +269,7 @@ devDependencies: version: 7.0.0 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.5.2) + version: 29.1.1(@babel/core@7.24.0)(esbuild@0.22.0)(jest@29.7.0)(typescript@5.5.2) ts-node-dev: specifier: ^2.0.0 version: 2.0.0(@types/node@18.19.13)(typescript@5.5.2) @@ -940,207 +940,216 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false - /@esbuild/aix-ppc64@0.21.4: - resolution: {integrity: sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==} - engines: {node: '>=12'} + /@esbuild/aix-ppc64@0.22.0: + resolution: {integrity: sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] requiresBuild: true dev: true optional: true - /@esbuild/android-arm64@0.21.4: - resolution: {integrity: sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==} - engines: {node: '>=12'} + /@esbuild/android-arm64@0.22.0: + resolution: {integrity: sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==} + engines: {node: '>=18'} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-arm@0.21.4: - resolution: {integrity: sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==} - engines: {node: '>=12'} + /@esbuild/android-arm@0.22.0: + resolution: {integrity: sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==} + engines: {node: '>=18'} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/android-x64@0.21.4: - resolution: {integrity: sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==} - engines: {node: '>=12'} + /@esbuild/android-x64@0.22.0: + resolution: {integrity: sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==} + engines: {node: '>=18'} cpu: [x64] os: [android] requiresBuild: true dev: true optional: true - /@esbuild/darwin-arm64@0.21.4: - resolution: {integrity: sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==} - engines: {node: '>=12'} + /@esbuild/darwin-arm64@0.22.0: + resolution: {integrity: sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/darwin-x64@0.21.4: - resolution: {integrity: sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==} - engines: {node: '>=12'} + /@esbuild/darwin-x64@0.22.0: + resolution: {integrity: sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-arm64@0.21.4: - resolution: {integrity: sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==} - engines: {node: '>=12'} + /@esbuild/freebsd-arm64@0.22.0: + resolution: {integrity: sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/freebsd-x64@0.21.4: - resolution: {integrity: sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==} - engines: {node: '>=12'} + /@esbuild/freebsd-x64@0.22.0: + resolution: {integrity: sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm64@0.21.4: - resolution: {integrity: sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==} - engines: {node: '>=12'} + /@esbuild/linux-arm64@0.22.0: + resolution: {integrity: sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-arm@0.21.4: - resolution: {integrity: sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==} - engines: {node: '>=12'} + /@esbuild/linux-arm@0.22.0: + resolution: {integrity: sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==} + engines: {node: '>=18'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ia32@0.21.4: - resolution: {integrity: sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==} - engines: {node: '>=12'} + /@esbuild/linux-ia32@0.22.0: + resolution: {integrity: sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64@0.21.4: - resolution: {integrity: sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==} - engines: {node: '>=12'} + /@esbuild/linux-loong64@0.22.0: + resolution: {integrity: sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-mips64el@0.21.4: - resolution: {integrity: sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==} - engines: {node: '>=12'} + /@esbuild/linux-mips64el@0.22.0: + resolution: {integrity: sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-ppc64@0.21.4: - resolution: {integrity: sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==} - engines: {node: '>=12'} + /@esbuild/linux-ppc64@0.22.0: + resolution: {integrity: sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-riscv64@0.21.4: - resolution: {integrity: sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==} - engines: {node: '>=12'} + /@esbuild/linux-riscv64@0.22.0: + resolution: {integrity: sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-s390x@0.21.4: - resolution: {integrity: sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==} - engines: {node: '>=12'} + /@esbuild/linux-s390x@0.22.0: + resolution: {integrity: sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-x64@0.21.4: - resolution: {integrity: sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==} - engines: {node: '>=12'} + /@esbuild/linux-x64@0.22.0: + resolution: {integrity: sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==} + engines: {node: '>=18'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/netbsd-x64@0.21.4: - resolution: {integrity: sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==} - engines: {node: '>=12'} + /@esbuild/netbsd-x64@0.22.0: + resolution: {integrity: sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /@esbuild/openbsd-x64@0.21.4: - resolution: {integrity: sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==} - engines: {node: '>=12'} + /@esbuild/openbsd-arm64@0.22.0: + resolution: {integrity: sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.22.0: + resolution: {integrity: sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /@esbuild/sunos-x64@0.21.4: - resolution: {integrity: sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==} - engines: {node: '>=12'} + /@esbuild/sunos-x64@0.22.0: + resolution: {integrity: sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /@esbuild/win32-arm64@0.21.4: - resolution: {integrity: sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==} - engines: {node: '>=12'} + /@esbuild/win32-arm64@0.22.0: + resolution: {integrity: sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-ia32@0.21.4: - resolution: {integrity: sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==} - engines: {node: '>=12'} + /@esbuild/win32-ia32@0.22.0: + resolution: {integrity: sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@esbuild/win32-x64@0.21.4: - resolution: {integrity: sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==} - engines: {node: '>=12'} + /@esbuild/win32-x64@0.22.0: + resolution: {integrity: sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==} + engines: {node: '>=18'} cpu: [x64] os: [win32] requiresBuild: true @@ -3622,7 +3631,7 @@ packages: es6-symbol: 3.1.4 dev: false - /esbuild-jest@0.5.0(esbuild@0.21.4): + /esbuild-jest@0.5.0(esbuild@0.22.0): resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==} peerDependencies: esbuild: '>=0.8.50' @@ -3630,39 +3639,41 @@ packages: '@babel/core': 7.24.0 '@babel/plugin-transform-modules-commonjs': 7.24.7(@babel/core@7.24.0) babel-jest: 26.6.3(@babel/core@7.24.0) - esbuild: 0.21.4 + esbuild: 0.22.0 transitivePeerDependencies: - supports-color dev: true - /esbuild@0.21.4: - resolution: {integrity: sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==} - engines: {node: '>=12'} + /esbuild@0.22.0: + resolution: {integrity: sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==} + engines: {node: '>=18'} + hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/aix-ppc64': 0.21.4 - '@esbuild/android-arm': 0.21.4 - '@esbuild/android-arm64': 0.21.4 - '@esbuild/android-x64': 0.21.4 - '@esbuild/darwin-arm64': 0.21.4 - '@esbuild/darwin-x64': 0.21.4 - '@esbuild/freebsd-arm64': 0.21.4 - '@esbuild/freebsd-x64': 0.21.4 - '@esbuild/linux-arm': 0.21.4 - '@esbuild/linux-arm64': 0.21.4 - '@esbuild/linux-ia32': 0.21.4 - '@esbuild/linux-loong64': 0.21.4 - '@esbuild/linux-mips64el': 0.21.4 - '@esbuild/linux-ppc64': 0.21.4 - '@esbuild/linux-riscv64': 0.21.4 - '@esbuild/linux-s390x': 0.21.4 - '@esbuild/linux-x64': 0.21.4 - '@esbuild/netbsd-x64': 0.21.4 - '@esbuild/openbsd-x64': 0.21.4 - '@esbuild/sunos-x64': 0.21.4 - '@esbuild/win32-arm64': 0.21.4 - '@esbuild/win32-ia32': 0.21.4 - '@esbuild/win32-x64': 0.21.4 + '@esbuild/aix-ppc64': 0.22.0 + '@esbuild/android-arm': 0.22.0 + '@esbuild/android-arm64': 0.22.0 + '@esbuild/android-x64': 0.22.0 + '@esbuild/darwin-arm64': 0.22.0 + '@esbuild/darwin-x64': 0.22.0 + '@esbuild/freebsd-arm64': 0.22.0 + '@esbuild/freebsd-x64': 0.22.0 + '@esbuild/linux-arm': 0.22.0 + '@esbuild/linux-arm64': 0.22.0 + '@esbuild/linux-ia32': 0.22.0 + '@esbuild/linux-loong64': 0.22.0 + '@esbuild/linux-mips64el': 0.22.0 + '@esbuild/linux-ppc64': 0.22.0 + '@esbuild/linux-riscv64': 0.22.0 + '@esbuild/linux-s390x': 0.22.0 + '@esbuild/linux-x64': 0.22.0 + '@esbuild/netbsd-x64': 0.22.0 + '@esbuild/openbsd-arm64': 0.22.0 + '@esbuild/openbsd-x64': 0.22.0 + '@esbuild/sunos-x64': 0.22.0 + '@esbuild/win32-arm64': 0.22.0 + '@esbuild/win32-ia32': 0.22.0 + '@esbuild/win32-x64': 0.22.0 dev: true /escalade@3.1.2: @@ -7613,7 +7624,7 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} dev: true - /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.21.4)(jest@29.7.0)(typescript@5.5.2): + /ts-jest@29.1.1(@babel/core@7.24.0)(esbuild@0.22.0)(jest@29.7.0)(typescript@5.5.2): resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -7636,7 +7647,7 @@ packages: dependencies: '@babel/core': 7.24.0 bs-logger: 0.2.6 - esbuild: 0.21.4 + esbuild: 0.22.0 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@18.19.13) jest-util: 29.7.0 From 47bfd259a16c09aefa823c1ebc3bde0ce46afa09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:57:14 +0100 Subject: [PATCH 26/38] chore(deps): bump notifications-node-client from 8.1.0 to 8.2.0 in /api.planx.uk (#3344) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index b91b145f19..be60eacc27 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -38,7 +38,7 @@ "mime": "^3.0.0", "multer": "^1.4.5-lts.1", "nanoid": "^3.3.7", - "notifications-node-client": "^8.1.0", + "notifications-node-client": "^8.2.0", "passport": "^0.5.3", "passport-google-oauth20": "^2.0.0", "pino-noir": "^2.2.1", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 2942a9fade..79b0f90388 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -113,7 +113,7 @@ dependencies: specifier: ^3.3.7 version: 3.3.7 notifications-node-client: - specifier: ^8.1.0 + specifier: ^8.2.0 version: 8.2.0 passport: specifier: ^0.5.3 From 433f09e2def5e28c349cacca745725143637f522 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 16:26:25 +0100 Subject: [PATCH 27/38] chore(deps): bump @turf/area from 6.5.0 to 7.0.0 in /editor.planx.uk (#3348) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- editor.planx.uk/package.json | 2 +- editor.planx.uk/pnpm-lock.yaml | 30 ++++++++++++------- .../FindProperty/Public/Public.test.tsx | 8 ++--- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index a580d3f5b0..02cc9322ba 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -35,7 +35,7 @@ "@tiptap/pm": "^2.0.3", "@tiptap/react": "^2.4.0", "@tiptap/suggestion": "^2.0.3", - "@turf/area": "^6.5.0", + "@turf/area": "^7.0.0", "@turf/buffer": "^6.5.0", "@turf/helpers": "^6.5.0", "array-move": "^4.0.0", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index 4f6000edb3..f20d06333d 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -108,8 +108,8 @@ dependencies: specifier: ^2.0.3 version: 2.0.3(@tiptap/core@2.4.0)(@tiptap/pm@2.0.3) '@turf/area': - specifier: ^6.5.0 - version: 6.5.0 + specifier: ^7.0.0 + version: 7.0.0 '@turf/buffer': specifier: ^6.5.0 version: 6.5.0 @@ -8192,11 +8192,12 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@turf/area@6.5.0: - resolution: {integrity: sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==} + /@turf/area@7.0.0: + resolution: {integrity: sha512-Q/P6OGV8dJJs1BiraKFNBjtsMbz7B52mLCtgKh3syzujSREMx52RlsiOBQp8GujFMMiau+Mt25XKbVwtjHVi8Q==} dependencies: - '@turf/helpers': 6.5.0 - '@turf/meta': 6.5.0 + '@turf/helpers': 7.0.0 + '@turf/meta': 7.0.0 + tslib: 2.6.3 dev: false /@turf/bbox@6.5.0: @@ -8235,6 +8236,13 @@ packages: resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==} dev: false + /@turf/helpers@7.0.0: + resolution: {integrity: sha512-vwZvxRuyjGpGXvhXSbT9mX6FK92dBMLWbMbDJ/MXQUPx17ReVPFc+6N6IcxAzZfkiCnqy7vpuq0c+/TTrQxIiA==} + dependencies: + deep-equal: 2.2.3 + tslib: 2.6.3 + dev: false + /@turf/invariant@6.5.0: resolution: {integrity: sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==} dependencies: @@ -8247,6 +8255,12 @@ packages: '@turf/helpers': 6.5.0 dev: false + /@turf/meta@7.0.0: + resolution: {integrity: sha512-cEXr13uFwhXq5mFBy0IK1U/QepE5qgk3zXpBYsla3lYV7cB83Vh+NNUR+r0/w/QoJqest1TG4H20F9tGYWPi/g==} + dependencies: + '@turf/helpers': 7.0.0 + dev: false + /@turf/projection@6.5.0: resolution: {integrity: sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==} dependencies: @@ -11187,7 +11201,6 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.2 which-typed-array: 1.1.15 - dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -11707,7 +11720,6 @@ packages: is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - dev: true /es-iterator-helpers@1.0.19: resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} @@ -13780,7 +13792,6 @@ packages: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true /is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} @@ -19664,7 +19675,6 @@ packages: engines: {node: '>= 0.4'} dependencies: internal-slot: 1.0.7 - dev: true /store2@2.14.3: resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} diff --git a/editor.planx.uk/src/@planx/components/FindProperty/Public/Public.test.tsx b/editor.planx.uk/src/@planx/components/FindProperty/Public/Public.test.tsx index 7e5dee7686..baac38d734 100644 --- a/editor.planx.uk/src/@planx/components/FindProperty/Public/Public.test.tsx +++ b/editor.planx.uk/src/@planx/components/FindProperty/Public/Public.test.tsx @@ -34,8 +34,8 @@ const osAddressProps = { "property.type": ["residential.HMO.parent"], "property.localAuthorityDistrict": ["Southwark"], "property.region": ["London"], - "property.boundary.title.area": 1234.98, - "property.boundary.title.area.hectares": 0.123498, + "property.boundary.title.area": 1232.22, + "property.boundary.title.area.hectares": 0.123222, "property.boundary.title": { geometry: { type: "MultiPolygon", @@ -83,8 +83,8 @@ const proposedAddressProps = { }, "property.localAuthorityDistrict": ["Southwark"], "property.region": ["London"], - "property.boundary.title.area": 1234.98, - "property.boundary.title.area.hectares": 0.123498, + "property.boundary.title.area": 1232.22, + "property.boundary.title.area.hectares": 0.123222, "property.boundary.title": { geometry: { type: "MultiPolygon", From 0ddc01264fef057c8f31a2f61fb940129d18bec2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 18:06:13 +0100 Subject: [PATCH 28/38] [skip pizza] bump typescript from 5.4.3 to 5.5.3 in /e2e (#3360) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Dafydd LlÅ·r Pearson --- e2e/package.json | 2 +- e2e/pnpm-lock.yaml | 54 +++++++++++++++--------------- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 31 ++--------------- 4 files changed, 32 insertions(+), 57 deletions(-) diff --git a/e2e/package.json b/e2e/package.json index e9a5719acc..5bdc4466f5 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -29,6 +29,6 @@ "husky": "^8.0.3", "lint-staged": "^15.2.0", "prettier": "^3.3.2", - "typescript": "^5.4.3" + "typescript": "^5.5.3" } } diff --git a/e2e/pnpm-lock.yaml b/e2e/pnpm-lock.yaml index 65d9f4bfa2..59aea1f411 100644 --- a/e2e/pnpm-lock.yaml +++ b/e2e/pnpm-lock.yaml @@ -10,10 +10,10 @@ devDependencies: version: 18.16.1 '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/parser': specifier: ^5.62.0 - version: 5.62.0(eslint@8.57.0)(typescript@5.4.3) + version: 5.62.0(eslint@8.57.0)(typescript@5.5.3) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -27,8 +27,8 @@ devDependencies: specifier: ^3.3.2 version: 3.3.2 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.5.3 + version: 5.5.3 packages: @@ -122,7 +122,7 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@5.5.3): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -134,23 +134,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.5.3) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare-lite: 1.4.0 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.3) + typescript: 5.5.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.3): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -162,10 +162,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) debug: 4.3.4 eslint: 8.57.0 - typescript: 5.4.3 + typescript: 5.5.3 transitivePeerDependencies: - supports-color dev: true @@ -178,7 +178,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@5.5.3): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -188,12 +188,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.3) debug: 4.3.4 eslint: 8.57.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.3) + typescript: 5.5.3 transitivePeerDependencies: - supports-color dev: true @@ -203,7 +203,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.3): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.3): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -218,13 +218,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - tsutils: 3.21.0(typescript@5.4.3) - typescript: 5.4.3 + tsutils: 3.21.0(typescript@5.5.3) + typescript: 5.5.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.3): + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.5.3): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -235,7 +235,7 @@ packages: '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.3) eslint: 8.57.0 eslint-scope: 5.1.1 semver: 7.6.0 @@ -1181,14 +1181,14 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsutils@3.21.0(typescript@5.4.3): + /tsutils@3.21.0(typescript@5.5.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.4.3 + typescript: 5.5.3 dev: true /type-check@0.4.0: @@ -1203,8 +1203,8 @@ packages: engines: {node: '>=10'} dev: true - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + /typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} engines: {node: '>=14.17'} hasBin: true dev: true diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index 2d115ebd2d..7c5adb48b6 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -12,7 +12,7 @@ "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", - "graphql": "^16.8.1", + "graphql": "^16.9.0", "graphql-request": "^6.1.0", "isomorphic-fetch": "^3.0.0", "jsonwebtoken": "^9.0.2", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index e20757a273..74f6d4791b 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -18,11 +18,11 @@ dependencies: specifier: ^8.56.0 version: 8.56.0 graphql: - specifier: ^16.8.1 - version: 16.8.1 + specifier: ^16.9.0 + version: 16.9.0 graphql-request: specifier: ^6.1.0 - version: 6.1.0(graphql@16.8.1) + version: 6.1.0(graphql@16.9.0) isomorphic-fetch: specifier: ^3.0.0 version: 3.0.0 @@ -382,14 +382,6 @@ packages: resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} dev: false - /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - dependencies: - graphql: 16.8.1 - dev: false - /@graphql-typed-document-node/core@3.2.0(graphql@16.9.0): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: @@ -1618,18 +1610,6 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphql-request@6.1.0(graphql@16.8.1): - resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} - peerDependencies: - graphql: 14 - 16 - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) - cross-fetch: 3.1.8 - graphql: 16.8.1 - transitivePeerDependencies: - - encoding - dev: false - /graphql-request@6.1.0(graphql@16.9.0): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: @@ -1642,11 +1622,6 @@ packages: - encoding dev: false - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - dev: false - /graphql@16.9.0: resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} From dc215a265eea51f5156f29760bc0e036d4865ca3 Mon Sep 17 00:00:00 2001 From: Rory Doak <138574807+RODO94@users.noreply.github.com> Date: Wed, 3 Jul 2024 09:13:59 +0100 Subject: [PATCH 29/38] feat: Repointing data fetches from ``Teams`` table to ``team_settings`` table (#3334) --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 8 +- e2e/tests/api-driven/package.json | 2 +- e2e/tests/api-driven/pnpm-lock.yaml | 11 +- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 9 +- editor.planx.uk/package.json | 2 +- editor.planx.uk/pnpm-lock.yaml | 807 +++++++----------- .../src/components/Header.test.tsx | 22 +- .../src/pages/FlowEditor/lib/store/team.ts | 14 +- editor.planx.uk/src/routes/views/draft.tsx | 10 +- .../src/routes/views/published.tsx | 11 +- .../src/routes/views/standalone.tsx | 10 +- .../ExternalPlanningSiteDialog.stories.tsx | 6 - .../ui/public/ExternalPlanningSiteDialog.tsx | 14 +- hasura.planx.uk/metadata/tables.yaml | 80 +- 16 files changed, 429 insertions(+), 581 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index be60eacc27..89b12c4858 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -5,7 +5,7 @@ "packageManager": "pnpm@8.6.6", "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 79b0f90388..9aecb6701a 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 - version: github.com/theopensystemslab/planx-core/b975cf9 + specifier: git+https://github.com/theopensystemslab/planx-core#462914f + version: github.com/theopensystemslab/planx-core/462914f '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -8202,8 +8202,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/b975cf9: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} + github.com/theopensystemslab/planx-core/462914f: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 6fb4c3bbd6..1153fc789c 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -7,7 +7,7 @@ "packageManager": "pnpm@8.6.6", "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", "axios": "^1.6.8", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index cf097777b1..5c6aa2f01d 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 - version: github.com/theopensystemslab/planx-core/b975cf9 + specifier: git+https://github.com/theopensystemslab/planx-core#462914f + version: github.com/theopensystemslab/planx-core/462914f axios: specifier: ^1.6.8 version: 1.6.8 @@ -258,6 +258,7 @@ packages: /@cucumber/gherkin-streams@5.0.1(@cucumber/gherkin@26.2.0)(@cucumber/message-streams@4.0.1)(@cucumber/messages@22.0.0): resolution: {integrity: sha512-/7VkIE/ASxIP/jd4Crlp4JHXqdNFxPGQokqWqsaCCiqBiu5qHoKMxcWNlp9njVL/n9yN4S08OmY3ZR8uC5x74Q==} + hasBin: true peerDependencies: '@cucumber/gherkin': '>=22.0.0' '@cucumber/message-streams': '>=4.0.0' @@ -2806,6 +2807,7 @@ packages: /ts-node@10.9.1(@types/node@18.16.1)(typescript@5.4.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -3051,10 +3053,11 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/b975cf9: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} + github.com/theopensystemslab/planx-core/462914f: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} name: '@opensystemslab/planx-core' version: 1.0.0 + prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index 7c5adb48b6..0faffd78dd 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index 74f6d4791b..84ffe4dbb5 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 - version: github.com/theopensystemslab/planx-core/b975cf9 + specifier: git+https://github.com/theopensystemslab/planx-core#462914f + version: github.com/theopensystemslab/planx-core/462914f axios: specifier: ^1.6.8 version: 1.6.8 @@ -2780,10 +2780,11 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/b975cf9: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} + github.com/theopensystemslab/planx-core/462914f: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} name: '@opensystemslab/planx-core' version: 1.0.0 + prepare: true requiresBuild: true dependencies: '@emotion/react': 11.11.4(react@18.3.1) diff --git a/editor.planx.uk/package.json b/editor.planx.uk/package.json index 02cc9322ba..bc7dc36125 100644 --- a/editor.planx.uk/package.json +++ b/editor.planx.uk/package.json @@ -13,7 +13,7 @@ "@mui/material": "^5.15.2", "@mui/utils": "^5.15.2", "@opensystemslab/map": "^0.8.3", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#b975cf9", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#60158b2", "@tiptap/core": "^2.4.0", "@tiptap/extension-bold": "^2.0.3", "@tiptap/extension-bubble-menu": "^2.1.13", diff --git a/editor.planx.uk/pnpm-lock.yaml b/editor.planx.uk/pnpm-lock.yaml index f20d06333d..dcd836ee57 100644 --- a/editor.planx.uk/pnpm-lock.yaml +++ b/editor.planx.uk/pnpm-lock.yaml @@ -42,8 +42,8 @@ dependencies: specifier: ^0.8.3 version: 0.8.3 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#b975cf9 - version: github.com/theopensystemslab/planx-core/b975cf9(@types/react@18.2.45) + specifier: git+https://github.com/theopensystemslab/planx-core#60158b2 + version: github.com/theopensystemslab/planx-core/60158b2(@types/react@18.2.45) '@tiptap/core': specifier: ^2.4.0 version: 2.4.0(@tiptap/pm@2.0.3) @@ -223,7 +223,7 @@ dependencies: version: 0.15.0(navi@0.15.0)(react-dom@18.2.0)(react-navi@0.15.0)(react@18.2.0) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) react-toastify: specifier: ^9.1.3 version: 9.1.3(react-dom@18.2.0)(react@18.2.0) @@ -291,7 +291,7 @@ devDependencies: version: 7.23.3(@babel/core@7.22.5) '@craco/craco': specifier: ^7.1.0 - version: 7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) + version: 7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) '@react-theming/storybook-addon': specifier: ^1.1.10 version: 1.1.10(@storybook/addons@7.6.7)(@storybook/react@7.6.7)(@storybook/theming@7.6.7)(react-dom@18.2.0)(react@18.2.0) @@ -321,7 +321,7 @@ devDependencies: version: 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react-webpack5': specifier: ^7.6.7 - version: 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + version: 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/testing-library': specifier: ^0.2.2 version: 0.2.2 @@ -336,7 +336,7 @@ devDependencies: version: 14.2.1(react-dom@18.2.0)(react@18.2.0) '@testing-library/user-event': specifier: ^14.4.3 - version: 14.4.3(@testing-library/dom@10.2.0) + version: 14.4.3(@testing-library/dom@10.1.0) '@types/dompurify': specifier: ^3.0.5 version: 3.0.5 @@ -468,7 +468,7 @@ devDependencies: version: 5.4.3 webpack: specifier: ^5.91.0 - version: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + version: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) packages: @@ -3385,7 +3385,7 @@ packages: dev: true optional: true - /@craco/craco@7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): + /@craco/craco@7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3): resolution: {integrity: sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==} engines: {node: '>=6'} hasBin: true @@ -3394,10 +3394,10 @@ packages: dependencies: autoprefixer: 10.4.16(postcss@8.4.32) cosmiconfig: 7.1.0 - cosmiconfig-typescript-loader: 1.0.9(@swc/core@1.6.6)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3) + cosmiconfig-typescript-loader: 1.0.9(@swc/core@1.6.3)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3) cross-spawn: 7.0.3 lodash: 4.17.21 - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 7.6.2 webpack-merge: 5.10.0 transitivePeerDependencies: @@ -4456,8 +4456,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: false - /@eslint-community/regexpp@4.11.0: - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + /@eslint-community/regexpp@4.10.1: + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} /@eslint/eslintrc@2.1.4: @@ -4489,40 +4489,40 @@ packages: resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} dev: true - /@floating-ui/core@1.6.4: - resolution: {integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==} + /@floating-ui/core@1.6.2: + resolution: {integrity: sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==} dependencies: - '@floating-ui/utils': 0.2.4 + '@floating-ui/utils': 0.2.2 - /@floating-ui/dom@1.6.7: - resolution: {integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==} + /@floating-ui/dom@1.6.5: + resolution: {integrity: sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==} dependencies: - '@floating-ui/core': 1.6.4 - '@floating-ui/utils': 0.2.4 + '@floating-ui/core': 1.6.2 + '@floating-ui/utils': 0.2.2 - /@floating-ui/react-dom@2.1.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + /@floating-ui/react-dom@2.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.7 + '@floating-ui/dom': 1.6.5 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - /@floating-ui/react-dom@2.1.1(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==} + /@floating-ui/react-dom@2.1.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.6.7 + '@floating-ui/dom': 1.6.5 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) dev: false - /@floating-ui/utils@0.2.4: - resolution: {integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==} + /@floating-ui/utils@0.2.2: + resolution: {integrity: sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==} /@focus-reactive/react-yaml@1.1.2(react@18.2.0): resolution: {integrity: sha512-X9/rmfuDHR+beDym2206RsD5m/5EfH26vVuGVbLXy7+BunPcVBRqwe2WbvCyoHloMUX7Ccp2xrLwmmPrvZ9hrA==} @@ -4983,6 +4983,7 @@ packages: /@mapbox/mapbox-gl-style-spec@13.28.0: resolution: {integrity: sha512-B8xM7Fp1nh5kejfIl4SWeY0gtIeewbuRencqO3cJDrCHZpaPg7uY+V8abuR+esMeuOjRl5cLhVTP40v+1ywxbg==} + hasBin: true dependencies: '@mapbox/jsonlint-lines-primitives': 2.0.2 '@mapbox/point-geometry': 0.1.0 @@ -5131,7 +5132,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.2.0) '@popperjs/core': 2.11.8 @@ -5154,7 +5155,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1)(react@18.3.1) + '@floating-ui/react-dom': 2.1.0(react-dom@18.3.1)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.3.1) '@popperjs/core': 2.11.8 @@ -5177,7 +5178,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.20(@types/react@18.2.45)(react@18.2.0) '@popperjs/core': 2.11.8 @@ -5188,8 +5189,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@mui/core-downloads-tracker@5.15.21: - resolution: {integrity: sha512-dp9lXBaJZzJYeJfQY3Ow4Rb49QaCEdkl2KKYscdQHQm6bMJ+l4XPY3Cd9PCeeJTsHPIDJ60lzXbeRgs6sx/rpw==} + /@mui/core-downloads-tracker@5.15.20: + resolution: {integrity: sha512-DoL2ppgldL16utL8nNyj/P12f8mCNdx/Hb/AJnX9rLY4b52hCMIx1kH83pbXQ6uMy6n54M3StmEbvSGoj2OFuA==} dev: false /@mui/icons-material@5.15.2(@mui/material@5.15.2)(@types/react@18.2.45)(react@18.2.0): @@ -5263,7 +5264,7 @@ packages: '@emotion/react': 11.11.1(@types/react@18.2.45)(react@18.2.0) '@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.45)(react@18.2.0) '@mui/base': 5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@mui/core-downloads-tracker': 5.15.21 + '@mui/core-downloads-tracker': 5.15.20 '@mui/system': 5.15.20(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.2.45)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.2.0) @@ -5299,7 +5300,7 @@ packages: '@emotion/react': 11.11.4(@types/react@18.2.45)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.45)(react@18.3.1) '@mui/base': 5.0.0-beta.29(@types/react@18.2.45)(react-dom@18.3.1)(react@18.3.1) - '@mui/core-downloads-tracker': 5.15.21 + '@mui/core-downloads-tracker': 5.15.20 '@mui/system': 5.15.20(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.45)(react@18.3.1) '@mui/types': 7.2.14(@types/react@18.2.45) '@mui/utils': 5.15.2(@types/react@18.2.45)(react@18.3.1) @@ -5584,7 +5585,7 @@ packages: lit: 3.1.4 ol: 9.2.4 ol-ext: 4.0.18(ol@9.2.4) - ol-mapbox-style: 12.3.4(ol@9.2.4) + ol-mapbox-style: 12.3.3(ol@9.2.4) postcode: 5.1.0 proj4: 2.11.0 rambda: 8.6.0 @@ -5634,7 +5635,7 @@ packages: react-refresh: 0.11.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-dev-server: 4.15.2(webpack@5.91.0) /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.0)(webpack@5.91.0): @@ -5671,7 +5672,7 @@ packages: react-refresh: 0.14.0 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /@popperjs/core@2.11.8: @@ -5690,10 +5691,6 @@ packages: '@babel/runtime': 7.24.7 dev: true - /@radix-ui/primitive@1.1.0: - resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} - dev: true - /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: @@ -5739,29 +5736,6 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-collection@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: @@ -5776,19 +5750,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: @@ -5803,19 +5764,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-context@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: @@ -5830,19 +5778,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-direction@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} peerDependencies: @@ -5920,20 +5855,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-id@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} peerDependencies: @@ -5948,7 +5869,7 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.7 - '@floating-ui/react-dom': 2.1.1(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.1.0(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) @@ -6006,48 +5927,29 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-primitive@2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: true - - /@radix-ui/react-roving-focus@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.24.7 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6095,20 +5997,21 @@ packages: react-remove-scroll: 2.5.5(@types/react@18.2.45)(react@18.2.0) dev: true - /@radix-ui/react-separator@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-3uBAs+egzvJBDZAzvb/n4NxxOYpnspmWxO2u5NbZ8Y6FM/NdrGSF9bop3Cf6F6C71z1rTSn8KV0Fo2ZVd79lGA==} + /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.24.7 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6130,88 +6033,77 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-slot@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - - /@radix-ui/react-toggle-group@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==} + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.24.7 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-toggle@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==} + /@radix-ui/react-toggle@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.45)(react@18.2.0) + '@babel/runtime': 7.24.7 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.45)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@radix-ui/react-toolbar@1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZUKknxhMTL/4hPh+4DuaTot9aO7UD6Kupj4gqXCsBTayX1pD1L+0C2/2VZKXb4tIifQklZ3pf2hG9T+ns+FclQ==} + /@radix-ui/react-toolbar@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 peerDependenciesMeta: '@types/react': optional: true '@types/react-dom': optional: true dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-context': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-separator': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.24.7 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.45)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.45 '@types/react-dom': 18.2.18 react: 18.2.0 @@ -6232,19 +6124,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: @@ -6260,20 +6139,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.45)(react@18.2.0) - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: @@ -6303,19 +6168,6 @@ packages: react: 18.2.0 dev: true - /@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.45)(react@18.2.0): - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@types/react': 18.2.45 - react: 18.2.0 - dev: true - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: @@ -6701,7 +6553,7 @@ packages: react: optional: true dependencies: - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 react: 18.2.0 ts-dedent: 2.2.0 @@ -6752,14 +6604,14 @@ packages: '@storybook/client-logger': 7.6.7 '@storybook/components': 7.6.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/docs-tools': 7.6.7 '@storybook/global': 5.0.0 '@storybook/manager-api': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/preview-api': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.5 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 @@ -6820,15 +6672,15 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/preview': 7.6.7 '@storybook/preview-api': 7.6.7 - '@swc/core': 1.6.6 - '@types/node': 18.19.39 + '@swc/core': 1.6.3 + '@types/node': 18.19.36 '@types/semver': 7.5.8 babel-loader: 9.1.3(@babel/core@7.24.7)(webpack@5.91.0) browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 constants-browserify: 1.0.0 css-loader: 6.10.0(webpack@5.91.0) - es-module-lexer: 1.5.4 + es-module-lexer: 1.5.3 express: 4.19.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.3)(webpack@5.91.0) fs-extra: 11.2.0 @@ -6838,14 +6690,14 @@ packages: process: 0.11.10 semver: 7.6.2 style-loader: 3.3.4(webpack@5.91.0) - swc-loader: 0.2.6(@swc/core@1.6.6)(webpack@5.91.0) - terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) + swc-loader: 0.2.6(@swc/core@1.6.3)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) ts-dedent: 2.2.0 typescript: 5.4.3 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-dev-middleware: 6.1.3(webpack@5.91.0) webpack-hot-middleware: 2.26.1 webpack-virtual-modules: 0.5.0 @@ -6907,7 +6759,7 @@ packages: fs-extra: 11.2.0 get-npm-tarball-url: 2.1.0 giget: 1.2.3 - globby: 14.0.2 + globby: 14.0.1 jscodeshift: 0.15.2(@babel/preset-env@7.22.6) leven: 3.1.0 ora: 5.4.1 @@ -6954,13 +6806,13 @@ packages: '@babel/core': 7.24.7 '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/types': 7.24.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/csf-tools': 8.1.10 '@storybook/node-logger': 8.1.10 '@storybook/types': 8.1.10 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 - globby: 14.0.2 + globby: 14.0.1 jscodeshift: 0.15.2(@babel/preset-env@7.24.7) lodash: 4.17.21 prettier: 3.3.2 @@ -6977,9 +6829,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-toolbar': 1.1.0(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toolbar': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@18.2.0)(react@18.2.0) '@storybook/client-logger': 7.6.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) '@storybook/types': 7.6.7 @@ -7007,7 +6859,7 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/types': 7.6.7 '@types/find-cache-dir': 3.2.1 - '@types/node': 18.19.39 + '@types/node': 18.19.36 '@types/node-fetch': 2.6.11 '@types/pretty-hrtime': 1.0.3 chalk: 4.1.2 @@ -7089,7 +6941,7 @@ packages: /@storybook/core-events@8.1.10: resolution: {integrity: sha512-aS4zsBVyJds74+rAW0IfTEjULDCQwXecVpQfv11B8/89/07s3bOPssGGoTtCTaN4pHbduywE6MxbmFvTmXOFCA==} dependencies: - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 ts-dedent: 2.2.0 dev: true @@ -7104,7 +6956,7 @@ packages: '@storybook/channels': 8.1.10 '@storybook/core-common': 8.1.10(prettier@3.3.2) '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/csf-tools': 8.1.10 '@storybook/docs-mdx': 3.1.0-next.0 '@storybook/global': 5.0.0 @@ -7116,7 +6968,7 @@ packages: '@storybook/types': 8.1.10 '@types/detect-port': 1.3.5 '@types/diff': 5.2.1 - '@types/node': 18.19.39 + '@types/node': 18.19.36 '@types/pretty-hrtime': 1.0.3 '@types/semver': 7.5.8 better-opn: 3.0.2 @@ -7127,7 +6979,7 @@ packages: diff: 5.2.0 express: 4.19.2 fs-extra: 11.2.0 - globby: 14.0.2 + globby: 14.0.1 lodash: 4.17.21 open: 8.4.2 pretty-hrtime: 1.0.3 @@ -7157,7 +7009,7 @@ packages: '@storybook/core-common': 7.6.7 '@storybook/node-logger': 7.6.7 '@storybook/types': 7.6.7 - '@types/node': 18.19.39 + '@types/node': 18.19.36 ts-dedent: 2.2.0 transitivePeerDependencies: - encoding @@ -7168,7 +7020,7 @@ packages: resolution: {integrity: sha512-YL7e6H4iVcsDI0UpgpdQX2IiGDrlbgaQMHQgDLWXmZyKxBcy0ONROAX5zoT1ml44EHkL60TMaG4f7SinviJCog==} dependencies: '@storybook/csf-tools': 7.6.7 - unplugin: 1.11.0 + unplugin: 1.10.1 transitivePeerDependencies: - supports-color dev: true @@ -7180,7 +7032,7 @@ packages: '@babel/parser': 7.24.7 '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/types': 7.6.7 fs-extra: 11.2.0 recast: 0.23.9 @@ -7196,7 +7048,7 @@ packages: '@babel/parser': 7.24.7 '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/types': 8.1.10 fs-extra: 11.2.0 recast: 0.23.9 @@ -7205,8 +7057,8 @@ packages: - supports-color dev: true - /@storybook/csf@0.1.9: - resolution: {integrity: sha512-JlZ6v/iFn+iKohKGpYXnMeNeTiiAMeFoDhYnPLIC8GnyyIWqEI9wJYrOK9i9rxlJ8NZAH/ojGC/u/xVC41qSgQ==} + /@storybook/csf@0.1.8: + resolution: {integrity: sha512-Ntab9o7LjBCbFIao5l42itFiaSh/Qu+l16l/r/9qmV9LnYZkO+JQ7tzhdlwpgJfhs+B5xeejpdAtftDRyXNajw==} dependencies: type-fest: 2.19.0 dev: true @@ -7251,7 +7103,7 @@ packages: '@storybook/channels': 7.6.7 '@storybook/client-logger': 7.6.7 '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 '@storybook/router': 7.6.7 '@storybook/theming': 7.6.7(react-dom@18.2.0)(react@18.2.0) @@ -7273,7 +7125,7 @@ packages: '@storybook/channels': 8.1.10 '@storybook/client-logger': 8.1.10 '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) '@storybook/router': 8.1.10 @@ -7323,7 +7175,7 @@ packages: '@types/babel__core': 7.20.5 '@types/semver': 7.5.8 pnp-webpack-plugin: 1.7.0(typescript@5.4.3) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 7.6.2 transitivePeerDependencies: - '@types/webpack' @@ -7338,7 +7190,7 @@ packages: - webpack-plugin-serve dev: true - /@storybook/preset-react-webpack@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): + /@storybook/preset-react-webpack@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): resolution: {integrity: sha512-olKTivJmbyuiPIa99/4Gx3zxbBplyXgbNso9ZAXHnSf7rBD0irV5oRqk+gFlEFJDHkK9vnpWMenly7vzX8QCXQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -7361,7 +7213,7 @@ packages: '@storybook/node-logger': 7.6.7 '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.3)(webpack@5.91.0) - '@types/node': 18.19.39 + '@types/node': 18.19.36 '@types/semver': 7.5.8 babel-plugin-add-react-displayname: 0.0.5 fs-extra: 11.2.0 @@ -7372,7 +7224,7 @@ packages: react-refresh: 0.14.0 semver: 7.6.2 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) transitivePeerDependencies: - '@swc/core' - '@types/webpack' @@ -7394,7 +7246,7 @@ packages: '@storybook/channels': 7.6.7 '@storybook/client-logger': 7.6.7 '@storybook/core-events': 7.6.7 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 '@storybook/types': 7.6.7 '@types/qs': 6.9.15 @@ -7413,7 +7265,7 @@ packages: '@storybook/channels': 8.1.10 '@storybook/client-logger': 8.1.10 '@storybook/core-events': 8.1.10 - '@storybook/csf': 0.1.9 + '@storybook/csf': 0.1.8 '@storybook/global': 5.0.0 '@storybook/types': 8.1.10 '@types/qs': 6.9.15 @@ -7444,7 +7296,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.3) tslib: 2.6.3 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) transitivePeerDependencies: - supports-color dev: true @@ -7459,7 +7311,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-webpack5@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): + /@storybook/react-webpack5@7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3): resolution: {integrity: sha512-/HK+v8vmeApN4WI5RyaDdhPhjFuEQfMQmvZLl+ewpamhJNMRr4nvrdvxOSfBw46zFubKgieuxEcW+VxHwvZ1og==} engines: {node: '>=16.0.0'} peerDependencies: @@ -7475,9 +7327,9 @@ packages: dependencies: '@babel/core': 7.22.5 '@storybook/builder-webpack5': 7.6.7(esbuild@0.21.3)(typescript@5.4.3) - '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.6)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) + '@storybook/preset-react-webpack': 7.6.7(@babel/core@7.22.5)(@swc/core@1.6.3)(esbuild@0.21.3)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) '@storybook/react': 7.6.7(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.3) - '@types/node': 18.19.39 + '@types/node': 18.19.36 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) typescript: 5.4.3 @@ -7518,7 +7370,7 @@ packages: '@storybook/types': 7.6.7 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.39 + '@types/node': 18.19.36 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -7746,88 +7598,88 @@ packages: transitivePeerDependencies: - supports-color - /@swc/core-darwin-arm64@1.6.6: - resolution: {integrity: sha512-5DA8NUGECcbcK1YLKJwNDKqdtTYDVnkfDU1WvQSXq/rU+bjYCLtn5gCe8/yzL7ISXA6rwqPU1RDejhbNt4ARLQ==} + /@swc/core-darwin-arm64@1.6.3: + resolution: {integrity: sha512-3r7cJf1BcE30iyF1rnOSKrEzIR+cqnyYSZvivrm62TZdXVsIjfXe1xulsKGxZgNeLY5erIu7ukvMvBvPhnQvqA==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@swc/core-darwin-x64@1.6.6: - resolution: {integrity: sha512-2nbh/RHpweNRsJiYDFk1KcX7UtaKgzzTNUjwtvK5cp0wWrpbXmPvdlWOx3yzwoiSASDFx78242JHHXCIOlEdsw==} + /@swc/core-darwin-x64@1.6.3: + resolution: {integrity: sha512-8GLZ23IgVpF5xh2SbS5ZW/12/EEBuRU1hFOLB5rKERJU0y1RJ6YhDMf/FuOWhfHQcFM7TeedBwHIzaF+tdKKlw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@swc/core-linux-arm-gnueabihf@1.6.6: - resolution: {integrity: sha512-YgytuyUfR7b0z0SRHKV+ylr83HmgnROgeT7xryEkth6JGpAEHooCspQ4RrWTU8+WKJ7aXiZlGXPgybQ4TiS+TA==} + /@swc/core-linux-arm-gnueabihf@1.6.3: + resolution: {integrity: sha512-VQ/bduX7WhLOlGbJLMG7UH0LBehjjx43R4yuk55rjjJLqpvX5fQzMsWhQdIZ5vsc+4ORzdgtEAlpumTv6bsD1A==} engines: {node: '>=10'} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-gnu@1.6.6: - resolution: {integrity: sha512-yGwx9fddzEE0iURqRVwKBQ4IwRHE6hNhl15WliHpi/PcYhzmYkUIpcbRXjr0dssubXAVPVnx6+jZVDSbutvnfg==} + /@swc/core-linux-arm64-gnu@1.6.3: + resolution: {integrity: sha512-jHIQ/PCwtdDBIF/BiC5DochswuCAIW/T5skJ+eDMbta7+QtEnZCXTZWpT5ORoEY/gtsE2fjpOA4TS6fBBvXqUw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-arm64-musl@1.6.6: - resolution: {integrity: sha512-a6fMbqzSAsS5KCxFJyg1mD5kwN3ZFO8qQLyJ75R/htZP/eCt05jrhmOI7h2n+1HjiG332jLnZ9S8lkVE5O8Nqw==} + /@swc/core-linux-arm64-musl@1.6.3: + resolution: {integrity: sha512-gA6velEUD27Dwu0BlR9hCcFzkWq2YL2pDAU5qbgeuGhaMiUCBssfqTQB+2ctEnV+AZx+hSMJOHvtA+uFZjfRrw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-gnu@1.6.6: - resolution: {integrity: sha512-hRGsUKNzzZle28YF0dYIpN0bt9PceR9LaVBq7x8+l9TAaDLFbgksSxcnU/ubTtsy+WsYSYGn+A83w3xWC0O8CQ==} + /@swc/core-linux-x64-gnu@1.6.3: + resolution: {integrity: sha512-fy4qoBDr5I8r+ZNCZxs/oZcmu4j/8mtSud6Ka102DaSxEjNg0vfIdo9ITsVIPsofhUTmDKjQsPB2O7YUlJAioQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-linux-x64-musl@1.6.6: - resolution: {integrity: sha512-NokIUtFxJDVv3LzGeEtYMTV3j2dnGKLac59luTeq36DQLZdJQawQIdTbzzWl2jE7lxxTZme+dhsVOH9LxE3ceg==} + /@swc/core-linux-x64-musl@1.6.3: + resolution: {integrity: sha512-c/twcMbq/Gpq47G+b3kWgoaCujpXO11aRgJx6am+CprvP4uNeBHEpQkxD+DQmdWFHisZd0i9GB8NG3e7L9Rz9Q==} engines: {node: '>=10'} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@swc/core-win32-arm64-msvc@1.6.6: - resolution: {integrity: sha512-lzYdI4qb4k1dFG26yv+9Jaq/bUMAhgs/2JsrLncGjLof86+uj74wKYCQnbzKAsq2hDtS5DqnHnl+//J+miZfGA==} + /@swc/core-win32-arm64-msvc@1.6.3: + resolution: {integrity: sha512-y6RxMtX45acReQmzkxcEfJscfBXce6QjuNgWQHHs9exA592BZzmolDUwgmAyjyvopz1lWX+KdymdZFKvuDSx4w==} engines: {node: '>=10'} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-ia32-msvc@1.6.6: - resolution: {integrity: sha512-bvl7FMaXIJQ76WZU0ER4+RyfKIMGb6S2MgRkBhJOOp0i7VFx4WLOnrmMzaeoPJaJSkityVKAftfNh7NBzTIydQ==} + /@swc/core-win32-ia32-msvc@1.6.3: + resolution: {integrity: sha512-41h7z3xgukl1HDDwhquaeOPSP1OWeHl+mWKnJVmmwd3ui/oowUDCO856qa6JagBgPSnAGfyXwv6vthuXwyCcWA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@swc/core-win32-x64-msvc@1.6.6: - resolution: {integrity: sha512-WAP0JoCTfgeYKgOeYJoJV4ZS0sQUmU3OwvXa2dYYtMLF7zsNqOiW4niU7QlThBHgUv/qNZm2p6ITEgh3w1cltw==} + /@swc/core-win32-x64-msvc@1.6.3: + resolution: {integrity: sha512-//bnwo9b8Vp1ED06eXCHyGZ5xIpdkQgg2fuFDdtd1FITl7r5bdQh2ryRzPiKiGwgXZwZQitUshI4JeEX9IuW+Q==} engines: {node: '>=10'} cpu: [x64] os: [win32] requiresBuild: true optional: true - /@swc/core@1.6.6: - resolution: {integrity: sha512-sHfmIUPUXNrQTwFMVCY5V5Ena2GTOeaWjS2GFUpjLhAgVfP90OP67DWow7+cYrfFtqBdILHuWnjkTcd0+uPKlg==} + /@swc/core@1.6.3: + resolution: {integrity: sha512-mZpei+LqE+AL+nwgERMQey9EJA9/yhHTN6nwbobH5GnSij/lhfTdGfAb1iumOrroqEcXbHUaK//7wOw7DjBGdA==} engines: {node: '>=10'} requiresBuild: true peerDependencies: @@ -7837,29 +7689,29 @@ packages: optional: true dependencies: '@swc/counter': 0.1.3 - '@swc/types': 0.1.9 + '@swc/types': 0.1.8 optionalDependencies: - '@swc/core-darwin-arm64': 1.6.6 - '@swc/core-darwin-x64': 1.6.6 - '@swc/core-linux-arm-gnueabihf': 1.6.6 - '@swc/core-linux-arm64-gnu': 1.6.6 - '@swc/core-linux-arm64-musl': 1.6.6 - '@swc/core-linux-x64-gnu': 1.6.6 - '@swc/core-linux-x64-musl': 1.6.6 - '@swc/core-win32-arm64-msvc': 1.6.6 - '@swc/core-win32-ia32-msvc': 1.6.6 - '@swc/core-win32-x64-msvc': 1.6.6 + '@swc/core-darwin-arm64': 1.6.3 + '@swc/core-darwin-x64': 1.6.3 + '@swc/core-linux-arm-gnueabihf': 1.6.3 + '@swc/core-linux-arm64-gnu': 1.6.3 + '@swc/core-linux-arm64-musl': 1.6.3 + '@swc/core-linux-x64-gnu': 1.6.3 + '@swc/core-linux-x64-musl': 1.6.3 + '@swc/core-win32-arm64-msvc': 1.6.3 + '@swc/core-win32-ia32-msvc': 1.6.3 + '@swc/core-win32-x64-msvc': 1.6.3 /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - /@swc/types@0.1.9: - resolution: {integrity: sha512-qKnCno++jzcJ4lM4NTfYifm1EFSCeIfKiAHAfkENZAV5Kl9PjJIyd2yeeVv6c/2CckuLyv2NmRC5pv6pm2WQBg==} + /@swc/types@0.1.8: + resolution: {integrity: sha512-RNFA3+7OJFNYY78x0FYwi1Ow+iF1eF5WvmfY1nXPOEH4R2p/D4Cr1vzje7dNAI2aLFqpv8Wyz4oKSWqIZArpQA==} dependencies: '@swc/counter': 0.1.3 - /@testing-library/dom@10.2.0: - resolution: {integrity: sha512-CytIvb6tVOADRngTHGWNxH8LPgO/3hi/BdCEHOf7Qd2GvZVClhVP0Wo/QHzWhpki49Bk0b4VT6xpt3fx8HTSIw==} + /@testing-library/dom@10.1.0: + resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.24.7 @@ -7915,13 +7767,13 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@testing-library/user-event@14.4.3(@testing-library/dom@10.2.0): + /@testing-library/user-event@14.4.3(@testing-library/dom@10.1.0): resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} engines: {node: '>=12', npm: '>=6'} peerDependencies: '@testing-library/dom': '>=7.21.4' dependencies: - '@testing-library/dom': 10.2.0 + '@testing-library/dom': 10.1.0 dev: true /@testing-library/user-event@14.4.3(@testing-library/dom@9.3.4): @@ -8132,12 +7984,12 @@ packages: prosemirror-keymap: 1.2.2 prosemirror-markdown: 1.13.0 prosemirror-menu: 1.2.4 - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-schema-basic: 1.2.2 prosemirror-schema-list: 1.4.0 prosemirror-state: 1.4.3 prosemirror-tables: 1.3.7 - prosemirror-trailing-node: 2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8) + prosemirror-trailing-node: 2.0.8(prosemirror-model@1.21.1)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8) prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false @@ -8324,7 +8176,7 @@ packages: /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: - '@types/express-serve-static-core': 4.19.5 + '@types/express-serve-static-core': 4.19.3 '@types/node': 17.0.45 /@types/connect@3.4.38: @@ -8407,8 +8259,8 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - /@types/express-serve-static-core@4.19.5: - resolution: {integrity: sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==} + /@types/express-serve-static-core@4.19.3: + resolution: {integrity: sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg==} dependencies: '@types/node': 17.0.45 '@types/qs': 6.9.15 @@ -8419,7 +8271,7 @@ packages: resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} dependencies: '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.5 + '@types/express-serve-static-core': 4.19.3 '@types/qs': 6.9.15 '@types/serve-static': 1.15.7 @@ -8504,8 +8356,8 @@ packages: /@types/lodash@4.14.202: resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - /@types/lodash@4.17.6: - resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} + /@types/lodash@4.17.5: + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} /@types/mdast@3.0.15: resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} @@ -8539,14 +8391,14 @@ packages: /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - /@types/node@18.19.39: - resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} + /@types/node@18.19.36: + resolution: {integrity: sha512-tX1BNmYSWEvViftB26VLNxT6mEr37M7+ldUtq7rlKnv4/2fKYsJIOmqJAjT6h1DNuwQjIKgw3VJ/Dtw3yiTIQw==} dependencies: undici-types: 5.26.5 dev: true - /@types/node@20.14.9: - resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} + /@types/node@20.14.5: + resolution: {integrity: sha512-aoRR+fJkZT2l0aGOJhuA8frnCSoNX6W7U2mpNq63+BxBIj5BQFt8rHy627kijCmm63ijdSdwvGgpUsU6MBsZZA==} dependencies: undici-types: 5.26.5 dev: false @@ -8756,7 +8608,7 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.10.1 '@typescript-eslint/parser': 5.58.0(eslint@8.44.0)(typescript@5.4.3) '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.44.0)(typescript@5.4.3) @@ -9529,6 +9381,7 @@ packages: /atob@2.1.2: resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} engines: {node: '>= 4.5.0'} + hasBin: true /attr-accept@2.2.2: resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==} @@ -9543,7 +9396,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.1 - caniuse-lite: 1.0.30001639 + caniuse-lite: 1.0.30001636 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 @@ -9580,11 +9433,10 @@ packages: - debug dev: false - /axobject-query@3.2.2: - resolution: {integrity: sha512-QtQGAQJfHXiTrtRH8Q1gkarFLs56fDmfiMCptvRbo/AEQIImrW6u7EcUAOfkHHNE9dqZKH3227iRKRSp0KtfTw==} - engines: {node: '>= 0.4'} + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: - deep-equal-json: 1.0.0 + dequal: 2.0.3 /babel-core@7.0.0-bridge.0(@babel/core@7.24.7): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} @@ -9643,7 +9495,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /babel-loader@9.1.3(@babel/core@7.24.7)(webpack@5.91.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} @@ -9655,7 +9507,7 @@ packages: '@babel/core': 7.24.7 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /babel-plugin-add-react-displayname@0.0.5: @@ -10058,8 +9910,8 @@ packages: resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} dependencies: - caniuse-lite: 1.0.30001639 - electron-to-chromium: 1.4.815 + caniuse-lite: 1.0.30001636 + electron-to-chromium: 1.4.806 node-releases: 2.0.14 update-browserslist-db: 1.0.16(browserslist@4.23.1) @@ -10071,6 +9923,7 @@ packages: /btoa@1.2.1: resolution: {integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==} engines: {node: '>= 0.4.0'} + hasBin: true dev: false /buffer-from@1.1.2: @@ -10161,12 +10014,12 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.1 - caniuse-lite: 1.0.30001639 + caniuse-lite: 1.0.30001636 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - /caniuse-lite@1.0.30001639: - resolution: {integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==} + /caniuse-lite@1.0.30001636: + resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} /canvg@3.0.10: resolution: {integrity: sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==} @@ -10599,10 +10452,6 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - /confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - dev: true - /config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} dependencies: @@ -10695,7 +10544,7 @@ packages: /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - /cosmiconfig-typescript-loader@1.0.9(@swc/core@1.6.6)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3): + /cosmiconfig-typescript-loader@1.0.9(@swc/core@1.6.3)(@types/node@17.0.45)(cosmiconfig@7.1.0)(typescript@5.4.3): resolution: {integrity: sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -10705,7 +10554,7 @@ packages: dependencies: '@types/node': 17.0.45 cosmiconfig: 7.1.0 - ts-node: 10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3) + ts-node: 10.9.2(@swc/core@1.6.3)(@types/node@17.0.45)(typescript@5.4.3) typescript: 5.4.3 transitivePeerDependencies: - '@swc/core' @@ -10738,10 +10587,10 @@ packages: '@craco/craco': ^7.0.0 react-scripts: ^5.0.0 dependencies: - '@craco/craco': 7.1.0(@swc/core@1.6.6)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) + '@craco/craco': 7.1.0(@swc/core@1.6.3)(@types/node@17.0.45)(postcss@8.4.32)(react-scripts@5.0.1)(typescript@5.4.3) esbuild-jest: 0.5.0(esbuild@0.21.3) esbuild-loader: 4.2.0(webpack@5.91.0) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) transitivePeerDependencies: - esbuild - supports-color @@ -10855,15 +10704,15 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.39) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.39) - postcss-modules-scope: 3.2.0(postcss@8.4.39) - postcss-modules-values: 4.0.0(postcss@8.4.39) + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) + postcss-modules-scope: 3.2.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.2 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /css-minimizer-webpack-plugin@3.4.1(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} @@ -10891,7 +10740,7 @@ packages: schema-utils: 4.2.0 serialize-javascript: 6.0.2 source-map: 0.6.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /css-prefers-color-scheme@6.0.3(postcss@8.4.32): resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} @@ -11170,15 +11019,6 @@ packages: /dedent@0.7.0: resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - /deep-equal-json@1.0.0: - resolution: {integrity: sha512-x11iOxzQuLWG1faqBf8PYn3xSxkK41Wg38lUbch9f+nVmBeuI53PPXeRIDdHsW2/dP2GGKL9p8cLCahHToE7CA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - /deep-equal@2.2.3: resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} engines: {node: '>= 0.4'} @@ -11402,7 +11242,7 @@ packages: resolution: {integrity: sha512-4SbcbedPXTciySXiSnNNLuJXpvxFe5nqivbiEHXyL8P/w0wx2uW7YXNjnYgjW0e2e6vy+L/tMISU/oAiXCl57Q==} engines: {node: '>=10'} dependencies: - '@types/node': 20.14.9 + '@types/node': 20.14.5 jszip: 3.10.1 nanoid: 5.0.7 xml: 1.0.1 @@ -11571,8 +11411,8 @@ packages: dependencies: jake: 10.9.1 - /electron-to-chromium@1.4.815: - resolution: {integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==} + /electron-to-chromium@1.4.806: + resolution: {integrity: sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==} /emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} @@ -11679,7 +11519,7 @@ packages: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.2 + object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -11740,8 +11580,8 @@ packages: iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - /es-module-lexer@1.5.4: - resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + /es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} /es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} @@ -11827,7 +11667,7 @@ packages: esbuild: 0.21.3 get-tsconfig: 4.7.5 loader-utils: 2.0.4 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-sources: 1.4.3 dev: true @@ -12036,7 +11876,7 @@ packages: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 - is-core-module: 2.14.0 + is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color @@ -12104,7 +11944,7 @@ packages: eslint-import-resolver-node: 0.3.9 eslint-module-utils: 2.8.1(@typescript-eslint/parser@5.58.0)(eslint-import-resolver-node@0.3.9)(eslint@8.44.0) hasown: 2.0.2 - is-core-module: 2.14.0 + is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.8 @@ -12150,7 +11990,7 @@ packages: array.prototype.flatmap: 1.3.2 ast-types-flow: 0.0.7 axe-core: 4.9.1 - axobject-query: 3.2.2 + axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 eslint: 8.44.0 @@ -12251,14 +12091,14 @@ packages: micromatch: 4.0.7 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /eslint@8.44.0: resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.10.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.44.0 '@humanwhocodes/config-array': 0.11.14 @@ -12305,7 +12145,7 @@ packages: hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.10.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.0 '@humanwhocodes/config-array': 0.11.14 @@ -12706,7 +12546,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /file-saver@2.0.5: resolution: {integrity: sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==} @@ -12826,8 +12666,8 @@ packages: /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - /flow-parser@0.238.3: - resolution: {integrity: sha512-hNUhucq8V6KWSX1skXUS3vnDmrRNuKWzDvEVK5b+n97uMF32zj2y8pmcLDQEqlY5u926B0GYGWT/3XhwDJfLOQ==} + /flow-parser@0.238.0: + resolution: {integrity: sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==} engines: {node: '>=0.4.0'} dev: true @@ -12898,7 +12738,7 @@ packages: semver: 7.6.2 tapable: 1.1.3 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.3)(webpack@5.91.0): resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} @@ -12920,7 +12760,7 @@ packages: semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /form-data@2.5.1: @@ -13154,7 +12994,7 @@ packages: consola: 3.2.3 defu: 6.1.4 node-fetch-native: 1.6.4 - nypm: 0.3.9 + nypm: 0.3.8 ohash: 1.1.3 pathe: 1.1.2 tar: 6.2.1 @@ -13182,11 +13022,10 @@ packages: /glob@10.4.2: resolution: {integrity: sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==} engines: {node: '>=16 || 14 >=14.18'} - hasBin: true dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.5 + minimatch: 9.0.4 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -13251,8 +13090,8 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /globby@14.0.2: - resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} dependencies: '@sindresorhus/merge-streams': 2.3.0 @@ -13518,7 +13357,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /html2canvas@1.4.1: resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} @@ -13664,13 +13503,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.39): + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.39 + postcss: 8.4.38 /idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} @@ -13861,9 +13700,8 @@ packages: rgba-regex: 1.0.0 dev: true - /is-core-module@2.14.0: - resolution: {integrity: sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==} - engines: {node: '>= 0.4'} + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 @@ -14920,7 +14758,6 @@ packages: /js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -14952,7 +14789,7 @@ packages: '@babel/register': 7.24.6(@babel/core@7.24.7) babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) chalk: 4.1.2 - flow-parser: 0.238.3 + flow-parser: 0.238.0 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -14986,7 +14823,7 @@ packages: '@babel/register': 7.24.6(@babel/core@7.24.7) babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) chalk: 4.1.2 - flow-parser: 0.238.3 + flow-parser: 0.238.0 graceful-fs: 4.2.11 micromatch: 4.0.7 neo-async: 2.6.2 @@ -15059,7 +14896,7 @@ packages: dependencies: '@apidevtools/json-schema-ref-parser': 11.6.4 '@types/json-schema': 7.0.15 - '@types/lodash': 4.17.6 + '@types/lodash': 4.17.5 cli-color: 2.0.4 glob: 10.4.2 is-glob: 4.0.3 @@ -15329,7 +15166,7 @@ packages: listr2: 5.0.8 micromatch: 4.0.7 normalize-path: 3.0.0 - object-inspect: 1.13.2 + object-inspect: 1.13.1 pidtree: 0.6.0 string-argv: 0.3.2 yaml: 2.4.5 @@ -15470,7 +15307,6 @@ packages: /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true dependencies: js-tokens: 4.0.0 @@ -15479,8 +15315,8 @@ packages: dependencies: tslib: 2.6.3 - /lru-cache@10.3.0: - resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} /lru-cache@5.1.1: @@ -15970,7 +15806,7 @@ packages: dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -15993,8 +15829,8 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 @@ -16055,15 +15891,6 @@ packages: hasBin: true dev: false - /mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} - dependencies: - acorn: 8.12.0 - pathe: 1.1.2 - pkg-types: 1.1.2 - ufo: 1.5.3 - dev: true - /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -16313,15 +16140,14 @@ packages: /nwsapi@2.2.10: resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} - /nypm@0.3.9: - resolution: {integrity: sha512-BI2SdqqTHg2d4wJh8P9A1W+bslg33vOE9IZDY6eR2QC+Pu1iNBVZUqczrd43rJb+fMzHU7ltAYKsEFY/kHMFcw==} + /nypm@0.3.8: + resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} engines: {node: ^14.16.0 || >=16.10.0} dependencies: citty: 0.1.6 consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - pkg-types: 1.1.2 ufo: 1.5.3 dev: true @@ -16342,9 +16168,8 @@ packages: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - /object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} - engines: {node: '>= 0.4'} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} /object-is@1.1.6: resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} @@ -16452,8 +16277,8 @@ packages: ol: 9.2.4 dev: false - /ol-mapbox-style@12.3.4(ol@9.2.4): - resolution: {integrity: sha512-TxGJZw4hmvc6n5dHSyAE8ZpgALJ6hVG5Q9yl0j2Q1KmLS9iq4wMpb383TAitWiG86SvJV4oDkWMGkyyMLfVyew==} + /ol-mapbox-style@12.3.3(ol@9.2.4): + resolution: {integrity: sha512-Wyb1vSxTl/c09S9yC/Dcr7XWQf5u19/9BriqOiDJRgbjLTAbrWXW8l+5N9E/I0fV2gcTQDE+7iFtvVOvXcTmMA==} peerDependencies: ol: '*' dependencies: @@ -16584,7 +16409,7 @@ packages: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: - yocto-queue: 1.1.1 + yocto-queue: 1.0.0 dev: true /p-locate@3.0.0: @@ -16743,7 +16568,7 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.3.0 + lru-cache: 10.2.2 minipass: 7.1.2 /path-to-regexp@0.1.7: @@ -16764,6 +16589,7 @@ packages: /pbf@3.2.1: resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==} + hasBin: true dependencies: ieee754: 1.2.1 resolve-protobuf-schema: 2.1.0 @@ -16832,14 +16658,6 @@ packages: find-up: 6.3.0 dev: true - /pkg-types@1.1.2: - resolution: {integrity: sha512-VEGf1he2DR5yowYRl0XJhWJq5ktm9gYIsH+y8sNJpHlxch7JPDaufgrsl4vYjd9hMUY8QVjoNncKbow9I7exyA==} - dependencies: - confbox: 0.1.7 - mlly: 1.7.1 - pathe: 1.1.2 - dev: true - /pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -17173,7 +16991,7 @@ packages: klona: 2.0.6 postcss: 8.4.32 semver: 7.6.2 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /postcss-logical@5.0.4(postcss@8.4.32): resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} @@ -17253,42 +17071,42 @@ packages: postcss: 8.4.32 postcss-selector-parser: 6.1.0 - /postcss-modules-extract-imports@3.1.0(postcss@8.4.39): + /postcss-modules-extract-imports@3.1.0(postcss@8.4.38): resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.39 + postcss: 8.4.38 - /postcss-modules-local-by-default@4.0.5(postcss@8.4.39): + /postcss-modules-local-by-default@4.0.5(postcss@8.4.38): resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.1.0 postcss-value-parser: 4.2.0 - /postcss-modules-scope@3.2.0(postcss@8.4.39): + /postcss-modules-scope@3.2.0(postcss@8.4.38): resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.39 + postcss: 8.4.38 postcss-selector-parser: 6.1.0 - /postcss-modules-values@4.0.0(postcss@8.4.39): + /postcss-modules-values@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.39) - postcss: 8.4.39 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 /postcss-nested@6.0.1(postcss@8.4.32): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} @@ -17585,8 +17403,8 @@ packages: picocolors: 1.0.1 source-map-js: 1.2.0 - /postcss@8.4.39: - resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -17724,7 +17542,7 @@ packages: /prosemirror-commands@1.5.2: resolution: {integrity: sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -17741,7 +17559,7 @@ packages: resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-view: 1.33.8 dev: false @@ -17773,7 +17591,7 @@ packages: resolution: {integrity: sha512-UziddX3ZYSYibgx8042hfGKmukq5Aljp2qoBiJRejD/8MH70siQNz5RB1TrdTPheqLMy4aCe4GYNF10/3lQS5g==} dependencies: markdown-it: 14.1.0 - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 dev: false /prosemirror-menu@1.2.4: @@ -17785,8 +17603,8 @@ packages: prosemirror-state: 1.4.3 dev: false - /prosemirror-model@1.21.3: - resolution: {integrity: sha512-nt2Xs/RNGepD9hrrkzXvtCm1mpGJoQfFSPktGa0BF/aav6XsnmVGZ9sTXNWRLupAz5SCLa3EyKlFeK7zJWROKg==} + /prosemirror-model@1.21.1: + resolution: {integrity: sha512-IVBAuMqOfltTr7yPypwpfdGT+6rGAteVOw2FO6GEvCGGa1ZwxLseqC1Eax/EChDvG/xGquB2d/hLdgh3THpsYg==} dependencies: orderedmap: 2.1.1 dev: false @@ -17794,13 +17612,13 @@ packages: /prosemirror-schema-basic@1.2.2: resolution: {integrity: sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 dev: false /prosemirror-schema-list@1.4.0: resolution: {integrity: sha512-nZOIq/AkBSzCENxUyLm5ltWE53e2PLk65ghMN8qLQptOmDVixZlPqtMeQdiNw0odL9vNpalEjl3upgRkuJ/Jyw==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -17808,7 +17626,7 @@ packages: /prosemirror-state@1.4.3: resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false @@ -17817,13 +17635,13 @@ packages: resolution: {integrity: sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==} dependencies: prosemirror-keymap: 1.2.2 - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 prosemirror-view: 1.33.8 dev: false - /prosemirror-trailing-node@2.0.8(prosemirror-model@1.21.3)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8): + /prosemirror-trailing-node@2.0.8(prosemirror-model@1.21.1)(prosemirror-state@1.4.3)(prosemirror-view@1.33.8): resolution: {integrity: sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==} peerDependencies: prosemirror-model: ^1.19.0 @@ -17832,7 +17650,7 @@ packages: dependencies: '@remirror/core-constants': 2.0.2 escape-string-regexp: 4.0.0 - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-view: 1.33.8 dev: false @@ -17840,13 +17658,13 @@ packages: /prosemirror-transform@1.9.0: resolution: {integrity: sha512-5UXkr1LIRx3jmpXXNKDhv8OyAOeLTGuXNwdVfg8x27uASna/wQkr9p6fD3eupGOi4PLJfbezxTyi/7fSJypXHg==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 dev: false /prosemirror-view@1.33.8: resolution: {integrity: sha512-4PhMr/ufz2cdvFgpUAnZfs+0xij3RsFysreeG9V/utpwX7AJtYCDVyuRxzWoMJIEf4C7wVihuBNMPpFLPCiLQw==} dependencies: - prosemirror-model: 1.21.3 + prosemirror-model: 1.21.1 prosemirror-state: 1.4.3 prosemirror-transform: 1.9.0 dev: false @@ -18006,7 +17824,7 @@ packages: peerDependencies: react-scripts: '>=2.1.3' dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3) semver: 5.7.2 dev: true @@ -18097,7 +17915,7 @@ packages: strip-ansi: 6.0.1 text-table: 0.2.0 typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) transitivePeerDependencies: - eslint - supports-color @@ -18397,7 +18215,7 @@ packages: use-sidecar: 1.1.2(@types/react@18.2.45)(react@18.2.0) dev: true - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.6)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.6.3)(esbuild@0.21.3)(eslint@8.44.0)(react@18.2.0)(sass@1.71.1)(typescript@5.4.3): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -18452,9 +18270,9 @@ packages: source-map-loader: 3.0.2(webpack@5.91.0) style-loader: 3.3.4(webpack@5.91.0) tailwindcss: 3.4.4 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) typescript: 5.4.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-dev-server: 4.15.2(webpack@5.91.0) webpack-manifest-plugin: 4.1.1(webpack@5.91.0) workbox-webpack-plugin: 6.6.0(webpack@5.91.0) @@ -18904,15 +18722,14 @@ packages: /resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} dependencies: - is-core-module: 2.14.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true dependencies: - is-core-module: 2.14.0 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -19107,7 +18924,7 @@ packages: klona: 2.0.6 neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /sass-loader@13.3.2(sass@1.71.1)(webpack@5.91.0): resolution: {integrity: sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==} @@ -19130,7 +18947,7 @@ packages: dependencies: neo-async: 2.6.2 sass: 1.71.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /sass@1.71.1: @@ -19380,7 +19197,7 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.1 /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -19494,7 +19311,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /source-map-resolve@0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} @@ -19898,7 +19715,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /style-mod@4.1.2: resolution: {integrity: sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==} @@ -20024,15 +19841,15 @@ packages: picocolors: 1.0.1 stable: 0.1.8 - /swc-loader@0.2.6(@swc/core@1.6.6)(webpack@5.91.0): + /swc-loader@0.2.6(@swc/core@1.6.3)(webpack@5.91.0): resolution: {integrity: sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==} peerDependencies: '@swc/core': ^1.2.147 webpack: '>=2' dependencies: - '@swc/core': 1.6.6 + '@swc/core': 1.6.3 '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /swr@2.2.4(react@18.2.0): @@ -20185,7 +20002,7 @@ packages: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser-webpack-plugin@5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0): + /terser-webpack-plugin@5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -20202,13 +20019,13 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.25 - '@swc/core': 1.6.6 + '@swc/core': 1.6.3 esbuild: 0.21.3 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /terser@5.31.1: resolution: {integrity: sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==} @@ -20395,7 +20212,7 @@ packages: tslib: 2.6.3 dev: false - /ts-node@10.9.2(@swc/core@1.6.6)(@types/node@17.0.45)(typescript@5.4.3): + /ts-node@10.9.2(@swc/core@1.6.3)(@types/node@17.0.45)(typescript@5.4.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -20410,7 +20227,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@swc/core': 1.6.6 + '@swc/core': 1.6.3 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 @@ -20766,8 +20583,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - /unplugin@1.11.0: - resolution: {integrity: sha512-3r7VWZ/webh0SGgJScpWl2/MRCZK5d3ZYFcNaeci/GQ7Teop7zf0Nl2pUuz7G21BwPd9pcUPOC5KmJ2L3WgC5g==} + /unplugin@1.10.1: + resolution: {integrity: sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.12.0 @@ -21069,7 +20886,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) /webpack-dev-middleware@6.1.3(webpack@5.91.0): resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} @@ -21085,7 +20902,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) dev: true /webpack-dev-server@4.15.2(webpack@5.91.0): @@ -21129,7 +20946,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-dev-middleware: 5.3.4(webpack@5.91.0) ws: 8.17.1 transitivePeerDependencies: @@ -21153,7 +20970,7 @@ packages: webpack: ^4.44.2 || ^5.47.0 dependencies: tapable: 2.2.1 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-sources: 2.3.1 /webpack-merge@5.10.0: @@ -21190,7 +21007,7 @@ packages: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} dev: true - /webpack@5.91.0(@swc/core@1.6.6)(esbuild@0.21.3): + /webpack@5.91.0(@swc/core@1.6.3)(esbuild@0.21.3): resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==} engines: {node: '>=10.13.0'} hasBin: true @@ -21210,7 +21027,7 @@ packages: browserslist: 4.23.1 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.0 - es-module-lexer: 1.5.4 + es-module-lexer: 1.5.3 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -21221,7 +21038,7 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.6.6)(esbuild@0.21.3)(webpack@5.91.0) + terser-webpack-plugin: 5.3.10(@swc/core@1.6.3)(esbuild@0.21.3)(webpack@5.91.0) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -21482,7 +21299,7 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.91.0(@swc/core@1.6.6)(esbuild@0.21.3) + webpack: 5.91.0(@swc/core@1.6.3)(esbuild@0.21.3) webpack-sources: 1.4.3 workbox-build: 6.6.0 transitivePeerDependencies: @@ -21640,8 +21457,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - /yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'} dev: true @@ -21704,9 +21521,9 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - github.com/theopensystemslab/planx-core/b975cf9(@types/react@18.2.45): - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/b975cf9} - id: github.com/theopensystemslab/planx-core/b975cf9 + github.com/theopensystemslab/planx-core/60158b2(@types/react@18.2.45): + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/60158b2} + id: github.com/theopensystemslab/planx-core/60158b2 name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/editor.planx.uk/src/components/Header.test.tsx b/editor.planx.uk/src/components/Header.test.tsx index 73ea68818b..94e370320e 100644 --- a/editor.planx.uk/src/components/Header.test.tsx +++ b/editor.planx.uk/src/components/Header.test.tsx @@ -26,6 +26,16 @@ const mockTeam1: Team = { linkColour: "#0010A4", favicon: null, }, + teamSettings: { + boundaryUrl: "https://www.planning.data.gov.uk/", + helpEmail: "example@council.co.uk", + helpPhone: "(01234) 56789", + helpOpeningHours: "Monday - Friday, 9am - 5pm", + emailReplyToId: "727d48fa-cb8a-42f9-b8b2-55032f3bb451", + referenceCode: "OSL", + externalPlanningSiteName: "Open Planning", + externalPlanningSiteUrl: "openplanning.com", + }, }; const mockTeam2: Team = { @@ -42,6 +52,16 @@ const mockTeam2: Team = { linkColour: "#0010A4", favicon: null, }, + teamSettings: { + boundaryUrl: "https://www.planning.data.gov.uk/", + helpEmail: "example@council.co.uk", + helpPhone: "(01234) 56789", + helpOpeningHours: "Monday - Friday, 9am - 5pm", + emailReplyToId: "727d48fa-cb8a-42f9-b8b2-55032f3bb451", + referenceCode: "CSL", + externalPlanningSiteName: "Closed Planning", + externalPlanningSiteUrl: "closedplanning.com", + }, }; jest.spyOn(ReactNavi, "useNavigation").mockReturnValue({ @@ -54,7 +74,7 @@ describe("Header Component - Editor Route", () => { setState({ previewEnvironment: "editor", teamName: mockTeam1.name, - teamSettings: mockTeam1.settings, + teamSettings: mockTeam1.teamSettings, teamTheme: mockTeam1.theme, teamSlug: mockTeam1.slug, user: { diff --git a/editor.planx.uk/src/pages/FlowEditor/lib/store/team.ts b/editor.planx.uk/src/pages/FlowEditor/lib/store/team.ts index 113069d56c..884b4e5cb9 100644 --- a/editor.planx.uk/src/pages/FlowEditor/lib/store/team.ts +++ b/editor.planx.uk/src/pages/FlowEditor/lib/store/team.ts @@ -1,5 +1,4 @@ import { - NotifyPersonalisation, Team, TeamIntegrations, TeamSettings, @@ -13,11 +12,10 @@ import { SharedStore } from "./shared"; export interface TeamStore { boundaryBBox?: Team["boundaryBBox"]; - notifyPersonalisation?: NotifyPersonalisation; teamId: number; teamIntegrations: TeamIntegrations; teamName: string; - teamSettings?: TeamSettings; + teamSettings: TeamSettings; teamSlug: string; teamTheme: TeamTheme; @@ -36,22 +34,20 @@ export const teamStore: StateCreator< TeamStore > = (set, get) => ({ boundaryBBox: undefined, - notifyPersonalisation: undefined, teamId: 0, teamIntegrations: {} as TeamIntegrations, teamName: "", - teamSettings: undefined, + teamSettings: {} as TeamSettings, teamSlug: "", teamTheme: {} as TeamTheme, setTeam: (team) => { set({ boundaryBBox: team.boundaryBBox, - notifyPersonalisation: team.notifyPersonalisation, teamId: team.id, teamIntegrations: team.integrations, teamName: team.name, - teamSettings: team.settings, + teamSettings: team.teamSettings, teamSlug: team.slug, teamTheme: team.theme, }); @@ -67,8 +63,7 @@ export const teamStore: StateCreator< id: get().teamId, integrations: get().teamIntegrations, name: get().teamName, - notifyPersonalisation: get().notifyPersonalisation, - settings: get().teamSettings, + teamSettings: get().teamSettings, slug: get().teamSlug, theme: get().teamTheme, }), @@ -110,7 +105,6 @@ export const teamStore: StateCreator< clearTeamStore: () => set({ boundaryBBox: undefined, - notifyPersonalisation: undefined, teamId: 0, teamIntegrations: undefined, teamName: "", diff --git a/editor.planx.uk/src/routes/views/draft.tsx b/editor.planx.uk/src/routes/views/draft.tsx index 5860824a5f..cf2361140f 100644 --- a/editor.planx.uk/src/routes/views/draft.tsx +++ b/editor.planx.uk/src/routes/views/draft.tsx @@ -69,12 +69,18 @@ const fetchSettingsForDraftView = async ( favicon } name - settings + settings: team_settings { + boundaryUrl: boundary_url + homepage + helpEmail: help_email + helpPhone: help_phone + helpOpeningHours: help_opening_hours + emailReplyToId: email_reply_to_id + } integrations { hasPlanningData: has_planning_data } slug - notifyPersonalisation: notify_personalisation boundaryBBox: boundary_bbox } settings diff --git a/editor.planx.uk/src/routes/views/published.tsx b/editor.planx.uk/src/routes/views/published.tsx index 9570675577..09d9cb6db4 100644 --- a/editor.planx.uk/src/routes/views/published.tsx +++ b/editor.planx.uk/src/routes/views/published.tsx @@ -95,12 +95,19 @@ export const fetchSettingsForPublishedView = async ( favicon } name - settings + settings: team_settings { + boundaryUrl: boundary_url + homepage + helpEmail: help_email + helpPhone: help_phone + helpOpeningHours: help_opening_hours + emailReplyToId: email_reply_to_id + } integrations { hasPlanningData: has_planning_data } slug - notifyPersonalisation: notify_personalisation + boundaryBBox: boundary_bbox } settings diff --git a/editor.planx.uk/src/routes/views/standalone.tsx b/editor.planx.uk/src/routes/views/standalone.tsx index 5212c41b38..6f87ff7cde 100644 --- a/editor.planx.uk/src/routes/views/standalone.tsx +++ b/editor.planx.uk/src/routes/views/standalone.tsx @@ -69,12 +69,18 @@ const fetchDataForStandaloneView = async ( favicon } name - settings + settings: team_settings { + boundaryUrl: boundary_url + homepage + helpEmail: help_email + helpPhone: help_phone + helpOpeningHours: help_opening_hours + emailReplyToId: email_reply_to_id + } integrations { hasPlanningData: has_planning_data } slug - notifyPersonalisation: notify_personalisation boundaryBBox: boundary_bbox } settings diff --git a/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.stories.tsx b/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.stories.tsx index 723c0f81b9..25df956831 100644 --- a/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.stories.tsx +++ b/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.stories.tsx @@ -16,11 +16,5 @@ export default meta; export const Basic = { args: { purpose: DialogPurpose.MissingProjectType, - teamSettings: { - externalPlanningSite: { - name: "Council website", - url: "test.gov.uk", - }, - }, }, } satisfies Story; diff --git a/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.tsx b/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.tsx index 27a9d5c256..5b042c81f9 100644 --- a/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.tsx +++ b/editor.planx.uk/src/ui/public/ExternalPlanningSiteDialog.tsx @@ -32,11 +32,11 @@ const getTitleAndContent = ( content: ( <>

    At present, only the listed project types are supported.

    - {settings?.supportEmail && ( + {settings?.helpEmail && (

    Please feel free to{" "} @@ -53,7 +53,6 @@ const getTitleAndContent = ( interface Props { purpose: DialogPurpose; - teamSettings?: TeamSettings; } export default function ExternalPlanningSiteDialog({ @@ -77,7 +76,7 @@ export default function ExternalPlanningSiteDialog({

    You can apply for a Lawful Development Certificate without an address and postcode through{" "} - {teamSettings?.externalPlanningSite?.name}. + {teamSettings?.externalPlanningSiteName}.

    @@ -88,12 +87,9 @@ export default function ExternalPlanningSiteDialog({ > Return to application - + - Go to {teamSettings?.externalPlanningSite?.name} + Go to {teamSettings?.externalPlanningSiteName} (opens in a new tab) diff --git a/hasura.planx.uk/metadata/tables.yaml b/hasura.planx.uk/metadata/tables.yaml index bc532a857d..1bab36f613 100644 --- a/hasura.planx.uk/metadata/tables.yaml +++ b/hasura.planx.uk/metadata/tables.yaml @@ -157,7 +157,7 @@ definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 30 num_retries: 1 @@ -171,7 +171,7 @@ query_params: type: bops-submission template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/send-slack-notification' + url: "{{$base_url}}/webhooks/hasura/send-slack-notification" version: 2 - table: name: document_template @@ -225,7 +225,7 @@ definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 30 num_retries: 1 @@ -239,7 +239,7 @@ query_params: type: email-submission template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/send-slack-notification' + url: "{{$base_url}}/webhooks/hasura/send-slack-notification" version: 2 - table: name: feedback @@ -451,9 +451,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http - role: platformAdmin permission: @@ -475,9 +475,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http - role: teamEditor permission: @@ -506,9 +506,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http select_permissions: - role: api @@ -609,9 +609,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http - role: platformAdmin permission: @@ -629,9 +629,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http - role: teamEditor permission: @@ -656,9 +656,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http delete_permissions: - role: platformAdmin @@ -689,9 +689,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http select_permissions: - role: platformAdmin @@ -724,9 +724,9 @@ forward_client_headers: false headers: - name: authorization - value: '{{HASURA_PLANX_API_KEY}}' + value: "{{HASURA_PLANX_API_KEY}}" timeout: 10 - url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' + url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" type: http - table: name: lowcal_sessions @@ -873,7 +873,7 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/send-email/confirmation' + url: "{{$base_url}}/send-email/confirmation" version: 2 - name: setup_lowcal_expiry_events definition: @@ -903,7 +903,7 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-expiry-event' + url: "{{$base_url}}/webhooks/hasura/create-expiry-event" version: 2 - name: setup_lowcal_reminder_events definition: @@ -933,7 +933,7 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-reminder-event' + url: "{{$base_url}}/webhooks/hasura/create-reminder-event" version: 2 - table: name: operations @@ -1110,7 +1110,7 @@ definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 10 num_retries: 3 @@ -1132,13 +1132,13 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-payment-expiry-events' + url: "{{$base_url}}/webhooks/hasura/create-payment-expiry-events" version: 2 - name: setup_payment_invitation_events definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 10 num_retries: 3 @@ -1160,13 +1160,13 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-payment-invitation-events' + url: "{{$base_url}}/webhooks/hasura/create-payment-invitation-events" version: 2 - name: setup_payment_reminder_events definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 10 num_retries: 3 @@ -1188,7 +1188,7 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-payment-reminder-events' + url: "{{$base_url}}/webhooks/hasura/create-payment-reminder-events" version: 2 - name: setup_payment_send_events definition: @@ -1217,7 +1217,7 @@ method: POST query_params: {} template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/create-payment-send-events' + url: "{{$base_url}}/webhooks/hasura/create-payment-send-events" version: 2 - table: name: payment_status @@ -1660,6 +1660,8 @@ - role: api permission: columns: + - id + - team_id - boundary_json - boundary_url - email_reply_to_id @@ -1669,14 +1671,14 @@ - help_opening_hours - help_phone - homepage - - id - reference_code - - team_id filter: {} comment: "" - role: platformAdmin permission: columns: + - id + - team_id - boundary_json - boundary_url - email_reply_to_id @@ -1686,9 +1688,7 @@ - help_opening_hours - help_phone - homepage - - id - reference_code - - team_id filter: {} comment: "" - role: public @@ -1696,8 +1696,12 @@ columns: - boundary_json - boundary_url + - email_reply_to_id - external_planning_site_name - external_planning_site_url + - help_email + - help_opening_hours + - help_phone - homepage - id - reference_code @@ -1707,6 +1711,8 @@ - role: teamEditor permission: columns: + - id + - team_id - boundary_json - boundary_url - email_reply_to_id @@ -1716,9 +1722,7 @@ - help_opening_hours - help_phone - homepage - - id - reference_code - - team_id filter: {} comment: "" update_permissions: @@ -2060,7 +2064,7 @@ definition: enable_manual: false insert: - columns: '*' + columns: "*" retry_conf: interval_sec: 30 num_retries: 1 @@ -2074,7 +2078,7 @@ query_params: type: uniform-submission template_engine: Kriti - url: '{{$base_url}}/webhooks/hasura/send-slack-notification' + url: "{{$base_url}}/webhooks/hasura/send-slack-notification" version: 2 - table: name: user_roles From c84453267834d218034f170df7eb44d4c407c496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Wed, 3 Jul 2024 09:24:22 +0100 Subject: [PATCH 30/38] chore: Only open dependabot PRs for major versions (#3361) --- .github/dependabot.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2758fd20d0..f8baa88533 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -24,7 +24,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] # Hasura - package-ecosystem: "npm" @@ -38,7 +38,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] - package-ecosystem: "docker" directory: "/hasura.planx.uk" @@ -76,7 +76,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] # ShareDB - package-ecosystem: "npm" @@ -90,7 +90,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] - package-ecosystem: "docker" directory: "/sharedb.planx.uk" @@ -115,7 +115,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] - package-ecosystem: "docker" directory: "/api.planx.uk" @@ -142,7 +142,7 @@ updates: - "theopensystemslab/planx" ignore: - dependency-name: "*" - update-types: ["version-update:semver-patch"] + update-types: ["version-update:semver-patch", "version-update:semver-minor"] # Infrastructure # - package-ecosystem: "npm" From 772ea6a133c72a29b1afce88cd6385edbdb3db8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Wed, 3 Jul 2024 10:50:21 +0100 Subject: [PATCH 31/38] chore: Bump planx-core (#3365) --- api.planx.uk/package.json | 2 +- api.planx.uk/pnpm-lock.yaml | 8 ++++---- e2e/tests/api-driven/package.json | 2 +- e2e/tests/api-driven/pnpm-lock.yaml | 8 ++++---- e2e/tests/ui-driven/package.json | 2 +- e2e/tests/ui-driven/pnpm-lock.yaml | 8 ++++---- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/api.planx.uk/package.json b/api.planx.uk/package.json index 89b12c4858..09c750cf4c 100644 --- a/api.planx.uk/package.json +++ b/api.planx.uk/package.json @@ -5,7 +5,7 @@ "packageManager": "pnpm@8.6.6", "dependencies": { "@airbrake/node": "^2.1.8", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#60158b2", "@types/isomorphic-fetch": "^0.0.36", "adm-zip": "^0.5.10", "aws-sdk": "^2.1467.0", diff --git a/api.planx.uk/pnpm-lock.yaml b/api.planx.uk/pnpm-lock.yaml index 9aecb6701a..a4251b7ad7 100644 --- a/api.planx.uk/pnpm-lock.yaml +++ b/api.planx.uk/pnpm-lock.yaml @@ -14,8 +14,8 @@ dependencies: specifier: ^2.1.8 version: 2.1.8 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#462914f - version: github.com/theopensystemslab/planx-core/462914f + specifier: git+https://github.com/theopensystemslab/planx-core#60158b2 + version: github.com/theopensystemslab/planx-core/60158b2 '@types/isomorphic-fetch': specifier: ^0.0.36 version: 0.0.36 @@ -8202,8 +8202,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/462914f: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} + github.com/theopensystemslab/planx-core/60158b2: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/60158b2} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/api-driven/package.json b/e2e/tests/api-driven/package.json index 1153fc789c..3d7bb5de3d 100644 --- a/e2e/tests/api-driven/package.json +++ b/e2e/tests/api-driven/package.json @@ -7,7 +7,7 @@ "packageManager": "pnpm@8.6.6", "dependencies": { "@cucumber/cucumber": "^9.3.0", - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#60158b2", "axios": "^1.6.8", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", diff --git a/e2e/tests/api-driven/pnpm-lock.yaml b/e2e/tests/api-driven/pnpm-lock.yaml index 5c6aa2f01d..5852716546 100644 --- a/e2e/tests/api-driven/pnpm-lock.yaml +++ b/e2e/tests/api-driven/pnpm-lock.yaml @@ -9,8 +9,8 @@ dependencies: specifier: ^9.3.0 version: 9.3.0 '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#462914f - version: github.com/theopensystemslab/planx-core/462914f + specifier: git+https://github.com/theopensystemslab/planx-core#60158b2 + version: github.com/theopensystemslab/planx-core/60158b2 axios: specifier: ^1.6.8 version: 1.6.8 @@ -3053,8 +3053,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/462914f: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} + github.com/theopensystemslab/planx-core/60158b2: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/60158b2} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true diff --git a/e2e/tests/ui-driven/package.json b/e2e/tests/ui-driven/package.json index 0faffd78dd..920b91f9c2 100644 --- a/e2e/tests/ui-driven/package.json +++ b/e2e/tests/ui-driven/package.json @@ -8,7 +8,7 @@ "postinstall": "./install-dependencies.sh" }, "dependencies": { - "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#462914f", + "@opensystemslab/planx-core": "git+https://github.com/theopensystemslab/planx-core#60158b2", "axios": "^1.6.8", "dotenv": "^16.3.1", "eslint": "^8.56.0", diff --git a/e2e/tests/ui-driven/pnpm-lock.yaml b/e2e/tests/ui-driven/pnpm-lock.yaml index 84ffe4dbb5..6a74c3ec0b 100644 --- a/e2e/tests/ui-driven/pnpm-lock.yaml +++ b/e2e/tests/ui-driven/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: dependencies: '@opensystemslab/planx-core': - specifier: git+https://github.com/theopensystemslab/planx-core#462914f - version: github.com/theopensystemslab/planx-core/462914f + specifier: git+https://github.com/theopensystemslab/planx-core#60158b2 + version: github.com/theopensystemslab/planx-core/60158b2 axios: specifier: ^1.6.8 version: 1.6.8 @@ -2780,8 +2780,8 @@ packages: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} dev: false - github.com/theopensystemslab/planx-core/462914f: - resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/462914f} + github.com/theopensystemslab/planx-core/60158b2: + resolution: {tarball: https://codeload.github.com/theopensystemslab/planx-core/tar.gz/60158b2} name: '@opensystemslab/planx-core' version: 1.0.0 prepare: true From 712819fbcb133fc639cc3a40632d5530eb7ed00b Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Wed, 3 Jul 2024 15:53:33 +0200 Subject: [PATCH 32/38] chore: show number units on inactive List if defined (#3367) --- .../src/@planx/components/List/utils.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/List/utils.tsx b/editor.planx.uk/src/@planx/components/List/utils.tsx index 7b26eee627..2f1bf744cf 100644 --- a/editor.planx.uk/src/@planx/components/List/utils.tsx +++ b/editor.planx.uk/src/@planx/components/List/utils.tsx @@ -1,13 +1,14 @@ +import { styled } from "@mui/material/styles"; import React from "react"; +import { optional } from "zod"; import { Field, UserResponse } from "./model"; -import { styled } from "@mui/material/styles"; const List = styled("ul")(() => ({ listStylePosition: "inside", padding: 0, margin: 0, -})) +})); /** * In the case of "question" and "checklist" fields, ensure the displayed value reflects option "text", rather than "val" as recorded in passport @@ -21,6 +22,7 @@ export function formatSchemaDisplayValue( ) { switch (field.type) { case "number": + return field.data.units ? `${value} ${field.data.units}` : value; case "text": return value; case "checklist": { @@ -106,15 +108,15 @@ interface FlattenOptions { depth?: number; path?: string | null; separator?: string; -}; +} /** * Flattens nested object so we can output passport variables like `{listFn}.{itemIndexAsText}.{fieldFn}` * Adapted from https://gist.github.com/penguinboy/762197 */ export function flatten>( - object: T, - { depth = Infinity, path = null, separator = ".", }: FlattenOptions = {} + object: T, + { depth = Infinity, path = null, separator = "." }: FlattenOptions = {}, ): T { return Object.keys(object).reduce((acc: T, key: string): T => { const value = object[key]; @@ -133,8 +135,11 @@ export function flatten>( !(Array.isArray(value) && value.length === 0), ].every(Boolean); - return (isObject && depth > 0) - ? { ...acc, ...flatten(value, { depth: depth - 1, path: newPath, separator }) } + return isObject && depth > 0 + ? { + ...acc, + ...flatten(value, { depth: depth - 1, path: newPath, separator }), + } : { ...acc, [newPath]: value }; }, {} as T); } From 2d5ad70fa72bbf830d72376a63755e5ac12797ac Mon Sep 17 00:00:00 2001 From: Rory Doak <138574807+RODO94@users.noreply.github.com> Date: Wed, 3 Jul 2024 17:02:57 +0100 Subject: [PATCH 33/38] feat: Fetch `team_settings` data for Editor forms and adding Update fn (#3366) --- .../Settings/GeneralSettings/BoundaryForm.tsx | 12 ++++++-- .../Settings/GeneralSettings/ContactForm.tsx | 29 ++++++++++++++----- .../Settings/GeneralSettings/index.tsx | 27 +++++------------ .../Settings/shared/SettingsForm.tsx | 1 + .../src/pages/FlowEditor/lib/store/team.ts | 10 +++++++ editor.planx.uk/src/routes/teamSettings.tsx | 10 +++---- 6 files changed, 55 insertions(+), 34 deletions(-) diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx index dbd93e3f0b..a33aa3d16c 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx @@ -1,4 +1,5 @@ import { useFormik } from "formik"; +import { useStore } from "pages/FlowEditor/lib/store"; import React, { ChangeEvent } from "react"; import InputLabel from "ui/editor/InputLabel"; import Input from "ui/shared/Input"; @@ -9,9 +10,14 @@ import { FormProps } from "."; export default function BoundaryForm({ formikConfig, onSuccess }: FormProps) { const formik = useFormik({ ...formikConfig, - onSubmit(values, { resetForm }) { - onSuccess(); - resetForm({ values }); + onSubmit: async (values, { resetForm }) => { + const isSuccess = await useStore.getState().updateTeamSettings({ + boundaryUrl: values.boundaryUrl, + }); + if (isSuccess) { + onSuccess(); + resetForm({ values }); + } }, }); diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx index 5b8c8c4047..906ab6531d 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx @@ -1,4 +1,5 @@ import { useFormik } from "formik"; +import { useStore } from "pages/FlowEditor/lib/store"; import React, { ChangeEvent } from "react"; import InputLabel from "ui/editor/InputLabel"; import Input from "ui/shared/Input"; @@ -13,16 +14,26 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { .email("Please enter valid email") .required("Help Email is required"), helpPhone: Yup.string().required("Help Phone is required"), - helpOpeningHours: Yup.string(), - homepage: Yup.string().url("Please enter a valid URL for the homepage"), + helpOpeningHours: Yup.string().required(), + homepage: Yup.string() + .url("Please enter a valid URL for the homepage") + .required("Enter a homepage"), }); const formik = useFormik({ ...formikConfig, validationSchema: formSchema, - onSubmit(values, { resetForm }) { - onSuccess(); - resetForm({ values }); + onSubmit: async (values, { resetForm }) => { + const isSuccess = await useStore.getState().updateTeamSettings({ + helpEmail: values.helpEmail, + helpOpeningHours: values.helpOpeningHours, + helpPhone: values.helpPhone, + homepage: values.homepage, + }); + if (isSuccess) { + onSuccess(); + resetForm({ values }); + } }, }); @@ -41,18 +52,20 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { } input={ <> - + { onChangeFn("homepage", event); }} - id="homepageUrl" + value={formik.values.homepage} + id="homepage" /> { onChangeFn("helpEmail", event); }} @@ -62,6 +75,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { { onChangeFn("helpPhone", event); }} @@ -72,6 +86,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { { onChangeFn("helpOpeningHours", event); }} diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx index a2fec53d73..b2ee94db39 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/index.tsx @@ -2,44 +2,33 @@ import Alert from "@mui/material/Alert"; import Box from "@mui/material/Box"; import Snackbar from "@mui/material/Snackbar"; import Typography from "@mui/material/Typography"; +import { TeamSettings } from "@opensystemslab/planx-core/types"; import { FormikConfig } from "formik"; +import { useStore } from "pages/FlowEditor/lib/store"; import React, { useEffect, useState } from "react"; import SettingsSection from "ui/editor/SettingsSection"; import BoundaryForm from "./BoundaryForm"; import ContactForm from "./ContactForm"; -export interface GeneralSettings { - boundaryUrl: string; - helpEmail: string; - helpPhone: string; - helpOpeningHours: string; - homepage: string; -} - export interface FormProps { - formikConfig: FormikConfig; + formikConfig: FormikConfig; onSuccess: () => void; } const GeneralSettings: React.FC = () => { const [formikConfig, setFormikConfig] = useState< - FormikConfig | undefined + FormikConfig | undefined >(undefined); - const initialValues = { - boundaryUrl: "", - helpEmail: "", - helpPhone: "", - helpOpeningHours: "", - homepage: "", - }; - useEffect(() => { const fetchTeam = async () => { try { + const fetchedTeam = await useStore.getState().fetchCurrentTeam(); + if (!fetchedTeam) throw Error("Unable to find team"); + setFormikConfig({ - initialValues: initialValues, + initialValues: fetchedTeam.teamSettings, onSubmit: () => {}, validateOnBlur: false, validateOnChange: false, diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx index aefab091a4..61b67c6f6c 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx @@ -40,6 +40,7 @@ export const SettingsForm = ({ {preview}
    )} + void; fetchCurrentTeam: () => Promise; updateTeamTheme: (theme: Partial) => Promise; + updateTeamSettings: (teamSettings: Partial) => Promise; } export const teamStore: StateCreator< @@ -128,4 +129,13 @@ export const teamStore: StateCreator< const isSuccess = await $client.team.updateTheme(teamId, theme); return isSuccess; }, + + updateTeamSettings: async (teamSettings: Partial) => { + const { teamId, $client } = get(); + const isSuccess = await $client.team.updateTeamSettings( + teamId, + teamSettings, + ); + return isSuccess; + }, }); diff --git a/editor.planx.uk/src/routes/teamSettings.tsx b/editor.planx.uk/src/routes/teamSettings.tsx index 27fcb11715..75f14a89b7 100644 --- a/editor.planx.uk/src/routes/teamSettings.tsx +++ b/editor.planx.uk/src/routes/teamSettings.tsx @@ -37,6 +37,11 @@ const teamSettingsRoutes = compose( ), From 04a98cb3f920da3aed9a43bbbcba84530e693fc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 5 Jul 2024 08:46:32 +0100 Subject: [PATCH 34/38] chore: Run `pnpm lint:fix` in Editor (#3372) --- .../@planx/components/List/Public/Context.tsx | 2 +- .../@planx/components/List/Public/Fields.tsx | 32 +--- .../components/List/Public/index.test.tsx | 180 +++++++++++------- .../@planx/components/List/Public/index.tsx | 6 +- .../src/@planx/components/Send/Public.tsx | 6 +- .../src/@planx/components/SetValue/Editor.tsx | 4 +- editor.planx.uk/src/ui/shared/Checkbox.tsx | 4 +- 7 files changed, 130 insertions(+), 104 deletions(-) diff --git a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx index 38bb5b1ec4..8d7f033828 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Context.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Context.tsx @@ -129,7 +129,7 @@ export const ListProvider: React.FC = (props) => { if (formik.values.userData.length < schema.min) { return setMinError(true); } - + formik.handleSubmit(); }; diff --git a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx index 8fad6c35db..961e219c8c 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/Fields.tsx @@ -6,6 +6,7 @@ import MenuItem from "@mui/material/MenuItem"; import RadioGroup from "@mui/material/RadioGroup"; import { visuallyHidden } from "@mui/utils"; import { getIn } from "formik"; +import { get } from "lodash"; import React from "react"; import SelectInput from "ui/editor/SelectInput"; import InputLabel from "ui/public/InputLabel"; @@ -23,21 +24,14 @@ import type { TextField, } from "../model"; import { useListContext } from "./Context"; -import { get } from "lodash"; type Props = T & { id: string }; -export const TextFieldInput: React.FC> = ({ - id, - data, -}) => { +export const TextFieldInput: React.FC> = ({ id, data }) => { const { formik, activeIndex } = useListContext(); return ( - + { if (type === "email") return "email"; @@ -48,10 +42,7 @@ export const TextFieldInput: React.FC> = ({ bordered value={formik.values.userData[activeIndex][data.fn]} onChange={formik.handleChange} - errorMessage={get( - formik.errors, - ["userData", activeIndex, data.fn], - )} + errorMessage={get(formik.errors, ["userData", activeIndex, data.fn])} id={id} rows={ data.type && ["long", "extraLong"].includes(data.type) ? 5 : undefined @@ -80,10 +71,7 @@ export const NumberFieldInput: React.FC> = ({ const { formik, activeIndex } = useListContext(); return ( - + > = ({ type="number" value={formik.values.userData[activeIndex][data.fn]} onChange={formik.handleChange} - errorMessage={get( - formik.errors, - ["userData", activeIndex, data.fn], - )} + errorMessage={get(formik.errors, ["userData", activeIndex, data.fn])} inputProps={{ "aria-describedby": [ data.description ? DESCRIPTION_TEXT : "", @@ -161,10 +146,7 @@ export const SelectFieldInput: React.FC> = (props) => { const { id, data } = props; return ( - + { describe("Form validation and error handling", () => { test("form validation is triggered when saving an item", async () => { - const { user, getByRole, getAllByTestId } = setup(); + const { user, getByRole, getAllByTestId } = setup( + , + ); let errorMessages = getAllByTestId(/error-message-input/); - + // Each field has an ErrorWrapper - expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length) + expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length); // All are empty initially - errorMessages.forEach(message => { + errorMessages.forEach((message) => { expect(message).toBeEmptyDOMElement(); }); await user.click(getByRole("button", { name: /Save/ })); - + // Error wrappers persist errorMessages = getAllByTestId(/error-message-input/); - expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length) + expect(errorMessages).toHaveLength(mockZooProps.schema.fields.length); // Each field is in an error state - errorMessages.forEach(message => { + errorMessages.forEach((message) => { expect(message).not.toBeEmptyDOMElement(); - }); + }); }); /** @@ -410,62 +412,95 @@ describe("Form validation and error handling", () => { */ describe("existing validation schemas are correctly referenced", () => { test("text fields", async () => { - const { user, getByRole, getByTestId } = setup(); + const { user, getByRole, getByTestId } = setup( + , + ); const nameInput = screen.getByLabelText(/name/); - await user.type(nameInput, "This is a long string of text over one hundred and twenty characters, which should trigger the 'short' text validation warning"); + await user.type( + nameInput, + "This is a long string of text over one hundred and twenty characters, which should trigger the 'short' text validation warning", + ); await user.click(getByRole("button", { name: /Save/ })); - const nameInputErrorMessage = getByTestId(/error-message-input-text-name/); + const nameInputErrorMessage = getByTestId( + /error-message-input-text-name/, + ); - expect(nameInputErrorMessage).toHaveTextContent(/Your answer must be 120 characters or fewer/); + expect(nameInputErrorMessage).toHaveTextContent( + /Your answer must be 120 characters or fewer/, + ); }); test("number fields", async () => { - const { user, getByRole, getByTestId } = setup(); + const { user, getByRole, getByTestId } = setup( + , + ); const ageInput = screen.getByLabelText(/old/); await user.type(ageInput, "-35"); await user.click(getByRole("button", { name: /Save/ })); - const ageInputErrorMessage = getByTestId(/error-message-input-number-age/); + const ageInputErrorMessage = getByTestId( + /error-message-input-number-age/, + ); expect(ageInputErrorMessage).toHaveTextContent(/Enter a positive number/); }); test("question fields", async () => { - const { user, getByRole, getByTestId } = setup(); + const { user, getByRole, getByTestId } = setup( + , + ); await user.click(getByRole("button", { name: /Save/ })); - const sizeInputErrorMessage = getByTestId(/error-message-input-question-size/); + const sizeInputErrorMessage = getByTestId( + /error-message-input-question-size/, + ); - expect(sizeInputErrorMessage).toHaveTextContent(/Select your answer before continuing/); + expect(sizeInputErrorMessage).toHaveTextContent( + /Select your answer before continuing/, + ); }); test("radio fields", async () => { - const { user, getByRole, getByTestId } = setup(); + const { user, getByRole, getByTestId } = setup( + , + ); await user.click(getByRole("button", { name: /Save/ })); - const cuteInputErrorMessage = getByTestId(/error-message-input-question-cute/); + const cuteInputErrorMessage = getByTestId( + /error-message-input-question-cute/, + ); - expect(cuteInputErrorMessage).toHaveTextContent(/Select your answer before continuing/); + expect(cuteInputErrorMessage).toHaveTextContent( + /Select your answer before continuing/, + ); }); test("checklist fields", async () => { - const { user, getByRole, getByTestId } = setup(); + const { user, getByRole, getByTestId } = setup( + , + ); await user.click(getByRole("button", { name: /Save/ })); - const foodInputErrorMessage = getByTestId(/error-message-input-checklist-food/); + const foodInputErrorMessage = getByTestId( + /error-message-input-checklist-food/, + ); - expect(foodInputErrorMessage).toHaveTextContent(/Select at least one option/); - }) + expect(foodInputErrorMessage).toHaveTextContent( + /Select at least one option/, + ); + }); }); test("an error displays if the minimum number of items is not met", async () => { - const { user, getByRole, getByTestId, getByText } = setup(); + const { user, getByRole, getByTestId, getByText } = setup( + , + ); const minNumberOfItems = mockZooProps.schema.min; expect(minNumberOfItems).toEqual(1); @@ -473,12 +508,16 @@ describe("Form validation and error handling", () => { await user.click(getByRole("button", { name: /Cancel/ })); await user.click(getByTestId("continue-button")); - const minItemsErrorMessage = getByText(`You must provide at least ${minNumberOfItems} response(s)`) + const minItemsErrorMessage = getByText( + `You must provide at least ${minNumberOfItems} response(s)`, + ); expect(minItemsErrorMessage).toBeVisible(); }); test("an error displays if the maximum number of items is exceeded", async () => { - const { user, getAllByTestId, getByTestId, getByText } = setup(); + const { user, getAllByTestId, getByTestId, getByText } = setup( + , + ); const addItemButton = getByTestId(/list-add-button/); const maxNumberOfItems = mockZooProps.schema.max; @@ -497,45 +536,51 @@ describe("Form validation and error handling", () => { // Try to add a fourth await user.click(getByTestId(/list-add-button/)); - const maxItemsErrorMessage = getByText(`You can provide at most ${maxNumberOfItems} response(s)`) + const maxItemsErrorMessage = getByText( + `You can provide at most ${maxNumberOfItems} response(s)`, + ); expect(maxItemsErrorMessage).toBeVisible(); }); - test( - "an error displays if you add a new item, without saving the active item", async () => { - const { user, getByTestId, getByText, getByLabelText } = setup(); - // Start filling out item - const nameInput = getByLabelText(/name/); - await user.type(nameInput, "Richard Parker"); - - const emailInput = getByLabelText(/email/); - await user.type(emailInput, "richard.parker@pi.com"); - - // Try to add a new item - await user.click(getByTestId(/list-add-button/)); - - const activeItemErrorMessage = getByText(/Please save all responses before adding another/) - expect(activeItemErrorMessage).toBeVisible(); - } - ); - - test( - "an error displays if you continue, without saving the active item", async () => { - const { user, getByTestId, getByText, getByLabelText } = setup(); - // Start filling out item - const nameInput = getByLabelText(/name/); - await user.type(nameInput, "Richard Parker"); - - const emailInput = getByLabelText(/email/); - await user.type(emailInput, "richard.parker@pi.com"); - - // Try to continue - await user.click(getByTestId(/continue-button/)); - - const unsavedItemErrorMessage = getByText(/Please save in order to continue/) - expect(unsavedItemErrorMessage).toBeVisible(); - } - ); + test("an error displays if you add a new item, without saving the active item", async () => { + const { user, getByTestId, getByText, getByLabelText } = setup( + , + ); + // Start filling out item + const nameInput = getByLabelText(/name/); + await user.type(nameInput, "Richard Parker"); + + const emailInput = getByLabelText(/email/); + await user.type(emailInput, "richard.parker@pi.com"); + + // Try to add a new item + await user.click(getByTestId(/list-add-button/)); + + const activeItemErrorMessage = getByText( + /Please save all responses before adding another/, + ); + expect(activeItemErrorMessage).toBeVisible(); + }); + + test("an error displays if you continue, without saving the active item", async () => { + const { user, getByTestId, getByText, getByLabelText } = setup( + , + ); + // Start filling out item + const nameInput = getByLabelText(/name/); + await user.type(nameInput, "Richard Parker"); + + const emailInput = getByLabelText(/email/); + await user.type(emailInput, "richard.parker@pi.com"); + + // Try to continue + await user.click(getByTestId(/continue-button/)); + + const unsavedItemErrorMessage = getByText( + /Please save in order to continue/, + ); + expect(unsavedItemErrorMessage).toBeVisible(); + }); }); describe("Payload generation", () => { @@ -559,9 +604,8 @@ describe("Payload generation", () => { it("generates a valid payload with summary stats on submission (Units)", async () => { const handleSubmit = jest.fn(); - const { getByTestId, user, getByRole, getAllByRole, getByLabelText } = setup( - , - ); + const { getByTestId, user, getByRole, getAllByRole, getByLabelText } = + setup(); const addItemButton = getByTestId("list-add-button"); @@ -601,7 +645,7 @@ describe("Payload generation", () => { gardenYesRadio = getAllByRole("radio")[0]; gardenNoRadio = getAllByRole("radio")[1]; unitsNumberInput = getByLabelText(/identical units/); - + await user.click(developmentSelect); await user.click(getByRole("option", { name: /Change of use to a home/ })); await user.click(gardenNoRadio); @@ -611,7 +655,7 @@ describe("Payload generation", () => { await user.click(getByTestId("continue-button")); expect(handleSubmit).toHaveBeenCalled(); - const output = handleSubmit.mock.calls[0][0] + const output = handleSubmit.mock.calls[0][0]; expect(output).toMatchObject(mockUnitsPayload); }); }); diff --git a/editor.planx.uk/src/@planx/components/List/Public/index.tsx b/editor.planx.uk/src/@planx/components/List/Public/index.tsx index c0d3136c29..52ae77b23e 100644 --- a/editor.planx.uk/src/@planx/components/List/Public/index.tsx +++ b/editor.planx.uk/src/@planx/components/List/Public/index.tsx @@ -70,14 +70,14 @@ const ActiveListCard: React.FC<{ }> = ({ index: i }) => { const { schema, saveItem, cancelEditItem, errors, isPageComponent } = useListContext(); - + const ref = useRef(null); useEffect(() => { if (ref.current) { - ref.current.scrollIntoView({ behavior: "smooth" }) + ref.current.scrollIntoView({ behavior: "smooth" }); } }, []); - + return ( = ({ } if ( - destinations.includes(Destination.Idox) && - isReady && + destinations.includes(Destination.Idox) && + isReady && props.handleSubmit ) { props.handleSubmit( - makeData(props, request.value.idox?.event_id, "idoxSendEventId") + makeData(props, request.value.idox?.event_id, "idoxSendEventId"), ); } diff --git a/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx b/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx index f3926067ee..b36c1e37f0 100644 --- a/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx +++ b/editor.planx.uk/src/@planx/components/SetValue/Editor.tsx @@ -106,7 +106,7 @@ function SetValueComponent(props: Props) { /> - {formik.values.operation !== "removeAll" && + {formik.values.operation !== "removeAll" && ( - } + )} diff --git a/editor.planx.uk/src/ui/shared/Checkbox.tsx b/editor.planx.uk/src/ui/shared/Checkbox.tsx index 37969b1e90..db2fe034f2 100644 --- a/editor.planx.uk/src/ui/shared/Checkbox.tsx +++ b/editor.planx.uk/src/ui/shared/Checkbox.tsx @@ -57,9 +57,9 @@ export default function Checkbox({ inputProps, }: Props): FCReturn { const handleChange = (e: React.MouseEvent) => { - e.preventDefault() + e.preventDefault(); onChange && onChange(); - } + }; return ( From 7cda94de4051352a15e37fe585f9ca01fdcf5525 Mon Sep 17 00:00:00 2001 From: Jessica McInchak Date: Fri, 5 Jul 2024 12:17:36 +0200 Subject: [PATCH 35/38] Revert "Revert "feat: build pizzas on alpine"" (#3374) --- .github/workflows/pizza-teardown.yml | 2 +- .github/workflows/pull-request.yml | 24 ++++++++++++++++++------ scripts/pullrequest/create.sh | 9 --------- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/pizza-teardown.yml b/.github/workflows/pizza-teardown.yml index 24e3de0de2..5eec564860 100644 --- a/.github/workflows/pizza-teardown.yml +++ b/.github/workflows/pizza-teardown.yml @@ -17,7 +17,7 @@ jobs: action: destroy api_key: ${{ secrets.VULTR_API_KEY }} domain: ${{ env.DOMAIN }} - os_type: ubuntu + os_type: alpine plan: vc2-1c-1gb pull_request_id: ${{ env.PULLREQUEST_ID }} region: lhr diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 8e89d32df7..1511916bc4 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -307,7 +307,7 @@ jobs: action: create api_key: ${{ secrets.VULTR_API_KEY }} domain: ${{ env.DOMAIN }} - os_type: ubuntu + os_type: alpine plan: vc2-1c-1gb pull_request_id: ${{ env.PULLREQUEST_ID }} region: lhr @@ -324,13 +324,19 @@ jobs: password: ${{ steps.create.outputs.default_password }} command_timeout: 20m script: | - apt-get update -y - + apk update + apk add docker + addgroup root docker + rc-update add docker default + service docker start + apk add docker-cli-compose + + apk add git git clone "${{ secrets.AUTHENTICATED_REPO_URL }}" cd planx-new git fetch origin "pull/${{ env.PULLREQUEST_ID }}/head" && git checkout FETCH_HEAD - apt-get install awscli -y + apk add aws-cli export AWS_ACCESS_KEY_ID=${{ secrets.PIZZA_AWS_ACCESS_KEY_ID }} export AWS_SECRET_ACCESS_KEY=${{ secrets.PIZZA_AWS_SECRET_ACCESS_KEY }} export AWS_REGION=eu-west-2 @@ -352,15 +358,21 @@ jobs: username: root password: ${{ secrets.SSH_PASSWORD }} command_timeout: 10m + # TODO: some of below script might be superfluous for server update (rather than create) script: | - apt-get update -y + apk update + apk add docker + addgroup root docker + rc-update add docker default + service docker start + apk add docker-cli-compose git clone "${{ secrets.AUTHENTICATED_REPO_URL }}" cd planx-new git add . && git stash git fetch origin "pull/${{ env.PULLREQUEST_ID }}/head" && git checkout FETCH_HEAD - apt-get install awscli -y + apk add aws-cli export AWS_ACCESS_KEY_ID=${{ secrets.PIZZA_AWS_ACCESS_KEY_ID }} export AWS_SECRET_ACCESS_KEY=${{ secrets.PIZZA_AWS_SECRET_ACCESS_KEY }} export AWS_REGION=eu-west-2 diff --git a/scripts/pullrequest/create.sh b/scripts/pullrequest/create.sh index c8fc91cadf..6f0f9394f5 100755 --- a/scripts/pullrequest/create.sh +++ b/scripts/pullrequest/create.sh @@ -10,15 +10,6 @@ echo "root:$SSH_PASSWORD" | chpasswd # https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-22-04 swapon --show -# install docker -apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --batch --yes --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg -echo \ - "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null -apt-get update -y -apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y - # set env for this shell set -o allexport source .env.pizza From 6d8c06b93632372c7cc0f01bc9f2d73c8819ffb3 Mon Sep 17 00:00:00 2001 From: Rory Doak <138574807+RODO94@users.noreply.github.com> Date: Fri, 5 Jul 2024 11:29:39 +0100 Subject: [PATCH 36/38] feat: `team_settings` form error validation (#3368) Changes requested by @DafyddLlyr have been made --- .../Settings/DesignSettings/ButtonForm.tsx | 1 + .../Settings/DesignSettings/TextLinkForm.tsx | 1 + .../DesignSettings/ThemeAndLogoForm.tsx | 1 + .../Settings/GeneralSettings/BoundaryForm.tsx | 11 ++++ .../Settings/GeneralSettings/ContactForm.tsx | 18 +++++-- .../Settings/shared/SettingsForm.tsx | 36 ++++++------- editor.planx.uk/src/ui/editor/ColorPicker.tsx | 54 +++++++++++-------- 7 files changed, 73 insertions(+), 49 deletions(-) diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx index 464cf9a215..1a8383e325 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ButtonForm.tsx @@ -61,6 +61,7 @@ export const ButtonForm: React.FC = ({ color={formik.values.actionColour} onChange={(color) => formik.setFieldValue("actionColour", color)} label="Button colour" + errorMessage={formik.errors.actionColour} /> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx index 6064cbac15..6f454d6144 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/TextLinkForm.tsx @@ -70,6 +70,7 @@ export const TextLinkForm: React.FC = ({ color={formik.values.linkColour} onChange={(color) => formik.setFieldValue("linkColour", color)} label="Text link colour" + errorMessage={formik.errors.linkColour} /> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx index 2ab48b447b..3629d5d0c5 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/DesignSettings/ThemeAndLogoForm.tsx @@ -86,6 +86,7 @@ export const ThemeAndLogoForm: React.FC = ({ formik.setFieldValue("primaryColour", color) } label="Theme colour" + errorMessage={formik.errors.primaryColour} /> diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx index a33aa3d16c..f59e2bee97 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/BoundaryForm.tsx @@ -3,13 +3,23 @@ import { useStore } from "pages/FlowEditor/lib/store"; import React, { ChangeEvent } from "react"; import InputLabel from "ui/editor/InputLabel"; import Input from "ui/shared/Input"; +import * as Yup from "yup"; import { SettingsForm } from "../shared/SettingsForm"; import { FormProps } from "."; export default function BoundaryForm({ formikConfig, onSuccess }: FormProps) { + const formSchema = Yup.object().shape({ + boundaryUrl: Yup.string() + .url( + "Enter a boundary URL in the correct format, https://www.planning.data.gov.uk/", + ) + .required("Enter a boundary URL"), + }); + const formik = useFormik({ ...formikConfig, + validationSchema: formSchema, onSubmit: async (values, { resetForm }) => { const isSuccess = await useStore.getState().updateTeamSettings({ boundaryUrl: values.boundaryUrl, @@ -49,6 +59,7 @@ export default function BoundaryForm({ formikConfig, onSuccess }: FormProps) { ) => { formik.setFieldValue("boundaryUrl", ev.target.value); }} diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx index 906ab6531d..7924634a00 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/GeneralSettings/ContactForm.tsx @@ -11,12 +11,16 @@ import { FormProps } from "."; export default function ContactForm({ formikConfig, onSuccess }: FormProps) { const formSchema = Yup.object().shape({ helpEmail: Yup.string() - .email("Please enter valid email") - .required("Help Email is required"), - helpPhone: Yup.string().required("Help Phone is required"), - helpOpeningHours: Yup.string().required(), + .email( + "Enter an email address in the correct format, like example@email.com", + ) + .required("Enter a help email address"), + helpPhone: Yup.string().required("Enter a help phone number"), + helpOpeningHours: Yup.string().required("Enter your opening hours"), homepage: Yup.string() - .url("Please enter a valid URL for the homepage") + .url( + "Enter a homepage URL in the correct format, like https://www.localauthority.gov.uk/", + ) .required("Enter a homepage"), }); @@ -59,6 +63,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { onChangeFn("homepage", event); }} value={formik.values.homepage} + errorMessage={formik.errors.homepage} id="homepage" /> @@ -66,6 +71,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { { onChangeFn("helpEmail", event); }} @@ -76,6 +82,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { { onChangeFn("helpPhone", event); }} @@ -87,6 +94,7 @@ export default function ContactForm({ formikConfig, onSuccess }: FormProps) { multiline name="helpOpeningHours" value={formik.values.helpOpeningHours} + errorMessage={formik.errors.helpOpeningHours} onChange={(event) => { onChangeFn("helpOpeningHours", event); }} diff --git a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx index 61b67c6f6c..10cf9fefee 100644 --- a/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx +++ b/editor.planx.uk/src/pages/FlowEditor/components/Settings/shared/SettingsForm.tsx @@ -40,27 +40,21 @@ export const SettingsForm = ({ {preview} )} - - - - - - - + + + + ); diff --git a/editor.planx.uk/src/ui/editor/ColorPicker.tsx b/editor.planx.uk/src/ui/editor/ColorPicker.tsx index d855547bc1..3f56a4e996 100644 --- a/editor.planx.uk/src/ui/editor/ColorPicker.tsx +++ b/editor.planx.uk/src/ui/editor/ColorPicker.tsx @@ -2,13 +2,16 @@ import Box, { BoxProps } from "@mui/material/Box"; import ButtonBase, { ButtonBaseProps } from "@mui/material/ButtonBase"; import { styled } from "@mui/material/styles"; import Typography from "@mui/material/Typography"; +import { ErrorMessage } from "formik"; import React, { useState } from "react"; import { ChromePicker, ColorChangeHandler } from "react-color"; +import ErrorWrapper from "ui/shared/ErrorWrapper"; export interface Props { label?: string; inline?: boolean; color?: string; + errorMessage?: string; onChange?: (newColor: string) => void; } @@ -93,28 +96,33 @@ export default function ColorPicker(props: Props): FCReturn { }; return ( - - - {props.label || "Background colour"}:{" "} - - - - {props.color} - - {show ? ( - - - - - ) : null} - + + + + {props.label || "Background colour"}:{" "} + + + + {props.color} + + {show ? ( + + + + + ) : null} + + ); } From 89adc20ba94b12a01776d6dcc21fe63f5a178678 Mon Sep 17 00:00:00 2001 From: Rory Doak <138574807+RODO94@users.noreply.github.com> Date: Fri, 5 Jul 2024 12:56:21 +0100 Subject: [PATCH 37/38] feat: `team_settings` column rename from `boundary_json` to `boundary_bbox` (#3375) --- hasura.planx.uk/metadata/tables.yaml | 72 +++++++++---------- .../down.sql | 1 + .../up.sql | 1 + 3 files changed, 38 insertions(+), 36 deletions(-) create mode 100644 hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/down.sql create mode 100644 hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/up.sql diff --git a/hasura.planx.uk/metadata/tables.yaml b/hasura.planx.uk/metadata/tables.yaml index 1bab36f613..31b922cac7 100644 --- a/hasura.planx.uk/metadata/tables.yaml +++ b/hasura.planx.uk/metadata/tables.yaml @@ -157,7 +157,7 @@ definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 30 num_retries: 1 @@ -171,7 +171,7 @@ query_params: type: bops-submission template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/send-slack-notification" + url: '{{$base_url}}/webhooks/hasura/send-slack-notification' version: 2 - table: name: document_template @@ -225,7 +225,7 @@ definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 30 num_retries: 1 @@ -239,7 +239,7 @@ query_params: type: email-submission template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/send-slack-notification" + url: '{{$base_url}}/webhooks/hasura/send-slack-notification' version: 2 - table: name: feedback @@ -451,9 +451,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http - role: platformAdmin permission: @@ -475,9 +475,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http - role: teamEditor permission: @@ -506,9 +506,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http select_permissions: - role: api @@ -609,9 +609,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http - role: platformAdmin permission: @@ -629,9 +629,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http - role: teamEditor permission: @@ -656,9 +656,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http delete_permissions: - role: platformAdmin @@ -689,9 +689,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http select_permissions: - role: platformAdmin @@ -724,9 +724,9 @@ forward_client_headers: false headers: - name: authorization - value: "{{HASURA_PLANX_API_KEY}}" + value: '{{HASURA_PLANX_API_KEY}}' timeout: 10 - url: "{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html" + url: '{{HASURA_PLANX_API_URL}}/webhooks/hasura/validate-input/jsonb/clean-html' type: http - table: name: lowcal_sessions @@ -873,7 +873,7 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/send-email/confirmation" + url: '{{$base_url}}/send-email/confirmation' version: 2 - name: setup_lowcal_expiry_events definition: @@ -903,7 +903,7 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-expiry-event" + url: '{{$base_url}}/webhooks/hasura/create-expiry-event' version: 2 - name: setup_lowcal_reminder_events definition: @@ -933,7 +933,7 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-reminder-event" + url: '{{$base_url}}/webhooks/hasura/create-reminder-event' version: 2 - table: name: operations @@ -1110,7 +1110,7 @@ definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 10 num_retries: 3 @@ -1132,13 +1132,13 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-payment-expiry-events" + url: '{{$base_url}}/webhooks/hasura/create-payment-expiry-events' version: 2 - name: setup_payment_invitation_events definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 10 num_retries: 3 @@ -1160,13 +1160,13 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-payment-invitation-events" + url: '{{$base_url}}/webhooks/hasura/create-payment-invitation-events' version: 2 - name: setup_payment_reminder_events definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 10 num_retries: 3 @@ -1188,7 +1188,7 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-payment-reminder-events" + url: '{{$base_url}}/webhooks/hasura/create-payment-reminder-events' version: 2 - name: setup_payment_send_events definition: @@ -1217,7 +1217,7 @@ method: POST query_params: {} template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/create-payment-send-events" + url: '{{$base_url}}/webhooks/hasura/create-payment-send-events' version: 2 - table: name: payment_status @@ -1662,7 +1662,7 @@ columns: - id - team_id - - boundary_json + - boundary_bbox - boundary_url - email_reply_to_id - external_planning_site_name @@ -1679,7 +1679,7 @@ columns: - id - team_id - - boundary_json + - boundary_bbox - boundary_url - email_reply_to_id - external_planning_site_name @@ -1694,7 +1694,7 @@ - role: public permission: columns: - - boundary_json + - boundary_bbox - boundary_url - email_reply_to_id - external_planning_site_name @@ -1713,7 +1713,7 @@ columns: - id - team_id - - boundary_json + - boundary_bbox - boundary_url - email_reply_to_id - external_planning_site_name @@ -2064,7 +2064,7 @@ definition: enable_manual: false insert: - columns: "*" + columns: '*' retry_conf: interval_sec: 30 num_retries: 1 @@ -2078,7 +2078,7 @@ query_params: type: uniform-submission template_engine: Kriti - url: "{{$base_url}}/webhooks/hasura/send-slack-notification" + url: '{{$base_url}}/webhooks/hasura/send-slack-notification' version: 2 - table: name: user_roles diff --git a/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/down.sql b/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/down.sql new file mode 100644 index 0000000000..91c81c2392 --- /dev/null +++ b/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/down.sql @@ -0,0 +1 @@ +alter table "public"."team_settings" rename column "boundary_bbox" to "boundary_json"; diff --git a/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/up.sql b/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/up.sql new file mode 100644 index 0000000000..6379f408d1 --- /dev/null +++ b/hasura.planx.uk/migrations/1720175441656_alter_table_public_team_settings_alter_column_boundary_json/up.sql @@ -0,0 +1 @@ +alter table "public"."team_settings" rename column "boundary_json" to "boundary_bbox"; From 721ab2f557b6004162711c25b2b462ec0eeaac63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dafydd=20Ll=C5=B7r=20Pearson?= Date: Fri, 5 Jul 2024 15:17:23 +0100 Subject: [PATCH 38/38] chore: Add Espom and Ewell certs to AWS (#3376) --- .gitignore | 1 + infrastructure/application/Pulumi.production.yaml | 4 ++++ infrastructure/application/index.ts | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index 133d7d8670..d2d8497fb8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,6 +24,7 @@ api.planx.uk/tmp/ # Ignore certificate files **/*.chain **/*.cert +**/*.crt **/*.key **/*.pfx **/*.pkcs12 diff --git a/infrastructure/application/Pulumi.production.yaml b/infrastructure/application/Pulumi.production.yaml index 199fd0a32d..2065d18a51 100644 --- a/infrastructure/application/Pulumi.production.yaml +++ b/infrastructure/application/Pulumi.production.yaml @@ -57,6 +57,10 @@ config: secure: AAABADIUwFlpmPKfH8fQoNkOe9z8xCwnQgCrV1jxoPTtgfpL9GmImtNx0AnL6HUgkndlUgjCtArhChDN2rdepbgvBV2IZmZ3vds8LvRnBwwLKdxWvNwC6LBQnmWo4oac+VU1XoEOrs+kIDnPqFpkCwyxwySw3FzEmRzUoNLUlGun+ZKTtgtPgYcBNL4P9A73WAvzNlSX2mmRB7lVcEKqSB8SZ3/kEgGbgQ9PyDmHON78RBkaHBT5i0wHP9O1fulEoJ/w9D1S237JagtKzqeb81KUcqWTYLHUwuWKM2pmY4LpVKWOJM8d9PI7gYNQB4YKj/y1mSViK7PuSdCpmPchHER2WN+Oil7z/T47DQevp46Gthv5Von7ZEtoo1kw7aYsRxcUSl+pvVuOMzgP3bw3GS3YKksBsxA8WOlm+bKbyXoHVm/nrFuoSeTmBFUz+sb4VrWDDlF8c+XIe7SRjekk0Ld6Xr8qMPcRjOxj5wtTTPnsaetBmb9FERCa+IW91e37rMUitctX1QqF05SaajJ9oBwJoWQXxIMJ05OltWV1bLW1qdWAcqwFQMXsivo1/xFSjeeUmlld0ba3fjQcdMIvuXOLLVyYQpFPyxKMV1DT4Z+NSRkbBzOP9DtIB2pVp98QeKs3Fovd7mKS6ThGGMdYsub3o3TKg+pAh/KCffe2+MHRyP3Cwz7M7qJ/33puo4HGirTIJdV2nMRBroFyWU5mO8PFBdBgMeSP+zefu0QYpv1ifTv39Xoao4L0TXnj+mT2cO9oZknrH/ymyqTsLHj3Mrn200hZLhp1UhbATzEmHw+6KDMdgpADJRqsDIhtr6MOMa9Q9A1q2Kbk57XSxhP43xA8bZN/BIC+swTUCehFmFD5YeJtjYOD1TnEJPgYnsDtyheenblxfwVhmFT7kxMs8zV6QPLukKKBhkmk7OnyjjMxsJC7/B3SzajDpHqstjZkK+jklE+gQrJxxukVOwiJsBoXzya4aIBeRDEcQRxBK6nbjQOFAUoa5eMID5LAj33tXgXdyM8pdoNM5vJUIXJc6IhWaPUlDPTEwAdehtC+wNEqzeloNQxzCaZ/XsfMTrNcUpHrJcF+xFEcWA57OfiSDyNd3VyMFUQV87NJF/ifg1jhFNl4KxI/md5oUZOX97F314C3YEwsbQy9/2b/WbmnuMhgPpT4QYLDnYqn7Y9BbsBD2eR1U6NvLxJy8H83nCfEfUvRvJ1cmV5IiXnHaF8HC3/ThNjMM7CQaxWLWM4fkDQApEmUU34yL068daNmy3mEbDa739X/zCPNh9295ruyFT74n8Iw4XWCMo/3v0vNVDCRyV5pI4vaEj1GOQSNMLa8CHjXL1T8RKl8b93GXssVRSbDf5WoBcAt0v35v0i5Lq5jTVZjUtlftPVelhI/CLrdP5+5KFaj5M3PX6SaPSO6DbzFjLeCKDu0+MhITp/2iFR5zP1qFHb0fTnIhdKUHGSb88OKUZ8B3eRQRxJrauYcAu0ezx0fOtlEpaZ2E/yUhB4KxXEBCHXkKg1fvoziX/fgsdZGXGdjDzaYhtWxSGsHjQfkGSgaCZ5JY0bwB/Gp6obQlfsJZrFKPCMo+qeRMRv0okEFtlO2Vp7WlH2NjaMZffaXZ2TRsFvMfT2XFNCXF+3pAM9RU8gmN1j/ZULCFsmFJbgJprjNK4KvCjMZmFLUzm7G6+ul6recIcUufwKRm6kmJnJgJIMvz8mbsTU/NDAMLLak4MeJxCzRVXWbXBpv2J6ol15Q89D4eNgdSQKFBjMz7/SnTG06k+kCT1y24+0xAJU8x3BQmpN8ExFnQBzbCyaXkSLPxkt8Y9CJRSx+nIo35sTcVNsu9yw1KNH4+X2qAads55wGFBNy6ucZ2ngI2pnFGfEGNbXv2ZnjB2p8z+UiIHLnBk7Y18Blqvin/guZ4jimpEL0Tuq7Voinrz9Wn4/fwTj0UcMan7UqIq4x4p/C8QiWsYQq/WXlXJqE3XQ0cTsP3cIB1cEFBGGvJhoebBDECyGFlHxW/hTn2RdLApRVF5TAIo02nHcpji0XAT3ctlEKF/4KuFb7RtvNo/OpXDWb44JCt400Wuta1y1I4hDjCtA60pKIA3sBRmkGv3asxzgWYlftCyGLihZNwsPIA/WvGZTSeIY+9I+Ns69YxYxQYHx6Yk/sH0YgkTIau67n4SpbTTQHmNjdyhHapIeutQ9tpmPS06lrqEP7vuYryGlfK/a96MsHPUHJH015zxFDEw5RxeYvaVPOVAB2zA8TMkhGUw8PmAJPpCrT0oUhIFgVt7H56Lj3A/EKlNnFYQbrL6eUB6xl4I1eeUOsDGmgZxDioKQY81wyEjpuI8nSgDlJXg7j472Ol1Oj2AQBIMxa2RprpUwbZ0+6O/+w1jq4Ywy766PDSFj5HGQAxO2EfG+x+Tp9lPS+lhB/O6k1xZ2c8vT8UQjCZI4CCQMLgZcjgy4m+Bj01gJWgyLcLhAF2gfp9mgaoGkHWN24Gu4rykGwr7EJvmffA0U5+RRlkGkSvgjTqnh577o2gw5jyZvGCUUcxb89BAOg63JoZyeZVxpr+mBiASDhafJ1OYo1s1yUUP6dujlpGs1vWWkLeY7kx4LHITrMJw3N+YBGV4gKyRmAzqqNgjsPBAZuq6vW+I6US7Ohdrpzkv1NzXFaLK3o8wU9lbHfC6D/CiB6w6ypdGxWZ+PJy8NHYUwFdfM8nLyd7XjUxcOpdO4y/TS/9r4+FXCnoqIsEiBNXatQvfYdbNmbEGIILgXgBBI7BPZ3A8+U98yaUzgMzXBhOi5Vqn5QA+Yeb9yZdqgGgOJqblm9KgwMXQxwwCfQGTri1hTlP6ZemZNJTgkZph3UhS48MfMDHqoDstYE8gZeALSgDDB+H0dvkCBKT6AcIRejulORkBevz8ZFtQm5xws7EPcscP+1/KxuXzHfsYuf1CLrOIf7K8ZzofksqDIuu8XaDwEfGP9FVOjaohS7kUtyJmT6M2B7HM/lPLopns+CD1nkSPNPIvA9XZHNAdfL7887+1dSMcE1t6m1Rtkee9K8JrREHuLoWZzUHMjo18gBYzX3JJQSykKfy5ZTcqBjfp+j8EjbCV9x8/VmMfjZ6TApf2TDhGxihLBkBKFnSSymCfsVNPv9fBUXYPH3CYHs2VAQUOhh2XYDQasfUbYbtgnOSJfgtCdTHVHB5cYwG4ZrTIA68LJhjrc660bkzeXTAxn6P3o5bRKyqDCAOGqyv0M= application:ssl-doncaster-key: secure: AAABADjezySsYE1/SQmPh9oTRvK0m2tnDSBWUL4j1n9ahASsy7qqkJr5eL2IV9yfW1FP11Gj0XViJ2MviELA9ahrnzrcJVBTqlQKpVRYA3p5myLLmI1ntbr3Y+ZRtzVGQbEHnGr1kerLK03YsGJNLgNw1QWeO8tCHF8+FpJqyxhCPSHV16lBVTjsDxMOBc6rLC/dtI00edcq2x7N0Auhyr/sCauGis/GgYAH3On3HdUSQUvELPFFWn/4Ce8bUzIZ0tywvoy0BqQPO2cHKQyEBhb+Gavj/6Zb2MSvj5xen2/B7BZ2oxq7Xpui1X4nDGqBPf8xdXRlTrt9jIQnpvrqec/A729uXMyngpPBr3vg0wPzdqiUbvMVv13DV0XpdQr6NYf7UdKrQ28yd+37WPMRd4oLynfza3j9FJdqQG01DkLWsEOZa2qpDmg5Edj18fy3KRDe5HIrjCnAsn54H7Q00jggq1Yl31Y/Q0YHc0czDuD2/NTn7SyjBks4gM0QG9rv32U2Co+Z1rzBL94vLmBUNGLWF2IvU1eElkH56ATNR+I7uHXl+AvzsvKqGlY7+UKmna+qlSUI+86kCMb/xltD4nGgu1pHpkT6LptC0xFIPTFL5yH0ZsQ6aEUO8t9BBPRvE5AU4C5zM3Lb7iUI0jX31+Q9ZeslixE/fMBRyjDM4lakvGEVYO88PYtS1cl2JC4Ro2dL5eNySkkPIt/bu0QEPnfVrWZfTFeM9dGiDUG66iWxi/eEvLV53D7AbuhbOSD1J3VILgVmuefHwDAgoPOeUZZGKIiZgFHssn6/Owv3mCYtywtiwv517T9TrR1/RjqT0sAFp33xwwzpQr4X7RLIZUgfhg26bM6l/Tvl7+LLVmbttMWDFnjHM1EdeyDM9gBonOIuwUYIjl80RoD5ezJ9aafQcM2CdbPNsBmzlbgln98YR8Tm7QyOpxzLr3YOp5QLpZ/FGFHSNh1qvfELXU9LeFAhShlrZ3p7Nf6R4rynAl6eoDU9EMc1w8ZfBxoAtxYF41zbzDwgjwUvYmRtUWQa7foVtSTJGQx8ypZlaVP3W47Kq8jTMRkgKKkJvxgB7RErfVeL9GpRXHTZkD/i1kSM15zg4T02ijBHAb54IRK196Vf0yUR0eFP5mUXeEFdcsRMwVBaNYrQhWMmx0aiQWS6lRK+n/eDv5klGnSl9iUKdBvyjXwXVzNJYjJlZPIXYn0xKfG/zClwDxfr4K0Hg4H3lSttu/+hyyxHJi5tGctMXeVvkRj6gCINSiVv2/fEwk3IeaGyRz6o0YiPlt16q41JepwjZhA+7DtNS8WE+aoPcb5hN1lmlKFlvAj8yQ4MYEJLXdj13ZsWoXfdJAh+0W9mKk7hnNJer9954poHRtD1AFVgeIZfTFkKdmkD+SVay3BvqXjcEmWtF1VB8d2VliP33ZNo/J6VWDeKoAJ/se9x9qcu/yOke+Cijd9qZPQ09uzdxOHX+6bGvF5YWjiln8EK6RM49TAfAq9vtt1R5X4DvEQbGxkb5TLpoURKqV7DeQUmcymNJ+55zjKR58177z2LuqFquhwl9dHy65sYB8Rhmiiv/hQBdsNELSy+f0Zy8d2EWw97nPLTqUBJD5iDP0H7dis7BbHZnoHBZS9MkidJgHqlZNLFrmVK3F4YU+9juWvAK3XkTZgx0r4y72cMRwJ3GcKfumI2u7cMEbimmtsx8/qhej0PTf7bXoGaQWmboQE5D89wRACoAqpOwC0G/BJ54qYZP1q7lwU6Ku97sueznkNKE5A2dokDR+gnm3uy+mbMJI6NUOfKJCgrnoxkTgCVcIHwMGHG1u9VED1A6GBDFfO/5Wvx5BI/jihO5+vfvr49UFFAz5Xah6kjIFH/S47AnTVHfbRIH/22z7BMOJQMt4kZ3ZklyVnMfdQtIK1YPlgtN7eXgH+F3OvH7K1RDW5vUvFk64LWIlb/8EoaF+TALb8ZSx2Zv8xLfm1NjLuztvQkSot7jhRTo23XjDJfxf/e8Aaqjmlgl/CDVC62kq7Wt84BaP8r/pO4+KAAxb8plYzhzK7M1m0QOOvk2Avb80TamNeQjLX906GUpsEI61mEZAYm/NJFENpA/5Rh1HLI2lAKmyEi9bcQ1QoscoO8HIKKjb7uIj8t6bvpy8JAGlqx3Yq1S+yBYqFdPpYJEzW0DrPdDR55B6KD/HfEt0t2KpehCJk40uzfmBMyRv6MqP7uRb6O49pkBj6lN8+NUM8PUBMcT2T4IvxvID1zhyDAo7KIqS0IpMJUOactGyI= + application:ssl-epsom-and-ewell-cert: + secure: AAABAN1YNPGTbUk3OK/j7777E5fs37UbfLwG6ZWhnbNZKpki4rYk6SEw4m3bK3c5NlizygvjIEonsDavi5Np9Bcl3eRbUZCdTfJ3zKYkU+jn1RYwAUsqUxLGyZvv9XLptWb1Ykq2ewsgzmxnWF7oEndXuyuCGdn7B4V1RUmMH+s9sFVBGHWx+5v3dp3KCOHcz5mbZ7/bJIBikXFDkLIsEq6ZvviElNTiWBjQvDm7xZ9UYgmuLIUMALXHSxJFy9vFNYwnMmr8OcpUSgssX7g/cDCo39Xe7kWQRdH0lnmiPSChKSIJRsM/d9FZ1ZffUGXU4GeJmOdHNTI3q/hLDwfR7zRQWNeNHH9o22nikf2OpViviz6iVvD/Oy6SOxoH5RG5G3n7dQzHKV6bS51bV0w1PrBPD3UmL1nCK8AQlsuXf9FDXn7jEpijycQVEXQnHrCZ6WY+UrU2yJsX2gwnXAAdEGusJEPgHjYDanTgmMwRYJ+v8QV8BmykjqI/eMVOzZh7Kernd9RYu4Z3SCqarrpdLin1xIgdPXwB8wcgWj8K8lyCos/0FGSGLmFNGvvZy5J9z4hhLdIqOgUjpuZe4C5w9h/IBrkJJuVeNpzM7A0fcqcv7B53KQRgas9bH2CHT11+ymC/MY5/9IjchWIDkaksAfWAiIKAEVX9sCiEF7D8DLMkL867rhQT1w/2udvx5IambfvDZxw1NwybdiOsh1xdEfT8Rgs4t7s6FSek8xy1Ohzp7kmrqy0EqIG+8PNhn7AiaevgICqwTlHTvYKg1nzsscSSluva07Ww8Z2nOy6LDv9aJhxZI9kwVSuXZjn5WTpWN6WPHy/198J6R1SSSPMRqegvWFoN2pGELuh+TGudMFwypPkj/EwhW+60YqBY+jKL6bp3AZvFUZ35vU9LFxQXQr4yb6Irfh/G2gzP85M5JIQxEUAiLuY0VqAUlgD+XjlwRb4W90DNEx7dsRKt3+bpiFnRrXY8UGnfzay8+P4Rp0c3ObDuevU6lKGYXe7lHtmWc57qEWgYbXTgOt7ntKqZsdJ0NvGwGwBCISoYPYYTMynTmWWBWBpDBx7IBssdBdMRF0eRLdXzZDEHzg822S04DWHVQwUfYEN/24UiQ/78UaVVuYn7d0G0Xf61Cq7n95n+mEuQ75Eh7km+zPZTBlY6c3RJpYqZHv1UToFfgdBxX/yz5+1de6hXFkL6QcdXTFOiYEn/Pw6cpdpvHx0/81bCLTQOg/2YxdAgGJTv1J0Ko/sf5JkMJagDHVbOMquiwJ0UKV4Lm+vAgEtO2IQ/EM4p+syRcuVdhmklKGXLRBYHO4t7JxKSAKbyAj46AVcm5QcdVvWnVe1bBeks/y4nybJCbh/LLbyBKxCPTzd2aHa5lJ1zBEVw2YABKre+OgQW8g9VsMU05vqxj1mIVwZfCkwNIXTJn4vlwUA1h9plTW9vgTRqCBCfuuZI7uZtoeZiVpSfVO4/8bzoKlf7jGC+9MVUkVCBdWBMk3AvaaEyQ8ll71CyJJlM/EHQ3RKQNZUNnpR/uy9W+H8K7mN2ExvA+P043TshMP65H8Lq7gNsvztUVFpHQN1EoJhbh3DQ6QDMhLnqTH0BIqKJu2Jw1wHoLA0McCALbJzovCowcgQ1BEUP8cSHFG4BtUWNJEh8IM6lv+LoWNYH5LOA8+Jcd6Idb8xbLQPGHW70CHb5X5egK6dt7cbfWUl93pZMKcgy1Ar+O+k6hCycsqWVM4KX0taYHkfZzKjRVud41W2MxkUdfZN7MK2ou8qIpvpHb+1Lvnv0K7AzGyFpXwaNdY4D3yDTo8vWY7VMo+l3N2gYYkoAgRAPUL/niLfTqxnl4bnt19RmBVDgteLAd+ShIVvbuNy/GLAqw/NhaKwtxQFHeIXL6BlA125l/xK9uAz9zhazHmjG5MhdnBEs8VX5NljOOKsR1kzIE4HzBo4rIpbuIesIrUXtH2gnxhkngajjfhl8Mcbl/zg+VWkzsLw0B/uCtfEbvTxcBgvFgqmRQhxMmujorV9gDmwX6w65Rl4zA9PS2vhyzhy3v5JyoItbENF3FQTU0xermBolWpX5WAGGwBJMYbT+Nrrm908rbUF8DpLtfQ0VkieAmczIUBuLDqB7XWYRDgl1OVKZqRXnbrl1sK0GCEg0NfG+i8ow6/UP8nnwTVjKGtng3lecvSlaPZARLxAlKHyrZHf7XJRbqMwG4RdGXslrDmUboh9XQYfhWRJZNtv4gL+WGkiR3anq9dVJeOwzNM+exXYwu4bgy1Q8sWLZyIvitEotEXDZEILOdEP691KjryzY1SvquiwdXKET6gYpzmMCsU4yh/W4LZCwy92lBEXj9umEnGC191VPtCOfxWjaX7q9AVwtgJS8eDH65lMAuP+EFaiBQSitbZHjeTVhYj8cIkI75qdcGVcrKRkSI5JULYgud7CUhnb9VFSPRfJ5lUbEFQFMBKH5sZmav/gjZswcPJLo1CmEIqqwCRMVxJ0qf4QUvASQdR6q5P5oljHEmmuCBISsUunqOZeKP0xxK++K89/RWtQYNvGL7rvCVar52K+lqGeK2LuOg61Duw2juvK9MMJ6OVIQzR9erWojtn4TyXLDeqefj0DSA/+MphOeHxQxX+oPCOrwMgpeqymABSXyFASiYd2oBaCvaywqHKzJGAKM+DgIJKtOixwWMSC7gDqlp8PBcG4Xzs+exTrQ4gltiuS/PylJ2KLlFh5VdNMcDNRX2/LcnAMewUS1SJYycFHw/kPONBNFlLIn1OWIuIqEceH5EDQxkfmEJoHcFBGQcCQ2dIzfggQAqSZUHlUSoUa+iLWZIQfBM8jr1/awKWP4i7a3KDL9VRhU9tO+kqJyh8pRan7B0FZCg8kVuv1YRnpz6Ucb/lJxqv4I/qse8XTem/3YWrbezT1Pz7EepwkccYO8t+do55iARGYTPCCxulnwU2rH+rzoMkMQ0znk+X1V2uMz7XvX5S567NOoIsAD38GinyTiv0MUE3EAvvPISTi7rxCILHN/3H5pXffJ+DQk2/x2UMzi8YjwymA5EZpe0ArWhyi4JUCRxQHUqRvhStYkLACqzqAYYx8U+kmhM2b7HkFdN+dJuxYwV4hCqlc+N2ViKwEZY42MCkihugH5BiAPsAYCQ96dnihp0bh02rXuTN9l3n+DlBdM3LHfOaT2GQw0gQwlSQtwiVhLqHKT2oRJGQUXOCE6O46xtXdYdtGqP5I4TEkL0wHkHHfrwb/0CzKn0SvzWk2NkSubpBttsSzhYcjrbhqZCPQt2uF7KrCKaGfeM+AL2HSKwY4OKCkgPpQe6f+E+/Y/71pwWKHHvXMaNrNDuVcCHnndKq5c83OmuKsHRs+uk/tcpk8ZeKnZGDlbAaxzNgYLT3vSMyWjohx3bwJH2T2jSTSOw7ZltOmZtCL7a4yE+co4A3hZxeuupqO+GNGxsVV1FrWRZF5rIgOvf6+ubyHFLZNvas6ZuzwNDkqkd8WyujEdcN1oX84OexIQZDEI20gvQ+w20qqyR9GBZBPmk1z18xvOGmcrR3HesDymvRfVcD59FvAEuu6Bl4KbvWKzsyDjXJu8BWeNWnY54uiT8PVuQVbJ6lRAsspfyN2J/7wa4KN8r6O4rV8n5aFVs71ujEmqHR9o9tAm0J29+2mjEi/vqIoh/iN5L9CILdKeRwP8WJO17yg1lm/c4trd3/xNRS7b2wJaP6Br5MS8NDSEaCR+QOsN6g+TVENnoxTmojVdwSsiXT/mx/RBKK8RZwEOrCiOsLBqIlDMQBuPhx+eobwbsTyeNvhQOIhCzmPaWXuVRqsnuJv9eYLLOmrwT6sm3AQbnGOaC5hAbzYgh1sQ8qAsKkuM/TWWJkmpPv0Ya9F0d3qFSOMA9QaiVXCeD0rNsl9LyfpjghFsiOiOt2UrSO2irJb+9QsPKbRSVxw8HtHLmYo4iL1Tgw== + application:ssl-epsom-and-ewell-key: + secure: AAABABngth8fC8gaD7FItkcIgu1B7NEfXj5QGExBTUClDu05/cJsG3lsz4j/QN0yGVrJsryWM3gOfwVFwalLJmn+Ff0hBaRbdbzJIIdA3GRXpN6muOh0JAQpWZ5JmvLNSmfF8q+U1YUAds7Q8N5fXAaTQMPvwzTJcKTSJbvJ8uv6yTenzwqehaujz4fbOZrakYLRAWBH4QIuht51QQ+3CaLxnHDrO/ORt2ACzpDnqNDBKvVpLi/S3zMcZcMB1zR7uY9osO3XXzBHHuYjkjaP1W9t7ay0J1M4jJc/XRbg9bWSKG1/nOiagboPF3AAe+XwETAhsKi5XyEuAbSzffCx+Z4kZAIqqJTp+dOnj1jyu7nX9wnn9dl0iJv01eDCP3/dzXI1+ZVxbqbnhxBuEP6Dmx0ArledivEO6BPRnTGP2K7BAc6vcnW6gMBs5A77NZzebhOhO1n8WWBRQZyRHP0XxSy0/bMHG/hTgTsyI3g8WmSciPV10zNnOTtbEYZvw5y6V1gjhkgDb3Ds5pJpeZujgrcjsx1WOkVX3zu9CQ083NovEtJlAcAYCkLn08Dgv6vRCEX2VuwhX0VlEG4M/OwZ3dV4uARZe5erZRF+w+ec2n0gO0IyfTT9Oe3bKTtPkdR205cxIDTaeOA9NkAJChrHNX1aIogor+4hyhVee2yTawztDqpUwVpH3TdmCBPCGBnhSwgxCNxlBvu/BLopUceMMNEhYeUQid70nRQvbjUs7FY6j/TAkxJYNF7hgpRYbvg6fuhiicm9fY36WKyqEZEncon1dCLYCespq4BupNGcnPFPrA2811i5qkz5aCdeyGEYBHTJcfQyxETdPO817MD4GOiruG1BXMT3apFx6/EtNGvLAoZe510ia6/CxTwYaC71VLM57LlK4p1Ubd8+R6ikueXAl5yHYm4jJJ75ftvJs7/PAWeP2CGIonSt8TeWJhYjsAPzxEtFqnYdY2cbwe3c/NEejr9zXgZSIPsTvcS3NAEiHxPlBWCB7Opzi6FkdXsjkf/RkSfyupMCMHgcRTXDtHdPS7f5F+j+II76vHEWmOUXB8aN56x69SbR8e+3e8wAJhu8INU39W+AJAIxmySvkrstIp9k2ljqkGsoo64P5jOpS8WmiJfwf8EYMZk5iMKsZpf4DYOToe7wW659nX1sMAlROGIvjG1Q2pnEdo/T8mAPTmM+A5MjzOYmGE23ht+Z+9JHvOmSxAOyQuYZrP0zlWxnyvUQ0Gp8wimVoZEQ5O2eAWeF+qf+Bh3KgcotSE5OyHnOub4eg/nllTmFRChOozoP//3IwfPUuJ9FJYar/OnJbijbFU30Yk0cOQ4qtTCcfgWTbCBOq317PKslmlIJLbL8iQxzAahNgIpUSRGQ3p94h1GUki5P3iqki1kYHWHV/4f0cYu6qnAxmKgsdMEPXxCCZPK6aFcKZA6kJ6ko7taGFfD//GrLpPIIXX9tbkchlhqX5kJx1bXcnF4GMdGZvXx8+1bYhPnI8uArKl0uViqeQ6hTPkYMTg8BaHL70IAiCN7jrmjmQ7khgPci5TzrO7pPFY5wZPGqFrKhQKw/cXPZqDUGDdItmq+fCYJrkuQGm8jQ7Zb4E5x7vgcGsIQ7/PgfJya2+UrjN0/r/xjQyF/ZMNh9GVJ+tFcjCwQLBvHksxkETyLx9IU7WVNSdCKPpap4+ZDrut1Q4SitDXiV9EyKzYFVZd6Y5Wrad0hG3igjiqN4LgJzstGGOpUL2FvQDyEqgYh6Bu/5d5MhflpqS+6wdJqsehEe2Bjkjt/hBtmj71Sa8T1COqK/ATGtaqBlfXWPOORBFPWA+Qb1AouS7ewmmXGRF28rVA+bq8E6SbksUr6Ven3TxWAmlU3Qx24KOtHhhDwvHFCofL8acxLqs+GkZ+IjAovmoSw0tmu963vZ0TBYcSery5xhjt/euwI2dISHI81Ft52gasuKcAa4i5bAKiuMEcBlFNQUqaYvdndH0wbL6H5PwU7bv/vbKZeApq3cB+uj8pa+V/+ZqOtv6GbiGzq+uCTgbd+cMvNdNPUwiFwRe1rcsMyH0d+LtGWFUDrVjp65GzvVoUBYducEIrV5zQIWYMzf2Whb6tRZu8TJ+5cgdIEIDtPnsVY4Sqppi8ziNHOhBe9XQjio/tv7NdvWFu5zBeqdTt5BoX+jgsjUsYuVVhRo+oB/xDWJMPUJscUcHDoZDxR8BN2mE3yfGwev+/9xC2gsu23wcVjJf+lR32bgPy7yJSoXcWiMxTBhZxcbSUdStxI/vhsZMEet80/U+WRuyjUwrafJAV7typC8+UC8SQj4hA== application:ssl-gateshead-cert: secure: AAABAA4sXJL0jy7scdk7OXFcuIjhA9g02L3mALj1QeEOitqUdHG/HZnTw1xmZAvnWhSirO25xT+DzGfxPiRrPlEuhuJ3bXFPNztle79L795xQRPbVjhZ0aASWutFouG/3xB3foU/j4hpf6oyzPoOrjcGv8rS3PddqgwdVgRbNqkqYb+SHs3xIEb8kvstQNDyiiL9OPeQiqFhaVCdcG1x70aVn3IW5n2JHDXG3tKZ/onu6maxfP0WF8P782VhmsrtVSgVEaO6ntm1cOad+W1k0ZnkN+26UzQbTL5/tGR2MZ+/PiLw1KotFb3CS2glkv6ecmC73z3Dbye3GWlR27kKzlxQQOKbxrKcwpt5GshZWtnfRWPBQK9B8yjejxRswPniblLbmnNPYATjq3NKDaoD5pt6CIOyXywsyvA3CZVCqLBblAJMprUCbKVlbsyn/5eSV5STD7Sig1LyLQKylVyicD+ii/pLhWQhkCoCLeMhF4cAuQCJ1hrmu88gOY/PThwi9U70el9dSDqYnJ0sNU5cLNgJ2X7rH+w3e+wveDOieyhLqJhk7i+zvcOizMpRIteWXDwd1jTdeiltJxVEiuoKHBcBmtvAB5X5bXKuqIiCpDjMYT7nqyMzTt9HfKWBOB/iFU5Ba1iko0wdOBJyU5PfWR5/F1P0J9bl5h8pE2fY0bilNgRTgRB8auo/9CmW8pvUJVJgzpSX9TN7yBoAGjyf+/IJdsCBFLEv1loUDGtCokq411tr368xPlJz+/2HQpGlv8MBNiH3snYHa0rOITryZhB+09VgFAAa8AmzMreAE/KLzanRIWe8Ag78SaUEnF7O/WzQHCyjgxk8ZrPG1+HL89H9nOJUlBcKcwljdGLKiUwR46Yxl1ZmMr7f7YKlA5EzDtFNJk/aelcUP+xL9wma9IgL/xm0qcjKP6Xt78tGlrHzL9+s1r5Z+mTWs+C7wjUTIPUNnVJauk4zKZ7YxPiISZdGAdUgO38mggZTs9OKn3Tanyit8OT5QHL/u4gv8UBO1EUNeR1VVYqhQh3KVcU+FHQdijF89KEd4t/Y28FnBh21GrnCebtVuaFNrsWu0IfqC3+c31OpZfOA462yPIQ6T6UfHWUon8Ag/ETnbDUSYYHBEPRGDur+K6roUwPgRmaxmFTnuoa7BMgLYdPhlIzCimfBmg8jquRCvewf3XKvIh8nxhjZgFRiJXfZhr7G6VKq/lhmpWqSj3vBYGBP/hHVsw95CEaThR7BRp+ZCv+Lev02pLjZ1KbtUrYISfrFl+TbYmDJX7CnrXso/X2IXB0aMV21icd9ErANlpsTIjA1cEOrs1osMtPyaVhkHeoZRyaZgjHMU+xhnGbnYygo0YIuA33cDMJ8e7lq6ynn/1u+KlrXlQs//cFSKo2Fu58HQlWMrsOoKdcqrqyQ+TDltjR9hxjcbufutNPMjpCYqRn8hsxOla/lSTn5WAE3j/Di6+7wISIX3hlb5LNL4yluaGzBcpSoRyDnPLCAZJAGk40UQAVOF+/j/yckISUknRCPkhy+7Gf8+s9rlMdQtZRR93itTHhFpNrYaSQq1x1Zalyxox2fLrUBG9Ekivi77Qxjj0VLlhDjz0rvyUKEIwbbaPgLprMAMMLaCzwTcEVmk1NuA/koyNligLFlFEUDgEaghVrDX6p9l1nXeQzj5KFGU5GxwDyIT87gcXhiAJ4McVsa1UHED6erZhAZGzMxT/ZCEDCvS8HNeEeUHgooqBNmwpwYXQsoelqsHtE1RydJ3bd554i3ijARxW5LzkeM2sLNq496zjRcEY5eIwBLxK36Yh32yAQnRphgl1mcvH+lczOPPZK0avYx7llaaPcDsX1km2epiV5ws+BoxmLcGEClrAK2rD4YnUmKzU6sdCSOQvi63Bna3xqmvTNcWbW0SuRBVNZy+ILtUBdIAAdvGLRdWwVwgdEwFOOnHGJQWaZG7nqMyfxyMKUw2W4PjINsUthCWymbqCQLgbSYYAQtRpJbVSGl538OaF63J7cspQlNltCQoYLbdHnxM2NoF+mGeFZO2HwCrGJ6FLSCnqYzMQV9XZwAUgPF0zZTp/97Z8eozhr8SjiYgNUVHq1HBVAZDD4TEqzwyv5W7H99ujYTgbciCP7M2+jB/GSdHjE/PuB4JPRmZfOPq5K8GyziPsY6QHpLlx1mdzuLLqwoufnVs/vdfR+7+ORfjjQil3LHGxwRIiEiO6jPkj4CVqS5HNIyAKRox9D5gLQyd28wBxHq2GJUpemZQM9UDKFw/kbWkeBhRNUZsxK1eN/J9hiEGiscW0peyaUBwCkwEHfUoV8aYoolrafF1MG7RR7vyivW5tJPencgkvfuNk3EaCpDxYSy0pnBDzfcMdrLXVjrXqdL8qVekB/sD4GRqmtFKa6YxZa96EVALM40ea7NEVEljUGxKZKusda1JMGZ3fdVE9QawdWuU3DwBC4YbO5CgoLxIIogRIiFq7kRwOPvgyctBN/dqMVqQOqdyBzn2t+cVThAjsnllnKhenqtie95N9SQkYj8UjVHUCjgL54lxpV0Rhy3K4qx5ftm/mxOamNPiRiEABbxpXQSJ9PY4/nC+TSwhNZJAicvBpgylId8pgGkKkHTYCulKpzunZ6+v7NuHTmZ00QZtnZmjRtsFIyKVOhZEoCvA7QqEvFkuM8WJnP5ViOt38MGZ4RAdyYIJ1Czn8lzSmNMr/mDT9Q4U46p9YPh0t8GhNPi9hVOgQvBUSI3y4BEzhr1yRY88t5p7ApPIpSxFMGRUTCP5ZOy4MlIOZXW+gIs9zfelLtx/XOZE4MVz3NwejYIUAet8wWdZFrT9Ndcf36eMgL/sa5BEQTrOyQRr7/uTxHcDe9W0vmNu2c5rFqoaHDfAZNBJLlsMooXUS+KuVA2YaUVvuo3s/sOt1EqHjRgDg/INpmN5dfTmXJnJ55MSTQduAN3zyJfcoOhIn09XwVOQFsF/LSunGVubDcYds105ykqY5ZdOMQtHgrOX7U4QgMK/6bEutHBqo2N6MS/9gmM8bsXMShvuGFvUbKhPGPVJXZCl53hgzJS/j5kJLWL2iM0Vumzx8CgMWZIFfsTl9T5RwVfW8yMcv6tuZ7ZQZltCFEEriKWSeJXudXd8vzWXyL11AawpRkffVwz/SErOHeSkQVHjoTmYkaZ/SFNhw08Vdq2l5oFQUZJUqbzlp79U7lIJJKK9RFtVs3ZhQI7QNjkR74qFhbRKgYsEcBHF0vBlYy8IZgmgGTmrsumeL9/0njfrabraN7HWpDKQITgUbwJK7qZ8reTbqWcK+J2oNN13icy application:ssl-gateshead-chain: diff --git a/infrastructure/application/index.ts b/infrastructure/application/index.ts index 26deceb602..a5817ffe67 100644 --- a/infrastructure/application/index.ts +++ b/infrastructure/application/index.ts @@ -76,6 +76,10 @@ const CUSTOM_DOMAINS: CustomDomains = domain: "planningservices.gloucester.gov.uk", name: "gloucester", }, + { + domain: "planningservices.epsom-ewell.gov.uk", + name: "epsom-and-ewell", + }, ] : [];