From d22c5e82e79a4f1f13eff9a5bfa1a830a8804efd Mon Sep 17 00:00:00 2001 From: Andrea Cecchi Date: Thu, 28 Mar 2024 20:06:22 +0100 Subject: [PATCH 01/49] Print error message from request, if clipboardRequest return an error (#5932) Co-authored-by: Steve Piercy --- packages/volto/news/5932.feature | 1 + packages/volto/src/components/manage/Contents/Contents.jsx | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5932.feature diff --git a/packages/volto/news/5932.feature b/packages/volto/news/5932.feature new file mode 100644 index 0000000000..29b3e716d6 --- /dev/null +++ b/packages/volto/news/5932.feature @@ -0,0 +1 @@ +Print error message from request in toast, if `clipboardRequest` return an error. @cekk diff --git a/packages/volto/src/components/manage/Contents/Contents.jsx b/packages/volto/src/components/manage/Contents/Contents.jsx index 4641b74405..94959669fd 100644 --- a/packages/volto/src/components/manage/Contents/Contents.jsx +++ b/packages/volto/src/components/manage/Contents/Contents.jsx @@ -534,11 +534,14 @@ class Contents extends Component { this.props.clipboardRequest.loading && nextProps.clipboardRequest.error ) { + const msgBody = + nextProps.clipboardRequest.error?.response?.body?.message || + this.props.intl.formatMessage(messages.error); this.props.toastify.toast.error( , ); } From 58af5aeda0428c7a23cecc51c4aa8321d37a2420 Mon Sep 17 00:00:00 2001 From: Wesley Barroso Lopes Date: Fri, 29 Mar 2024 05:25:31 -0300 Subject: [PATCH 02/49] Fix cypress test "As editor, I can unlock a locked page" (#5933) Co-authored-by: ichim-david --- packages/volto/cypress/tests/core/basic/locking.js | 3 +++ packages/volto/news/5933.internal | 1 + 2 files changed, 4 insertions(+) create mode 100644 packages/volto/news/5933.internal diff --git a/packages/volto/cypress/tests/core/basic/locking.js b/packages/volto/cypress/tests/core/basic/locking.js index c5b70b01e3..c47ddff1f1 100644 --- a/packages/volto/cypress/tests/core/basic/locking.js +++ b/packages/volto/cypress/tests/core/basic/locking.js @@ -91,6 +91,9 @@ describe('Document locking', () => { cy.url().should('eq', Cypress.config().baseUrl + '/document/edit'); cy.wait('@schema'); + // Wait Plone to consider the content locked. + cy.wait(2000); + cy.visit('/logout'); cy.wait('@logout'); diff --git a/packages/volto/news/5933.internal b/packages/volto/news/5933.internal new file mode 100644 index 0000000000..0d116fc1d7 --- /dev/null +++ b/packages/volto/news/5933.internal @@ -0,0 +1 @@ +Fix cypress test "As editor, I can unlock a locked page". @wesleybl From 5e1cf2ade1e8b7fcb1fe12ae58576f8fe6a83982 Mon Sep 17 00:00:00 2001 From: Yuri Date: Sat, 30 Mar 2024 06:41:15 +0100 Subject: [PATCH 03/49] =?UTF-8?q?Update=20volto.po=20"yes"=20translation?= =?UTF-8?q?=20si=20->=20s=C3=AC=20(#5924)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Piero Nicolli Co-authored-by: ichim-david --- packages/volto/locales/it/LC_MESSAGES/volto.po | 2 +- packages/volto/news/5924.bugfix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5924.bugfix diff --git a/packages/volto/locales/it/LC_MESSAGES/volto.po b/packages/volto/locales/it/LC_MESSAGES/volto.po index 7edc04530d..d9fea77b71 100644 --- a/packages/volto/locales/it/LC_MESSAGES/volto.po +++ b/packages/volto/locales/it/LC_MESSAGES/volto.po @@ -4231,7 +4231,7 @@ msgstr "Annuale" #: components/manage/Contents/ContentsItem #: components/manage/Controlpanels/ContentTypes msgid "Yes" -msgstr "Si" +msgstr "Sì" #. Default: "You are trying to access a protected resource, please {login} first." #: components/theme/Unauthorized/Unauthorized diff --git a/packages/volto/news/5924.bugfix b/packages/volto/news/5924.bugfix new file mode 100644 index 0000000000..5fe7a7463f --- /dev/null +++ b/packages/volto/news/5924.bugfix @@ -0,0 +1 @@ +Updated Italian locales file `volto.po` with translation for "yes" from "si" to "sì". @yurj From 8d5734ab8ffd79dd309455a781fd7c30b6b1b233 Mon Sep 17 00:00:00 2001 From: ichim-david Date: Sat, 30 Mar 2024 17:30:07 +0200 Subject: [PATCH 04/49] Fix Navigate to different pages on two different listings test (#5934) --- .../tests/core/blocks/listing/blocks-listing.js | 10 ++++++---- packages/volto/news/5934.internal | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 packages/volto/news/5934.internal diff --git a/packages/volto/cypress/tests/core/blocks/listing/blocks-listing.js b/packages/volto/cypress/tests/core/blocks/listing/blocks-listing.js index ab7c82bfcf..87580ff787 100644 --- a/packages/volto/cypress/tests/core/blocks/listing/blocks-listing.js +++ b/packages/volto/cypress/tests/core/blocks/listing/blocks-listing.js @@ -1077,11 +1077,9 @@ describe('Listing Block Tests', () => { cy.wait('@save'); cy.wait('@content'); - // const listing1 = cy.get('.ui.pagination.menu').first(); - // cy.log('listing1', listing1); // The wait is needed to solve the flakyness introduced because that component // is removed momentarilly from the DOM when saving - cy.wait(2000); + cy.wait(1000); //test second pagination click cy.get('.ui.pagination.menu a[value="2"]').first().click(); //test f5 @@ -1100,7 +1098,11 @@ describe('Listing Block Tests', () => { cy.get('.logo').first().click(); cy.url().should('not.include', '=2'); cy.url().should('not.include', '=3'); - //test back button + + // we need to wait for the page to load otherwise we navigate /my-page + // followed by / from the logo click + cy.wait(1000); + cy.navigate('/my-page'); cy.wait(1000); cy.get('.ui.pagination.menu a[value="2"]').first().click({ force: true }); diff --git a/packages/volto/news/5934.internal b/packages/volto/news/5934.internal new file mode 100644 index 0000000000..46bfb2cad6 --- /dev/null +++ b/packages/volto/news/5934.internal @@ -0,0 +1 @@ +Fix cypress test "Navigate to different pages on two different listings". @ichim-david \ No newline at end of file From e4d4ee09146a11697c423026256ef5d0ce198ec8 Mon Sep 17 00:00:00 2001 From: Maurits van Rees Date: Sun, 31 Mar 2024 00:36:46 +0100 Subject: [PATCH 05/49] Fix `error is null` in `FormFieldWrapper.jsx`. (#5920) --- packages/volto/news/5919.bugfix | 1 + .../volto/src/components/manage/Widgets/FormFieldWrapper.jsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5919.bugfix diff --git a/packages/volto/news/5919.bugfix b/packages/volto/news/5919.bugfix new file mode 100644 index 0000000000..ffb3b742ac --- /dev/null +++ b/packages/volto/news/5919.bugfix @@ -0,0 +1 @@ +Fix `error is null` in `FormFieldWrapper.jsx`. @mauritsvanrees diff --git a/packages/volto/src/components/manage/Widgets/FormFieldWrapper.jsx b/packages/volto/src/components/manage/Widgets/FormFieldWrapper.jsx index 5406ffbfcd..ee60438be4 100644 --- a/packages/volto/src/components/manage/Widgets/FormFieldWrapper.jsx +++ b/packages/volto/src/components/manage/Widgets/FormFieldWrapper.jsx @@ -107,7 +107,7 @@ class FormFieldWrapper extends Component { 0} + error={error && error.length > 0} className={cx( description ? 'help' : '', className, From 7adc5456cf18c289c3db4dcba8f49048252557ce Mon Sep 17 00:00:00 2001 From: Koran Agan Date: Sat, 30 Mar 2024 21:27:19 -0400 Subject: [PATCH 06/49] Update DefaultView.jsx with Absolute Path for RenderBlocks (#5917) Co-authored-by: Steve Piercy --- packages/volto/news/5917.internal | 1 + packages/volto/src/components/theme/View/DefaultView.jsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5917.internal diff --git a/packages/volto/news/5917.internal b/packages/volto/news/5917.internal new file mode 100644 index 0000000000..e80b85a4bb --- /dev/null +++ b/packages/volto/news/5917.internal @@ -0,0 +1 @@ +Changed relative path to absolute in `DefaultView.jsx` for the `RenderBlocks` component to make it easier to customize. @agan-k diff --git a/packages/volto/src/components/theme/View/DefaultView.jsx b/packages/volto/src/components/theme/View/DefaultView.jsx index c2db9de92b..69f1455d7f 100644 --- a/packages/volto/src/components/theme/View/DefaultView.jsx +++ b/packages/volto/src/components/theme/View/DefaultView.jsx @@ -16,7 +16,7 @@ import { import config from '@plone/volto/registry'; import { getSchema } from '@plone/volto/actions'; import { getWidget } from '@plone/volto/helpers/Widget/utils'; -import RenderBlocks from './RenderBlocks'; +import RenderBlocks from '@plone/volto/components/theme/View/RenderBlocks'; import { hasBlocksData, getBaseUrl } from '@plone/volto/helpers'; import { useDispatch, useSelector } from 'react-redux'; From 93ea1214bf0313ec93433bde6350ac5da2d08b67 Mon Sep 17 00:00:00 2001 From: David Glick Date: Sun, 31 Mar 2024 04:38:58 -0700 Subject: [PATCH 07/49] Fix self-registration (#5935) --- packages/volto/news/5935.bugfix | 1 + packages/volto/src/components/theme/Register/Register.jsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5935.bugfix diff --git a/packages/volto/news/5935.bugfix b/packages/volto/news/5935.bugfix new file mode 100644 index 0000000000..0a60bb2968 --- /dev/null +++ b/packages/volto/news/5935.bugfix @@ -0,0 +1 @@ +Fix self-registration form. @davisagli diff --git a/packages/volto/src/components/theme/Register/Register.jsx b/packages/volto/src/components/theme/Register/Register.jsx index ce47f9121e..565424c3e2 100644 --- a/packages/volto/src/components/theme/Register/Register.jsx +++ b/packages/volto/src/components/theme/Register/Register.jsx @@ -132,7 +132,7 @@ class Register extends Component { this.props.createUser({ fullname: data.fullname, email: data.email, - password: data.password, + sendPasswordReset: true, }); this.setState({ error: null, From ce930b6d1f701b94def426fadf0f31bf1525dc55 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 13:39:54 +0200 Subject: [PATCH 08/49] Bump express from 4.17.3 to 4.19.2 (#5930) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ichim-david --- apps/plone/package.json | 2 +- apps/vite-ssr/package.json | 2 +- packages/volto/package.json | 2 +- pnpm-lock.yaml | 213 ++++++++---------------------------- 4 files changed, 48 insertions(+), 171 deletions(-) diff --git a/apps/plone/package.json b/apps/plone/package.json index 0fa1eae05c..2a76a9b856 100644 --- a/apps/plone/package.json +++ b/apps/plone/package.json @@ -152,7 +152,7 @@ "dependency-graph": "0.10.0", "detect-browser": "5.1.0", "diff": "3.5.0", - "express": "4.17.3", + "express": "4.19.2", "filesize": "6", "github-slugger": "1.4.0", "history": "4.10.1", diff --git a/apps/vite-ssr/package.json b/apps/vite-ssr/package.json index 353377b65e..0379dd1be5 100644 --- a/apps/vite-ssr/package.json +++ b/apps/vite-ssr/package.json @@ -39,7 +39,7 @@ "@types/react-dom": "^18.2.19", "@vitejs/plugin-react": "^4", "compression": "^1.7.4", - "express": "^4.18.2", + "express": "^4.19.2", "isbot": "^4.3.0", "node-fetch": "^3.3.2", "serve-static": "^1.15.0", diff --git a/packages/volto/package.json b/packages/volto/package.json index 377b2e7333..bb11c50826 100644 --- a/packages/volto/package.json +++ b/packages/volto/package.json @@ -189,7 +189,7 @@ "dependency-graph": "0.10.0", "detect-browser": "5.1.0", "diff": "3.5.0", - "express": "4.17.3", + "express": "4.19.2", "filesize": "6", "github-slugger": "1.4.0", "history": "4.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9dff6b5ad..f9b8ca4a63 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -161,8 +161,8 @@ importers: specifier: 3.5.0 version: 3.5.0 express: - specifier: 4.17.3 - version: 4.17.3 + specifier: 4.19.2 + version: 4.19.2 filesize: specifier: '6' version: 6.4.0 @@ -950,8 +950,8 @@ importers: specifier: ^1.7.4 version: 1.7.4 express: - specifier: ^4.18.2 - version: 4.18.2 + specifier: ^4.19.2 + version: 4.19.2 isbot: specifier: ^4.3.0 version: 4.4.0 @@ -1581,8 +1581,8 @@ importers: specifier: 3.5.0 version: 3.5.0 express: - specifier: 4.17.3 - version: 4.17.3 + specifier: 4.19.2 + version: 4.19.2 filesize: specifier: '6' version: 6.4.0 @@ -9451,7 +9451,7 @@ packages: esbuild-plugins-node-modules-polyfill: 1.6.1(esbuild@0.17.6) execa: 5.1.1 exit-hook: 2.2.1 - express: 4.17.3 + express: 4.19.2 fs-extra: 10.1.0 get-port: 5.1.1 gunzip-maybe: 1.4.2 @@ -9496,7 +9496,7 @@ packages: - utf-8-validate dev: true - /@remix-run/express@2.4.0(express@4.17.3)(typescript@5.3.3): + /@remix-run/express@2.4.0(express@4.19.2)(typescript@5.3.3): resolution: {integrity: sha512-9vVs1cMoBHRVm4fFpEFAMmrYywKV4uKnyJgaM3Kw31O4EFtqbd1ai3SW6YhKuatxfD1YxYlpoHZ1XwXcnWRDuQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -9507,7 +9507,7 @@ packages: optional: true dependencies: '@remix-run/node': 2.4.0(typescript@5.3.3) - express: 4.17.3 + express: 4.19.2 typescript: 5.3.3 /@remix-run/node@2.4.0(typescript@5.3.3): @@ -9558,11 +9558,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@remix-run/express': 2.4.0(express@4.17.3)(typescript@5.3.3) + '@remix-run/express': 2.4.0(express@4.19.2)(typescript@5.3.3) '@remix-run/node': 2.4.0(typescript@5.3.3) chokidar: 3.5.3 compression: 1.7.4 - express: 4.17.3 + express: 4.19.2 get-port: 5.1.1 morgan: 1.10.0 source-map-support: 0.5.21 @@ -10843,7 +10843,7 @@ packages: ejs: 3.1.9 esbuild: 0.19.9 esbuild-plugin-alias: 0.2.1 - express: 4.18.2 + express: 4.19.2 fs-extra: 11.2.0 process: 0.11.10 util: 0.12.5 @@ -10879,7 +10879,7 @@ packages: '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 es-module-lexer: 0.9.3 - express: 4.18.2 + express: 4.19.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 magic-string: 0.30.5 @@ -11046,7 +11046,7 @@ packages: constants-browserify: 1.0.0 css-loader: 6.10.0(webpack@5.90.1) es-module-lexer: 1.4.1 - express: 4.18.2 + express: 4.19.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.2)(webpack@5.90.1) fs-extra: 11.2.0 html-webpack-plugin: 5.5.0(webpack@5.90.1) @@ -11436,7 +11436,7 @@ packages: babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.23.9) chalk: 4.1.2 core-js: 3.33.2 - express: 4.18.2 + express: 4.19.2 file-system-cache: 1.1.0 find-up: 5.0.0 fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.49.0)(typescript@5.2.2)(webpack@4.47.0) @@ -11507,7 +11507,7 @@ packages: babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.23.9) chalk: 4.1.2 core-js: 3.33.2 - express: 4.18.2 + express: 4.19.2 file-system-cache: 1.1.0 find-up: 5.0.0 fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.49.0)(typescript@5.2.2)(webpack@4.47.0) @@ -11633,7 +11633,7 @@ packages: core-js: 3.33.2 cpy: 8.1.2 detect-port: 1.5.1 - express: 4.18.2 + express: 4.19.2 fs-extra: 9.1.0 global: 4.4.0 globby: 11.1.0 @@ -11698,7 +11698,7 @@ packages: cli-table3: 0.6.3 compression: 1.7.4 detect-port: 1.5.1 - express: 4.18.2 + express: 4.19.2 fs-extra: 11.2.0 globby: 11.1.0 ip: 2.0.1 @@ -11952,7 +11952,7 @@ packages: chalk: 4.1.2 core-js: 3.33.2 css-loader: 3.6.0(webpack@4.47.0) - express: 4.18.2 + express: 4.19.2 file-loader: 6.2.0(webpack@4.47.0) find-up: 5.0.0 fs-extra: 9.1.0 @@ -12009,7 +12009,7 @@ packages: chalk: 4.1.2 core-js: 3.33.2 css-loader: 5.2.7(webpack@5.90.1) - express: 4.18.2 + express: 4.19.2 find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 5.5.0(webpack@5.90.1) @@ -17226,25 +17226,8 @@ packages: resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} dev: true - /body-parser@1.19.2: - resolution: {integrity: sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 1.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.7 - raw-body: 2.4.3 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color - - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 @@ -17256,12 +17239,11 @@ packages: iconv-lite: 0.4.24 on-finished: 2.4.1 qs: 6.11.0 - raw-body: 2.5.1 + raw-body: 2.5.2 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true /bonjour-service@1.1.1: resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} @@ -18725,7 +18707,7 @@ packages: dev: false /cookie-signature@1.0.6: - resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=} + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} /cookie-signature@1.2.1: resolution: {integrity: sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw==} @@ -18734,11 +18716,16 @@ packages: /cookie@0.4.2: resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} engines: {node: '>= 0.6'} + dev: false /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + /cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} dev: false @@ -19920,6 +19907,7 @@ packages: /depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} + dev: true /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} @@ -19948,9 +19936,6 @@ packages: resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} dev: false - /destroy@1.0.4: - resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -20353,7 +20338,7 @@ packages: dev: true /ee-first@1.1.1: - resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} @@ -22277,53 +22262,16 @@ packages: /exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} - /express@4.17.3: - resolution: {integrity: sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==} + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.19.2 + body-parser: 1.20.2 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.4.2 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 1.1.2 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.1.2 - fresh: 0.5.2 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.3.0 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.9.7 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.17.2 - serve-static: 1.14.2 - setprototypeof: 1.2.0 - statuses: 1.5.0 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -22351,7 +22299,6 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true /ext@1.7.0: resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} @@ -22655,20 +22602,6 @@ packages: engines: {node: '>=14.16'} dev: false - /finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - /finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -22682,7 +22615,6 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true /find-cache-dir@2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} @@ -23100,7 +23032,7 @@ packages: dev: true /fresh@0.5.2: - resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} /from2@2.3.0: @@ -24396,16 +24328,6 @@ packages: statuses: 1.5.0 dev: true - /http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 - /http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} @@ -28635,7 +28557,7 @@ packages: dev: true /media-typer@0.3.0: - resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} /mem-fs-editor@9.7.0(mem-fs@2.3.0): @@ -28756,7 +28678,7 @@ packages: dev: false /merge-descriptors@1.0.1: - resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -31295,7 +31217,7 @@ packages: minipass: 7.0.4 /path-to-regexp@0.1.7: - resolution: {integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=} + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} /path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} @@ -32647,7 +32569,6 @@ packages: engines: {node: '>=0.6'} dependencies: side-channel: 1.0.4 - dev: true /qs@6.11.2: resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} @@ -32661,10 +32582,6 @@ packages: requiresBuild: true dev: true - /qs@6.9.7: - resolution: {integrity: sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==} - engines: {node: '>=0.6'} - /query-string@7.1.0: resolution: {integrity: sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g==} engines: {node: '>=6'} @@ -32741,24 +32658,14 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - /raw-body@2.4.3: - resolution: {integrity: sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true /raw-loader@4.0.2(webpack@4.47.0): resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==} @@ -35634,26 +35541,6 @@ packages: dependencies: lru-cache: 6.0.0 - /send@0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 1.1.2 - destroy: 1.0.4 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 1.8.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.3.0 - range-parser: 1.2.1 - statuses: 1.5.0 - transitivePeerDependencies: - - supports-color - /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -35743,17 +35630,6 @@ packages: defu: 6.1.3 dev: false - /serve-static@1.14.2: - resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.17.2 - transitivePeerDependencies: - - supports-color - /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} @@ -36414,6 +36290,7 @@ packages: /statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} + dev: true /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -39078,7 +38955,7 @@ packages: engines: {node: '>= 4'} /utils-merge@1.0.1: - resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} /uuid-browser@3.1.0: @@ -40130,7 +40007,7 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.2 + express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.4.0 http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.2) @@ -40178,7 +40055,7 @@ packages: compression: 1.7.4 connect-history-api-fallback: 2.0.0 default-gateway: 6.0.3 - express: 4.18.2 + express: 4.19.2 graceful-fs: 4.2.11 html-entities: 2.4.0 http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.2) From 77a7a280f75d7cfcb4b8efb3b4aca9629732d730 Mon Sep 17 00:00:00 2001 From: Miu Razvan Date: Sun, 31 Mar 2024 14:43:42 +0300 Subject: [PATCH 09/49] fix(slate): fix insert/remove element edgecase bug in slate (#5926) --- packages/volto-slate/news/5928.bugfix | 1 + .../volto-slate/src/elementEditor/utils.js | 29 +++++++++++++++---- 2 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 packages/volto-slate/news/5928.bugfix diff --git a/packages/volto-slate/news/5928.bugfix b/packages/volto-slate/news/5928.bugfix new file mode 100644 index 0000000000..14399fbc91 --- /dev/null +++ b/packages/volto-slate/news/5928.bugfix @@ -0,0 +1 @@ +Fix removing an element in slate when cursor is at the end of the element to be removed; Fix losing selection when adding an element. @razvanMiu \ No newline at end of file diff --git a/packages/volto-slate/src/elementEditor/utils.js b/packages/volto-slate/src/elementEditor/utils.js index 9f0a76c06e..8f0badaeb6 100644 --- a/packages/volto-slate/src/elementEditor/utils.js +++ b/packages/volto-slate/src/elementEditor/utils.js @@ -45,13 +45,16 @@ export const _insertElement = (elementType) => (editor, data) => { match: (node) => { return Node.string(node).length !== 0; }, - }, //, + }, ); } const sel = JSON.parse(JSON.stringify(rangeRef.current)); - Transforms.select(editor, sel); - editor.setSavedSelection(sel); + + setTimeout(() => { + Transforms.select(editor, sel); + editor.setSavedSelection(sel); + }); return true; } @@ -69,10 +72,26 @@ export const _insertElement = (elementType) => (editor, data) => { * @returns {Object|null} - current node */ export const _unwrapElement = (elementType) => (editor) => { - const [link] = Editor.nodes(editor, { - at: editor.selection, + const selection = editor.selection || editor.getSavedSelection(); + let [link] = Editor.nodes(editor, { + at: selection, match: (node) => node?.type === elementType, }); + const isAtStart = + selection.anchor.offset === 0 && selection.focus.offset === 0; + + if (!link && !isAtStart) return false; + + if (!link) { + try { + link = Editor.previous(editor, { + at: selection.anchor.path, + }); + } catch (ex) { + link = []; + } + } + const [, path] = link; const [start, end] = Editor.edges(editor, path); const range = { anchor: start, focus: end }; From 6d5089648ba422e5be6a2f98c269b50b48703929 Mon Sep 17 00:00:00 2001 From: Mikel Larreategi Date: Sun, 31 Mar 2024 13:49:34 +0200 Subject: [PATCH 10/49] Add additional parameters to ContentsUploadModal to be reusable in different scenarios (#5881) Co-authored-by: ichim-david Co-authored-by: Steve Piercy --- packages/volto/news/5881.feature | 1 + .../manage/Contents/ContentsUploadModal.jsx | 25 +++++- .../Contents/ContentsUploadModal.test.jsx | 85 +++++++++++++++++++ .../ContentsUploadModal.test.jsx.snap | 6 ++ 4 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5881.feature diff --git a/packages/volto/news/5881.feature b/packages/volto/news/5881.feature new file mode 100644 index 0000000000..17e3d97ed1 --- /dev/null +++ b/packages/volto/news/5881.feature @@ -0,0 +1 @@ +Add parameters to `ContentsUploadModal` to be reusable in different scenarios. @erral diff --git a/packages/volto/src/components/manage/Contents/ContentsUploadModal.jsx b/packages/volto/src/components/manage/Contents/ContentsUploadModal.jsx index fb3a893f88..cc9e0f22c9 100644 --- a/packages/volto/src/components/manage/Contents/ContentsUploadModal.jsx +++ b/packages/volto/src/components/manage/Contents/ContentsUploadModal.jsx @@ -65,6 +65,13 @@ class ContentsUploadModal extends Component { open: PropTypes.bool.isRequired, onOk: PropTypes.func.isRequired, onCancel: PropTypes.func.isRequired, + multiple: PropTypes.bool, + minSize: PropTypes.number, + maxSize: PropTypes.number, + accept: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.arrayOf(PropTypes.string), + ]), }; /** @@ -205,6 +212,22 @@ class ContentsUploadModal extends Component { * @returns {string} Markup for the component. */ render() { + const { + multiple = true, + minSize = null, + maxSize = null, + accept = null, + disabled = false, + } = this.props; + + const dropzoneOptions = { + multiple, + minSize, + maxSize, + accept, + disabled, + }; + return ( this.props.open && ( @@ -224,7 +247,7 @@ class ContentsUploadModal extends Component { onDrop={this.onDrop} className="dropzone" noDragEventsBubbling={true} - multiple={true} + {...dropzoneOptions} > {({ getRootProps, getInputProps }) => (
diff --git a/packages/volto/src/components/manage/Contents/ContentsUploadModal.test.jsx b/packages/volto/src/components/manage/Contents/ContentsUploadModal.test.jsx index c19601b068..9e70365148 100644 --- a/packages/volto/src/components/manage/Contents/ContentsUploadModal.test.jsx +++ b/packages/volto/src/components/manage/Contents/ContentsUploadModal.test.jsx @@ -35,4 +35,89 @@ describe('ContentsUploadModal', () => { await waitFor(() => {}); expect(json).toMatchSnapshot(); }); + + it('renders a contents upload modal component that only allows images', async () => { + const store = mockStore({ + content: { + create: { + loading: false, + loaded: true, + }, + }, + intl: { + locale: 'en', + messages: {}, + }, + }); + const component = renderer.create( + + {}} + onCancel={() => {}} + accept={['image/*']} + /> + , + ); + const json = component.toJSON(); + await waitFor(() => {}); + expect(json).toMatchSnapshot(); + }); + it('renders a contents upload modal component that only allows 10MB files', async () => { + const store = mockStore({ + content: { + create: { + loading: false, + loaded: true, + }, + }, + intl: { + locale: 'en', + messages: {}, + }, + }); + const component = renderer.create( + + {}} + onCancel={() => {}} + maxSize={1000000} + /> + , + ); + const json = component.toJSON(); + await waitFor(() => {}); + expect(json).toMatchSnapshot(); + }); + it('renders a contents upload modal component that only allows 1 file', async () => { + const store = mockStore({ + content: { + create: { + loading: false, + loaded: true, + }, + }, + intl: { + locale: 'en', + messages: {}, + }, + }); + const component = renderer.create( + + {}} + onCancel={() => {}} + multiple={false} + /> + , + ); + const json = component.toJSON(); + await waitFor(() => {}); + expect(json).toMatchSnapshot(); + }); }); diff --git a/packages/volto/src/components/manage/Contents/__snapshots__/ContentsUploadModal.test.jsx.snap b/packages/volto/src/components/manage/Contents/__snapshots__/ContentsUploadModal.test.jsx.snap index 95d4ec4460..fd10b925c6 100644 --- a/packages/volto/src/components/manage/Contents/__snapshots__/ContentsUploadModal.test.jsx.snap +++ b/packages/volto/src/components/manage/Contents/__snapshots__/ContentsUploadModal.test.jsx.snap @@ -1,3 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`ContentsUploadModal renders a contents upload modal component 1`] = `null`; + +exports[`ContentsUploadModal renders a contents upload modal component that only allows 1 file 1`] = `null`; + +exports[`ContentsUploadModal renders a contents upload modal component that only allows 10MB files 1`] = `null`; + +exports[`ContentsUploadModal renders a contents upload modal component that only allows images 1`] = `null`; From c256e4ee385dc4f2dd884c71d37701b80078058e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Sun, 31 Mar 2024 13:50:21 +0200 Subject: [PATCH 11/49] Fix edge case in search options mangling when the options are false-ish (#5869) --- packages/volto/news/5869.bugfix | 1 + packages/volto/src/actions/search/search.js | 16 +++++----------- packages/volto/src/actions/search/search.test.js | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 11 deletions(-) create mode 100644 packages/volto/news/5869.bugfix diff --git a/packages/volto/news/5869.bugfix b/packages/volto/news/5869.bugfix new file mode 100644 index 0000000000..cfed69dfb1 --- /dev/null +++ b/packages/volto/news/5869.bugfix @@ -0,0 +1 @@ +Fix edge case in search options mangling when the options are false-ish sneridagh diff --git a/packages/volto/src/actions/search/search.js b/packages/volto/src/actions/search/search.js index cf221095cf..443a9d823e 100644 --- a/packages/volto/src/actions/search/search.js +++ b/packages/volto/src/actions/search/search.js @@ -3,16 +3,7 @@ * @module actions/search/search */ -import { - compact, - concat, - isArray, - join, - map, - pickBy, - toPairs, - identity, -} from 'lodash'; +import { compact, concat, isArray, join, map, pickBy, toPairs } from 'lodash'; import { RESET_SEARCH_CONTENT, @@ -29,7 +20,10 @@ import { */ export function searchContent(url, options, subrequest = null) { let queryArray = []; - options = pickBy(options, identity); + options = pickBy( + options, + (value) => value !== undefined && value !== null && value !== '', + ); const arrayOptions = pickBy(options, (item) => isArray(item)); queryArray = concat( diff --git a/packages/volto/src/actions/search/search.test.js b/packages/volto/src/actions/search/search.test.js index 66e515b351..81a612f9ed 100644 --- a/packages/volto/src/actions/search/search.test.js +++ b/packages/volto/src/actions/search/search.test.js @@ -18,6 +18,21 @@ describe('Search action', () => { ); }); + it('can be called with path special keys that are falseish', () => { + const url = '/blog'; + const searchPath = '/blog/my-content'; + const action = searchContent(url, { + 'path.query': searchPath, + 'path.depth': 0, + }); + + expect(action.type).toEqual(SEARCH_CONTENT); + expect(action.request.op).toEqual('get'); + expect(action.request.path).toEqual( + `${url}/@search?path.query=${searchPath}&path.depth=0`, + ); + }); + it('can be called with an option that is an array', () => { const text = 'cows'; const url = '/blog'; From 13d5d60e9923af6fa45383794096f45174c47123 Mon Sep 17 00:00:00 2001 From: Wesley Barroso Lopes Date: Mon, 1 Apr 2024 02:26:58 -0300 Subject: [PATCH 12/49] Does not show borders in addon block inputs (#5898) --- .../cypress/tests/core/blocks/blocks-image.js | 4 +++ .../cypress/tests/core/blocks/blocks-slate.js | 25 +++++++++++++++++++ .../cypress/tests/core/blocks/blocks-table.js | 8 ++++++ .../cypress/tests/core/blocks/blocks-title.js | 25 +++++++++++++++++++ packages/volto/news/5894.bugfix | 1 + .../theme/themes/pastanaga/extras/blocks.less | 9 ++----- 6 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 packages/volto/cypress/tests/core/blocks/blocks-slate.js create mode 100644 packages/volto/cypress/tests/core/blocks/blocks-title.js create mode 100644 packages/volto/news/5894.bugfix diff --git a/packages/volto/cypress/tests/core/blocks/blocks-image.js b/packages/volto/cypress/tests/core/blocks/blocks-image.js index 9b76682372..c0c79d2eae 100644 --- a/packages/volto/cypress/tests/core/blocks/blocks-image.js +++ b/packages/volto/cypress/tests/core/blocks/blocks-image.js @@ -31,6 +31,10 @@ describe('Blocks Tests', () => { cy.getSlate().click(); cy.get('.ui.basic.icon.button.block-add-button').click(); cy.get('.ui.basic.icon.button.image').contains('Image').click(); + cy.get('.block-editor-image [tabindex="0"]') + .last() + .focus() + .should('have.css', 'outline', 'rgb(16, 16, 16) auto 1px'); cy.get('.block.image .ui.input input[type="text"]').type( `https://github.com/plone/volto/raw/main/logos/volto-colorful.png{enter}`, ); diff --git a/packages/volto/cypress/tests/core/blocks/blocks-slate.js b/packages/volto/cypress/tests/core/blocks/blocks-slate.js new file mode 100644 index 0000000000..0ec564b50a --- /dev/null +++ b/packages/volto/cypress/tests/core/blocks/blocks-slate.js @@ -0,0 +1,25 @@ +describe('Slate Block Tests', () => { + beforeEach(() => { + cy.intercept('GET', `/**/*?expand*`).as('content'); + cy.intercept('GET', '/**/Document').as('schema'); + + // given a logged in editor and a page in edit mode + cy.autologin(); + cy.createContent({ + contentType: 'Document', + contentId: 'my-page', + contentTitle: 'My Page', + }); + cy.visit('/my-page'); + cy.wait('@content'); + + cy.navigate('/my-page/edit'); + cy.wait('@schema'); + }); + + it('No border in input', () => { + cy.get('.block-editor-slate [role=textbox]') + .click() + .should('have.css', 'outline', 'rgba(0, 0, 0, 0.87) none 0px'); + }); +}); diff --git a/packages/volto/cypress/tests/core/blocks/blocks-table.js b/packages/volto/cypress/tests/core/blocks/blocks-table.js index f581160f1f..43c5f3ee26 100644 --- a/packages/volto/cypress/tests/core/blocks/blocks-table.js +++ b/packages/volto/cypress/tests/core/blocks/blocks-table.js @@ -23,6 +23,14 @@ describe('Table Block Tests', () => { // Edit cy.addNewBlock('table'); cy.wait(2000); + + // No border in input + cy.get('.block-editor-slateTable [role=textbox]').should('be.visible'); + cy.get('.block-editor-slateTable [role=textbox]') + .first() + .click() + .should('have.css', 'outline', 'rgb(135, 143, 147) none 0px'); + cy.get( '.celled.fixed.table thead tr th:first-child() [contenteditable="true"]', ) diff --git a/packages/volto/cypress/tests/core/blocks/blocks-title.js b/packages/volto/cypress/tests/core/blocks/blocks-title.js new file mode 100644 index 0000000000..9697714ad6 --- /dev/null +++ b/packages/volto/cypress/tests/core/blocks/blocks-title.js @@ -0,0 +1,25 @@ +describe('Title Block Tests', () => { + beforeEach(() => { + cy.intercept('GET', `/**/*?expand*`).as('content'); + cy.intercept('GET', '/**/Document').as('schema'); + + // given a logged in editor and a page in edit mode + cy.autologin(); + cy.createContent({ + contentType: 'Document', + contentId: 'my-page', + contentTitle: 'My Page', + }); + cy.visit('/my-page'); + cy.wait('@content'); + + cy.navigate('/my-page/edit'); + cy.wait('@schema'); + }); + + it('No border in input', () => { + cy.get('.block-editor-title [role=textbox]') + .click() + .should('have.css', 'outline', 'rgba(0, 0, 0, 0.87) none 0px'); + }); +}); diff --git a/packages/volto/news/5894.bugfix b/packages/volto/news/5894.bugfix new file mode 100644 index 0000000000..1629bf3298 --- /dev/null +++ b/packages/volto/news/5894.bugfix @@ -0,0 +1 @@ +Does not show borders in addon block inputs. @wesleybl diff --git a/packages/volto/theme/themes/pastanaga/extras/blocks.less b/packages/volto/theme/themes/pastanaga/extras/blocks.less index 2a0e6a1117..9c6fd5cd2a 100644 --- a/packages/volto/theme/themes/pastanaga/extras/blocks.less +++ b/packages/volto/theme/themes/pastanaga/extras/blocks.less @@ -42,13 +42,8 @@ border-color: rgba(120, 192, 215, 0.75); } -.block-editor-title, -.block-editor-slate, -.block-editor-slateTable, -.slate-editor.selected { - :focus-visible { - outline: none; - } +[data-slate-editor='true'] { + outline: none; } .block .block:hover::before { From c990fc8a93f18fb74d67fc5fa2a2926b1eedc633 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 1 Apr 2024 20:22:32 -0400 Subject: [PATCH 13/49] =?UTF-8?q?Fix=20redirect=20of=20`https://sustainabi?= =?UTF-8?q?lity.eionet.europa.eu`=20to=20`https:/=E2=80=A6=20(#5941)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- packages/volto/news/5941.documentation | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5941.documentation diff --git a/README.md b/README.md index a5bc0876ba..b93c7084dc 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ You should check the dependencies in their `package.json` for more details. - [Freshwater Information System for Europe](https://github.com/eea/freshwater-frontend) - Volto project for [Freshwater Information System for Europe website](https://water.europa.eu/freshwater) - [European Industrial Emissions Portal](https://github.com/eea/industry-frontend ) - Volto project for [European Industrial Emissions Portal website](https://industry.eea.europa.eu) - [Biodiversity Information System for Europe](https://github.com/eea/bise-frontend) - Volto project for [Biodiversity Information System for Europe website](https://biodiversity.europa.eu) -- [Sustainability transitions, EEA-Eionet platform](https://github.com/eea/sustainability-frontend) - Volto project for [Sustainability transitions, EEA-Eionet platform website](https://sustainability.eionet.europa.eu) +- [Sustainability transitions, EEA-Eionet platform](https://github.com/eea/sustainability-frontend) - Volto project for [Sustainability transitions, EEA-Eionet platform website](https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/) - [EEA Indicator Management System](https://github.com/eea/ims-frontend) - Volto project for [EEA Indicator Management System site](https://www.eea.europa.eu/en/analysis/indicators) - [Climate and energy in the EU](https://github.com/eea/climate-energy-frontend) - Volto project for [Climate and energy in the EU website](https://climate-energy.eea.europa.eu) - [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an addon. It provides Theming using a razzle.extend.js provided alias. diff --git a/packages/volto/news/5941.documentation b/packages/volto/news/5941.documentation new file mode 100644 index 0000000000..261e8158eb --- /dev/null +++ b/packages/volto/news/5941.documentation @@ -0,0 +1 @@ +Fix redirect of `https://sustainability.eionet.europa.eu` to `https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/`. @stevepiercy From f60d83e2b4452a86f19f073c62bb4484e19cfe86 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Mon, 1 Apr 2024 20:23:07 -0400 Subject: [PATCH 14/49] Add a new label `needs: triage` to new bug reports (#5940) --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- packages/volto/news/5940.internal | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5940.internal diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 2890551b80..db686baa50 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -2,7 +2,7 @@ name: Bug report about: Create a report to help us improve Volto title: '' -labels: '01 type: bug' +labels: ['01 type: bug', 'needs: triage'] assignees: '' --- diff --git a/packages/volto/news/5940.internal b/packages/volto/news/5940.internal new file mode 100644 index 0000000000..5efcae0ec1 --- /dev/null +++ b/packages/volto/news/5940.internal @@ -0,0 +1 @@ +Add a new label `needs: triage` to new bug reports. @stevepiercy From a2c68309502fce9e439321acafeb2cfaf6fde584 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 22:52:25 -0700 Subject: [PATCH 15/49] Bump vite from 5.1.4 to 5.1.5 (#5942) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: David Glick --- apps/vite-ssr/package.json | 2 +- packages/client/news/5942.bugfix | 1 + packages/client/package.json | 2 +- packages/components/news/5942.bugfix | 1 + packages/components/package.json | 2 +- pnpm-lock.yaml | 72 ++++++++++++++-------------- 6 files changed, 41 insertions(+), 39 deletions(-) create mode 100644 packages/client/news/5942.bugfix create mode 100644 packages/components/news/5942.bugfix diff --git a/apps/vite-ssr/package.json b/apps/vite-ssr/package.json index 0379dd1be5..6d47aa9dfd 100644 --- a/apps/vite-ssr/package.json +++ b/apps/vite-ssr/package.json @@ -44,7 +44,7 @@ "node-fetch": "^3.3.2", "serve-static": "^1.15.0", "typescript": "^5.3.3", - "vite": "^5.1.4", + "vite": "^5.1.5", "vite-plugin-babel": "^1.2.0" } } diff --git a/packages/client/news/5942.bugfix b/packages/client/news/5942.bugfix new file mode 100644 index 0000000000..a0d193ece2 --- /dev/null +++ b/packages/client/news/5942.bugfix @@ -0,0 +1 @@ +Update `vite` to 5.1.5. @davisagli diff --git a/packages/client/package.json b/packages/client/package.json index 6391d99cba..67e5265875 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -87,7 +87,7 @@ "tsup": "^8.0.2", "typescript": "5.4.2", "uuid": "^9.0.1", - "vite": "^5.1.4", + "vite": "^5.1.5", "vite-plugin-dts": "^3.7.3", "vitest": "^1.3.1", "wait-on": "^7.2.0" diff --git a/packages/components/news/5942.bugfix b/packages/components/news/5942.bugfix new file mode 100644 index 0000000000..a0d193ece2 --- /dev/null +++ b/packages/components/news/5942.bugfix @@ -0,0 +1 @@ +Update `vite` to 5.1.5. @davisagli diff --git a/packages/components/package.json b/packages/components/package.json index 99f92cdf5c..2a1dd1fee2 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -118,7 +118,7 @@ "stylelint-config-idiomatic-order": "10.0.0", "stylelint-prettier": "5.0.0", "typescript": "5.4.2", - "vite": "^5.1.4", + "vite": "^5.1.5", "vitest": "^1.3.1", "vitest-axe": "^0.1.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9b8ca4a63..f153c71033 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -945,7 +945,7 @@ importers: version: 18.2.19 '@vitejs/plugin-react': specifier: ^4 - version: 4.2.0(vite@5.1.4) + version: 4.2.0(vite@5.1.5) compression: specifier: ^1.7.4 version: 1.7.4 @@ -965,11 +965,11 @@ importers: specifier: ^5.3.3 version: 5.3.3 vite: - specifier: ^5.1.4 - version: 5.1.4(@types/node@20.9.0) + specifier: ^5.1.5 + version: 5.1.5(@types/node@20.9.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.23.9)(vite@5.1.4) + version: 1.2.0(@babel/core@7.23.9)(vite@5.1.5) packages/blocks: dependencies: @@ -1055,7 +1055,7 @@ importers: version: 9.0.7 '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.4) + version: 4.2.0(vite@5.1.5) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1084,11 +1084,11 @@ importers: specifier: ^9.0.1 version: 9.0.1 vite: - specifier: ^5.1.4 - version: 5.1.4(@types/node@20.9.0) + specifier: ^5.1.5 + version: 5.1.5(@types/node@20.9.0) vite-plugin-dts: specifier: ^3.7.3 - version: 3.7.3(typescript@5.4.2)(vite@5.1.4) + version: 3.7.3(typescript@5.4.2)(vite@5.1.5) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@21.1.2) @@ -1167,7 +1167,7 @@ importers: version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/react-vite': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.4) + version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.5) '@storybook/theming': specifier: ^8.0.4 version: 8.0.4(react-dom@18.2.0)(react@18.2.0) @@ -1194,7 +1194,7 @@ importers: version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.4) + version: 4.2.0(vite@5.1.5) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1247,8 +1247,8 @@ importers: specifier: 5.4.2 version: 5.4.2 vite: - specifier: ^5.1.4 - version: 5.1.4(lightningcss@1.24.0) + specifier: ^5.1.5 + version: 5.1.5(lightningcss@1.24.0) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@22.1.0)(lightningcss@1.24.0) @@ -5722,7 +5722,7 @@ packages: chalk: 4.1.2 dev: true - /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.4): + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.5): resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==} peerDependencies: typescript: '>= 4.3.x' @@ -5736,7 +5736,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.4.2) typescript: 5.4.2 - vite: 5.1.4(lightningcss@1.24.0) + vite: 5.1.5(lightningcss@1.24.0) dev: true /@jridgewell/gen-mapping@0.3.3: @@ -10852,7 +10852,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite@8.0.4(typescript@5.4.2)(vite@5.1.4): + /@storybook/builder-vite@8.0.4(typescript@5.4.2)(vite@5.1.5): resolution: {integrity: sha512-Whb001bGkoGQ6/byp9QTQJ4NO61Qa5bh1p5WEEMJ5wYvHm83b+B/IwwilUfU5mL9bJB/RjbwyKcSQqGP6AxMzA==} peerDependencies: '@preact/preset-vite': '*' @@ -10885,7 +10885,7 @@ packages: magic-string: 0.30.5 ts-dedent: 2.2.0 typescript: 5.4.2 - vite: 5.1.4(lightningcss@1.24.0) + vite: 5.1.5(lightningcss@1.24.0) transitivePeerDependencies: - encoding - supports-color @@ -12228,7 +12228,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.4): + /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.5): resolution: {integrity: sha512-SlAsLSDc9I1nhMbf0YgXCHaZbnjzDdv458xirmUj4aJhn45e8yhmODpkPYQ8nGn45VWYMyd0sC66lJNWRvI/FA==} engines: {node: '>=18.0.0'} peerDependencies: @@ -12236,9 +12236,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^4.0.0 || ^5.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.4) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.5) '@rollup/pluginutils': 5.1.0(rollup@4.8.0) - '@storybook/builder-vite': 8.0.4(typescript@5.4.2)(vite@5.1.4) + '@storybook/builder-vite': 8.0.4(typescript@5.4.2)(vite@5.1.5) '@storybook/node-logger': 8.0.4 '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) find-up: 5.0.0 @@ -12248,7 +12248,7 @@ packages: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 5.1.4(lightningcss@1.24.0) + vite: 5.1.5(lightningcss@1.24.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -15038,7 +15038,7 @@ packages: uqr: 0.1.2 dev: false - /@vitejs/plugin-react@4.2.0(vite@5.1.4): + /@vitejs/plugin-react@4.2.0(vite@5.1.5): resolution: {integrity: sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -15049,7 +15049,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.4 react-refresh: 0.14.0 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) transitivePeerDependencies: - supports-color dev: true @@ -39241,7 +39241,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39262,7 +39262,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39283,7 +39283,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(lightningcss@1.24.0) + vite: 5.1.5(lightningcss@1.24.0) transitivePeerDependencies: - '@types/node' - less @@ -39294,17 +39294,17 @@ packages: - supports-color - terser - /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.1.4): + /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.1.5): resolution: {integrity: sha512-ltAnq535Ubf9sDbVCkztAdkwx5aQbNrwPFs+iZTJ5FaAhTdxjqmLGpxsAaRfJWEKBJ/kFf9KwMoTdArm0IRUUw==} peerDependencies: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: '@babel/core': 7.23.9 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) dev: true - /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.1.4): + /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.1.5): resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -39320,7 +39320,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 typescript: 5.4.2 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) vue-tsc: 1.8.27(typescript@5.4.2) transitivePeerDependencies: - '@types/node' @@ -39444,8 +39444,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.4(@types/node@20.9.0): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + /vite@5.1.5(@types/node@20.9.0): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39480,8 +39480,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.4(lightningcss@1.24.0): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + /vite@5.1.5(lightningcss@1.24.0): + resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39592,7 +39592,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) vite-node: 0.34.6(@types/node@20.9.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39648,7 +39648,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.9.0) + vite: 5.1.5(@types/node@20.9.0) vite-node: 1.3.1 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39704,7 +39704,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.4(lightningcss@1.24.0) + vite: 5.1.5(lightningcss@1.24.0) vite-node: 1.3.1(lightningcss@1.24.0) why-is-node-running: 2.2.2 transitivePeerDependencies: From 80dd7e35a73b83c0aed7594e767d895628419305 Mon Sep 17 00:00:00 2001 From: Alin Voinea Date: Tue, 2 Apr 2024 11:12:49 +0300 Subject: [PATCH 16/49] docs: Cleanup obsolete EEA projects and update info about EEA main website (#5943) Co-authored-by: Steve Piercy --- README.md | 8 +++++--- packages/volto/news/5943.documentation | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 packages/volto/news/5943.documentation diff --git a/README.md b/README.md index b93c7084dc..63877d3e46 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ To ensure your website gets the greatest exposure, add it both to [Awesome Volto - [Comune di Vernio](https://www.comune.vernio.po.it/) (Website of the Municipality of Vernio. Developed by [RedTurtle](https://www.redturtle.it), 2021) - [Debabarreneko mankomunitatea](https://debabarrena.eus/eu) (Website of the Commonwealth of Debabarrena, community of municipalities to centralize waste handling services, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022) - [Debako Udala / Ayuntamiento de Deba](https://www.deba.eus/eu) (Website of the municipality of Deba, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022) -- [EEA-IMSv4](https://www.eea.europa.eu/en/analysis/indicators) (EEA Indicator Management System v4. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2021) +- [European Environment Agency](https://www.eea.europa.eu/en) (Website of the European Environment Agency. Developed by [Eau de Web](https://eaudeweb.ro), 2023) - [Energy Climate Union portal for Europe](https://climate-energy.eea.europa.eu/) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://eaudeweb.ro/), 2020) - [Excellence at Humboldt-Universität zu Berlin](https://www.alles-beginnt-mit-einer-frage.de) (Website for the excellence initiative of the [Humboldt University Berlin](https://www.hu-berlin.de/de), developed by [kitconcept GmbH](https://kitconcept.com), 2019) - [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://eaudeweb.ro/), 2019) @@ -155,8 +155,7 @@ You should check the dependencies in their `package.json` for more details. - [Freshwater Information System for Europe](https://github.com/eea/freshwater-frontend) - Volto project for [Freshwater Information System for Europe website](https://water.europa.eu/freshwater) - [European Industrial Emissions Portal](https://github.com/eea/industry-frontend ) - Volto project for [European Industrial Emissions Portal website](https://industry.eea.europa.eu) - [Biodiversity Information System for Europe](https://github.com/eea/bise-frontend) - Volto project for [Biodiversity Information System for Europe website](https://biodiversity.europa.eu) -- [Sustainability transitions, EEA-Eionet platform](https://github.com/eea/sustainability-frontend) - Volto project for [Sustainability transitions, EEA-Eionet platform website](https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/) -- [EEA Indicator Management System](https://github.com/eea/ims-frontend) - Volto project for [EEA Indicator Management System site](https://www.eea.europa.eu/en/analysis/indicators) +- [EEA Main Website frontend](https://github.com/eea/eea-website-frontend) - Volto project for [European Environment Agency](https://www.eea.europa.eu/en) - [Climate and energy in the EU](https://github.com/eea/climate-energy-frontend) - Volto project for [Climate and energy in the EU website](https://climate-energy.eea.europa.eu) - [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an addon. It provides Theming using a razzle.extend.js provided alias. - [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration @@ -166,5 +165,8 @@ You should check the dependencies in their `package.json` for more details. - [plone.org.br](https://github.com/plonegovbr/plone.org.br) - Volto project for the [Brazilian Plone Community](https://plone.org.br) - [nsw-design-system-plone6-kit](https://github.com/pretagov/nsw-design-system-plone6-kit) - NSW Design System Plone 6 Kit Volto project for [NSW.gov.au sites](https://digitalnsw.pretagov.com.au/) - [volto-centraalmuseum-theme](https://github.com/intk/volto-centraalmuseum-theme) - Volto project for the [Centraal Museum & Rietveld](https://www.centraalmuseum.nl/nl) made for [INTK](https://www.intk.com/en). +- [volto-eea-design-system](https://github.com/eea/volto-eea-design-system) - EEA Design System Plone 6 Kit Volto project for [European Environment Agency web sites](https://eea.github.io/volto-eea-design-system/) +- [volto-eea-website-theme](https://github.com/eea/volto-eea-website-theme) - EEA Plone 6 Volto Theme for [European Environment Agency web sites](https://www.eea.europa.eu/en) +- [volto-eea-kitkat](https://github.com/eea/volto-eea-kitkat) - A known good set of Volto add-ons to be used within all EEA projects and beyond, made for [European Environment Agency](https://www.eea.europa.eu/en) - [volto-rietveldschroderhuis-theme](https://github.com/intk/volto-rietveldschroderhuis-theme) - Volto project for the [Rietveld Schröder House](https://www.rietveldschroderhuis.nl/en) made for [INTK](https://www.intk.com/en). - [volto-zeeuwsmuseum-theme](https://github.com/intk/volto-zeeuwsmuseum-theme) - Volto project for the [Zeeuws Museum](https://www.zeeuwsmuseum.nl/en) made for [INTK](https://www.intk.com/en). diff --git a/packages/volto/news/5943.documentation b/packages/volto/news/5943.documentation new file mode 100644 index 0000000000..1d3ceaf5e8 --- /dev/null +++ b/packages/volto/news/5943.documentation @@ -0,0 +1 @@ +Cleanup obsolete EEA projects from README and update info about EEA main website. @avoinea \ No newline at end of file From 4537e7f9332a96726a7235677910ffcf91f85ab0 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 3 Apr 2024 12:58:33 +0200 Subject: [PATCH 17/49] Release @plone/types 1.0.0-alpha.9 --- packages/types/CHANGELOG.md | 6 ++++++ packages/types/news/5921.bugfix | 1 - packages/types/package.json | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 packages/types/news/5921.bugfix diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 5f9314721d..fa325db4b1 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -8,6 +8,12 @@ +## 1.0.0-alpha.9 (2024-04-03) + +### Bugfix + +- Fix experimental settings and new button type @sneridagh [#5921](https://github.com/plone/volto/issues/5921) + ## 1.0.0-alpha.8 (2024-03-25) ### Bugfix diff --git a/packages/types/news/5921.bugfix b/packages/types/news/5921.bugfix deleted file mode 100644 index f9a12123c8..0000000000 --- a/packages/types/news/5921.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix experimental settings and new button type @sneridagh diff --git a/packages/types/package.json b/packages/types/package.json index cb9111a9d7..1730e998ed 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -9,7 +9,7 @@ ], "funding": "https://github.com/sponsors/plone", "license": "MIT", - "version": "1.0.0-alpha.8", + "version": "1.0.0-alpha.9", "repository": { "type": "git", "url": "https://github.com/plone/volto.git" From 732d6335e581dd0bc1b98d614eb259bd060c3393 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 3 Apr 2024 13:00:25 +0200 Subject: [PATCH 18/49] Release @plone/registry 1.5.5 --- packages/registry/CHANGELOG.md | 10 ++++++++++ packages/registry/news/5912.internal | 1 - packages/registry/news/5925.bugfix | 1 - packages/registry/package.json | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-) delete mode 100644 packages/registry/news/5912.internal delete mode 100644 packages/registry/news/5925.bugfix diff --git a/packages/registry/CHANGELOG.md b/packages/registry/CHANGELOG.md index 4a7895908b..eea5d5dd55 100644 --- a/packages/registry/CHANGELOG.md +++ b/packages/registry/CHANGELOG.md @@ -8,6 +8,16 @@ +## 1.5.5 (2024-04-03) + +### Bugfix + +- Fix registry wrong default primitive type @sneridagh [#5925](https://github.com/plone/volto/issues/5925) + +### Internal + +- Sync TypeScript version @sneridagh [#5912](https://github.com/plone/volto/issues/5912) + ## 1.5.4 (2024-03-21) ### Bugfix diff --git a/packages/registry/news/5912.internal b/packages/registry/news/5912.internal deleted file mode 100644 index 25dba6e635..0000000000 --- a/packages/registry/news/5912.internal +++ /dev/null @@ -1 +0,0 @@ -Sync TypeScript version @sneridagh diff --git a/packages/registry/news/5925.bugfix b/packages/registry/news/5925.bugfix deleted file mode 100644 index efda79cdeb..0000000000 --- a/packages/registry/news/5925.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix registry wrong default primitive type @sneridagh diff --git a/packages/registry/package.json b/packages/registry/package.json index 49a0322e63..6dbbfefd19 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -9,7 +9,7 @@ ], "funding": "https://github.com/sponsors/plone", "license": "MIT", - "version": "1.5.4", + "version": "1.5.5", "repository": { "type": "git", "url": "https://github.com/plone/volto.git" From aba61deaeb106c9e940da6cd1fa014ba5e61a927 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 3 Apr 2024 13:02:38 +0200 Subject: [PATCH 19/49] Release @plone/slate 18.0.0-alpha.11 --- packages/volto-slate/CHANGELOG.md | 6 ++++++ packages/volto-slate/news/5928.bugfix | 1 - packages/volto-slate/package.json | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 packages/volto-slate/news/5928.bugfix diff --git a/packages/volto-slate/CHANGELOG.md b/packages/volto-slate/CHANGELOG.md index c60bff5cbf..53df616f60 100644 --- a/packages/volto-slate/CHANGELOG.md +++ b/packages/volto-slate/CHANGELOG.md @@ -8,6 +8,12 @@ +## 18.0.0-alpha.11 (2024-04-03) + +### Bugfix + +- Fix removing an element in slate when cursor is at the end of the element to be removed; Fix losing selection when adding an element. @razvanMiu [#5928](https://github.com/plone/volto/issues/5928) + ## 18.0.0-alpha.10 (2024-03-14) ### Breaking diff --git a/packages/volto-slate/news/5928.bugfix b/packages/volto-slate/news/5928.bugfix deleted file mode 100644 index 14399fbc91..0000000000 --- a/packages/volto-slate/news/5928.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix removing an element in slate when cursor is at the end of the element to be removed; Fix losing selection when adding an element. @razvanMiu \ No newline at end of file diff --git a/packages/volto-slate/package.json b/packages/volto-slate/package.json index b410429aa6..0819e0db06 100644 --- a/packages/volto-slate/package.json +++ b/packages/volto-slate/package.json @@ -1,6 +1,6 @@ { "name": "@plone/volto-slate", - "version": "18.0.0-alpha.10", + "version": "18.0.0-alpha.11", "description": "Slate.js integration with Volto", "main": "src/index.js", "author": "European Environment Agency: IDM2 A-Team", From da49e72a2d91a49d2484da2b1e502ddb7d0c9a07 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 3 Apr 2024 13:06:35 +0200 Subject: [PATCH 20/49] Rename news item --- packages/volto/news/{5921.bugfix => 5921.breaking} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/volto/news/{5921.bugfix => 5921.breaking} (100%) diff --git a/packages/volto/news/5921.bugfix b/packages/volto/news/5921.breaking similarity index 100% rename from packages/volto/news/5921.bugfix rename to packages/volto/news/5921.breaking From f406464715de9d4e3acfc54ae325c801ef9c81f9 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 3 Apr 2024 13:10:42 +0200 Subject: [PATCH 21/49] Release 18.0.0-alpha.26 --- docs/source/release-notes/index.md | 32 ++++++++++++++++++++++++++ packages/volto/CHANGELOG.md | 32 ++++++++++++++++++++++++++ packages/volto/news/5869.bugfix | 1 - packages/volto/news/5881.feature | 1 - packages/volto/news/5894.bugfix | 1 - packages/volto/news/5913.documentation | 1 - packages/volto/news/5917.internal | 1 - packages/volto/news/5919.bugfix | 1 - packages/volto/news/5921.breaking | 1 - packages/volto/news/5924.bugfix | 1 - packages/volto/news/5932.feature | 1 - packages/volto/news/5933.internal | 1 - packages/volto/news/5934.internal | 1 - packages/volto/news/5935.bugfix | 1 - packages/volto/news/5940.internal | 1 - packages/volto/news/5941.documentation | 1 - packages/volto/news/5943.documentation | 1 - packages/volto/package.json | 2 +- 18 files changed, 65 insertions(+), 16 deletions(-) delete mode 100644 packages/volto/news/5869.bugfix delete mode 100644 packages/volto/news/5881.feature delete mode 100644 packages/volto/news/5894.bugfix delete mode 100644 packages/volto/news/5913.documentation delete mode 100644 packages/volto/news/5917.internal delete mode 100644 packages/volto/news/5919.bugfix delete mode 100644 packages/volto/news/5921.breaking delete mode 100644 packages/volto/news/5924.bugfix delete mode 100644 packages/volto/news/5932.feature delete mode 100644 packages/volto/news/5933.internal delete mode 100644 packages/volto/news/5934.internal delete mode 100644 packages/volto/news/5935.bugfix delete mode 100644 packages/volto/news/5940.internal delete mode 100644 packages/volto/news/5941.documentation delete mode 100644 packages/volto/news/5943.documentation diff --git a/docs/source/release-notes/index.md b/docs/source/release-notes/index.md index 77ed72e63a..4965309003 100644 --- a/docs/source/release-notes/index.md +++ b/docs/source/release-notes/index.md @@ -17,6 +17,38 @@ myst: +## 18.0.0-alpha.26 (2024-04-03) + +### Breaking + +- Use `id` instead of `title` for the fieldset's generated value when rendering a `Field` component in a form. @sneridagh [#5921](https://github.com/plone/volto/issues/5921) + +### Feature + +- Add parameters to `ContentsUploadModal` to be reusable in different scenarios. @erral [#5881](https://github.com/plone/volto/issues/5881) +- Print error message from request in toast, if `clipboardRequest` return an error. @cekk [#5932](https://github.com/plone/volto/issues/5932) + +### Bugfix + +- Fix edge case in search options mangling when the options are false-ish sneridagh [#5869](https://github.com/plone/volto/issues/5869) +- Does not show borders in addon block inputs. @wesleybl [#5894](https://github.com/plone/volto/issues/5894) +- Fix `error is null` in `FormFieldWrapper.jsx`. @mauritsvanrees [#5919](https://github.com/plone/volto/issues/5919) +- Updated Italian locales file `volto.po` with translation for "yes" from "si" to "sì". @yurj [#5924](https://github.com/plone/volto/issues/5924) +- Fix self-registration form. @davisagli [#5935](https://github.com/plone/volto/issues/5935) + +### Internal + +- Changed relative path to absolute in `DefaultView.jsx` for the `RenderBlocks` component to make it easier to customize. @agan-k [#5917](https://github.com/plone/volto/issues/5917) +- Fix cypress test "As editor, I can unlock a locked page". @wesleybl [#5933](https://github.com/plone/volto/issues/5933) +- Fix cypress test "Navigate to different pages on two different listings". @ichim-david [#5934](https://github.com/plone/volto/issues/5934) +- Add a new label `needs: triage` to new bug reports. @stevepiercy [#5940](https://github.com/plone/volto/issues/5940) + +### Documentation + +- Add missing step in Storybook 6 to 8 migration. @sneridagh [#5913](https://github.com/plone/volto/issues/5913) +- Fix redirect of `https://sustainability.eionet.europa.eu` to `https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/`. @stevepiercy [#5941](https://github.com/plone/volto/issues/5941) +- Cleanup obsolete EEA projects from README and update info about EEA main website. @avoinea [#5943](https://github.com/plone/volto/issues/5943) + ## 18.0.0-alpha.25 (2024-03-24) ### Internal diff --git a/packages/volto/CHANGELOG.md b/packages/volto/CHANGELOG.md index 77ed72e63a..4965309003 100644 --- a/packages/volto/CHANGELOG.md +++ b/packages/volto/CHANGELOG.md @@ -17,6 +17,38 @@ myst: +## 18.0.0-alpha.26 (2024-04-03) + +### Breaking + +- Use `id` instead of `title` for the fieldset's generated value when rendering a `Field` component in a form. @sneridagh [#5921](https://github.com/plone/volto/issues/5921) + +### Feature + +- Add parameters to `ContentsUploadModal` to be reusable in different scenarios. @erral [#5881](https://github.com/plone/volto/issues/5881) +- Print error message from request in toast, if `clipboardRequest` return an error. @cekk [#5932](https://github.com/plone/volto/issues/5932) + +### Bugfix + +- Fix edge case in search options mangling when the options are false-ish sneridagh [#5869](https://github.com/plone/volto/issues/5869) +- Does not show borders in addon block inputs. @wesleybl [#5894](https://github.com/plone/volto/issues/5894) +- Fix `error is null` in `FormFieldWrapper.jsx`. @mauritsvanrees [#5919](https://github.com/plone/volto/issues/5919) +- Updated Italian locales file `volto.po` with translation for "yes" from "si" to "sì". @yurj [#5924](https://github.com/plone/volto/issues/5924) +- Fix self-registration form. @davisagli [#5935](https://github.com/plone/volto/issues/5935) + +### Internal + +- Changed relative path to absolute in `DefaultView.jsx` for the `RenderBlocks` component to make it easier to customize. @agan-k [#5917](https://github.com/plone/volto/issues/5917) +- Fix cypress test "As editor, I can unlock a locked page". @wesleybl [#5933](https://github.com/plone/volto/issues/5933) +- Fix cypress test "Navigate to different pages on two different listings". @ichim-david [#5934](https://github.com/plone/volto/issues/5934) +- Add a new label `needs: triage` to new bug reports. @stevepiercy [#5940](https://github.com/plone/volto/issues/5940) + +### Documentation + +- Add missing step in Storybook 6 to 8 migration. @sneridagh [#5913](https://github.com/plone/volto/issues/5913) +- Fix redirect of `https://sustainability.eionet.europa.eu` to `https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/`. @stevepiercy [#5941](https://github.com/plone/volto/issues/5941) +- Cleanup obsolete EEA projects from README and update info about EEA main website. @avoinea [#5943](https://github.com/plone/volto/issues/5943) + ## 18.0.0-alpha.25 (2024-03-24) ### Internal diff --git a/packages/volto/news/5869.bugfix b/packages/volto/news/5869.bugfix deleted file mode 100644 index cfed69dfb1..0000000000 --- a/packages/volto/news/5869.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix edge case in search options mangling when the options are false-ish sneridagh diff --git a/packages/volto/news/5881.feature b/packages/volto/news/5881.feature deleted file mode 100644 index 17e3d97ed1..0000000000 --- a/packages/volto/news/5881.feature +++ /dev/null @@ -1 +0,0 @@ -Add parameters to `ContentsUploadModal` to be reusable in different scenarios. @erral diff --git a/packages/volto/news/5894.bugfix b/packages/volto/news/5894.bugfix deleted file mode 100644 index 1629bf3298..0000000000 --- a/packages/volto/news/5894.bugfix +++ /dev/null @@ -1 +0,0 @@ -Does not show borders in addon block inputs. @wesleybl diff --git a/packages/volto/news/5913.documentation b/packages/volto/news/5913.documentation deleted file mode 100644 index bb511245ac..0000000000 --- a/packages/volto/news/5913.documentation +++ /dev/null @@ -1 +0,0 @@ -Add missing step in Storybook 6 to 8 migration. @sneridagh diff --git a/packages/volto/news/5917.internal b/packages/volto/news/5917.internal deleted file mode 100644 index e80b85a4bb..0000000000 --- a/packages/volto/news/5917.internal +++ /dev/null @@ -1 +0,0 @@ -Changed relative path to absolute in `DefaultView.jsx` for the `RenderBlocks` component to make it easier to customize. @agan-k diff --git a/packages/volto/news/5919.bugfix b/packages/volto/news/5919.bugfix deleted file mode 100644 index ffb3b742ac..0000000000 --- a/packages/volto/news/5919.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix `error is null` in `FormFieldWrapper.jsx`. @mauritsvanrees diff --git a/packages/volto/news/5921.breaking b/packages/volto/news/5921.breaking deleted file mode 100644 index b19d2552ed..0000000000 --- a/packages/volto/news/5921.breaking +++ /dev/null @@ -1 +0,0 @@ -Use `id` instead of `title` for the fieldset's generated value when rendering a `Field` component in a form. @sneridagh diff --git a/packages/volto/news/5924.bugfix b/packages/volto/news/5924.bugfix deleted file mode 100644 index 5fe7a7463f..0000000000 --- a/packages/volto/news/5924.bugfix +++ /dev/null @@ -1 +0,0 @@ -Updated Italian locales file `volto.po` with translation for "yes" from "si" to "sì". @yurj diff --git a/packages/volto/news/5932.feature b/packages/volto/news/5932.feature deleted file mode 100644 index 29b3e716d6..0000000000 --- a/packages/volto/news/5932.feature +++ /dev/null @@ -1 +0,0 @@ -Print error message from request in toast, if `clipboardRequest` return an error. @cekk diff --git a/packages/volto/news/5933.internal b/packages/volto/news/5933.internal deleted file mode 100644 index 0d116fc1d7..0000000000 --- a/packages/volto/news/5933.internal +++ /dev/null @@ -1 +0,0 @@ -Fix cypress test "As editor, I can unlock a locked page". @wesleybl diff --git a/packages/volto/news/5934.internal b/packages/volto/news/5934.internal deleted file mode 100644 index 46bfb2cad6..0000000000 --- a/packages/volto/news/5934.internal +++ /dev/null @@ -1 +0,0 @@ -Fix cypress test "Navigate to different pages on two different listings". @ichim-david \ No newline at end of file diff --git a/packages/volto/news/5935.bugfix b/packages/volto/news/5935.bugfix deleted file mode 100644 index 0a60bb2968..0000000000 --- a/packages/volto/news/5935.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix self-registration form. @davisagli diff --git a/packages/volto/news/5940.internal b/packages/volto/news/5940.internal deleted file mode 100644 index 5efcae0ec1..0000000000 --- a/packages/volto/news/5940.internal +++ /dev/null @@ -1 +0,0 @@ -Add a new label `needs: triage` to new bug reports. @stevepiercy diff --git a/packages/volto/news/5941.documentation b/packages/volto/news/5941.documentation deleted file mode 100644 index 261e8158eb..0000000000 --- a/packages/volto/news/5941.documentation +++ /dev/null @@ -1 +0,0 @@ -Fix redirect of `https://sustainability.eionet.europa.eu` to `https://www.eea.europa.eu/en/topics/at-a-glance/sustainability/`. @stevepiercy diff --git a/packages/volto/news/5943.documentation b/packages/volto/news/5943.documentation deleted file mode 100644 index 1d3ceaf5e8..0000000000 --- a/packages/volto/news/5943.documentation +++ /dev/null @@ -1 +0,0 @@ -Cleanup obsolete EEA projects from README and update info about EEA main website. @avoinea \ No newline at end of file diff --git a/packages/volto/package.json b/packages/volto/package.json index bb11c50826..b3b4f4bd3d 100644 --- a/packages/volto/package.json +++ b/packages/volto/package.json @@ -9,7 +9,7 @@ } ], "license": "MIT", - "version": "18.0.0-alpha.25", + "version": "18.0.0-alpha.26", "repository": { "type": "git", "url": "git@github.com:plone/volto.git" From 0630a6e7655637c0b811139a738353f682053b79 Mon Sep 17 00:00:00 2001 From: Hrittik <49366463+Hrittik20@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:24:01 +0530 Subject: [PATCH 22/49] Enhanced navigation reducer in Volto (#5817) Co-authored-by: Your Name Co-authored-by: David Glick --- packages/volto/news/5772.bugfix | 1 + packages/volto/src/reducers/navigation/navigation.js | 3 +-- packages/volto/src/reducers/navigation/navigation.test.js | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 packages/volto/news/5772.bugfix diff --git a/packages/volto/news/5772.bugfix b/packages/volto/news/5772.bugfix new file mode 100644 index 0000000000..95f227953d --- /dev/null +++ b/packages/volto/news/5772.bugfix @@ -0,0 +1 @@ +Enhanced navigation reducer in Volto to keep items extra-data sent from the navigation endpoint @Hrittik20 diff --git a/packages/volto/src/reducers/navigation/navigation.js b/packages/volto/src/reducers/navigation/navigation.js index 30693e24fe..2e00b551cc 100644 --- a/packages/volto/src/reducers/navigation/navigation.js +++ b/packages/volto/src/reducers/navigation/navigation.js @@ -31,9 +31,8 @@ const initialState = { */ function getRecursiveItems(items) { return map(items, (item) => ({ - title: item.title, - description: item.description, url: flattenToAppURL(item['@id']), + ...item, ...(item.items && { items: getRecursiveItems(item.items) }), })); } diff --git a/packages/volto/src/reducers/navigation/navigation.test.js b/packages/volto/src/reducers/navigation/navigation.test.js index 0d289c2a79..318e85e25c 100644 --- a/packages/volto/src/reducers/navigation/navigation.test.js +++ b/packages/volto/src/reducers/navigation/navigation.test.js @@ -49,6 +49,7 @@ describe('Navigation reducer', () => { error: null, items: [ { + '@id': 'http://localhost:8080/Plone/front-page', title: 'Welcome to Plone!', description: 'Congratulations! You have successfully installed Plone.', @@ -91,17 +92,20 @@ describe('Navigation reducer', () => { error: null, items: [ { + '@id': 'http://localhost:8080/Plone/front-page', title: 'Welcome to Plone!', description: 'Congratulations! You have successfully installed Plone.', url: '/front-page', }, { + '@id': 'http://localhost:8080/Plone/folder1', title: 'Folder1', description: 'Folder description', url: '/folder1', items: [ { + '@id': 'http://localhost:8080/Plone/folderinfolder1', title: 'FolderInFolder1', description: 'Sub-folder description', url: '/folderinfolder1', @@ -162,6 +166,7 @@ describe('Navigation reducer (NAVIGATION)GET_CONTENT', () => { error: null, items: [ { + '@id': 'http://localhost:8080/Plone/front-page', title: 'Welcome to Plone!', description: 'Congratulations! You have successfully installed Plone.', @@ -192,6 +197,7 @@ describe('Navigation reducer (NAVIGATION)GET_CONTENT', () => { error: null, items: [ { + '@id': 'http://localhost:8080/Plone/front-page', title: 'Welcome to Plone!', description: 'Congratulations! You have successfully installed Plone.', From 7eaf92a58342282ebd296fec99e3062615e57f2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Fri, 5 Apr 2024 12:38:57 +0200 Subject: [PATCH 23/49] Improve color widget picker and types (#5948) --- packages/types/news/5948.bugfix | 1 + packages/types/src/config/Widgets.d.ts | 199 ++++++++++-------- packages/volto/news/5948.bugfix | 1 + .../manage/Widgets/ColorPickerWidget.tsx | 14 +- 4 files changed, 117 insertions(+), 98 deletions(-) create mode 100644 packages/types/news/5948.bugfix create mode 100644 packages/volto/news/5948.bugfix diff --git a/packages/types/news/5948.bugfix b/packages/types/news/5948.bugfix new file mode 100644 index 0000000000..5258a303aa --- /dev/null +++ b/packages/types/news/5948.bugfix @@ -0,0 +1 @@ +Split widgets type definitions into their own interfaces so they are extendable @sneridagh diff --git a/packages/types/src/config/Widgets.d.ts b/packages/types/src/config/Widgets.d.ts index 62bd0f1293..57ce6fc311 100644 --- a/packages/types/src/config/Widgets.d.ts +++ b/packages/types/src/config/Widgets.d.ts @@ -1,95 +1,112 @@ +export interface WidgetsConfigById { + schema: React.ComponentType; + subjects: React.ComponentType; + query: React.ComponentType; + recurrence: React.ComponentType; + remoteUrl: React.ComponentType; + id: React.ComponentType; + site_logo: React.ComponentType; +} + +export interface WidgetsConfigByWidget { + textarea: React.ComponentType; + datetime: React.ComponentType; + date: React.ComponentType; + password: React.ComponentType; + file: React.ComponentType; + align: React.ComponentType; + buttons: React.ComponentType; + url: React.ComponentType; + internal_url: React.ComponentType; + email: React.ComponentType; + array: React.ComponentType; + token: React.ComponentType; + query: React.ComponentType; + query_sort_on: React.ComponentType; + querystring: React.ComponentType; + object_browser: React.ComponentType; + object: React.ComponentType; + object_list: React.ComponentType; + vocabularyterms: React.ComponentType; + image_size: React.ComponentType; + select_querystring_field: React.ComponentType; + autocomplete: React.ComponentType; + color_picker: React.ComponentType; + select: React.ComponentType; +} + +export interface WidgetsConfigByVocabulary { + 'plone.app.vocabularies.Catalog': React.ComponentType; +} + +export interface WidgetsConfigByFactory { + 'Relation List': React.ComponentType; + 'Relation Choice': React.ComponentType; +} + +export interface WidgetsConfigByType { + boolean: React.ComponentType; + array: React.ComponentType; + object: React.ComponentType; + datetime: React.ComponentType; + date: React.ComponentType; + password: React.ComponentType; + number: React.ComponentType; + integer: React.ComponentType; + id: React.ComponentType; +} + +export interface WidgetsConfigViewById { + file: React.ComponentType; + image: React.ComponentType; + relatedItems: React.ComponentType; + subjects: React.ComponentType; +} + +export interface WidgetsConfigViewByWidget { + array: React.ComponentType; + boolean: React.ComponentType; + choices: React.ComponentType; + date: React.ComponentType; + datetime: React.ComponentType; + description: React.ComponentType; + email: React.ComponentType; + file: React.ComponentType; + image: React.ComponentType; + password: React.ComponentType; + relation: React.ComponentType; + richtext: React.ComponentType; + string: React.ComponentType; + tags: React.ComponentType; + textarea: React.ComponentType; + title: React.ComponentType; + url: React.ComponentType; + internal_url: React.ComponentType; + object: React.ComponentType; +} + +export interface WidgetsConfigViewByType { + array: React.ComponentType; + boolean: React.ComponentType; +} + +export interface WidgetsConfigViews { + getWidget: React.ComponentType; + default: React.ComponentType; + id: WidgetsConfigViewById; + widget: WidgetsConfigViewByWidget; + vocabulary: {}; + choices: React.ComponentType; + type: WidgetsConfigViewByType; +} + export interface WidgetsConfig { default: React.ComponentType; - id: { - schema: React.ComponentType; - subjects: React.ComponentType; - query: React.ComponentType; - recurrence: React.ComponentType; - remoteUrl: React.ComponentType; - id: React.ComponentType; - site_logo: React.ComponentType; - }; - widget: { - textarea: React.ComponentType; - datetime: React.ComponentType; - date: React.ComponentType; - password: React.ComponentType; - file: React.ComponentType; - align: React.ComponentType; - buttons: React.ComponentType; - url: React.ComponentType; - internal_url: React.ComponentType; - email: React.ComponentType; - array: React.ComponentType; - token: React.ComponentType; - query: React.ComponentType; - query_sort_on: React.ComponentType; - querystring: React.ComponentType; - object_browser: React.ComponentType; - object: React.ComponentType; - object_list: React.ComponentType; - vocabularyterms: React.ComponentType; - image_size: React.ComponentType; - select_querystring_field: React.ComponentType; - autocomplete: React.ComponentType; - color_picker: React.ComponentType; - select: React.ComponentType; - }; - vocabulary: { - 'plone.app.vocabularies.Catalog': React.ComponentType; - }; - factory: { - 'Relation List': React.ComponentType; - 'Relation Choice': React.ComponentType; - }; + id: WidgetsConfigById; + widget: WidgetsConfigByWidget; + vocabulary: WidgetsConfigByVocabulary; + factory: WidgetsConfigByFactory; choices: React.ComponentType; - type: { - boolean: React.ComponentType; - array: React.ComponentType; - object: React.ComponentType; - datetime: React.ComponentType; - date: React.ComponentType; - password: React.ComponentType; - number: React.ComponentType; - integer: React.ComponentType; - id: React.ComponentType; - }; - views: { - getWidget: React.ComponentType; - default: React.ComponentType; - id: { - file: React.ComponentType; - image: React.ComponentType; - relatedItems: React.ComponentType; - subjects: React.ComponentType; - }; - widget: { - array: React.ComponentType; - boolean: React.ComponentType; - choices: React.ComponentType; - date: React.ComponentType; - datetime: React.ComponentType; - description: React.ComponentType; - email: React.ComponentType; - file: React.ComponentType; - image: React.ComponentType; - password: React.ComponentType; - relation: React.ComponentType; - relations: React.ComponentType; - richtext: React.ComponentType; - string: React.ComponentType; - tags: React.ComponentType; - textarea: React.ComponentType; - title: React.ComponentType; - url: React.ComponentType; - internal_url: React.ComponentType; - object: React.ComponentType; - }; - vocabulary: {}; - choices: React.ComponentType; - type: { - array: React.ComponentType; - boolean: React.ComponentType; - }; - }; + type: WidgetsConfigByType; + views: WidgetsConfigViews; } diff --git a/packages/volto/news/5948.bugfix b/packages/volto/news/5948.bugfix new file mode 100644 index 0000000000..5128d9f999 --- /dev/null +++ b/packages/volto/news/5948.bugfix @@ -0,0 +1 @@ +Improve `ColorPickerWidget` typings @sneridagh diff --git a/packages/volto/src/components/manage/Widgets/ColorPickerWidget.tsx b/packages/volto/src/components/manage/Widgets/ColorPickerWidget.tsx index 9ec043f946..b8d44b1530 100644 --- a/packages/volto/src/components/manage/Widgets/ColorPickerWidget.tsx +++ b/packages/volto/src/components/manage/Widgets/ColorPickerWidget.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { Form } from 'semantic-ui-react'; import { Grid, Button } from 'semantic-ui-react'; -import { isEqual } from 'lodash'; +import { isEmpty, isEqual } from 'lodash'; import { defineMessages, useIntl } from 'react-intl'; const messages = defineMessages({ @@ -26,11 +26,11 @@ type Color = export type ColorPickerWidgetProps = { id: string; title: string; - value: string; - default: string; - required: boolean; - missing_value: unknown; - className: string; + value?: string; + default?: string | object; + required?: boolean; + missing_value?: unknown; + className?: string; onChange: (id: string, value: any) => void; colors: Color[]; }; @@ -41,7 +41,7 @@ const ColorPickerWidget = (props: ColorPickerWidgetProps) => { const intl = useIntl(); React.useEffect(() => { - if (!props.value && props.default) { + if (isEmpty(props.value) && props.default) { props.onChange(props.id, props.default); } // Yes, this is correct. From 139eb64f0e7f3b50f579e34625cd1aa21e4e03c3 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Fri, 5 Apr 2024 12:39:53 +0200 Subject: [PATCH 24/49] Release @plone/types 1.0.0-alpha.10 --- packages/types/CHANGELOG.md | 6 ++++++ packages/types/news/5948.bugfix | 1 - packages/types/package.json | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 packages/types/news/5948.bugfix diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index fa325db4b1..87e321ad0a 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -8,6 +8,12 @@ +## 1.0.0-alpha.10 (2024-04-05) + +### Bugfix + +- Split widgets type definitions into their own interfaces so they are extendable @sneridagh [#5948](https://github.com/plone/volto/issues/5948) + ## 1.0.0-alpha.9 (2024-04-03) ### Bugfix diff --git a/packages/types/news/5948.bugfix b/packages/types/news/5948.bugfix deleted file mode 100644 index 5258a303aa..0000000000 --- a/packages/types/news/5948.bugfix +++ /dev/null @@ -1 +0,0 @@ -Split widgets type definitions into their own interfaces so they are extendable @sneridagh diff --git a/packages/types/package.json b/packages/types/package.json index 1730e998ed..18f2b16400 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -9,7 +9,7 @@ ], "funding": "https://github.com/sponsors/plone", "license": "MIT", - "version": "1.0.0-alpha.9", + "version": "1.0.0-alpha.10", "repository": { "type": "git", "url": "https://github.com/plone/volto.git" From 8aa167a6d5ffb94f329dec42c0d9c96700ea27d6 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Fri, 5 Apr 2024 12:41:30 +0200 Subject: [PATCH 25/49] Release 18.0.0-alpha.27 --- docs/source/release-notes/index.md | 7 +++++++ packages/volto/CHANGELOG.md | 7 +++++++ packages/volto/news/5772.bugfix | 1 - packages/volto/news/5948.bugfix | 1 - packages/volto/package.json | 2 +- .../components/manage/Widgets/ColorPickerWidget.d.ts | 10 +++++----- 6 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 packages/volto/news/5772.bugfix delete mode 100644 packages/volto/news/5948.bugfix diff --git a/docs/source/release-notes/index.md b/docs/source/release-notes/index.md index 4965309003..4080f24d48 100644 --- a/docs/source/release-notes/index.md +++ b/docs/source/release-notes/index.md @@ -17,6 +17,13 @@ myst: +## 18.0.0-alpha.27 (2024-04-05) + +### Bugfix + +- Enhanced navigation reducer in Volto to keep items extra-data sent from the navigation endpoint @Hrittik20 [#5772](https://github.com/plone/volto/issues/5772) +- Improve `ColorPickerWidget` typings @sneridagh [#5948](https://github.com/plone/volto/issues/5948) + ## 18.0.0-alpha.26 (2024-04-03) ### Breaking diff --git a/packages/volto/CHANGELOG.md b/packages/volto/CHANGELOG.md index 4965309003..4080f24d48 100644 --- a/packages/volto/CHANGELOG.md +++ b/packages/volto/CHANGELOG.md @@ -17,6 +17,13 @@ myst: +## 18.0.0-alpha.27 (2024-04-05) + +### Bugfix + +- Enhanced navigation reducer in Volto to keep items extra-data sent from the navigation endpoint @Hrittik20 [#5772](https://github.com/plone/volto/issues/5772) +- Improve `ColorPickerWidget` typings @sneridagh [#5948](https://github.com/plone/volto/issues/5948) + ## 18.0.0-alpha.26 (2024-04-03) ### Breaking diff --git a/packages/volto/news/5772.bugfix b/packages/volto/news/5772.bugfix deleted file mode 100644 index 95f227953d..0000000000 --- a/packages/volto/news/5772.bugfix +++ /dev/null @@ -1 +0,0 @@ -Enhanced navigation reducer in Volto to keep items extra-data sent from the navigation endpoint @Hrittik20 diff --git a/packages/volto/news/5948.bugfix b/packages/volto/news/5948.bugfix deleted file mode 100644 index 5128d9f999..0000000000 --- a/packages/volto/news/5948.bugfix +++ /dev/null @@ -1 +0,0 @@ -Improve `ColorPickerWidget` typings @sneridagh diff --git a/packages/volto/package.json b/packages/volto/package.json index b3b4f4bd3d..eafd481366 100644 --- a/packages/volto/package.json +++ b/packages/volto/package.json @@ -9,7 +9,7 @@ } ], "license": "MIT", - "version": "18.0.0-alpha.26", + "version": "18.0.0-alpha.27", "repository": { "type": "git", "url": "git@github.com:plone/volto.git" diff --git a/packages/volto/types/components/manage/Widgets/ColorPickerWidget.d.ts b/packages/volto/types/components/manage/Widgets/ColorPickerWidget.d.ts index 7b7486894b..2b788544bc 100644 --- a/packages/volto/types/components/manage/Widgets/ColorPickerWidget.d.ts +++ b/packages/volto/types/components/manage/Widgets/ColorPickerWidget.d.ts @@ -10,11 +10,11 @@ type Color = { export type ColorPickerWidgetProps = { id: string; title: string; - value: string; - default: string; - required: boolean; - missing_value: unknown; - className: string; + value?: string; + default?: string | object; + required?: boolean; + missing_value?: unknown; + className?: string; onChange: (id: string, value: any) => void; colors: Color[]; }; From 131a332a4912231212298cbe0623620fa19ab33c Mon Sep 17 00:00:00 2001 From: HAPPY_KAMBOJ <95476677+kHAPPY2004@users.noreply.github.com> Date: Fri, 12 Apr 2024 12:59:59 +0530 Subject: [PATCH 26/49] Fix markup shortcuts for bold, italic and strikethough fix (#5606) --- packages/volto-slate/news/5605.bugfix | 1 + .../src/editor/plugins/Markdown/constants.js | 10 +++++----- .../src/editor/plugins/Markdown/extensions.js | 3 +-- 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 packages/volto-slate/news/5605.bugfix diff --git a/packages/volto-slate/news/5605.bugfix b/packages/volto-slate/news/5605.bugfix new file mode 100644 index 0000000000..ec1444a490 --- /dev/null +++ b/packages/volto-slate/news/5605.bugfix @@ -0,0 +1 @@ +In the Slate text block, the markup shortcuts for bold, italic and strikethrough work again. @kHAPPY2004 \ No newline at end of file diff --git a/packages/volto-slate/src/editor/plugins/Markdown/constants.js b/packages/volto-slate/src/editor/plugins/Markdown/constants.js index ad0bb47991..eafd3f9b16 100644 --- a/packages/volto-slate/src/editor/plugins/Markdown/constants.js +++ b/packages/volto-slate/src/editor/plugins/Markdown/constants.js @@ -49,31 +49,31 @@ export const autoformatRules = [ // preFormat, }, { - type: 'bold', + type: 'strong', between: ['**', '**'], mode: 'inline', insertTrigger: true, }, { - type: 'bold', + type: 'strong', between: ['__', '__'], mode: 'inline', insertTrigger: true, }, { - type: 'italic', + type: 'em', between: ['*', '*'], mode: 'inline', insertTrigger: true, }, { - type: 'italic', + type: 'em', between: ['_', '_'], mode: 'inline', insertTrigger: true, }, { - type: 'strikethrough', + type: 'del', between: ['~~', '~~'], mode: 'inline', insertTrigger: true, diff --git a/packages/volto-slate/src/editor/plugins/Markdown/extensions.js b/packages/volto-slate/src/editor/plugins/Markdown/extensions.js index e067a8ab13..7e6e576ba3 100644 --- a/packages/volto-slate/src/editor/plugins/Markdown/extensions.js +++ b/packages/volto-slate/src/editor/plugins/Markdown/extensions.js @@ -170,9 +170,8 @@ export const autoformatInline = ( // add mark to the text between the markups Transforms.select(editor, markupRange); - editor.addMark(type, true); + Transforms.wrapNodes(editor, { type, children: [] }, { split: true }); Transforms.collapse(editor, { edge: 'end' }); - editor.removeMark(type); // delete start markup const startMarkupPointBefore = getPointBefore(editor, selection, { From a863b459c118036035eb4efc3338dcf23770a2de Mon Sep 17 00:00:00 2001 From: Wesley Barroso Lopes Date: Fri, 12 Apr 2024 16:14:02 -0300 Subject: [PATCH 27/49] Fix pt_BR translation of invalid email message (#5953) --- packages/volto/locales/pt_BR/LC_MESSAGES/volto.po | 2 +- packages/volto/news/5953.bugfix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5953.bugfix diff --git a/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po b/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po index 16bbc03fa7..ad44c4e9d5 100644 --- a/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po +++ b/packages/volto/locales/pt_BR/LC_MESSAGES/volto.po @@ -4408,7 +4408,7 @@ msgstr "Rascunho" #. Default: "Input must be valid email (something@domain.com)" #: helpers/MessageLabels/MessageLabels msgid "email" -msgstr "E-mail" +msgstr "A entrada deve ser um e-mail válido (algo@dominio.com)" #. Default: "All dates" #: components/theme/EventDetails/EventDetails diff --git a/packages/volto/news/5953.bugfix b/packages/volto/news/5953.bugfix new file mode 100644 index 0000000000..8360908b85 --- /dev/null +++ b/packages/volto/news/5953.bugfix @@ -0,0 +1 @@ +Fix pt_BR translation of invalid email message. @wesleybl From 5bd9a60a9b1db4038fe0e7a093011ce4be48495e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 14 Apr 2024 15:33:48 +0200 Subject: [PATCH 28/49] Bump vite from 5.1.5 to 5.1.7 (#5946) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- apps/vite-ssr/package.json | 2 +- packages/client/package.json | 2 +- packages/components/package.json | 2 +- pnpm-lock.yaml | 72 ++++++++++++++++---------------- 4 files changed, 39 insertions(+), 39 deletions(-) diff --git a/apps/vite-ssr/package.json b/apps/vite-ssr/package.json index 6d47aa9dfd..367d317f09 100644 --- a/apps/vite-ssr/package.json +++ b/apps/vite-ssr/package.json @@ -44,7 +44,7 @@ "node-fetch": "^3.3.2", "serve-static": "^1.15.0", "typescript": "^5.3.3", - "vite": "^5.1.5", + "vite": "^5.1.7", "vite-plugin-babel": "^1.2.0" } } diff --git a/packages/client/package.json b/packages/client/package.json index 67e5265875..501345b250 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -87,7 +87,7 @@ "tsup": "^8.0.2", "typescript": "5.4.2", "uuid": "^9.0.1", - "vite": "^5.1.5", + "vite": "^5.1.7", "vite-plugin-dts": "^3.7.3", "vitest": "^1.3.1", "wait-on": "^7.2.0" diff --git a/packages/components/package.json b/packages/components/package.json index 2a1dd1fee2..ed7e9a841c 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -118,7 +118,7 @@ "stylelint-config-idiomatic-order": "10.0.0", "stylelint-prettier": "5.0.0", "typescript": "5.4.2", - "vite": "^5.1.5", + "vite": "^5.1.7", "vitest": "^1.3.1", "vitest-axe": "^0.1.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f153c71033..588326f75f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -945,7 +945,7 @@ importers: version: 18.2.19 '@vitejs/plugin-react': specifier: ^4 - version: 4.2.0(vite@5.1.5) + version: 4.2.0(vite@5.1.7) compression: specifier: ^1.7.4 version: 1.7.4 @@ -965,11 +965,11 @@ importers: specifier: ^5.3.3 version: 5.3.3 vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.9.0) + specifier: ^5.1.7 + version: 5.1.7(@types/node@20.9.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.23.9)(vite@5.1.5) + version: 1.2.0(@babel/core@7.23.9)(vite@5.1.7) packages/blocks: dependencies: @@ -1055,7 +1055,7 @@ importers: version: 9.0.7 '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.5) + version: 4.2.0(vite@5.1.7) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1084,11 +1084,11 @@ importers: specifier: ^9.0.1 version: 9.0.1 vite: - specifier: ^5.1.5 - version: 5.1.5(@types/node@20.9.0) + specifier: ^5.1.7 + version: 5.1.7(@types/node@20.9.0) vite-plugin-dts: specifier: ^3.7.3 - version: 3.7.3(typescript@5.4.2)(vite@5.1.5) + version: 3.7.3(typescript@5.4.2)(vite@5.1.7) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@21.1.2) @@ -1167,7 +1167,7 @@ importers: version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/react-vite': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.5) + version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.7) '@storybook/theming': specifier: ^8.0.4 version: 8.0.4(react-dom@18.2.0)(react@18.2.0) @@ -1194,7 +1194,7 @@ importers: version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.5) + version: 4.2.0(vite@5.1.7) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1247,8 +1247,8 @@ importers: specifier: 5.4.2 version: 5.4.2 vite: - specifier: ^5.1.5 - version: 5.1.5(lightningcss@1.24.0) + specifier: ^5.1.7 + version: 5.1.7(lightningcss@1.24.0) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@22.1.0)(lightningcss@1.24.0) @@ -5722,7 +5722,7 @@ packages: chalk: 4.1.2 dev: true - /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.5): + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.7): resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==} peerDependencies: typescript: '>= 4.3.x' @@ -5736,7 +5736,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.4.2) typescript: 5.4.2 - vite: 5.1.5(lightningcss@1.24.0) + vite: 5.1.7(lightningcss@1.24.0) dev: true /@jridgewell/gen-mapping@0.3.3: @@ -10852,7 +10852,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite@8.0.4(typescript@5.4.2)(vite@5.1.5): + /@storybook/builder-vite@8.0.4(typescript@5.4.2)(vite@5.1.7): resolution: {integrity: sha512-Whb001bGkoGQ6/byp9QTQJ4NO61Qa5bh1p5WEEMJ5wYvHm83b+B/IwwilUfU5mL9bJB/RjbwyKcSQqGP6AxMzA==} peerDependencies: '@preact/preset-vite': '*' @@ -10885,7 +10885,7 @@ packages: magic-string: 0.30.5 ts-dedent: 2.2.0 typescript: 5.4.2 - vite: 5.1.5(lightningcss@1.24.0) + vite: 5.1.7(lightningcss@1.24.0) transitivePeerDependencies: - encoding - supports-color @@ -12228,7 +12228,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.5): + /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.7): resolution: {integrity: sha512-SlAsLSDc9I1nhMbf0YgXCHaZbnjzDdv458xirmUj4aJhn45e8yhmODpkPYQ8nGn45VWYMyd0sC66lJNWRvI/FA==} engines: {node: '>=18.0.0'} peerDependencies: @@ -12236,9 +12236,9 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^4.0.0 || ^5.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.5) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.7) '@rollup/pluginutils': 5.1.0(rollup@4.8.0) - '@storybook/builder-vite': 8.0.4(typescript@5.4.2)(vite@5.1.5) + '@storybook/builder-vite': 8.0.4(typescript@5.4.2)(vite@5.1.7) '@storybook/node-logger': 8.0.4 '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) find-up: 5.0.0 @@ -12248,7 +12248,7 @@ packages: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 5.1.5(lightningcss@1.24.0) + vite: 5.1.7(lightningcss@1.24.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -15038,7 +15038,7 @@ packages: uqr: 0.1.2 dev: false - /@vitejs/plugin-react@4.2.0(vite@5.1.5): + /@vitejs/plugin-react@4.2.0(vite@5.1.7): resolution: {integrity: sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -15049,7 +15049,7 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.4 react-refresh: 0.14.0 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) transitivePeerDependencies: - supports-color dev: true @@ -39241,7 +39241,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39262,7 +39262,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39283,7 +39283,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(lightningcss@1.24.0) + vite: 5.1.7(lightningcss@1.24.0) transitivePeerDependencies: - '@types/node' - less @@ -39294,17 +39294,17 @@ packages: - supports-color - terser - /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.1.5): + /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.1.7): resolution: {integrity: sha512-ltAnq535Ubf9sDbVCkztAdkwx5aQbNrwPFs+iZTJ5FaAhTdxjqmLGpxsAaRfJWEKBJ/kFf9KwMoTdArm0IRUUw==} peerDependencies: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: '@babel/core': 7.23.9 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) dev: true - /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.1.5): + /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.1.7): resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -39320,7 +39320,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 typescript: 5.4.2 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) vue-tsc: 1.8.27(typescript@5.4.2) transitivePeerDependencies: - '@types/node' @@ -39444,8 +39444,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.5(@types/node@20.9.0): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.1.7(@types/node@20.9.0): + resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39480,8 +39480,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.5(lightningcss@1.24.0): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.1.7(lightningcss@1.24.0): + resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39592,7 +39592,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) vite-node: 0.34.6(@types/node@20.9.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39648,7 +39648,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.9.0) + vite: 5.1.7(@types/node@20.9.0) vite-node: 1.3.1 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39704,7 +39704,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(lightningcss@1.24.0) + vite: 5.1.7(lightningcss@1.24.0) vite-node: 1.3.1(lightningcss@1.24.0) why-is-node-running: 2.2.2 transitivePeerDependencies: From 72bc90981d4195c1f656671a334b41aaacf427d3 Mon Sep 17 00:00:00 2001 From: David Glick Date: Tue, 16 Apr 2024 10:05:19 -0600 Subject: [PATCH 29/49] Fix broken link to portrait (#5960) --- packages/volto/news/2927.bugfix | 1 + .../volto/src/components/manage/Toolbar/PersonalTools.jsx | 4 ++-- .../manage/Toolbar/__snapshots__/PersonalTools.test.jsx.snap | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 packages/volto/news/2927.bugfix diff --git a/packages/volto/news/2927.bugfix b/packages/volto/news/2927.bugfix new file mode 100644 index 0000000000..aa681455be --- /dev/null +++ b/packages/volto/news/2927.bugfix @@ -0,0 +1 @@ +Fix broken user portrait in personal tools menu. @davisagli diff --git a/packages/volto/src/components/manage/Toolbar/PersonalTools.jsx b/packages/volto/src/components/manage/Toolbar/PersonalTools.jsx index 6c6a67bae9..0a11e8fd6a 100644 --- a/packages/volto/src/components/manage/Toolbar/PersonalTools.jsx +++ b/packages/volto/src/components/manage/Toolbar/PersonalTools.jsx @@ -10,7 +10,7 @@ import { Icon } from '@plone/volto/components'; import { getUser } from '@plone/volto/actions'; import { Pluggable } from '@plone/volto/components/manage/Pluggable'; import { - flattenToAppURL, + expandToBackendURL, getBaseUrl, userHasRoles, } from '@plone/volto/helpers'; @@ -97,7 +97,7 @@ const PersonalTools = (props) => {
{user.portrait ? ( {intl.formatMessage(messages.userAvatar)} ) : ( diff --git a/packages/volto/src/components/manage/Toolbar/__snapshots__/PersonalTools.test.jsx.snap b/packages/volto/src/components/manage/Toolbar/__snapshots__/PersonalTools.test.jsx.snap index 9c11d88674..5e7695369b 100644 --- a/packages/volto/src/components/manage/Toolbar/__snapshots__/PersonalTools.test.jsx.snap +++ b/packages/volto/src/components/manage/Toolbar/__snapshots__/PersonalTools.test.jsx.snap @@ -423,7 +423,7 @@ exports[`Toolbar Personal Tools component renders an Toolbar Personal Tools comp > user avatar
Date: Wed, 17 Apr 2024 19:07:11 +0200 Subject: [PATCH 30/49] Fix rendering if ConditionalLink has no children (#5963) --- packages/volto/news/5963.bugfix | 1 + .../src/components/manage/ConditionalLink/ConditionalLink.jsx | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 packages/volto/news/5963.bugfix diff --git a/packages/volto/news/5963.bugfix b/packages/volto/news/5963.bugfix new file mode 100644 index 0000000000..181256ec7b --- /dev/null +++ b/packages/volto/news/5963.bugfix @@ -0,0 +1 @@ +Fixed rendering if ConditionalLink has no children @pnicolli \ No newline at end of file diff --git a/packages/volto/src/components/manage/ConditionalLink/ConditionalLink.jsx b/packages/volto/src/components/manage/ConditionalLink/ConditionalLink.jsx index 4aa5076dcf..664470f486 100644 --- a/packages/volto/src/components/manage/ConditionalLink/ConditionalLink.jsx +++ b/packages/volto/src/components/manage/ConditionalLink/ConditionalLink.jsx @@ -10,7 +10,7 @@ const ConditionalLink = ({ condition, to, item, ...props }) => { ); } else { - return props.children; + return <>{props.children}; } }; From 4b056a8fe55cf0e20408703911a65b6c0f616920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Katja=20S=C3=BCss?= Date: Thu, 18 Apr 2024 12:45:40 +0200 Subject: [PATCH 31/49] Fix flaky test 'As editor I can add links' by using getSlateEditorAndType (#5966) --- .../tests/core/volto-slate/06-block-slate-format-link.js | 3 +-- packages/volto/news/5965.bugfix | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 packages/volto/news/5965.bugfix diff --git a/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js b/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js index 08866b263b..b34867f541 100644 --- a/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js +++ b/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js @@ -4,8 +4,7 @@ describe('Block Tests: Links', () => { beforeEach(slateBeforeEach); it('As editor I can add links', function () { - cy.get('#toolbar').click(); - cy.getSlate().type('Colorless green ideas sleep furiously.'); + cy.getSlateEditorAndType('Colorless green ideas sleep furiously.'); cy.log('Create a Link'); diff --git a/packages/volto/news/5965.bugfix b/packages/volto/news/5965.bugfix new file mode 100644 index 0000000000..1f9cba9bf5 --- /dev/null +++ b/packages/volto/news/5965.bugfix @@ -0,0 +1 @@ +Fix flaky test 'As editor I can add links' by using getSlateEditorAndType. @ksuess \ No newline at end of file From 1596de2ca1cd2d121b1691048ffbd1b38de95191 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Thu, 18 Apr 2024 13:06:05 -0600 Subject: [PATCH 32/49] [client] Move provider to own package - Use parcel - `@plone/providers` (#5887) --- .github/workflows/changelog.yml | 10 + .github/workflows/deployment_tests.yml | 22 +- .github/workflows/readme-link-check.yml | 2 +- .pnpmfilecjs | 14 + .prettierignore | 2 +- PACKAGES.md | 1 - apps/nextjs/package.json | 3 + apps/nextjs/src/app/Providers.tsx | 2 +- apps/nextjs/src/app/content.tsx | 2 +- apps/remix/app/root.tsx | 2 +- apps/remix/app/routes/_index.tsx | 2 +- apps/remix/package.json | 3 +- apps/vite-ssr/package.json | 17 +- apps/vite-ssr/src/routeTree.gen.ts | 34 +- apps/vite-ssr/src/router.tsx | 2 +- apps/vite-ssr/src/routes/$.tsx | 2 +- apps/vite-ssr/src/routes/__root.tsx | 1 + apps/vite-ssr/src/routes/index.tsx | 2 +- package.json | 5 +- packages/client/.parcelrc | 9 + packages/client/news/5887.breaking | 1 + packages/client/package.json | 22 +- packages/client/src/index.ts | 4 +- packages/client/tsup.config.ts | 16 - packages/client/vite.config.ts | 5 +- packages/components/.parcelrc | 10 - packages/components/news/5887.internal | 1 + packages/components/package.json | 1 - .../parcel-optimizer-react-client/README.md | 4 - .../ReactClientOptimizer.js | 19 - .../package.json | 13 - packages/providers/.gitignore | 2 + packages/providers/.npmignore | 8 + packages/providers/.parcelrc | 9 + packages/providers/.release-it.json | 28 + packages/providers/CHANGELOG.md | 9 + packages/providers/README.md | 3 + packages/providers/news/.gitkeep | 0 packages/providers/news/5887.feature | 1 + packages/providers/package.json | 82 + .../src/PloneClient.tsx} | 11 +- packages/providers/src/RouterLocation.tsx | 52 + packages/providers/src/index.ts | 6 + packages/providers/src/utils.ts | 13 + packages/providers/towncrier.toml | 33 + packages/providers/tsconfig.json | 13 + packages/registry/.npmignore | 3 +- packages/registry/news/5887.bugfix | 1 + packages/registry/src/addon-registry.js | 1 + packages/slots/README.md | 3 + packages/slots/package.json | 71 + packages/slots/src/SlotRenderer.tsx | 61 + packages/slots/src/index.ts | 1 + packages/slots/tsconfig.json | 13 + pnpm-lock.yaml | 2509 +++++++++++------ 55 files changed, 2218 insertions(+), 948 deletions(-) create mode 100644 .pnpmfilecjs create mode 100644 packages/client/.parcelrc create mode 100644 packages/client/news/5887.breaking delete mode 100644 packages/client/tsup.config.ts create mode 100644 packages/components/news/5887.internal delete mode 100644 packages/parcel-optimizer-react-client/README.md delete mode 100644 packages/parcel-optimizer-react-client/ReactClientOptimizer.js delete mode 100644 packages/parcel-optimizer-react-client/package.json create mode 100644 packages/providers/.gitignore create mode 100644 packages/providers/.npmignore create mode 100644 packages/providers/.parcelrc create mode 100644 packages/providers/.release-it.json create mode 100644 packages/providers/CHANGELOG.md create mode 100644 packages/providers/README.md create mode 100644 packages/providers/news/.gitkeep create mode 100644 packages/providers/news/5887.feature create mode 100644 packages/providers/package.json rename packages/{client/src/provider.tsx => providers/src/PloneClient.tsx} (73%) create mode 100644 packages/providers/src/RouterLocation.tsx create mode 100644 packages/providers/src/index.ts create mode 100644 packages/providers/src/utils.ts create mode 100644 packages/providers/towncrier.toml create mode 100644 packages/providers/tsconfig.json create mode 100644 packages/registry/news/5887.bugfix create mode 100644 packages/slots/README.md create mode 100644 packages/slots/package.json create mode 100644 packages/slots/src/SlotRenderer.tsx create mode 100644 packages/slots/src/index.ts create mode 100644 packages/slots/tsconfig.json diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 04b8739752..d92a52ffbc 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -34,6 +34,8 @@ jobs: - 'packages/components/**' types: - 'packages/types/**' + providers: + - 'packages/providers/**' generator: - 'packages/generator-volto/**' scripts: @@ -86,6 +88,14 @@ jobs: env: BASE_BRANCH: ${{ github.base_ref }} + - name: Providers changelog check + if: steps.filter.outputs.types == 'true' + run: | + git fetch --no-tags origin main + towncrier check --compare-with origin/main --dir packages/providers + env: + BASE_BRANCH: ${{ github.base_ref }} + - name: Generator changelog check if: steps.filter.outputs.generator == 'true' run: | diff --git a/.github/workflows/deployment_tests.yml b/.github/workflows/deployment_tests.yml index 7324662881..7301e21c1e 100644 --- a/.github/workflows/deployment_tests.yml +++ b/.github/workflows/deployment_tests.yml @@ -1,5 +1,9 @@ name: Deployment Tests on: [push, pull_request] + +env: + node-version: 20.x + jobs: vitessr: if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name @@ -12,10 +16,10 @@ jobs: - uses: actions/checkout@v4 # node setup - - name: Use Node.js 20.x + - name: Use Node.js ${{ env.node-version }} uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: ${{ env.node-version }} - uses: pnpm/action-setup@v3 name: Install pnpm @@ -42,7 +46,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Build packages - run: pnpm build:deps && pnpm build:components + run: pnpm build:all - name: Start backend run: make start-backend-docker-detached @@ -79,10 +83,10 @@ jobs: - uses: actions/checkout@v4 # node setup - - name: Use Node.js 20.x + - name: Use Node.js ${{ env.node-version }} uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: ${{ env.node-version }} - uses: pnpm/action-setup@v3 name: Install pnpm @@ -109,7 +113,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Build packages - run: pnpm build:deps && pnpm build:components + run: pnpm build:all - name: Start backend run: make start-backend-docker-detached @@ -146,10 +150,10 @@ jobs: - uses: actions/checkout@v4 # node setup - - name: Use Node.js 20.x + - name: Use Node.js ${{ env.node-version }} uses: actions/setup-node@v4 with: - node-version: 20.x + node-version: ${{ env.node-version }} - uses: pnpm/action-setup@v3 name: Install pnpm @@ -176,7 +180,7 @@ jobs: run: pnpm install --frozen-lockfile - name: Build packages - run: pnpm build:deps && pnpm build:components + run: pnpm build:all - name: Start backend run: make start-backend-docker-detached diff --git a/.github/workflows/readme-link-check.yml b/.github/workflows/readme-link-check.yml index 41b0b13f34..7f53b65824 100644 --- a/.github/workflows/readme-link-check.yml +++ b/.github/workflows/readme-link-check.yml @@ -20,4 +20,4 @@ jobs: - name: Check links in README.md with awesome_bot run: | gem install awesome_bot - awesome_bot --request-delay 1 --allow-dupe --white-list http://localhost:8080/Plone,http://localhost:3000,https://github.com/kitconcept/volto-blocks-grid.git,https://my-server-DNS-name.tld/api --files PACKAGES.md,README.md,packages/blocks/README.md,packages/client/README.md,packages/components/README.md,packages/generator-volto/README.md,packages/parcel-optimizer-react-client/README.md,packages/registry/README.md,packages/scripts/README.md,packages/tsconfig/README.md,packages/types/README.md,packages/volto-slate/README.md,apps/nextjs/README.md,apps/remix/README.md,apps/vite-ssr/README.md + awesome_bot --request-delay 1 --allow-dupe --white-list http://localhost:8080/Plone,http://localhost:3000,https://github.com/kitconcept/volto-blocks-grid.git,https://my-server-DNS-name.tld/api --files PACKAGES.md,README.md,packages/blocks/README.md,packages/client/README.md,packages/components/README.md,packages/generator-volto/README.md,packages/registry/README.md,packages/scripts/README.md,packages/tsconfig/README.md,packages/types/README.md,packages/volto-slate/README.md,apps/nextjs/README.md,apps/remix/README.md,apps/vite-ssr/README.md diff --git a/.pnpmfilecjs b/.pnpmfilecjs new file mode 100644 index 0000000000..f79d5e655b --- /dev/null +++ b/.pnpmfilecjs @@ -0,0 +1,14 @@ +function readPackage(pkg, context) { + if (pkg.peerDependencies['@plone/volto']) { + context.log(`${pkg.name}: Deleting peerDep on @plone/volto`); + delete pkg.peerDependencies['@plone/volto']; + } + + return pkg; +} + +module.exports = { + hooks: { + readPackage, + }, +}; diff --git a/.prettierignore b/.prettierignore index 75e827079f..9949784cc0 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,4 +6,4 @@ styles/rules/* node_modules packages/volto/types/* storybook-static -app/vite-ssr/src/routeTree.gen.ts +apps/vite-ssr/src/routeTree.gen.ts diff --git a/PACKAGES.md b/PACKAGES.md index 4baa88756f..12193c73fe 100644 --- a/PACKAGES.md +++ b/PACKAGES.md @@ -60,7 +60,6 @@ Some of them are released: Some of them are used by the build, and separated in packages for convenience. - `tsconfig` -- `parcel-optimizer-react-client` ## Volto add-ons packages diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 6e29f5f31e..574d19ec31 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -10,8 +10,11 @@ "lint": "next lint" }, "dependencies": { + "@plone/blocks": "workspace: *", "@plone/client": "workspace: *", "@plone/components": "workspace: *", + "@plone/registry": "workspace: *", + "@plone/providers": "workspace: *", "@tanstack/react-query": "^5.24.6", "@tanstack/react-query-devtools": "^5.24.6", "next": "14.1.1", diff --git a/apps/nextjs/src/app/Providers.tsx b/apps/nextjs/src/app/Providers.tsx index 324bce7a2f..27b47036f6 100644 --- a/apps/nextjs/src/app/Providers.tsx +++ b/apps/nextjs/src/app/Providers.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { useRouter } from 'next/navigation'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { PloneClientProvider } from '@plone/client/provider'; +import { PloneClientProvider } from '@plone/providers'; import PloneClient from '@plone/client'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { RouterProvider } from 'react-aria-components'; diff --git a/apps/nextjs/src/app/content.tsx b/apps/nextjs/src/app/content.tsx index c2c6ad2235..92e757e7da 100644 --- a/apps/nextjs/src/app/content.tsx +++ b/apps/nextjs/src/app/content.tsx @@ -4,7 +4,7 @@ import { useQuery } from '@tanstack/react-query'; import { usePathname } from 'next/navigation'; import Link from 'next/link'; import { flattenToAppURL } from './utils'; -import { usePloneClient } from '@plone/client/provider'; +import { usePloneClient } from '@plone/providers'; import { Breadcrumbs } from '@plone/components'; import '@plone/components/dist/basic.css'; diff --git a/apps/remix/app/root.tsx b/apps/remix/app/root.tsx index 3a893ab269..f76fa2596c 100644 --- a/apps/remix/app/root.tsx +++ b/apps/remix/app/root.tsx @@ -10,7 +10,7 @@ import { } from '@remix-run/react'; import { useState } from 'react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { PloneClientProvider } from '@plone/client/provider'; +import { PloneClientProvider } from '@plone/providers'; import PloneClient from '@plone/client'; import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; diff --git a/apps/remix/app/routes/_index.tsx b/apps/remix/app/routes/_index.tsx index f7784f545f..9e5ce378fb 100644 --- a/apps/remix/app/routes/_index.tsx +++ b/apps/remix/app/routes/_index.tsx @@ -12,7 +12,7 @@ import { import ploneClient from '@plone/client'; import { flattenToAppURL } from '../utils'; import { useLoaderData, useLocation } from '@remix-run/react'; -import { usePloneClient } from '@plone/client/provider'; +import { usePloneClient } from '@plone/providers'; export const meta: MetaFunction = () => { return [ diff --git a/apps/remix/package.json b/apps/remix/package.json index 2da2695bce..999f5a21af 100644 --- a/apps/remix/package.json +++ b/apps/remix/package.json @@ -12,6 +12,7 @@ }, "dependencies": { "@plone/client": "workspace: *", + "@plone/providers": "workspace: *", "@remix-run/css-bundle": "^2.4.0", "@remix-run/node": "^2.4.0", "@remix-run/react": "^2.4.0", @@ -33,7 +34,7 @@ "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", - "typescript": "^5.2.2" + "typescript": "^5.4.2" }, "engines": { "node": ">=18.0.0" diff --git a/apps/vite-ssr/package.json b/apps/vite-ssr/package.json index 367d317f09..65891cd390 100644 --- a/apps/vite-ssr/package.json +++ b/apps/vite-ssr/package.json @@ -14,13 +14,14 @@ "dependencies": { "@plone/client": "workspace:*", "@plone/components": "workspace:*", + "@plone/providers": "workspace:*", "@plone/registry": "workspace:*", "@plone/blocks": "workspace:*", - "@tanstack/react-query": "5.24.1", - "@tanstack/react-router": "^1.16.0", - "@tanstack/react-router-server": "^1.16.0", - "@tanstack/router-devtools": "^1.16.0", - "@tanstack/router-vite-plugin": "^1.16.1", + "@tanstack/react-query": "^5.29.2", + "@tanstack/react-router": "^1.28.2", + "@tanstack/react-router-server": "^1.28.2", + "@tanstack/router-devtools": "^1.28.2", + "@tanstack/router-vite-plugin": "^1.28.2", "axios": "^1.6.5", "get-port": "^7.0.0", "react": "^18.2.0", @@ -33,7 +34,7 @@ "@babel/generator": "^7.23.6", "@plone/types": "workspace:*", "@rollup/plugin-babel": "^6.0.4", - "@tanstack/react-query-devtools": "^5.24.1", + "@tanstack/react-query-devtools": "^5.29.2", "@types/express": "^4.17.21", "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", @@ -43,8 +44,8 @@ "isbot": "^4.3.0", "node-fetch": "^3.3.2", "serve-static": "^1.15.0", - "typescript": "^5.3.3", - "vite": "^5.1.7", + "typescript": "^5.4.2", + "vite": "^5.2.9", "vite-plugin-babel": "^1.2.0" } } diff --git a/apps/vite-ssr/src/routeTree.gen.ts b/apps/vite-ssr/src/routeTree.gen.ts index 8106e66cba..81ad7b6840 100644 --- a/apps/vite-ssr/src/routeTree.gen.ts +++ b/apps/vite-ssr/src/routeTree.gen.ts @@ -10,44 +10,44 @@ // Import Routes -import { Route as rootRoute } from './routes/__root'; -import { Route as ErrorImport } from './routes/error'; -import { Route as SplatImport } from './routes/$'; -import { Route as IndexImport } from './routes/index'; +import { Route as rootRoute } from './routes/__root' +import { Route as ErrorImport } from './routes/error' +import { Route as SplatImport } from './routes/$' +import { Route as IndexImport } from './routes/index' // Create/Update Routes const ErrorRoute = ErrorImport.update({ path: '/error', getParentRoute: () => rootRoute, -} as any); +} as any) const SplatRoute = SplatImport.update({ path: '/$', getParentRoute: () => rootRoute, -} as any); +} as any) const IndexRoute = IndexImport.update({ path: '/', getParentRoute: () => rootRoute, -} as any); +} as any) // Populate the FileRoutesByPath interface declare module '@tanstack/react-router' { interface FileRoutesByPath { '/': { - preLoaderRoute: typeof IndexImport; - parentRoute: typeof rootRoute; - }; + preLoaderRoute: typeof IndexImport + parentRoute: typeof rootRoute + } '/$': { - preLoaderRoute: typeof SplatImport; - parentRoute: typeof rootRoute; - }; + preLoaderRoute: typeof SplatImport + parentRoute: typeof rootRoute + } '/error': { - preLoaderRoute: typeof ErrorImport; - parentRoute: typeof rootRoute; - }; + preLoaderRoute: typeof ErrorImport + parentRoute: typeof rootRoute + } } } @@ -57,6 +57,6 @@ export const routeTree = rootRoute.addChildren([ IndexRoute, SplatRoute, ErrorRoute, -]); +]) /* prettier-ignore-end */ diff --git a/apps/vite-ssr/src/router.tsx b/apps/vite-ssr/src/router.tsx index 62d9a2ac4d..7a3a80f339 100644 --- a/apps/vite-ssr/src/router.tsx +++ b/apps/vite-ssr/src/router.tsx @@ -8,7 +8,7 @@ import PloneClient from '@plone/client'; import { createRouter as createReactRouter } from '@tanstack/react-router'; import { routeTree } from './routeTree.gen'; -import { PloneClientProvider } from '@plone/client/provider'; +import { PloneClientProvider } from '@plone/providers'; import { FlattenToAppURLProvider } from '@plone/components'; import { flattenToAppURL } from './utils'; diff --git a/apps/vite-ssr/src/routes/$.tsx b/apps/vite-ssr/src/routes/$.tsx index d9400c3809..5429b22429 100644 --- a/apps/vite-ssr/src/routes/$.tsx +++ b/apps/vite-ssr/src/routes/$.tsx @@ -2,7 +2,7 @@ import { createFileRoute } from '@tanstack/react-router'; import * as React from 'react'; import { flattenToAppURL } from '../utils'; import { useSuspenseQuery } from '@tanstack/react-query'; -import { usePloneClient } from '@plone/client/provider'; +import { usePloneClient } from '@plone/providers'; import { Breadcrumbs } from '@plone/components'; const expand = ['breadcrumbs', 'navigation']; diff --git a/apps/vite-ssr/src/routes/__root.tsx b/apps/vite-ssr/src/routes/__root.tsx index f9438828bf..ef78a13d81 100644 --- a/apps/vite-ssr/src/routes/__root.tsx +++ b/apps/vite-ssr/src/routes/__root.tsx @@ -4,6 +4,7 @@ import { Outlet, createRootRouteWithContext, useRouter, + useRouterState, } from '@tanstack/react-router'; import { DehydrateRouter } from '@tanstack/react-router-server/client'; import { RouterContext } from '../routerContext'; diff --git a/apps/vite-ssr/src/routes/index.tsx b/apps/vite-ssr/src/routes/index.tsx index ad49da7f07..3dd7186a39 100644 --- a/apps/vite-ssr/src/routes/index.tsx +++ b/apps/vite-ssr/src/routes/index.tsx @@ -2,7 +2,7 @@ import { createFileRoute } from '@tanstack/react-router'; import * as React from 'react'; import { flattenToAppURL } from '../utils'; import { useSuspenseQuery } from '@tanstack/react-query'; -import { usePloneClient } from '@plone/client/provider'; +import { usePloneClient } from '@plone/providers'; import { Breadcrumbs, RenderBlocks } from '@plone/components'; import config from '@plone/registry'; diff --git a/package.json b/package.json index 6c45586a2f..4a6e20863d 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,14 @@ "preinstall": "npx only-allow pnpm", "postinstall": "make setup", "watch": "pnpm --filter @plone/registry watch", - "build:deps": "pnpm --filter @plone/registry --filter @plone/client build", + "build:deps": "pnpm --parallel --filter @plone/registry build", + "build:all": "pnpm --parallel --filter @plone/registry --filter @plone/client --filter @plone/components --filter @plone/providers build", "build:registry": "pnpm --filter @plone/registry run build", "build:components": "pnpm --filter @plone/components run build", "build": "pnpm --filter @plone/volto build", "start": "pnpm build:deps && pnpm --filter @plone/volto start", "start:project": "pnpm --filter plone run start", - "lint": "pnpm build:deps && eslint --max-warnings=0 '{apps,packages}/**/*.{js,jsx,ts,tsx}'", + "lint": "pnpm build:all && eslint --max-warnings=0 '{apps,packages}/**/*.{js,jsx,ts,tsx}'", "lint:volto": "pnpm --filter @plone/volto run lint", "test": "pnpm --filter @plone/volto run test:ci", "i18n": "pnpm --filter @plone/volto run i18n", diff --git a/packages/client/.parcelrc b/packages/client/.parcelrc new file mode 100644 index 0000000000..db2d15099d --- /dev/null +++ b/packages/client/.parcelrc @@ -0,0 +1,9 @@ +{ + "extends": "@parcel/config-default", + "transformers": { + "*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [ + "@parcel/transformer-js", + "@parcel/transformer-react-refresh-wrap" + ] + } +} diff --git a/packages/client/news/5887.breaking b/packages/client/news/5887.breaking new file mode 100644 index 0000000000..b6caf3efee --- /dev/null +++ b/packages/client/news/5887.breaking @@ -0,0 +1 @@ +Provider has been moved to `@plone/providers` @sneridagh diff --git a/packages/client/package.json b/packages/client/package.json index 501345b250..7d00ae62c3 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -22,6 +22,7 @@ "src", "README.md" ], + "source": "./src/index.ts", "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", @@ -31,18 +32,8 @@ "import": "./dist/index.js", "require": "./dist/index.cjs" }, - "./provider": { - "import": "./dist/provider.js" - }, "./src/*": "./src/*" }, - "typesVersions": { - "*": { - "provider": [ - "dist/provider.d.ts" - ] - } - }, "homepage": "https://plone.org", "keywords": [ "volto", @@ -55,8 +46,7 @@ "react-query" ], "scripts": { - "vbuild": "vite build", - "build": "tsup", + "build": "parcel build --no-cache", "test": "node testRunner.js", "vitest": "vitest", "check-ts": "tsc --project tsconfig.json", @@ -70,6 +60,13 @@ "access": "public" }, "devDependencies": { + "@parcel/config-default": "^2.12.0", + "@parcel/core": "^2.12.0", + "@parcel/packager-ts": "^2.12.0", + "@parcel/transformer-js": "^2.12.0", + "@parcel/transformer-react-refresh-wrap": "^2.12.0", + "@parcel/transformer-typescript-types": "^2.12.0", + "@parcel/optimizer-terser": "2.12.0", "@plone/types": "workspace: *", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "13.4.0", @@ -81,6 +78,7 @@ "@vitest/coverage-v8": "^1.3.1", "glob": "7.1.6", "jsdom": "^21.1.1", + "parcel": "^2.12.0", "react": "^18.2.0", "react-dom": "^18.2.0", "release-it": "17.1.1", diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index d737d9f7ab..827f3c63f6 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -1,3 +1,3 @@ -import ploneClient from './client'; +import PloneClient from './client'; -export default ploneClient; +export default PloneClient; diff --git a/packages/client/tsup.config.ts b/packages/client/tsup.config.ts deleted file mode 100644 index 312fb79b53..0000000000 --- a/packages/client/tsup.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { Options } from 'tsup'; - -const config: Options = { - entry: ['src/index.ts', 'src/provider.tsx'], - dts: true, - clean: true, - minify: true, - bundle: true, - sourcemap: true, - format: ['cjs', 'esm'], - target: 'es2020', - skipNodeModulesBundle: true, - tsconfig: './tsconfig.json', -}; - -export default config; diff --git a/packages/client/vite.config.ts b/packages/client/vite.config.ts index 9c0f8405d4..0b2de0eeb1 100644 --- a/packages/client/vite.config.ts +++ b/packages/client/vite.config.ts @@ -8,10 +8,7 @@ export default defineConfig({ plugins: [dts({ rollupTypes: true }), react()], build: { lib: { - entry: [ - path.resolve(__dirname, 'src/index.ts'), - path.resolve(__dirname, 'src/provider.tsx'), - ], + entry: [path.resolve(__dirname, 'src/index.ts')], name: 'PloneRESTAPIClient', }, rollupOptions: { diff --git a/packages/components/.parcelrc b/packages/components/.parcelrc index 1cfea5d36a..db2d15099d 100644 --- a/packages/components/.parcelrc +++ b/packages/components/.parcelrc @@ -5,15 +5,5 @@ "@parcel/transformer-js", "@parcel/transformer-react-refresh-wrap" ] - }, - "optimizers": { - "index.js": [ - "...", - "parcel-optimizer-react-client" - ], - "index.cjs": [ - "...", - "parcel-optimizer-react-client" - ] } } diff --git a/packages/components/news/5887.internal b/packages/components/news/5887.internal new file mode 100644 index 0000000000..f1cd003cec --- /dev/null +++ b/packages/components/news/5887.internal @@ -0,0 +1 @@ +Remove `parcel-optimizer-react-client` plugin @sneridagh diff --git a/packages/components/package.json b/packages/components/package.json index ed7e9a841c..52c5dcb313 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -110,7 +110,6 @@ "lightningcss": "^1.24.0", "lightningcss-cli": "^1.24.0", "parcel": "^2.12.0", - "parcel-optimizer-react-client": "workspace:^", "prettier": "3.2.5", "release-it": "17.1.1", "storybook": "^8.0.4", diff --git a/packages/parcel-optimizer-react-client/README.md b/packages/parcel-optimizer-react-client/README.md deleted file mode 100644 index dd4d504bfb..0000000000 --- a/packages/parcel-optimizer-react-client/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# `parcel-optimizer-react-client` - -This package is a `parcel` plugin that prepends `use client` to any bundled file. -This is useful to mark a separation of concerns in frameworks that support React Server Components, like Next.js. diff --git a/packages/parcel-optimizer-react-client/ReactClientOptimizer.js b/packages/parcel-optimizer-react-client/ReactClientOptimizer.js deleted file mode 100644 index 41c48cf1c4..0000000000 --- a/packages/parcel-optimizer-react-client/ReactClientOptimizer.js +++ /dev/null @@ -1,19 +0,0 @@ -/** This Parcel plugin adds the inglorious "use client" in the built bundle */ -const { Optimizer } = require('@parcel/plugin'); -const { blobToString } = require('@parcel/utils'); - -module.exports = new Optimizer({ - async optimize({ bundle, contents, map }) { - if (!/components/.test(bundle.target.distDir)) { - return { contents, map }; - } - - map?.offsetLines(2, 0); - return { - contents: `"use client"; - -${await blobToString(contents)}`, - map, - }; - }, -}); diff --git a/packages/parcel-optimizer-react-client/package.json b/packages/parcel-optimizer-react-client/package.json deleted file mode 100644 index a9533e7207..0000000000 --- a/packages/parcel-optimizer-react-client/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "parcel-optimizer-react-client", - "version": "1.0.0", - "private": true, - "main": "ReactClientOptimizer.js", - "engines": { - "parcel": "^2.12.0" - }, - "dependencies": { - "@parcel/plugin": "^2.12.0", - "@parcel/utils": "^2.12.0" - } -} diff --git a/packages/providers/.gitignore b/packages/providers/.gitignore new file mode 100644 index 0000000000..b947077876 --- /dev/null +++ b/packages/providers/.gitignore @@ -0,0 +1,2 @@ +node_modules/ +dist/ diff --git a/packages/providers/.npmignore b/packages/providers/.npmignore new file mode 100644 index 0000000000..0d8afd5727 --- /dev/null +++ b/packages/providers/.npmignore @@ -0,0 +1,8 @@ +news +towncrier.toml +.changelog.draft +node_modules/ +.parcel-cache +.parcelrc +.release-it.json +.eslintrc.js diff --git a/packages/providers/.parcelrc b/packages/providers/.parcelrc new file mode 100644 index 0000000000..db2d15099d --- /dev/null +++ b/packages/providers/.parcelrc @@ -0,0 +1,9 @@ +{ + "extends": "@parcel/config-default", + "transformers": { + "*.{js,mjs,jsm,jsx,es6,cjs,ts,tsx}": [ + "@parcel/transformer-js", + "@parcel/transformer-react-refresh-wrap" + ] + } +} diff --git a/packages/providers/.release-it.json b/packages/providers/.release-it.json new file mode 100644 index 0000000000..8ebda6fb9d --- /dev/null +++ b/packages/providers/.release-it.json @@ -0,0 +1,28 @@ +{ + "plugins": { + "../scripts/prepublish.js": {} + }, + "hooks": { + "after:bump": [ + "pipx run towncrier build --draft --yes --version ${version} > .changelog.draft && pipx run towncrier build --yes --version ${version}", + "pnpm build" + ], + "after:release": "rm .changelog.draft" + }, + "npm": { + "publish": false + }, + "git": { + "changelog": "pipx run towncrier build --draft --yes --version 0.0.0", + "requireUpstream": false, + "requireCleanWorkingDir": false, + "commitMessage": "Release @plone/providers ${version}", + "tagName": "plone-components-${version}", + "tagAnnotation": "Release @plone/providers ${version}" + }, + "github": { + "release": true, + "releaseName": "@plone/providers ${version}", + "releaseNotes": "cat .changelog.draft" + } +} diff --git a/packages/providers/CHANGELOG.md b/packages/providers/CHANGELOG.md new file mode 100644 index 0000000000..f00c49f35a --- /dev/null +++ b/packages/providers/CHANGELOG.md @@ -0,0 +1,9 @@ +# @plone/providers Release Notes + + + + diff --git a/packages/providers/README.md b/packages/providers/README.md new file mode 100644 index 0000000000..05502673e0 --- /dev/null +++ b/packages/providers/README.md @@ -0,0 +1,3 @@ +# `@plone/providers` + +This package contains utility providers for Plone React components. diff --git a/packages/providers/news/.gitkeep b/packages/providers/news/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/providers/news/5887.feature b/packages/providers/news/5887.feature new file mode 100644 index 0000000000..4146a7bce2 --- /dev/null +++ b/packages/providers/news/5887.feature @@ -0,0 +1 @@ +Initial implementation @sneridagh diff --git a/packages/providers/package.json b/packages/providers/package.json new file mode 100644 index 0000000000..2bf05210f3 --- /dev/null +++ b/packages/providers/package.json @@ -0,0 +1,82 @@ +{ + "name": "@plone/providers", + "description": "Plone core providers", + "maintainers": [ + { + "name": "Plone Foundation", + "url": "https://plone.org" + } + ], + "funding": "https://github.com/sponsors/plone", + "license": "MIT", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "https://github.com/plone/volto.git" + }, + "bugs": { + "url": "https://github.com/plone/volto/issues" + }, + "homepage": "https://plone.org", + "keywords": [ + "volto", + "plone", + "plone6", + "react", + "helpers" + ], + "publishConfig": { + "access": "public" + }, + "source": "./src/index.ts", + "main": "./dist/main.js", + "module": "./dist/module.mjs", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/module.mjs", + "require": "./dist/main.js" + }, + "./src/*": "./src/*" + }, + "scripts": { + "watch": "parcel watch", + "build": "parcel build --no-cache", + "test": "vitest", + "dry-release": "release-it --dry-run", + "release": "release-it", + "release-major-alpha": "release-it major --preRelease=alpha", + "release-alpha": "release-it --preRelease=alpha" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + }, + "dependencies": { + "@plone/client": "workspace:*", + "@plone/components": "workspace:*", + "@plone/registry": "workspace:*" + }, + "devDependencies": { + "@parcel/config-default": "^2.12.0", + "@parcel/core": "^2.12.0", + "@parcel/packager-ts": "^2.12.0", + "@parcel/transformer-js": "^2.12.0", + "@parcel/transformer-react-refresh-wrap": "^2.12.0", + "@parcel/transformer-typescript-types": "^2.12.0", + "@plone/types": "workspace:*", + "@types/react": "^18", + "@types/react-dom": "^18", + "parcel": "^2.12.0", + "release-it": "17.1.1", + "tsconfig": "workspace:*", + "typescript": "5.2.2", + "vitest": "^1.3.1" + } +} diff --git a/packages/client/src/provider.tsx b/packages/providers/src/PloneClient.tsx similarity index 73% rename from packages/client/src/provider.tsx rename to packages/providers/src/PloneClient.tsx index 55b9f2c546..621f797746 100644 --- a/packages/client/src/provider.tsx +++ b/packages/providers/src/PloneClient.tsx @@ -1,11 +1,10 @@ -'use client'; import * as React from 'react'; -import PloneClient from './client'; +import PloneClient from '@plone/client'; -export const PloneClientContext = React.createContext( - undefined, -); +export const PloneClientContext = React.createContext< + InstanceType | undefined +>(undefined); export const usePloneClient = () => { const client = React.useContext(PloneClientContext); @@ -18,7 +17,7 @@ export const usePloneClient = () => { }; export type PloneClientProviderProps = { - client: PloneClient; + client: InstanceType; children?: React.ReactNode; }; diff --git a/packages/providers/src/RouterLocation.tsx b/packages/providers/src/RouterLocation.tsx new file mode 100644 index 0000000000..39806baea1 --- /dev/null +++ b/packages/providers/src/RouterLocation.tsx @@ -0,0 +1,52 @@ +import React from 'react'; +import { createContext, ReactNode, useContext, useMemo } from 'react'; + +export type AnySearchSchema = {}; +export interface Location { + href: string; + pathname: string; + search: TSearchObj; + searchStr: string; + hash: string; +} + +interface RouterLocation { + useLocation: () => Location | undefined; +} + +const RouterLocationContext = createContext({ + useLocation: () => ({ + href: '', + pathname: '', + search: {}, + searchStr: '', + hash: '', + }), +}); + +interface RouterLocationProps { + useLocation: () => Location | undefined; + children: ReactNode; +} + +export function RouterLocationProvider(props: RouterLocationProps) { + let { children, useLocation } = props; + + let ctx = useMemo( + () => ({ + useLocation, + }), + [useLocation], + ); + + return ( + + {children} + + ); +} + +export function useRouterLocation() { + const { useLocation } = useContext(RouterLocationContext); + return useLocation(); +} diff --git a/packages/providers/src/index.ts b/packages/providers/src/index.ts new file mode 100644 index 0000000000..37d404ef95 --- /dev/null +++ b/packages/providers/src/index.ts @@ -0,0 +1,6 @@ +export * from './RouterLocation'; +export * from './PloneClient'; +// FlattenToAppURL provider should live on the components +// but @plone/components can't depend on other packages +// we are proxying it here for convenience and centralization +export { FlattenToAppURLProvider, useFlattenToAppURL } from '@plone/components'; diff --git a/packages/providers/src/utils.ts b/packages/providers/src/utils.ts new file mode 100644 index 0000000000..17bd56168f --- /dev/null +++ b/packages/providers/src/utils.ts @@ -0,0 +1,13 @@ +import config from '@plone/registry'; + +/** + * Flatten to app server URL - Given a URL if it starts with the API server URL + * this method flattens it (removes) the server part + * TODO: Update it when implementing non-root based app location (on a + * directory other than /, eg. /myapp) + * @method flattenToAppURL + */ +export function flattenToAppURL(url: string | undefined) { + const { settings } = config; + return (url && url.replace(settings.apiPath, '')) || '/'; +} diff --git a/packages/providers/towncrier.toml b/packages/providers/towncrier.toml new file mode 100644 index 0000000000..3ef721f378 --- /dev/null +++ b/packages/providers/towncrier.toml @@ -0,0 +1,33 @@ +[tool.towncrier] +filename = "CHANGELOG.md" +directory = "news/" +title_format = "## {version} ({project_date})" +underlines = ["", "", ""] +template = "../scripts/templates/towncrier_template.jinja" +start_string = "\n" +issue_format = "[#{issue}](https://github.com/plone/volto/issues/{issue})" + +[[tool.towncrier.type]] +directory = "breaking" +name = "Breaking" +showcontent = true + +[[tool.towncrier.type]] +directory = "feature" +name = "Feature" +showcontent = true + +[[tool.towncrier.type]] +directory = "bugfix" +name = "Bugfix" +showcontent = true + +[[tool.towncrier.type]] +directory = "internal" +name = "Internal" +showcontent = true + +[[tool.towncrier.type]] +directory = "documentation" +name = "Documentation" +showcontent = true diff --git a/packages/providers/tsconfig.json b/packages/providers/tsconfig.json new file mode 100644 index 0000000000..86da1e79f4 --- /dev/null +++ b/packages/providers/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "tsconfig/react-library.json", + "include": ["src", "src/**/*.js"], + "exclude": [ + "node_modules", + "build", + "public", + "coverage", + "src/**/*.test.{js,jsx,ts,tsx}", + "src/**/*.spec.{js,jsx,ts,tsx}", + "src/**/*.stories.{js,jsx,ts,tsx}" + ] +} diff --git a/packages/registry/.npmignore b/packages/registry/.npmignore index 24acacff7b..0d8afd5727 100644 --- a/packages/registry/.npmignore +++ b/packages/registry/.npmignore @@ -2,6 +2,7 @@ news towncrier.toml .changelog.draft node_modules/ -.turbo +.parcel-cache +.parcelrc .release-it.json .eslintrc.js diff --git a/packages/registry/news/5887.bugfix b/packages/registry/news/5887.bugfix new file mode 100644 index 0000000000..f1cd003cec --- /dev/null +++ b/packages/registry/news/5887.bugfix @@ -0,0 +1 @@ +Remove `parcel-optimizer-react-client` plugin @sneridagh diff --git a/packages/registry/src/addon-registry.js b/packages/registry/src/addon-registry.js index efc0dd84e1..29de18b88c 100644 --- a/packages/registry/src/addon-registry.js +++ b/packages/registry/src/addon-registry.js @@ -97,6 +97,7 @@ class AddonConfigurationRegistry { const packageJson = (this.packageJson = require( path.join(projectRootPath, 'package.json'), )); + this.voltoConfigJS = {}; // Loads the dynamic config, if any if (process.env.VOLTOCONFIG) { if (fs.existsSync(path.resolve(process.env.VOLTOCONFIG))) { diff --git a/packages/slots/README.md b/packages/slots/README.md new file mode 100644 index 0000000000..c53c030b59 --- /dev/null +++ b/packages/slots/README.md @@ -0,0 +1,3 @@ +# `@plone/blocks` + +This package contains the default blocks provided by Plone. diff --git a/packages/slots/package.json b/packages/slots/package.json new file mode 100644 index 0000000000..96c2d4b13b --- /dev/null +++ b/packages/slots/package.json @@ -0,0 +1,71 @@ +{ + "name": "@plone/slots", + "description": "Plone core slots like Header, Footer, etc", + "maintainers": [ + { + "name": "Plone Foundation", + "url": "https://plone.org" + } + ], + "funding": "https://github.com/sponsors/plone", + "license": "MIT", + "version": "1.0.0", + "repository": { + "type": "git", + "url": "https://github.com/plone/volto.git" + }, + "bugs": { + "url": "https://github.com/plone/volto/issues" + }, + "homepage": "https://plone.org", + "keywords": [ + "volto", + "plone", + "plone6", + "react", + "helpers" + ], + "publishConfig": { + "access": "public" + }, + "main": "src/index.ts", + "targets": { + "main": { + "includeNodeModules": false + } + }, + "scripts": { + "watch": "parcel watch", + "build": "parcel build", + "test": "vitest", + "dry-release": "release-it --dry-run", + "release": "release-it", + "release-major-alpha": "release-it major --preRelease=alpha", + "release-alpha": "release-it --preRelease=alpha" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + }, + "dependencies": { + "@plone/providers": "workspace:*", + "@plone/registry": "workspace:*" + }, + "devDependencies": { + "@parcel/packager-ts": "^2.12.0", + "@parcel/transformer-typescript-types": "^2.12.0", + "@plone/types": "workspace:*", + "@types/react": "^18", + "@types/react-dom": "^18", + "parcel": "^2.12.0", + "release-it": "17.1.1", + "tsconfig": "workspace:*", + "typescript": "5.2.2", + "vitest": "^1.3.1" + } +} diff --git a/packages/slots/src/SlotRenderer.tsx b/packages/slots/src/SlotRenderer.tsx new file mode 100644 index 0000000000..ddd8021a0b --- /dev/null +++ b/packages/slots/src/SlotRenderer.tsx @@ -0,0 +1,61 @@ +import { useRouterLocation } from '@plone/providers'; +import config from '@plone/registry'; + +import type { Content } from '@plone/types'; + +/* +Usage: + +*/ + +const SlotRenderer = ({ + name, + content, + navRoot, +}: { + name: string; + content: Content; + navRoot?: Content; +}) => { + const pathname = useRouterLocation().pathname; + + let slots = config.getSlot(name, { + content, + pathname, + // This is to cover the use case while adding a new content and we don't have + // have the navRoot information in the initial content. This will be + // useful for SlotRenderers rendered in the `Add` route. + navRoot: content?.['@components']?.navroot?.navroot || navRoot, + }); + + if (!slots) { + return null; + } + + return ( + <> + {slots.map( + ({ + component, + name, + }: { + component: React.ComponentType; + name: string; + }) => { + // ^^ Weird compilation issue for Jest tests, that forced to re-declare the type above + const SlotComponent = component; + return ( + + ); + }, + )} + + ); +}; + +export default SlotRenderer; diff --git a/packages/slots/src/index.ts b/packages/slots/src/index.ts new file mode 100644 index 0000000000..6fe8d63809 --- /dev/null +++ b/packages/slots/src/index.ts @@ -0,0 +1 @@ +export * from './SlotRenderer'; diff --git a/packages/slots/tsconfig.json b/packages/slots/tsconfig.json new file mode 100644 index 0000000000..27e48db56e --- /dev/null +++ b/packages/slots/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "tsconfig/react-library.json", + "include": ["src", "src/**/*.js", "../providers/src/RouterLocation.tsx"], + "exclude": [ + "node_modules", + "build", + "public", + "coverage", + "src/**/*.test.{js,jsx,ts,tsx}", + "src/**/*.spec.{js,jsx,ts,tsx}", + "src/**/*.stories.{js,jsx,ts,tsx}" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 588326f75f..7a46517b00 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -69,12 +69,21 @@ importers: apps/nextjs: dependencies: + '@plone/blocks': + specifier: 'workspace: *' + version: link:../../packages/blocks '@plone/client': specifier: 'workspace: *' version: link:../../packages/client '@plone/components': specifier: 'workspace: *' version: link:../../packages/components + '@plone/providers': + specifier: 'workspace: *' + version: link:../../packages/providers + '@plone/registry': + specifier: 'workspace: *' + version: link:../../packages/registry '@tanstack/react-query': specifier: ^5.24.6 version: 5.24.6(react@18.2.0) @@ -568,7 +577,7 @@ importers: version: 9.1.0(eslint@8.49.0) eslint-config-react-app: specifier: 7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.2.2) + version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.2.2) eslint-import-resolver-alias: specifier: 1.1.2 version: 1.1.2(eslint-plugin-import@2.29.1) @@ -763,10 +772,10 @@ importers: version: 9.0.0(eslint@8.49.0) eslint-config-react-app: specifier: 7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2) + version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2) eslint-plugin-flowtype: specifier: 8.0.3 - version: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.49.0) + version: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.49.0) eslint-plugin-import: specifier: 2.28.1 version: 2.28.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0) @@ -809,18 +818,21 @@ importers: '@plone/client': specifier: 'workspace: *' version: link:../../packages/client + '@plone/providers': + specifier: 'workspace: *' + version: link:../../packages/providers '@remix-run/css-bundle': specifier: ^2.4.0 version: 2.4.0 '@remix-run/node': specifier: ^2.4.0 - version: 2.4.0(typescript@5.3.3) + version: 2.4.0(typescript@5.4.2) '@remix-run/react': specifier: ^2.4.0 - version: 2.4.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3) + version: 2.4.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@remix-run/serve': specifier: ^2.4.0 - version: 2.4.0(typescript@5.3.3) + version: 2.4.0(typescript@5.4.2) '@tanstack/react-query': specifier: ^5.24.6 version: 5.24.6(react@18.2.0) @@ -839,7 +851,7 @@ importers: devDependencies: '@remix-run/dev': specifier: ^2.4.0 - version: 2.4.0(@remix-run/serve@2.4.0)(typescript@5.3.3) + version: 2.4.0(@remix-run/serve@2.4.0)(typescript@5.4.2) '@types/react': specifier: ^18.2.20 version: 18.2.27 @@ -848,7 +860,7 @@ importers: version: 18.2.12 '@typescript-eslint/eslint-plugin': specifier: ^6.7.4 - version: 6.8.0(@typescript-eslint/parser@6.7.0)(eslint@8.53.0)(typescript@5.3.3) + version: 6.8.0(@typescript-eslint/parser@6.7.0)(eslint@8.53.0)(typescript@5.4.2) eslint: specifier: ^8.38.0 version: 8.53.0 @@ -868,8 +880,8 @@ importers: specifier: ^4.6.0 version: 4.6.0(eslint@8.53.0) typescript: - specifier: ^5.2.2 - version: 5.3.3 + specifier: ^5.4.2 + version: 5.4.2 apps/vite-ssr: dependencies: @@ -882,24 +894,27 @@ importers: '@plone/components': specifier: workspace:* version: link:../../packages/components + '@plone/providers': + specifier: workspace:* + version: link:../../packages/providers '@plone/registry': specifier: workspace:* version: link:../../packages/registry '@tanstack/react-query': - specifier: 5.24.1 - version: 5.24.1(react@18.2.0) + specifier: ^5.29.2 + version: 5.29.2(react@18.2.0) '@tanstack/react-router': - specifier: ^1.16.0 - version: 1.17.4(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.28.2 + version: 1.28.2(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-router-server': - specifier: ^1.16.0 - version: 1.17.4(preact@10.19.6)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.28.2 + version: 1.28.2(preact@10.19.6)(react-dom@18.2.0)(react@18.2.0) '@tanstack/router-devtools': - specifier: ^1.16.0 - version: 1.17.4(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0) + specifier: ^1.28.2 + version: 1.28.2(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0) '@tanstack/router-vite-plugin': - specifier: ^1.16.1 - version: 1.16.5 + specifier: ^1.28.2 + version: 1.28.2(vite@5.2.9) axios: specifier: ^1.6.5 version: 1.6.7(debug@4.3.4) @@ -932,8 +947,8 @@ importers: specifier: ^6.0.4 version: 6.0.4(@babel/core@7.23.9) '@tanstack/react-query-devtools': - specifier: ^5.24.1 - version: 5.25.0(@tanstack/react-query@5.24.1)(react@18.2.0) + specifier: ^5.29.2 + version: 5.29.2(@tanstack/react-query@5.29.2)(react@18.2.0) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -945,7 +960,7 @@ importers: version: 18.2.19 '@vitejs/plugin-react': specifier: ^4 - version: 4.2.0(vite@5.1.7) + version: 4.2.0(vite@5.2.9) compression: specifier: ^1.7.4 version: 1.7.4 @@ -962,14 +977,14 @@ importers: specifier: ^1.15.0 version: 1.15.0 typescript: - specifier: ^5.3.3 - version: 5.3.3 + specifier: ^5.4.2 + version: 5.4.2 vite: - specifier: ^5.1.7 - version: 5.1.7(@types/node@20.9.0) + specifier: ^5.2.9 + version: 5.2.9(@types/node@20.9.0) vite-plugin-babel: specifier: ^1.2.0 - version: 1.2.0(@babel/core@7.23.9)(vite@5.1.7) + version: 1.2.0(@babel/core@7.23.9)(vite@5.2.9) packages/blocks: dependencies: @@ -1032,6 +1047,27 @@ importers: specifier: ^3.22.4 version: 3.22.4 devDependencies: + '@parcel/config-default': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.4.2) + '@parcel/core': + specifier: ^2.12.0 + version: 2.12.0 + '@parcel/optimizer-terser': + specifier: 2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-ts': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-js': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-react-refresh-wrap': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-typescript-types': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0)(typescript@5.4.2) '@plone/types': specifier: 'workspace: *' version: link:../types @@ -1055,7 +1091,7 @@ importers: version: 9.0.7 '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.7) + version: 4.2.0(vite@5.2.9) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1065,6 +1101,9 @@ importers: jsdom: specifier: ^21.1.1 version: 21.1.2 + parcel: + specifier: ^2.12.0 + version: 2.12.0(postcss@8.4.35)(typescript@5.4.2) react: specifier: ^18.2.0 version: 18.2.0 @@ -1085,10 +1124,10 @@ importers: version: 9.0.1 vite: specifier: ^5.1.7 - version: 5.1.7(@types/node@20.9.0) + version: 5.2.9(@types/node@20.9.0) vite-plugin-dts: specifier: ^3.7.3 - version: 3.7.3(typescript@5.4.2)(vite@5.1.7) + version: 3.7.3(typescript@5.4.2)(vite@5.2.9) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@21.1.2) @@ -1106,7 +1145,7 @@ importers: version: 3.11.2(react@18.2.0) '@storybook/test': specifier: ^8.0.4 - version: 8.0.4(vitest@1.3.1) + version: 8.0.5(vitest@1.3.1) clsx: specifier: ^2.0.0 version: 2.0.0 @@ -1146,31 +1185,31 @@ importers: version: 3.22.0(react@18.2.0) '@storybook/addon-essentials': specifier: ^8.0.4 - version: 8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-interactions': specifier: ^8.0.4 - version: 8.0.4(vitest@1.3.1) + version: 8.0.5(vitest@1.3.1) '@storybook/addon-links': specifier: ^8.0.4 - version: 8.0.4(react@18.2.0) + version: 8.0.5(react@18.2.0) '@storybook/addon-mdx-gfm': specifier: ^8.0.4 - version: 8.0.4 + version: 8.0.5 '@storybook/blocks': specifier: ^8.0.4 - version: 8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) '@storybook/manager-api': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0) '@storybook/react': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/react-vite': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.7) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.2.9) '@storybook/theming': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0) '@testing-library/jest-dom': specifier: 6.4.2 version: 6.4.2(vitest@1.3.1) @@ -1194,7 +1233,7 @@ importers: version: 7.3.1(eslint@8.57.0)(typescript@5.4.2) '@vitejs/plugin-react': specifier: ^4.1.0 - version: 4.2.0(vite@5.1.7) + version: 4.2.0(vite@5.2.9) '@vitest/coverage-v8': specifier: ^1.3.1 version: 1.3.1(vitest@1.3.1) @@ -1222,9 +1261,6 @@ importers: parcel: specifier: ^2.12.0 version: 2.12.0(postcss@8.4.35)(typescript@5.4.2) - parcel-optimizer-react-client: - specifier: workspace:^ - version: link:../parcel-optimizer-react-client prettier: specifier: 3.2.5 version: 3.2.5 @@ -1233,7 +1269,7 @@ importers: version: 17.1.1(typescript@5.4.2) storybook: specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0) stylelint: specifier: 16.2.1 version: 16.2.1(typescript@5.4.2) @@ -1248,7 +1284,7 @@ importers: version: 5.4.2 vite: specifier: ^5.1.7 - version: 5.1.7(lightningcss@1.24.0) + version: 5.2.9(lightningcss@1.24.0) vitest: specifier: ^1.3.1 version: 1.3.1(jsdom@22.1.0)(lightningcss@1.24.0) @@ -1394,14 +1430,66 @@ importers: specifier: ^1.3.1 version: 1.3.1(jsdom@21.1.2) - packages/parcel-optimizer-react-client: + packages/providers: dependencies: - '@parcel/plugin': + '@plone/client': + specifier: workspace:* + version: link:../client + '@plone/components': + specifier: workspace:* + version: link:../components + '@plone/registry': + specifier: workspace:* + version: link:../registry + react: + specifier: ^16.8.0 || ^17.0.0 || ^18.0.0 + version: 18.2.0 + react-dom: + specifier: ^16.8.0 || ^17.0.0 || ^18.0.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@parcel/config-default': specifier: ^2.12.0 - version: 2.12.0(@parcel/core@2.12.0) - '@parcel/utils': + version: 2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.2.2) + '@parcel/core': specifier: ^2.12.0 version: 2.12.0 + '@parcel/packager-ts': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-js': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-react-refresh-wrap': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-typescript-types': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0)(typescript@5.2.2) + '@plone/types': + specifier: workspace:* + version: link:../types + '@types/react': + specifier: ^18 + version: 18.2.60 + '@types/react-dom': + specifier: ^18 + version: 18.2.19 + parcel: + specifier: ^2.12.0 + version: 2.12.0(postcss@8.4.35)(typescript@5.2.2) + release-it: + specifier: 17.1.1 + version: 17.1.1(typescript@5.2.2) + tsconfig: + specifier: workspace:* + version: link:../tsconfig + typescript: + specifier: 5.2.2 + version: 5.2.2 + vitest: + specifier: ^1.3.1 + version: 1.3.1(jsdom@21.1.2) packages/registry: dependencies: @@ -1507,6 +1595,52 @@ importers: specifier: ^16.1.3 version: 16.2.1(typescript@5.2.2) + packages/slots: + dependencies: + '@plone/providers': + specifier: workspace:* + version: link:../providers + '@plone/registry': + specifier: workspace:* + version: link:../registry + react: + specifier: ^16.8.0 || ^17.0.0 || ^18.0.0 + version: 18.2.0 + react-dom: + specifier: ^16.8.0 || ^17.0.0 || ^18.0.0 + version: 18.2.0(react@18.2.0) + devDependencies: + '@parcel/packager-ts': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-typescript-types': + specifier: ^2.12.0 + version: 2.12.0(@parcel/core@2.12.0)(typescript@5.2.2) + '@plone/types': + specifier: workspace:* + version: link:../types + '@types/react': + specifier: ^18 + version: 18.2.60 + '@types/react-dom': + specifier: ^18 + version: 18.2.19 + parcel: + specifier: ^2.12.0 + version: 2.12.0(postcss@8.4.35)(typescript@5.2.2) + release-it: + specifier: 17.1.1 + version: 17.1.1(typescript@5.2.2) + tsconfig: + specifier: workspace:* + version: link:../tsconfig + typescript: + specifier: 5.2.2 + version: 5.2.2 + vitest: + specifier: ^1.3.1 + version: 1.3.1(jsdom@21.1.2) + packages/tsconfig: {} packages/types: @@ -1871,31 +2005,31 @@ importers: version: 6.0.1 '@storybook/addon-actions': specifier: ^8.0.4 - version: 8.0.4 + version: 8.0.5 '@storybook/addon-controls': specifier: ^8.0.4 - version: 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-docs': specifier: ^8.0.4 - version: 8.0.4 + version: 8.0.5 '@storybook/addon-essentials': specifier: ^8.0.4 - version: 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) '@storybook/addon-links': specifier: ^8.0.4 - version: 8.0.4(react@18.2.0) + version: 8.0.5(react@18.2.0) '@storybook/addon-webpack5-compiler-babel': specifier: ^3.0.3 version: 3.0.3(webpack@5.90.1) '@storybook/react': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/react-webpack5': specifier: ^8.0.4 - version: 8.0.4(esbuild@0.19.9)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + version: 8.0.5(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/theming': specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0) '@testing-library/cypress': specifier: 10.0.1 version: 10.0.1(cypress@13.6.6) @@ -1988,7 +2122,7 @@ importers: version: 9.1.0(eslint@8.49.0) eslint-config-react-app: specifier: 7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2) + version: 7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2) eslint-import-resolver-alias: specifier: 1.1.2 version: 1.1.2(eslint-plugin-import@2.29.1) @@ -2102,7 +2236,7 @@ importers: version: 1.14.0 storybook: specifier: ^8.0.4 - version: 8.0.4(react-dom@18.2.0)(react@18.2.0) + version: 8.0.5(react-dom@18.2.0)(react@18.2.0) style-loader: specifier: 3.3.1 version: 3.3.1(webpack@5.90.1) @@ -2123,7 +2257,7 @@ importers: version: 3.0.3 terser-webpack-plugin: specifier: 5.3.6 - version: 5.3.6(esbuild@0.19.9)(webpack@5.90.1) + version: 5.3.6(esbuild@0.20.2)(webpack@5.90.1) tmp: specifier: 0.2.1 version: 0.2.1 @@ -2144,7 +2278,7 @@ importers: version: 6.0.0(debug@4.3.2) webpack: specifier: 5.90.1 - version: 5.90.1(esbuild@0.19.9) + version: 5.90.1(esbuild@0.20.2) webpack-bundle-analyzer: specifier: 4.10.1 version: 4.10.1 @@ -2280,6 +2414,14 @@ packages: '@babel/highlight': 7.23.4 chalk: 2.4.2 + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: false + /@babel/compat-data@7.23.3: resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} engines: {node: '>=6.9.0'} @@ -2403,6 +2545,16 @@ packages: '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: false + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -2452,6 +2604,24 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.23.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -2585,6 +2755,10 @@ packages: resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} @@ -2607,6 +2781,18 @@ packages: '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 + /@babel/helper-replace-supers@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: false + /@babel/helper-simple-access@7.22.5: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -2685,6 +2871,16 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + /@babel/parser@7.23.3: resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} @@ -2699,6 +2895,14 @@ packages: dependencies: '@babel/types': 7.20.5 + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.5 + dev: false + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -3154,6 +3358,15 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -3322,6 +3535,16 @@ packages: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.23.9): + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -3771,7 +3994,6 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} @@ -3781,7 +4003,6 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - dev: true /@babel/plugin-transform-react-jsx@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA==} @@ -3796,6 +4017,19 @@ packages: '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) '@babel/types': 7.23.9 + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) + '@babel/types': 7.24.0 + /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} @@ -3899,6 +4133,19 @@ packages: '@babel/helper-plugin-utils': 7.22.5 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + /@babel/plugin-transform-typescript@7.24.4(@babel/core@7.23.9): + resolution: {integrity: sha512-79t3CQ8+oBGk/80SQ8MN3Bs3obf83zJ0YZjDmDaEZN8MqhMI760apl5z6a20kFeMXBwJX99VpKT8CKxEBp5H1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) + dev: false + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} @@ -4058,7 +4305,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) @@ -4072,7 +4319,7 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.22.15 + '@babel/helper-validator-option': 7.23.5 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-typescript': 7.23.3(@babel/core@7.23.9) @@ -4130,6 +4377,15 @@ packages: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 + dev: false + /@babel/traverse@7.23.3: resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} engines: {node: '>=6.9.0'} @@ -4164,6 +4420,24 @@ packages: transitivePeerDependencies: - supports-color + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.4 + '@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.24.4 + '@babel/types': 7.24.0 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/types@7.20.5: resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} engines: {node: '>=6.9.0'} @@ -4180,6 +4454,14 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + /@base2/pretty-print-object@1.0.1: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true @@ -4400,6 +4682,14 @@ packages: resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} dev: false + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + /@esbuild/android-arm64@0.17.6: resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} @@ -4425,6 +4715,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-arm@0.17.6: resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} engines: {node: '>=12'} @@ -4450,6 +4748,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@esbuild/android-x64@0.17.6: resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} engines: {node: '>=12'} @@ -4475,6 +4781,14 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + /@esbuild/darwin-arm64@0.17.6: resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} engines: {node: '>=12'} @@ -4500,6 +4814,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/darwin-x64@0.17.6: resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} engines: {node: '>=12'} @@ -4525,6 +4847,14 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@esbuild/freebsd-arm64@0.17.6: resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} engines: {node: '>=12'} @@ -4550,6 +4880,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/freebsd-x64@0.17.6: resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} engines: {node: '>=12'} @@ -4575,6 +4913,14 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + /@esbuild/linux-arm64@0.17.6: resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} engines: {node: '>=12'} @@ -4600,6 +4946,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-arm@0.17.6: resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} engines: {node: '>=12'} @@ -4625,6 +4979,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ia32@0.17.6: resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} engines: {node: '>=12'} @@ -4650,6 +5012,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-loong64@0.17.6: resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} engines: {node: '>=12'} @@ -4675,6 +5045,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-mips64el@0.17.6: resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} engines: {node: '>=12'} @@ -4700,6 +5078,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-ppc64@0.17.6: resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} engines: {node: '>=12'} @@ -4725,6 +5111,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-riscv64@0.17.6: resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} engines: {node: '>=12'} @@ -4750,6 +5144,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-s390x@0.17.6: resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} engines: {node: '>=12'} @@ -4775,6 +5177,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/linux-x64@0.17.6: resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} engines: {node: '>=12'} @@ -4800,6 +5210,14 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@esbuild/netbsd-x64@0.17.6: resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} engines: {node: '>=12'} @@ -4825,6 +5243,14 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + /@esbuild/openbsd-x64@0.17.6: resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} engines: {node: '>=12'} @@ -4850,6 +5276,14 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + /@esbuild/sunos-x64@0.17.6: resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} engines: {node: '>=12'} @@ -4875,6 +5309,14 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + /@esbuild/win32-arm64@0.17.6: resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} engines: {node: '>=12'} @@ -4900,6 +5342,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-ia32@0.17.6: resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} engines: {node: '>=12'} @@ -4925,6 +5375,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@esbuild/win32-x64@0.17.6: resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} engines: {node: '>=12'} @@ -4950,6 +5408,14 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.49.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -5722,7 +6188,7 @@ packages: chalk: 4.1.2 dev: true - /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.1.7): + /@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.4.2)(vite@5.2.9): resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==} peerDependencies: typescript: '>= 4.3.x' @@ -5736,7 +6202,7 @@ packages: magic-string: 0.27.0 react-docgen-typescript: 2.2.2(typescript@5.4.2) typescript: 5.4.2 - vite: 5.1.7(lightningcss@1.24.0) + vite: 5.2.9(lightningcss@1.24.0) dev: true /@jridgewell/gen-mapping@0.3.3: @@ -5747,6 +6213,15 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.20 + /@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.1: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} @@ -5755,6 +6230,11 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: false + /@jridgewell/source-map@0.3.5: resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} dependencies: @@ -5770,6 +6250,13 @@ packages: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + /@jspm/core@2.0.1: resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==} dev: true @@ -5794,11 +6281,13 @@ packages: /@lezer/common@1.1.1: resolution: {integrity: sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg==} + dev: true /@lezer/lr@1.3.14: resolution: {integrity: sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug==} dependencies: '@lezer/common': 1.1.1 + dev: true /@ljharb/through@2.3.11: resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} @@ -5819,6 +6308,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@lmdb/lmdb-darwin-x64@2.8.5: @@ -5826,6 +6316,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@lmdb/lmdb-linux-arm64@2.8.5: @@ -5833,6 +6324,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@lmdb/lmdb-linux-arm@2.8.5: @@ -5840,6 +6332,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@lmdb/lmdb-linux-x64@2.8.5: @@ -5847,6 +6340,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@lmdb/lmdb-win32-x64@2.8.5: @@ -5854,6 +6348,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@loadable/babel-plugin@5.13.2(@babel/core@7.23.3): @@ -5917,7 +6412,7 @@ packages: webpack: '>=4.6.0' dependencies: make-dir: 3.1.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /@mapbox/node-pre-gyp@1.0.11: @@ -6061,6 +6556,7 @@ packages: '@lezer/common': 1.1.1 '@lezer/lr': 1.3.14 json5: 2.2.3 + dev: true /@mrmlnc/readdir-enhanced@2.2.1: resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==} @@ -6075,6 +6571,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2: @@ -6082,6 +6579,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2: @@ -6089,6 +6587,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2: @@ -6096,6 +6595,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2: @@ -6103,6 +6603,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2: @@ -6110,6 +6611,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@ndelangen/get-tarball@3.0.9: @@ -6817,12 +7319,14 @@ packages: lmdb: 2.8.5 transitivePeerDependencies: - '@swc/helpers' + dev: true /@parcel/codeframe@2.12.0: resolution: {integrity: sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==} engines: {node: '>= 12.0.0'} dependencies: chalk: 4.1.2 + dev: true /@parcel/compressor-raw@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==} @@ -6834,6 +7338,55 @@ packages: - '@swc/helpers' dev: true + /@parcel/config-default@2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.2.2): + resolution: {integrity: sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==} + peerDependencies: + '@parcel/core': ^2.12.0 + dependencies: + '@parcel/bundler-default': 2.12.0(@parcel/core@2.12.0) + '@parcel/compressor-raw': 2.12.0(@parcel/core@2.12.0) + '@parcel/core': 2.12.0 + '@parcel/namer-default': 2.12.0(@parcel/core@2.12.0) + '@parcel/optimizer-css': 2.12.0(@parcel/core@2.12.0) + '@parcel/optimizer-htmlnano': 2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.2.2) + '@parcel/optimizer-image': 2.12.0(@parcel/core@2.12.0) + '@parcel/optimizer-svgo': 2.12.0(@parcel/core@2.12.0) + '@parcel/optimizer-swc': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-css': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-html': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-js': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-raw': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-svg': 2.12.0(@parcel/core@2.12.0) + '@parcel/packager-wasm': 2.12.0(@parcel/core@2.12.0) + '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0) + '@parcel/resolver-default': 2.12.0(@parcel/core@2.12.0) + '@parcel/runtime-browser-hmr': 2.12.0(@parcel/core@2.12.0) + '@parcel/runtime-js': 2.12.0(@parcel/core@2.12.0) + '@parcel/runtime-react-refresh': 2.12.0(@parcel/core@2.12.0) + '@parcel/runtime-service-worker': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-babel': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-css': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-html': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-image': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-js': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-json': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-postcss': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-posthtml': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-raw': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-react-refresh-wrap': 2.12.0(@parcel/core@2.12.0) + '@parcel/transformer-svg': 2.12.0(@parcel/core@2.12.0) + transitivePeerDependencies: + - '@swc/helpers' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - typescript + - uncss + dev: true + /@parcel/config-default@2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.4.2): resolution: {integrity: sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==} peerDependencies: @@ -6914,6 +7467,7 @@ packages: semver: 7.6.0 transitivePeerDependencies: - '@swc/helpers' + dev: true /@parcel/diagnostic@2.12.0: resolution: {integrity: sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==} @@ -6921,10 +7475,12 @@ packages: dependencies: '@mischnic/json-sourcemap': 0.1.1 nullthrows: 1.1.1 + dev: true /@parcel/events@2.12.0: resolution: {integrity: sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==} engines: {node: '>= 12.0.0'} + dev: true /@parcel/fs@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==} @@ -6940,12 +7496,14 @@ packages: '@parcel/workers': 2.12.0(@parcel/core@2.12.0) transitivePeerDependencies: - '@swc/helpers' + dev: true /@parcel/graph@3.2.0: resolution: {integrity: sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==} engines: {node: '>= 12.0.0'} dependencies: nullthrows: 1.1.1 + dev: true /@parcel/logger@2.12.0: resolution: {integrity: sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==} @@ -6953,12 +7511,14 @@ packages: dependencies: '@parcel/diagnostic': 2.12.0 '@parcel/events': 2.12.0 + dev: true /@parcel/markdown-ansi@2.12.0: resolution: {integrity: sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==} engines: {node: '>= 12.0.0'} dependencies: chalk: 4.1.2 + dev: true /@parcel/namer-default@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==} @@ -6985,6 +7545,7 @@ packages: semver: 7.6.0 transitivePeerDependencies: - '@parcel/core' + dev: true /@parcel/optimizer-css@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==} @@ -7002,6 +7563,28 @@ packages: - '@swc/helpers' dev: true + /@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.2.2): + resolution: {integrity: sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==} + engines: {node: '>= 12.0.0', parcel: ^2.12.0} + dependencies: + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0) + htmlnano: 2.1.0(postcss@8.4.35)(svgo@2.8.0)(typescript@5.2.2) + nullthrows: 1.1.1 + posthtml: 0.16.6 + svgo: 2.8.0 + transitivePeerDependencies: + - '@parcel/core' + - '@swc/helpers' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - typescript + - uncss + dev: true + /@parcel/optimizer-htmlnano@2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.4.2): resolution: {integrity: sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==} engines: {node: '>= 12.0.0', parcel: ^2.12.0} @@ -7068,6 +7651,21 @@ packages: - '@swc/helpers' dev: true + /@parcel/optimizer-terser@2.12.0(@parcel/core@2.12.0): + resolution: {integrity: sha512-cIAJ+nLPk7MUGiSbsam8vM8gQNiaVavKhJN13PsEBzv0QLOQm0TCl02cGC9WJIukyc90AO5p3MnFP4/1U1M8iA==} + engines: {node: '>= 12.0.0', parcel: ^2.12.0} + dependencies: + '@parcel/diagnostic': 2.12.0 + '@parcel/plugin': 2.12.0(@parcel/core@2.12.0) + '@parcel/source-map': 2.1.1 + '@parcel/utils': 2.12.0 + nullthrows: 1.1.1 + terser: 5.28.1 + transitivePeerDependencies: + - '@parcel/core' + - '@swc/helpers' + dev: true + /@parcel/package-manager@2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.3): resolution: {integrity: sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==} engines: {node: '>= 12.0.0'} @@ -7086,6 +7684,7 @@ packages: semver: 7.6.0 transitivePeerDependencies: - '@swc/helpers' + dev: true /@parcel/packager-css@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==} @@ -7184,6 +7783,7 @@ packages: transitivePeerDependencies: - '@parcel/core' - '@swc/helpers' + dev: true /@parcel/profiler@2.12.0: resolution: {integrity: sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==} @@ -7192,6 +7792,7 @@ packages: '@parcel/diagnostic': 2.12.0 '@parcel/events': 2.12.0 chrome-trace-event: 1.0.3 + dev: true /@parcel/reporter-cli@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==} @@ -7294,12 +7895,14 @@ packages: /@parcel/rust@2.12.0: resolution: {integrity: sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==} engines: {node: '>= 12.0.0'} + dev: true /@parcel/source-map@2.1.1: resolution: {integrity: sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==} engines: {node: ^12.18.3 || >=14} dependencies: detect-libc: 1.0.3 + dev: true /@parcel/transformer-babel@2.12.0(@parcel/core@2.12.0): resolution: {integrity: sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==} @@ -7539,6 +8142,7 @@ packages: transitivePeerDependencies: - '@parcel/core' - '@swc/helpers' + dev: true /@parcel/utils@2.12.0: resolution: {integrity: sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==} @@ -7552,15 +8156,7 @@ packages: '@parcel/source-map': 2.1.1 chalk: 4.1.2 nullthrows: 1.1.1 - - /@parcel/watcher-android-arm64@2.3.0: - resolution: {integrity: sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true + dev: true /@parcel/watcher-android-arm64@2.4.1: resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} @@ -7570,15 +8166,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-darwin-arm64@2.3.0: - resolution: {integrity: sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-darwin-arm64@2.4.1: resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} engines: {node: '>= 10.0.0'} @@ -7587,15 +8174,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-darwin-x64@2.3.0: - resolution: {integrity: sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-darwin-x64@2.4.1: resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} engines: {node: '>= 10.0.0'} @@ -7604,15 +8182,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-freebsd-x64@2.3.0: - resolution: {integrity: sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-freebsd-x64@2.4.1: resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} engines: {node: '>= 10.0.0'} @@ -7621,15 +8190,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-linux-arm-glibc@2.3.0: - resolution: {integrity: sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-linux-arm-glibc@2.4.1: resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} engines: {node: '>= 10.0.0'} @@ -7638,15 +8198,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-glibc@2.3.0: - resolution: {integrity: sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-linux-arm64-glibc@2.4.1: resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} engines: {node: '>= 10.0.0'} @@ -7655,15 +8206,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-linux-arm64-musl@2.3.0: - resolution: {integrity: sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-linux-arm64-musl@2.4.1: resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} engines: {node: '>= 10.0.0'} @@ -7672,15 +8214,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-linux-x64-glibc@2.3.0: - resolution: {integrity: sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-linux-x64-glibc@2.4.1: resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} engines: {node: '>= 10.0.0'} @@ -7689,15 +8222,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-linux-x64-musl@2.3.0: - resolution: {integrity: sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-linux-x64-musl@2.4.1: resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} engines: {node: '>= 10.0.0'} @@ -7728,15 +8252,6 @@ packages: bundledDependencies: - napi-wasm - /@parcel/watcher-win32-arm64@2.3.0: - resolution: {integrity: sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-win32-arm64@2.4.1: resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} engines: {node: '>= 10.0.0'} @@ -7745,15 +8260,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-win32-ia32@2.3.0: - resolution: {integrity: sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-win32-ia32@2.4.1: resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} engines: {node: '>= 10.0.0'} @@ -7762,15 +8268,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher-win32-x64@2.3.0: - resolution: {integrity: sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - /@parcel/watcher-win32-x64@2.4.1: resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} engines: {node: '>= 10.0.0'} @@ -7779,29 +8276,6 @@ packages: requiresBuild: true optional: true - /@parcel/watcher@2.3.0: - resolution: {integrity: sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==} - engines: {node: '>= 10.0.0'} - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.5 - node-addon-api: 7.0.0 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.3.0 - '@parcel/watcher-darwin-arm64': 2.3.0 - '@parcel/watcher-darwin-x64': 2.3.0 - '@parcel/watcher-freebsd-x64': 2.3.0 - '@parcel/watcher-linux-arm-glibc': 2.3.0 - '@parcel/watcher-linux-arm64-glibc': 2.3.0 - '@parcel/watcher-linux-arm64-musl': 2.3.0 - '@parcel/watcher-linux-x64-glibc': 2.3.0 - '@parcel/watcher-linux-x64-musl': 2.3.0 - '@parcel/watcher-win32-arm64': 2.3.0 - '@parcel/watcher-win32-ia32': 2.3.0 - '@parcel/watcher-win32-x64': 2.3.0 - dev: false - /@parcel/watcher@2.4.1: resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} engines: {node: '>= 10.0.0'} @@ -7837,6 +8311,7 @@ packages: '@parcel/types': 2.12.0(@parcel/core@2.12.0) '@parcel/utils': 2.12.0 nullthrows: 1.1.1 + dev: true /@pkgjs/parseargs@0.11.0: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -9408,7 +9883,7 @@ packages: engines: {node: '>=18.0.0'} dev: false - /@remix-run/dev@2.4.0(@remix-run/serve@2.4.0)(typescript@5.3.3): + /@remix-run/dev@2.4.0(@remix-run/serve@2.4.0)(typescript@5.4.2): resolution: {integrity: sha512-qQsZv+uPw8IhAdUwIIaZqnJfgJXLahYuWHFQIcS7kBhr+PdwW6SA3gvmUhnkDrqV+HJdP1bUpwXYGT+vbDQGiQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -9434,10 +9909,10 @@ packages: '@babel/types': 7.23.9 '@mdx-js/mdx': 2.3.0 '@npmcli/package-json': 4.0.1 - '@remix-run/node': 2.4.0(typescript@5.3.3) + '@remix-run/node': 2.4.0(typescript@5.4.2) '@remix-run/router': 1.14.0 - '@remix-run/serve': 2.4.0(typescript@5.3.3) - '@remix-run/server-runtime': 2.4.0(typescript@5.3.3) + '@remix-run/serve': 2.4.0(typescript@5.4.2) + '@remix-run/server-runtime': 2.4.0(typescript@5.4.2) '@types/mdx': 2.0.10 '@vanilla-extract/integration': 6.2.4 arg: 5.0.2 @@ -9478,7 +9953,7 @@ packages: set-cookie-parser: 2.6.0 tar-fs: 2.1.1 tsconfig-paths: 4.2.0 - typescript: 5.3.3 + typescript: 5.4.2 ws: 7.5.9 transitivePeerDependencies: - '@types/node' @@ -9496,7 +9971,7 @@ packages: - utf-8-validate dev: true - /@remix-run/express@2.4.0(express@4.19.2)(typescript@5.3.3): + /@remix-run/express@2.4.0(express@4.19.2)(typescript@5.4.2): resolution: {integrity: sha512-9vVs1cMoBHRVm4fFpEFAMmrYywKV4uKnyJgaM3Kw31O4EFtqbd1ai3SW6YhKuatxfD1YxYlpoHZ1XwXcnWRDuQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -9506,11 +9981,11 @@ packages: typescript: optional: true dependencies: - '@remix-run/node': 2.4.0(typescript@5.3.3) + '@remix-run/node': 2.4.0(typescript@5.4.2) express: 4.19.2 - typescript: 5.3.3 + typescript: 5.4.2 - /@remix-run/node@2.4.0(typescript@5.3.3): + /@remix-run/node@2.4.0(typescript@5.4.2): resolution: {integrity: sha512-wYwBTGiZgRmpS1qoysracyJLExP3mo0HgkIzfTm1SX/i56mdCAAe1DFSwezAVXunTY0TPHXolJeeJCVwzz0gdA==} engines: {node: '>=18.0.0'} peerDependencies: @@ -9519,7 +9994,7 @@ packages: typescript: optional: true dependencies: - '@remix-run/server-runtime': 2.4.0(typescript@5.3.3) + '@remix-run/server-runtime': 2.4.0(typescript@5.4.2) '@remix-run/web-fetch': 4.4.2 '@remix-run/web-file': 3.1.0 '@remix-run/web-stream': 1.1.0 @@ -9527,9 +10002,9 @@ packages: cookie-signature: 1.2.1 source-map-support: 0.5.21 stream-slice: 0.1.2 - typescript: 5.3.3 + typescript: 5.4.2 - /@remix-run/react@2.4.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3): + /@remix-run/react@2.4.0(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): resolution: {integrity: sha512-SO+VTSTd5oN7eAoTXV2E//LEu7cEO3VsqVDqETZG3X+MfpaU6dtng18FnY6X/ulBP62BjlH6HTwdTK8Lk+2msQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -9541,25 +10016,25 @@ packages: optional: true dependencies: '@remix-run/router': 1.14.0 - '@remix-run/server-runtime': 2.4.0(typescript@5.3.3) + '@remix-run/server-runtime': 2.4.0(typescript@5.4.2) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router: 6.21.0(react@18.2.0) react-router-dom: 6.21.0(react-dom@18.2.0)(react@18.2.0) - typescript: 5.3.3 + typescript: 5.4.2 dev: false /@remix-run/router@1.14.0: resolution: {integrity: sha512-WOHih+ClN7N8oHk9N4JUiMxQJmRVaOxcg8w7F/oHUXzJt920ekASLI/7cYX8XkntDWRhLZtsk6LbGrkgOAvi5A==} engines: {node: '>=14.0.0'} - /@remix-run/serve@2.4.0(typescript@5.3.3): + /@remix-run/serve@2.4.0(typescript@5.4.2): resolution: {integrity: sha512-S9x7WEtIwL1xh3nf9gMIv++GXp8dKmyZi+9/uE6o5Am1BxV3wQNuQrtVlA8aPa8Wvr4vKlN+4mmIJNejlzSzDg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@remix-run/express': 2.4.0(express@4.19.2)(typescript@5.3.3) - '@remix-run/node': 2.4.0(typescript@5.3.3) + '@remix-run/express': 2.4.0(express@4.19.2)(typescript@5.4.2) + '@remix-run/node': 2.4.0(typescript@5.4.2) chokidar: 3.5.3 compression: 1.7.4 express: 4.19.2 @@ -9570,7 +10045,7 @@ packages: - supports-color - typescript - /@remix-run/server-runtime@2.4.0(typescript@5.3.3): + /@remix-run/server-runtime@2.4.0(typescript@5.4.2): resolution: {integrity: sha512-okNGtxB2eqEEsI0aDbmC/yCFhsDVD41P0TNPDHBxXy7PK3nzI9yywhknxLvim0lrxc/zKri/5gVKVJpipRekGQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -9585,7 +10060,7 @@ packages: cookie: 0.5.0 set-cookie-parser: 2.6.0 source-map: 0.7.4 - typescript: 5.3.3 + typescript: 5.4.2 /@remix-run/web-blob@3.1.0: resolution: {integrity: sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==} @@ -9621,7 +10096,7 @@ packages: dependencies: web-streams-polyfill: 3.2.1 - /@rollup/plugin-alias@5.1.0(rollup@4.8.0): + /@rollup/plugin-alias@5.1.0(rollup@4.14.3): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9630,7 +10105,7 @@ packages: rollup: optional: true dependencies: - rollup: 4.8.0 + rollup: 4.14.3 slash: 4.0.0 dev: false @@ -9649,10 +10124,10 @@ packages: dependencies: '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.8.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.14.3): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9661,16 +10136,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.5 - rollup: 4.8.0 + rollup: 4.14.3 dev: false - /@rollup/plugin-inject@5.0.5(rollup@4.8.0): + /@rollup/plugin-inject@5.0.5(rollup@4.14.3): resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9679,13 +10154,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) estree-walker: 2.0.2 magic-string: 0.30.5 - rollup: 4.8.0 + rollup: 4.14.3 dev: false - /@rollup/plugin-json@6.1.0(rollup@4.8.0): + /@rollup/plugin-json@6.1.0(rollup@4.14.3): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9694,11 +10169,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) - rollup: 4.8.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + rollup: 4.14.3 dev: false - /@rollup/plugin-node-resolve@15.2.3(rollup@4.8.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.14.3): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9707,16 +10182,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 - rollup: 4.8.0 + rollup: 4.14.3 dev: false - /@rollup/plugin-replace@5.0.5(rollup@4.8.0): + /@rollup/plugin-replace@5.0.5(rollup@4.14.3): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9725,12 +10200,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) magic-string: 0.30.5 - rollup: 4.8.0 + rollup: 4.14.3 dev: false - /@rollup/plugin-terser@0.4.4(rollup@4.8.0): + /@rollup/plugin-terser@0.4.4(rollup@4.14.3): resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9739,13 +10214,13 @@ packages: rollup: optional: true dependencies: - rollup: 4.8.0 + rollup: 4.14.3 serialize-javascript: 6.0.1 smob: 1.4.1 terser: 5.28.1 dev: false - /@rollup/plugin-wasm@6.2.2(rollup@4.8.0): + /@rollup/plugin-wasm@6.2.2(rollup@4.14.3): resolution: {integrity: sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9754,8 +10229,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) - rollup: 4.8.0 + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + rollup: 4.14.3 dev: false /@rollup/pluginutils@4.2.1: @@ -9766,7 +10241,7 @@ packages: picomatch: 2.3.1 dev: false - /@rollup/pluginutils@5.1.0(rollup@4.8.0): + /@rollup/pluginutils@5.1.0(rollup@4.14.3): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -9778,7 +10253,14 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.8.0 + rollup: 4.14.3 + + /@rollup/rollup-android-arm-eabi@4.14.3: + resolution: {integrity: sha512-X9alQ3XM6I9IlSlmC8ddAvMSyG1WuHk5oUnXGw+yUBs3BFoTizmG1La/Gr8fVJvDWAq+zlYTZ9DBgrlKRVY06g==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true /@rollup/rollup-android-arm-eabi@4.8.0: resolution: {integrity: sha512-zdTObFRoNENrdPpnTNnhOljYIcOX7aI7+7wyrSpPFFIOf/nRdedE6IYsjaBE7tjukphh1tMTojgJ7p3lKY8x6Q==} @@ -9787,6 +10269,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-android-arm64@4.14.3: + resolution: {integrity: sha512-eQK5JIi+POhFpzk+LnjKIy4Ks+pwJ+NXmPxOCSvOKSNRPONzKuUvWE+P9JxGZVxrtzm6BAYMaL50FFuPe0oWMQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + /@rollup/rollup-android-arm64@4.8.0: resolution: {integrity: sha512-aiItwP48BiGpMFS9Znjo/xCNQVwTQVcRKkFKsO81m8exrGjHkCBDvm9PHay2kpa8RPnZzzKcD1iQ9KaLY4fPQQ==} cpu: [arm64] @@ -9794,6 +10283,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-arm64@4.14.3: + resolution: {integrity: sha512-Od4vE6f6CTT53yM1jgcLqNfItTsLt5zE46fdPaEmeFHvPs5SjZYlLpHrSiHEKR1+HdRfxuzXHjDOIxQyC3ptBA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + /@rollup/rollup-darwin-arm64@4.8.0: resolution: {integrity: sha512-zhNIS+L4ZYkYQUjIQUR6Zl0RXhbbA0huvNIWjmPc2SL0cB1h5Djkcy+RZ3/Bwszfb6vgwUvcVJYD6e6Zkpsi8g==} cpu: [arm64] @@ -9801,6 +10297,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-x64@4.14.3: + resolution: {integrity: sha512-0IMAO21axJeNIrvS9lSe/PGthc8ZUS+zC53O0VhF5gMxfmcKAP4ESkKOCwEi6u2asUrt4mQv2rjY8QseIEb1aw==} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + /@rollup/rollup-darwin-x64@4.8.0: resolution: {integrity: sha512-A/FAHFRNQYrELrb/JHncRWzTTXB2ticiRFztP4ggIUAfa9Up1qfW8aG2w/mN9jNiZ+HB0t0u0jpJgFXG6BfRTA==} cpu: [x64] @@ -9808,6 +10311,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.14.3: + resolution: {integrity: sha512-ge2DC7tHRHa3caVEoSbPRJpq7azhG+xYsd6u2MEnJ6XzPSzQsTKyXvh6iWjXRf7Rt9ykIUWHtl0Uz3T6yXPpKw==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.8.0: resolution: {integrity: sha512-JsidBnh3p2IJJA4/2xOF2puAYqbaczB3elZDT0qHxn362EIoIkq7hrR43Xa8RisgI6/WPfvb2umbGsuvf7E37A==} cpu: [arm] @@ -9815,6 +10325,20 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm-musleabihf@4.14.3: + resolution: {integrity: sha512-ljcuiDI4V3ySuc7eSk4lQ9wU8J8r8KrOUvB2U+TtK0TiW6OFDmJ+DdIjjwZHIw9CNxzbmXY39wwpzYuFDwNXuw==} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.14.3: + resolution: {integrity: sha512-Eci2us9VTHm1eSyn5/eEpaC7eP/mp5n46gTRB3Aar3BgSvDQGJZuicyq6TsH4HngNBgVqC5sDYxOzTExSU+NjA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.8.0: resolution: {integrity: sha512-hBNCnqw3EVCkaPB0Oqd24bv8SklETptQWcJz06kb9OtiShn9jK1VuTgi7o4zPSt6rNGWQOTDEAccbk0OqJmS+g==} cpu: [arm64] @@ -9822,6 +10346,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-musl@4.14.3: + resolution: {integrity: sha512-UrBoMLCq4E92/LCqlh+blpqMz5h1tJttPIniwUgOFJyjWI1qrtrDhhpHPuFxULlUmjFHfloWdixtDhSxJt5iKw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.8.0: resolution: {integrity: sha512-Fw9ChYfJPdltvi9ALJ9wzdCdxGw4wtq4t1qY028b2O7GwB5qLNSGtqMsAel1lfWTZvf4b6/+4HKp0GlSYg0ahA==} cpu: [arm64] @@ -9829,6 +10360,20 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.14.3: + resolution: {integrity: sha512-5aRjvsS8q1nWN8AoRfrq5+9IflC3P1leMoy4r2WjXyFqf3qcqsxRCfxtZIV58tCxd+Yv7WELPcO9mY9aeQyAmw==} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.14.3: + resolution: {integrity: sha512-sk/Qh1j2/RJSX7FhEpJn8n0ndxy/uf0kI/9Zc4b1ELhqULVdTfN6HL31CDaTChiBAOgLcsJ1sgVZjWv8XNEsAQ==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.8.0: resolution: {integrity: sha512-BH5xIh7tOzS9yBi8dFrCTG8Z6iNIGWGltd3IpTSKp6+pNWWO6qy8eKoRxOtwFbMrid5NZaidLYN6rHh9aB8bEw==} cpu: [riscv64] @@ -9836,6 +10381,20 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.14.3: + resolution: {integrity: sha512-jOO/PEaDitOmY9TgkxF/TQIjXySQe5KVYB57H/8LRP/ux0ZoO8cSHCX17asMSv3ruwslXW/TLBcxyaUzGRHcqg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.14.3: + resolution: {integrity: sha512-8ybV4Xjy59xLMyWo3GCfEGqtKV5M5gCSrZlxkPGvEPCGDLNla7v48S662HSGwRd6/2cSneMQWiv+QzcttLrrOA==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.8.0: resolution: {integrity: sha512-PmvAj8k6EuWiyLbkNpd6BLv5XeYFpqWuRvRNRl80xVfpGXK/z6KYXmAgbI4ogz7uFiJxCnYcqyvZVD0dgFog7Q==} cpu: [x64] @@ -9843,6 +10402,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-x64-musl@4.14.3: + resolution: {integrity: sha512-s+xf1I46trOY10OqAtZ5Rm6lzHre/UiLA1J2uOhCFXWkbZrJRkYBPO6FhvGfHmdtQ3Bx793MNa7LvoWFAm93bg==} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + /@rollup/rollup-linux-x64-musl@4.8.0: resolution: {integrity: sha512-mdxnlW2QUzXwY+95TuxZ+CurrhgrPAMveDWI97EQlA9bfhR8tw3Pt7SUlc/eSlCNxlWktpmT//EAA8UfCHOyXg==} cpu: [x64] @@ -9850,6 +10416,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.14.3: + resolution: {integrity: sha512-+4h2WrGOYsOumDQ5S2sYNyhVfrue+9tc9XcLWLh+Kw3UOxAvrfOrSMFon60KspcDdytkNDh7K2Vs6eMaYImAZg==} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.8.0: resolution: {integrity: sha512-ge7saUz38aesM4MA7Cad8CHo0Fyd1+qTaqoIo+Jtk+ipBi4ATSrHWov9/S4u5pbEQmLjgUjB7BJt+MiKG2kzmA==} cpu: [arm64] @@ -9857,6 +10430,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.14.3: + resolution: {integrity: sha512-T1l7y/bCeL/kUwh9OD4PQT4aM7Bq43vX05htPJJ46RTI4r5KNt6qJRzAfNfM+OYMNEVBWQzR2Gyk+FXLZfogGw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.8.0: resolution: {integrity: sha512-p9E3PZlzurhlsN5h9g7zIP1DnqKXJe8ZUkFwAazqSvHuWfihlIISPxG9hCHCoA+dOOspL/c7ty1eeEVFTE0UTw==} cpu: [ia32] @@ -9864,6 +10444,13 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-x64-msvc@4.14.3: + resolution: {integrity: sha512-/BypzV0H1y1HzgYpxqRaXGBRqfodgoBBCcsrujT6QRcakDQdfU+Lq9PENPh5jB4I44YWq+0C2eHsHya+nZY1sA==} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.8.0: resolution: {integrity: sha512-kb4/auKXkYKqlUYTE8s40FcJIj5soOyRLHKd4ugR0dCq0G2EfcF54eYcfQiGkHzjidZ40daB4ulsFdtqNKZtBg==} cpu: [x64] @@ -10080,10 +10667,10 @@ packages: uuid-browser: 3.1.0 dev: true - /@storybook/addon-actions@8.0.4: - resolution: {integrity: sha512-EyCWo+8T11/TJGYNL/AXtW4yaB+q1v2E9mixbumryCLxpTl2NtaeGZ4e0dlwfIMuw/7RWgHk2uIypcIPR/UANQ==} + /@storybook/addon-actions@8.0.5: + resolution: {integrity: sha512-l1UBvD61DRcfuBTkdqMp2K+60M1QpvhNpYxMmJ/JEYQjzWTg/s9gLmX8eSjgA5bi0sjjJ5i1ddr9d8nHrmwfPA==} dependencies: - '@storybook/core-events': 8.0.4 + '@storybook/core-events': 8.0.5 '@storybook/global': 5.0.0 '@types/uuid': 9.0.7 dequal: 2.0.3 @@ -10119,8 +10706,8 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/addon-backgrounds@8.0.4: - resolution: {integrity: sha512-fef0KD2GhJx2zpicOf8iL7k2LiIsNzEbGaQpIIjoy4DMqM1hIfNCt3DGTLH7LN5O8G+NVCLS1xmQg7RLvIVSCA==} + /@storybook/addon-backgrounds@8.0.5: + resolution: {integrity: sha512-XKSnJm6bGVkG9hv6VSK+djz7ZbxEHwVpsSEUKtOEt/ScLFxU0mlsH8dd5aMy9/MAYuB93Y+bJ2SR5kyOjmi1zQ==} dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 @@ -10195,10 +10782,10 @@ packages: - webpack-command dev: true - /@storybook/addon-controls@8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-K5EYBTsUOTJlvIdA7p6Xj31wnV+RbZAkk56UKQvA7nJD7oDuLOq3E9u46F/uZD1vxddd9zFhf2iONfMe3KTTwQ==} + /@storybook/addon-controls@8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iUL89OJQse9DlZkwY8jhyl12L/qziUkwbdSgQJxRIEceW6vrHAmc5VGwneS7N3pBuiOIKQQmMhAQ660JXHM7eQ==} dependencies: - '@storybook/blocks': 8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -10209,10 +10796,10 @@ packages: - supports-color dev: true - /@storybook/addon-controls@8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-K5EYBTsUOTJlvIdA7p6Xj31wnV+RbZAkk56UKQvA7nJD7oDuLOq3E9u46F/uZD1vxddd9zFhf2iONfMe3KTTwQ==} + /@storybook/addon-controls@8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iUL89OJQse9DlZkwY8jhyl12L/qziUkwbdSgQJxRIEceW6vrHAmc5VGwneS7N3pBuiOIKQQmMhAQ660JXHM7eQ==} dependencies: - '@storybook/blocks': 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + '@storybook/blocks': 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -10278,22 +10865,22 @@ packages: - webpack-command dev: true - /@storybook/addon-docs@8.0.4: - resolution: {integrity: sha512-m0Y7qGAMnNPLEOEgzW/SBm8GX0xabJBaRN+aYijO6UKTln7F6oXXVve+xPC0Y4s6Gc9HZFdJY8WXZr1YSGEUVA==} + /@storybook/addon-docs@8.0.5: + resolution: {integrity: sha512-FMlJLPjyNpqY68/9SJH7350/ncySKMGBQQAQnPrMtGVBld8eeOo3DB+GSffOSbmitomq+t16HOprvPSekTMlPw==} dependencies: '@babel/core': 7.23.9 '@mdx-js/react': 3.0.1(@types/react@18.2.60)(react@18.2.0) - '@storybook/blocks': 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) - '@storybook/client-logger': 8.0.4 - '@storybook/components': 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-plugin': 8.0.4 - '@storybook/csf-tools': 8.0.4 + '@storybook/blocks': 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + '@storybook/client-logger': 8.0.5 + '@storybook/components': 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-plugin': 8.0.5 + '@storybook/csf-tools': 8.0.5 '@storybook/global': 5.0.0 - '@storybook/node-logger': 8.0.4 - '@storybook/preview-api': 8.0.4 - '@storybook/react-dom-shim': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/node-logger': 8.0.5 + '@storybook/preview-api': 8.0.5 + '@storybook/react-dom-shim': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 '@types/react': 18.2.60 fs-extra: 11.2.0 react: 18.2.0 @@ -10393,22 +10980,22 @@ packages: - webpack-command dev: true - /@storybook/addon-essentials@8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-mUIqhAkSz6Qv7nRqAAyCqMLiXBWVsY/8qN7HEIoaMQgdFq38KW3rYwNdzd2JLeXNWP1bBXwfvfcFe7/eqhYJFA==} - dependencies: - '@storybook/addon-actions': 8.0.4 - '@storybook/addon-backgrounds': 8.0.4 - '@storybook/addon-controls': 8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 8.0.4 - '@storybook/addon-highlight': 8.0.4 - '@storybook/addon-measure': 8.0.4 - '@storybook/addon-outline': 8.0.4 - '@storybook/addon-toolbars': 8.0.4 - '@storybook/addon-viewport': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 8.0.4 - '@storybook/preview-api': 8.0.4 + /@storybook/addon-essentials@8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1yjwf9ibKn2rVqv+fqxACoIjsaUsimSEx8QwjIl2krDNhMULXzFeVubTQ09gXSVEnHUR1nKX3X9qOXJQ2bOFlQ==} + dependencies: + '@storybook/addon-actions': 8.0.5 + '@storybook/addon-backgrounds': 8.0.5 + '@storybook/addon-controls': 8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 8.0.5 + '@storybook/addon-highlight': 8.0.5 + '@storybook/addon-measure': 8.0.5 + '@storybook/addon-outline': 8.0.5 + '@storybook/addon-toolbars': 8.0.5 + '@storybook/addon-viewport': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/manager-api': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 8.0.5 + '@storybook/preview-api': 8.0.5 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -10418,22 +11005,22 @@ packages: - supports-color dev: true - /@storybook/addon-essentials@8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-mUIqhAkSz6Qv7nRqAAyCqMLiXBWVsY/8qN7HEIoaMQgdFq38KW3rYwNdzd2JLeXNWP1bBXwfvfcFe7/eqhYJFA==} + /@storybook/addon-essentials@8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1yjwf9ibKn2rVqv+fqxACoIjsaUsimSEx8QwjIl2krDNhMULXzFeVubTQ09gXSVEnHUR1nKX3X9qOXJQ2bOFlQ==} dependencies: - '@storybook/addon-actions': 8.0.4 - '@storybook/addon-backgrounds': 8.0.4 - '@storybook/addon-controls': 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) - '@storybook/addon-docs': 8.0.4 - '@storybook/addon-highlight': 8.0.4 - '@storybook/addon-measure': 8.0.4 - '@storybook/addon-outline': 8.0.4 - '@storybook/addon-toolbars': 8.0.4 - '@storybook/addon-viewport': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 8.0.4 - '@storybook/preview-api': 8.0.4 + '@storybook/addon-actions': 8.0.5 + '@storybook/addon-backgrounds': 8.0.5 + '@storybook/addon-controls': 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + '@storybook/addon-docs': 8.0.5 + '@storybook/addon-highlight': 8.0.5 + '@storybook/addon-measure': 8.0.5 + '@storybook/addon-outline': 8.0.5 + '@storybook/addon-toolbars': 8.0.5 + '@storybook/addon-viewport': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/manager-api': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 8.0.5 + '@storybook/preview-api': 8.0.5 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -10443,19 +11030,19 @@ packages: - supports-color dev: true - /@storybook/addon-highlight@8.0.4: - resolution: {integrity: sha512-tnEiVaJlXL07v8JBox+QtRPVruoy0YovOTAOWY7fKDiKzF1I9wLaJjQF3wOsvwspHTHu00OZw2gsazgXiH4wLQ==} + /@storybook/addon-highlight@8.0.5: + resolution: {integrity: sha512-z4Aad6Dcf9gQIEPkR8WVIdRj/5RARI6SeIX3JRJoZ4l6fu7AvTZKDWPRpwLXSpEQqdeOb7l7FrZHISmXdrPoiQ==} dependencies: '@storybook/global': 5.0.0 dev: true - /@storybook/addon-interactions@8.0.4(vitest@1.3.1): - resolution: {integrity: sha512-wTEOnVUbF1lNJxxocr5IKmpgnmwyO8YsQf6Baw3tTWCHAa/MaWWQYq1OA6CfFfmVGGRjv/w2GTuf1Vyq99O7mg==} + /@storybook/addon-interactions@8.0.5(vitest@1.3.1): + resolution: {integrity: sha512-o0wcWAeQR8pN5T1l87i+CH/xSp70/0uyQAmJ9xPxg/60dHbDgjTvn/pwg+hhKu+olrFVpt85yQPzQ4pNhAFlUw==} dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.0.4 - '@storybook/test': 8.0.4(vitest@1.3.1) - '@storybook/types': 8.0.4 + '@storybook/instrumenter': 8.0.5 + '@storybook/test': 8.0.5(vitest@1.3.1) + '@storybook/types': 8.0.5 polished: 4.2.2 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -10493,8 +11080,8 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-links@8.0.4(react@18.2.0): - resolution: {integrity: sha512-SzE+JPZ4mxjprZqbLHf8Hx7UA2fXfMajFjeY9c3JREKQrDoOF1e4r28nAoVsZYF+frWxQB51U4+hOqjlx06wEA==} + /@storybook/addon-links@8.0.5(react@18.2.0): + resolution: {integrity: sha512-B5EAs0+LxgYH59GSVVAfgW8rAzGUmzdAAR3XJKbTXp3/d9e27uXwpLVYhi/VQHKLIsshDQRbc0s109APHs/SjQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 peerDependenciesMeta: @@ -10507,10 +11094,10 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-mdx-gfm@8.0.4: - resolution: {integrity: sha512-YVRZ3q8RUzddAoRAsrTP5ZRgez+MhrW1izsuBrp+cbSEt/4PfVZjj9LeztzahBxiHlGjs5egP7TonMxqv6pCmA==} + /@storybook/addon-mdx-gfm@8.0.5: + resolution: {integrity: sha512-YbKbCJRITN60lptQGGmiQjdLJjyyIoy4kqEuV2p7gIqSCwa9djgI2+aQ1DzDEo8qLDY/DGdZUQVKlZ8TfVuJcA==} dependencies: - '@storybook/node-logger': 8.0.4 + '@storybook/node-logger': 8.0.5 remark-gfm: 4.0.0 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -10540,8 +11127,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/addon-measure@8.0.4: - resolution: {integrity: sha512-GZYKo2ss5Br+dfHinoK3bgTaS90z3oKKDkhv6lrFfjjU1mDYzzMJpxajQhd3apCYxHLr3MbUqMQibWu2T/q2DQ==} + /@storybook/addon-measure@8.0.5: + resolution: {integrity: sha512-B5c33aREHbTA+An7Q5Q1yEXUB0ETE5yPnGgsXuxVl6LyYqyqjai1qE48vcmkA7S+vt5MR6Sf9Lmy3UL+kkyYzQ==} dependencies: '@storybook/global': 5.0.0 tiny-invariant: 1.3.1 @@ -10572,8 +11159,8 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/addon-outline@8.0.4: - resolution: {integrity: sha512-6J9ezNDUxdA3rMCh8sUEQbUwAgkrr+M9QdiFr1t+gKrk5FKP5gwubw1sr3sF1IRB9+s/AjljcOtJAVulSfq05w==} + /@storybook/addon-outline@8.0.5: + resolution: {integrity: sha512-ouQ4IOBw7AAyukkaQwNe2MRTpDbCv+j4z76BRE7qvu9PckifsWsm00pTQwvbNdjiogS8c3EPMV5aBGIPoK/zAQ==} dependencies: '@storybook/global': 5.0.0 ts-dedent: 2.2.0 @@ -10601,8 +11188,8 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/addon-toolbars@8.0.4: - resolution: {integrity: sha512-yodRXDYog/90cNEy84kg6s7L+nxQ+egBjHBTsav1L4cJmQI/uAX8yISHHiX4I5ppNc120Jz3UdHdRxXRlo345g==} + /@storybook/addon-toolbars@8.0.5: + resolution: {integrity: sha512-1QrvHtsQI1RNzDrkTMUFaEzZRRKHYrkj/rYpf6B2QyFvaZ6XY4urxSrmssLENuPsoDF4ABU2j6j4BAUgWjIe4A==} dev: true /@storybook/addon-viewport@6.5.16(react-dom@18.2.0)(react@18.2.0): @@ -10631,8 +11218,8 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/addon-viewport@8.0.4: - resolution: {integrity: sha512-E5IKOsxKcOtlOYc0cWgzVJohQB+dVBWwaJcg5FlslToknfVB9M0kfQ/SQcp3KB0C9/cOmJK1Jm388InW+EjrBQ==} + /@storybook/addon-viewport@8.0.5: + resolution: {integrity: sha512-Y2sTsNeQctfLBPQYuOjMGSQY4lUycZRZblToU0q6siJ030QjgpuEMcu1yDt654T6jnp/s4VwRS6yaZHnqZ97Mw==} dependencies: memoizerific: 1.11.3 dev: true @@ -10744,8 +11331,8 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/blocks@8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9dRXk9zLJVPOmEWsSXm10XUmIfvS/tVgeBgFXNbusFQZXPpexIPNdRgB004pDGg9RvlY78ykpnd3yP143zaXMg==} + /@storybook/blocks@8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zfcwJ0yE5HM28BxZeNU4SYF8zxq2PEqLP1aWCdRuZT9k8lgnBwAKzlvt50LtPzOfGtKuGnvIEriELx/i+Qh4Sw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -10755,18 +11342,18 @@ packages: react-dom: optional: true dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/components': 8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/components': 8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 8.0.5 '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 8.0.4 + '@storybook/docs-tools': 8.0.5 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 8.0.4 - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/manager-api': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 8.0.5 + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 '@types/lodash': 4.14.201 color-convert: 2.0.1 dequal: 2.0.3 @@ -10787,8 +11374,8 @@ packages: - supports-color dev: true - /@storybook/blocks@8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9dRXk9zLJVPOmEWsSXm10XUmIfvS/tVgeBgFXNbusFQZXPpexIPNdRgB004pDGg9RvlY78ykpnd3yP143zaXMg==} + /@storybook/blocks@8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zfcwJ0yE5HM28BxZeNU4SYF8zxq2PEqLP1aWCdRuZT9k8lgnBwAKzlvt50LtPzOfGtKuGnvIEriELx/i+Qh4Sw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -10798,18 +11385,18 @@ packages: react-dom: optional: true dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/components': 8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) - '@storybook/core-events': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/components': 8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0) + '@storybook/core-events': 8.0.5 '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 8.0.4 + '@storybook/docs-tools': 8.0.5 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/preview-api': 8.0.4 - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/manager-api': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/preview-api': 8.0.5 + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 '@types/lodash': 4.14.201 color-convert: 2.0.1 dequal: 2.0.3 @@ -10830,18 +11417,18 @@ packages: - supports-color dev: true - /@storybook/builder-manager@8.0.4: - resolution: {integrity: sha512-BafYVxq77uuTmXdjYo5by42OyOrb6qcpWYKva3ntWK2ZhTaLJlwwqAOdahT1DVzi4VeUP6465YvsTCzIE8fuIw==} + /@storybook/builder-manager@8.0.5: + resolution: {integrity: sha512-63gIHfgdhpL3rcHkOcGm29PbIkgx2bLRxi2RYa0osGMtfBIePFXJh7nol+4KpaRkNR8RZg+N9omVGjyhLj7IWg==} dependencies: '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.0.4 - '@storybook/manager': 8.0.4 - '@storybook/node-logger': 8.0.4 + '@storybook/core-common': 8.0.5 + '@storybook/manager': 8.0.5 + '@storybook/node-logger': 8.0.5 '@types/ejs': 3.1.5 - '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.19.9) + '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.20.2) browser-assert: 1.2.1 ejs: 3.1.9 - esbuild: 0.19.9 + esbuild: 0.20.2 esbuild-plugin-alias: 0.2.1 express: 4.19.2 fs-extra: 11.2.0 @@ -10852,8 +11439,8 @@ packages: - supports-color dev: true - /@storybook/builder-vite@8.0.4(typescript@5.4.2)(vite@5.1.7): - resolution: {integrity: sha512-Whb001bGkoGQ6/byp9QTQJ4NO61Qa5bh1p5WEEMJ5wYvHm83b+B/IwwilUfU5mL9bJB/RjbwyKcSQqGP6AxMzA==} + /@storybook/builder-vite@8.0.5(typescript@5.4.2)(vite@5.2.9): + resolution: {integrity: sha512-tKNxobC9tlYyUAayxoiOOnoMbg4RxoAwPOpPLnQYUfHLw1ecp/g8sGD6tisyFONyOIv7uF9gbzWLUfMjn9F2sw==} peerDependencies: '@preact/preset-vite': '*' typescript: '>= 4.3.x' @@ -10867,15 +11454,15 @@ packages: vite-plugin-glimmerx: optional: true dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/core-events': 8.0.4 - '@storybook/csf-plugin': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/preview': 8.0.4 - '@storybook/preview-api': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/core-events': 8.0.5 + '@storybook/csf-plugin': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/preview': 8.0.5 + '@storybook/preview-api': 8.0.5 + '@storybook/types': 8.0.5 '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 es-module-lexer: 0.9.3 @@ -10885,7 +11472,7 @@ packages: magic-string: 0.30.5 ts-dedent: 2.2.0 typescript: 5.4.2 - vite: 5.1.7(lightningcss@1.24.0) + vite: 5.2.9(lightningcss@1.24.0) transitivePeerDependencies: - encoding - supports-color @@ -11022,22 +11609,22 @@ packages: - webpack-command dev: true - /@storybook/builder-webpack5@8.0.4(esbuild@0.19.9)(typescript@5.4.2): - resolution: {integrity: sha512-FKXIGfDjZJ7KCq6w8e3NEp2+KATsh4U24UV/K8cFjCrRIU++jDpO274D9ozdpzEmhvHOfxK/QlgalqS4G599Aw==} + /@storybook/builder-webpack5@8.0.5(esbuild@0.20.2)(typescript@5.4.2): + resolution: {integrity: sha512-tt7ZrRscsg+AJayOLXYCsDleNzNy0UHjfs7FnDzh331Ulyt2WeGkcELTZmHnBg5WwVBgjGTYmxYKSgGXF0hKXQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/core-events': 8.0.4 - '@storybook/core-webpack': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/preview': 8.0.4 - '@storybook/preview-api': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/core-events': 8.0.5 + '@storybook/core-webpack': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/preview': 8.0.5 + '@storybook/preview-api': 8.0.5 '@types/node': 18.19.3 '@types/semver': 7.5.5 browser-assert: 1.2.1 @@ -11055,14 +11642,14 @@ packages: process: 0.11.10 semver: 7.6.0 style-loader: 3.3.1(webpack@5.90.1) - terser-webpack-plugin: 5.3.6(esbuild@0.19.9)(webpack@5.90.1) + terser-webpack-plugin: 5.3.6(esbuild@0.20.2)(webpack@5.90.1) ts-dedent: 2.2.0 typescript: 5.4.2 url: 0.11.3 util: 0.12.5 util-deprecate: 1.0.2 - webpack: 5.90.1(esbuild@0.19.9) - webpack-dev-middleware: 6.1.2(webpack@5.90.1) + webpack: 5.90.1(esbuild@0.20.2) + webpack-dev-middleware: 6.1.3(webpack@5.90.1) webpack-hot-middleware: 2.25.4 webpack-virtual-modules: 0.5.0 transitivePeerDependencies: @@ -11113,30 +11700,30 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/channels@8.0.4: - resolution: {integrity: sha512-haKV+8RbiSzLjicowUfc7h2fTClZHX/nz9SRUecf4IEZUEu2T78OgM/TzqZvL7rA3+/fKqp5iI+3PN3OA75Sdg==} + /@storybook/channels@8.0.5: + resolution: {integrity: sha512-UWzjt4STzBgg28Q6FxqyJWwXLWYM6oSz9gGKMUJbn2vRAlEJaG3XwvpT39YFVDUIuiFSHguV5cisXY5Be4nOZw==} dependencies: - '@storybook/client-logger': 8.0.4 - '@storybook/core-events': 8.0.4 + '@storybook/client-logger': 8.0.5 + '@storybook/core-events': 8.0.5 '@storybook/global': 5.0.0 telejson: 7.2.0 tiny-invariant: 1.3.3 - /@storybook/cli@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-8jb8hrulRMfyFyNXFEapxHBS51xb42ZZGfVAacXIsHOJtjOd5CnOoSUYn0aOkVl19VF/snoa9JOW7BaW/50Eqw==} + /@storybook/cli@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6t0d2ILXonC7bsq6Dx6tFTls2a/JeOR7lr3UgoVaiFu5l1M5pOB6uI9JG14F+UmsCifXGJdvxR38CBwVSKtg/Q==} hasBin: true dependencies: '@babel/core': 7.23.9 '@babel/types': 7.23.9 '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/core-events': 8.0.4 - '@storybook/core-server': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/csf-tools': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/telemetry': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/codemod': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/core-events': 8.0.5 + '@storybook/core-server': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/csf-tools': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/telemetry': 8.0.5 + '@storybook/types': 8.0.5 '@types/semver': 7.5.5 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 @@ -11160,7 +11747,7 @@ packages: semver: 7.6.0 strip-json-comments: 3.1.1 tempy: 1.0.1 - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 ts-dedent: 2.2.0 transitivePeerDependencies: - '@babel/preset-env' @@ -11216,21 +11803,21 @@ packages: global: 4.4.0 dev: true - /@storybook/client-logger@8.0.4: - resolution: {integrity: sha512-2SeEg3PT/d0l/+EAVtyj9hmMLTyTPp+bRBSzxYouBjtJPM1jrdKpFagj1o3uBRovwWm9SIVX6/ZsoRC33PEV1g==} + /@storybook/client-logger@8.0.5: + resolution: {integrity: sha512-6D7zvPPnLuTVlBNpZSdzEbk5xfWKhEG0gejtPnhjG9R5YzC/dFckdUI0gtvwGWUVMWhL3H/0gjRjhKujUMRY1Q==} dependencies: '@storybook/global': 5.0.0 - /@storybook/codemod@8.0.4: - resolution: {integrity: sha512-bysG46P4wjlR3RCpr/ntNAUaupWpzLcWYWti3iNtIyZ/iPrX6KtXoA9QCIwJZrlv41us6F+KEZbzLzkgWbymtQ==} + /@storybook/codemod@8.0.5: + resolution: {integrity: sha512-1ub3RRT+/ziJUdS2rz5UkQWu6teGULxHDMDRFhTrGYHVOgkc/lLnFuF0rgrLxsFdTmKIBTKN2xFfSE7z9Palsg==} dependencies: '@babel/core': 7.23.9 '@babel/preset-env': 7.23.3(@babel/core@7.23.9) '@babel/types': 7.23.9 '@storybook/csf': 0.1.2 - '@storybook/csf-tools': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/csf-tools': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/types': 8.0.5 '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 globby: 11.1.0 @@ -11279,19 +11866,19 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/components@8.0.4(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-i5ngl5GTOLB9nZ1cmpxTjtWct5IuH9UxzFC73a0jHMkCwN26w16IqufRVDaoQv0AvZN4pd4fNM2in/XVHA10dw==} + /@storybook/components@8.0.5(@types/react@18.2.27)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-trBWV9gc4YhFhMKUevkBY9Mdk9WmYmthpBfmF0Y2vgrJQidUqkkQqfAMQThSJ0KLpV8k3fB27s5d93rgrr50Rg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.27)(react@18.2.0) - '@storybook/client-logger': 8.0.4 + '@storybook/client-logger': 8.0.5 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -11300,19 +11887,19 @@ packages: - '@types/react' dev: true - /@storybook/components@8.0.4(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-i5ngl5GTOLB9nZ1cmpxTjtWct5IuH9UxzFC73a0jHMkCwN26w16IqufRVDaoQv0AvZN4pd4fNM2in/XVHA10dw==} + /@storybook/components@8.0.5(@types/react@18.2.60)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-trBWV9gc4YhFhMKUevkBY9Mdk9WmYmthpBfmF0Y2vgrJQidUqkkQqfAMQThSJ0KLpV8k3fB27s5d93rgrr50Rg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.60)(react@18.2.0) - '@storybook/client-logger': 8.0.4 + '@storybook/client-logger': 8.0.5 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -11537,19 +12124,19 @@ packages: - webpack-command dev: true - /@storybook/core-common@8.0.4: - resolution: {integrity: sha512-dzFRLm5FxUa2EFE6Rx/KLDTJNLBIp1S2/+Q1K+rG8V+CLvewCc2Cd486rStZqSXEKI7vDnsRs/aMla+N0X/++Q==} + /@storybook/core-common@8.0.5: + resolution: {integrity: sha512-WCu2ZPMq1FuO33tYuCPb9joWaZGtJgfKvXXVGLYYg6LufpbWOI+IB7OWmHahtEdKuaNoIr3CEf1p3zm12NNiYA==} dependencies: - '@storybook/core-events': 8.0.4 - '@storybook/csf-tools': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/core-events': 8.0.5 + '@storybook/csf-tools': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/types': 8.0.5 '@yarnpkg/fslib': 2.10.3 '@yarnpkg/libzip': 2.3.0 chalk: 4.1.2 cross-spawn: 7.0.3 - esbuild: 0.19.9 - esbuild-register: 3.5.0(esbuild@0.19.9) + esbuild: 0.20.2 + esbuild-register: 3.5.0(esbuild@0.20.2) execa: 5.1.1 file-system-cache: 2.3.0 find-cache-dir: 3.3.2 @@ -11585,8 +12172,8 @@ packages: core-js: 3.33.2 dev: true - /@storybook/core-events@8.0.4: - resolution: {integrity: sha512-1FgLacIGi9i6/fyxw7ZJDC621RK47IMaA3keH4lc11ASRzCSwJ4YOrXjBFjfPc79EF2BuX72DDJNbhj6ynfF3g==} + /@storybook/core-events@8.0.5: + resolution: {integrity: sha512-26c0m7P7qt9zUKcD1noWLPJmZ+iS6MKXNngUgNBSxTtG20NFV3nxD0/tx9FzNfDVZDF6cHINkWj+FVBAaVuBVQ==} dependencies: ts-dedent: 2.2.0 @@ -11652,7 +12239,7 @@ packages: ts-dedent: 2.2.0 typescript: 5.2.2 util-deprecate: 1.0.2 - watchpack: 2.4.1 + watchpack: 2.4.0 webpack: 4.47.0 ws: 8.14.2 x-default-browser: 0.4.0 @@ -11669,26 +12256,26 @@ packages: - webpack-command dev: true - /@storybook/core-server@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/633Pp7LPcDWXkPLSW+W9VUYUbVkdVBG6peXjuzogV0vzdM0dM9af/T0uV2NQxUhzoy6/7QdSDljE+eEOBs2Lw==} + /@storybook/core-server@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aQGHRQZF4jbMqBT0sGptql+S3hiNksi4n6pPJPxGf6TE8TyRA1x7USjmvXHwv59vpmMm9HaRpGWzWCo4SqwNqw==} dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.23.9 '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.0.4 - '@storybook/channels': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/core-events': 8.0.4 + '@storybook/builder-manager': 8.0.5 + '@storybook/channels': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/core-events': 8.0.5 '@storybook/csf': 0.1.2 - '@storybook/csf-tools': 8.0.4 + '@storybook/csf-tools': 8.0.5 '@storybook/docs-mdx': 3.0.0 '@storybook/global': 5.0.0 - '@storybook/manager': 8.0.4 - '@storybook/manager-api': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/node-logger': 8.0.4 - '@storybook/preview-api': 8.0.4 - '@storybook/telemetry': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/manager': 8.0.5 + '@storybook/manager-api': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/node-logger': 8.0.5 + '@storybook/preview-api': 8.0.5 + '@storybook/telemetry': 8.0.5 + '@storybook/types': 8.0.5 '@types/detect-port': 1.3.5 '@types/node': 18.19.3 '@types/pretty-hrtime': 1.0.3 @@ -11713,7 +12300,7 @@ packages: ts-dedent: 2.2.0 util: 0.12.5 util-deprecate: 1.0.2 - watchpack: 2.4.1 + watchpack: 2.4.0 ws: 8.14.2 transitivePeerDependencies: - bufferutil @@ -11724,12 +12311,12 @@ packages: - utf-8-validate dev: true - /@storybook/core-webpack@8.0.4: - resolution: {integrity: sha512-sECeoJtT6iFWzgZaQbS1TEZvBrXIT4qb9fa0x2/I5YhCTPnprCNL1yyN90hFQTpdLco5vfQ86YnpzMRntODn7A==} + /@storybook/core-webpack@8.0.5: + resolution: {integrity: sha512-xGjOgMFPEiQeofXyUM1rlnpqSJ3FVcuPkrbh8rDLC8mTzGeEqqhNH5hluywk1H8UqYlaNrVhPi6/iGWhRUvlgw==} dependencies: - '@storybook/core-common': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/core-common': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/types': 8.0.5 '@types/node': 18.19.3 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -11775,10 +12362,10 @@ packages: - webpack-command dev: true - /@storybook/csf-plugin@8.0.4: - resolution: {integrity: sha512-pEgctWuS/qeKMFZJJUM2JuKwjKBt27ye+216ft7xhNqpsrmCgumJYrkU/ii2CsFJU/qr5Fu9EYw+N+vof1OalQ==} + /@storybook/csf-plugin@8.0.5: + resolution: {integrity: sha512-R6VjQl+I9k4oc3OfOHOFzz5T20WROHOZ5/zkkFKM/1YUa6QNpMcuStOtr/qcAx+QizmQqmxgJwTFapFBP5yWjg==} dependencies: - '@storybook/csf-tools': 8.0.4 + '@storybook/csf-tools': 8.0.5 unplugin: 1.5.1 transitivePeerDependencies: - supports-color @@ -11810,15 +12397,15 @@ packages: - supports-color dev: true - /@storybook/csf-tools@8.0.4: - resolution: {integrity: sha512-dMSZxWnXBhmXGOZZOAJ4DKZRCYdA0HaqqZ4/eF9MLLsI+qvW4EklcpjVY6bsIzACgubRWtRZkTpxTnjExi/N1A==} + /@storybook/csf-tools@8.0.5: + resolution: {integrity: sha512-fW2hAO57ayq7eHjpS5jXy/AKm3oZxApngd9QU/bC800EyTWENwLPxFnHLAE86N57Dc3bcE4PTFCyqpxzE4Uc7g==} dependencies: '@babel/generator': 7.23.6 '@babel/parser': 7.23.9 '@babel/traverse': 7.23.9 '@babel/types': 7.23.9 '@storybook/csf': 0.1.2 - '@storybook/types': 8.0.4 + '@storybook/types': 8.0.5 fs-extra: 11.2.0 recast: 0.23.6 ts-dedent: 2.2.0 @@ -11863,12 +12450,12 @@ packages: - supports-color dev: true - /@storybook/docs-tools@8.0.4: - resolution: {integrity: sha512-PONfG8j/AOHi79NbEkneFRZIscrShbA0sgA+62zeejH4r9+fuIkIKtLnKcAxvr8Bm6uo9aSQbISJZUcBG42WhQ==} + /@storybook/docs-tools@8.0.5: + resolution: {integrity: sha512-IzQMlsumiBgHAh5TTZTinNcedU98l0S0hczbTgjXQWgTp3//RHO36LYowAeFrB6V9SACYs/Q47iB15K4b2dqUg==} dependencies: - '@storybook/core-common': 8.0.4 - '@storybook/preview-api': 8.0.4 - '@storybook/types': 8.0.4 + '@storybook/core-common': 8.0.5 + '@storybook/preview-api': 8.0.5 + '@storybook/types': 8.0.5 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 @@ -11892,29 +12479,29 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/instrumenter@8.0.4: - resolution: {integrity: sha512-lkHv1na12oMTZvuDbzufgqrtFlV1XqdXrAAg7YXZOia/oMz6Z/XMldEqwLPUCLGVodbFJofrpE67Wtw8dNTDQg==} + /@storybook/instrumenter@8.0.5: + resolution: {integrity: sha512-ccGFGSquIPZBcf3dP+I5kwSblAOlQNH7+4vunYJtUrlXN+VROS9LAf87W/btwxQVI1Zj17BUH9CoBrDxWbJ2VA==} dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/core-events': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/core-events': 8.0.5 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.4 + '@storybook/preview-api': 8.0.5 '@vitest/utils': 1.3.1 util: 0.12.5 - /@storybook/manager-api@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-TudiRmWlsi8kdjwqW0DDLen76Zp4Sci/AnvTbZvZOWe8C2mruxcr6aaGwuIug6y+uxIyXDvURF6Cek5Twz4isg==} + /@storybook/manager-api@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2Q+DI9XU1U4EBrihnyfo+kuRK7T3Ce2eSlWEHHkTZ3OYSf+EhFxLUA6AOfMoA1B0nzNEr6SUkW8DBvMrtdTQMA==} dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/core-events': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/core-events': 8.0.5 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.2.0)(react@18.2.0) - '@storybook/router': 8.0.4 - '@storybook/theming': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/router': 8.0.5 + '@storybook/theming': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 @@ -12041,8 +12628,8 @@ packages: - webpack-command dev: true - /@storybook/manager@8.0.4: - resolution: {integrity: sha512-M5IofDSxbIQIdAglxUtZOGKjZ1EAq1Mdbh4UolVsF1PKF6dAvBQJLVW6TiLjEbmPBtqgeYKMgrmmYiFNqVcdBQ==} + /@storybook/manager@8.0.5: + resolution: {integrity: sha512-eJtf2SaAzOmRV03zn/pFRTqBua8/qy+VDtgaaCFmAyrjsUHO/bcHpbu9vnwP8a+C8ojJnthooi3yz755UTDYYg==} dev: true /@storybook/mdx1-csf@0.0.1(@babel/core@7.23.9): @@ -12084,8 +12671,8 @@ packages: pretty-hrtime: 1.0.3 dev: true - /@storybook/node-logger@8.0.4: - resolution: {integrity: sha512-cALLHuX53vLQsoJamGRlquh2pfhPq9copXou2JTmFT6mrCcipo77SzhBDfeeuhaGv6vUWPfmGjPBEHXWGPe4+g==} + /@storybook/node-logger@8.0.5: + resolution: {integrity: sha512-ssT8YCcCqgc89ee+EeExCxcOpueOsU05iek2roR+NCZnoCL1DmzcUp8H9t0utLaK/ngPV8zatlzSDVgKTHSIJw==} dev: true /@storybook/postinstall@6.5.16: @@ -12094,8 +12681,8 @@ packages: core-js: 3.33.2 dev: true - /@storybook/preset-react-webpack@8.0.4(esbuild@0.19.9)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): - resolution: {integrity: sha512-XldgoZJOXNbZLGhvP6FqVeRnXigEZXV88uhEveREH4zRceYxXUmiCjFUnFy5aXaYZLcv09GHpqTPCqRoOZ+upg==} + /@storybook/preset-react-webpack@8.0.5(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): + resolution: {integrity: sha512-+V4eEtbsaDcSgRFP6/8ZAUcmyEyF2o6iBVZ72prs2GO4rInrYFMUZZRIXRSvH92x8BurJck2ap9EGjFt08o0Ag==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12105,10 +12692,10 @@ packages: typescript: optional: true dependencies: - '@storybook/core-webpack': 8.0.4 - '@storybook/docs-tools': 8.0.4 - '@storybook/node-logger': 8.0.4 - '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/core-webpack': 8.0.5 + '@storybook/docs-tools': 8.0.5 + '@storybook/node-logger': 8.0.5 + '@storybook/react': 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.2)(webpack@5.90.1) '@types/node': 18.19.3 '@types/semver': 7.5.5 @@ -12122,7 +12709,7 @@ packages: semver: 7.6.0 tsconfig-paths: 4.2.0 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) transitivePeerDependencies: - '@swc/core' - encoding @@ -12132,21 +12719,21 @@ packages: - webpack-cli dev: true - /@storybook/preview-api@8.0.4: - resolution: {integrity: sha512-uZCgZ/7BZkFTNudCBWx3YPFVdReMQSZJj9EfQVhQaPmfGORHGMvZMRsQXl0ONhPy7zDD4rVQxu5dSKWmIiYoWQ==} + /@storybook/preview-api@8.0.5: + resolution: {integrity: sha512-BSDVTR9/X6DHVA4rIhN6d/SB6PiaRdns8ky/TKTzwFEyO3NOASHe8051O+uNtXzgCtMUj/8imNrTdMTYgUm1LA==} dependencies: - '@storybook/channels': 8.0.4 - '@storybook/client-logger': 8.0.4 - '@storybook/core-events': 8.0.4 + '@storybook/channels': 8.0.5 + '@storybook/client-logger': 8.0.5 + '@storybook/core-events': 8.0.5 '@storybook/csf': 0.1.2 '@storybook/global': 5.0.0 - '@storybook/types': 8.0.4 + '@storybook/types': 8.0.5 '@types/qs': 6.9.10 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.11.2 - tiny-invariant: 1.3.3 + tiny-invariant: 1.3.1 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -12176,8 +12763,8 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview@8.0.4: - resolution: {integrity: sha512-dJa13bIxQBfa5ZsXAeL6X/oXI6b87Fy31pvpKPkW1o+7M6MC4OvwGQBqgAd7m8yn6NuIHxrdwjEupa7l7PGb6w==} + /@storybook/preview@8.0.5: + resolution: {integrity: sha512-D2uY0LTjkGbpNwJJeqtv1NieBTtvt0IEEKH+srMNXOOM+KascTYGbBlEPkYSf5bZdMft5c1GXglVIhJIqTZntg==} dev: true /@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@5.2.2)(webpack@5.90.1): @@ -12213,13 +12800,13 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.2) tslib: 2.6.2 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) transitivePeerDependencies: - supports-color dev: true - /@storybook/react-dom-shim@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-H8bci23e+G40WsdYPuPrhAjCeeXypXuAV6mTVvLHGKH+Yb+3wiB1weaXrot/TgzPbkDNybuhTI3Qm48FPLt0bw==} + /@storybook/react-dom-shim@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KIcLkCml5dIiVeChMyudz8Q/pZ/T86Y1LrHZvYD/t3iXH+HOOvg6KNsY6TZFM93Rqhk10AIEUNCgYzj2/QjddA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12228,19 +12815,19 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.1.7): - resolution: {integrity: sha512-SlAsLSDc9I1nhMbf0YgXCHaZbnjzDdv458xirmUj4aJhn45e8yhmODpkPYQ8nGn45VWYMyd0sC66lJNWRvI/FA==} + /@storybook/react-vite@8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2)(vite@5.2.9): + resolution: {integrity: sha512-VXxoyb3Zw5ReQwWoP64qMIy/iIS6B9PuLIEPDt7wM/5IMFljQozvNaarPQf0mNJxPkGT6zmiBn9WS06wPLPF0w==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^4.0.0 || ^5.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.1.7) - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) - '@storybook/builder-vite': 8.0.4(typescript@5.4.2)(vite@5.1.7) - '@storybook/node-logger': 8.0.4 - '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.4.2)(vite@5.2.9) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) + '@storybook/builder-vite': 8.0.5(typescript@5.4.2)(vite@5.2.9) + '@storybook/node-logger': 8.0.5 + '@storybook/react': 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) find-up: 5.0.0 magic-string: 0.30.5 react: 18.2.0 @@ -12248,7 +12835,7 @@ packages: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.8 tsconfig-paths: 4.2.0 - vite: 5.1.7(lightningcss@1.24.0) + vite: 5.2.9(lightningcss@1.24.0) transitivePeerDependencies: - '@preact/preset-vite' - encoding @@ -12258,8 +12845,8 @@ packages: - vite-plugin-glimmerx dev: true - /@storybook/react-webpack5@8.0.4(esbuild@0.19.9)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): - resolution: {integrity: sha512-HZzcIQLWR6pg28CRwNF9VnFWGTEFEnIAAGKbUAc7mMGysN9AgZgz618FZu0W0JmAUBtWwEJ+pYyLJCIOFoDE6w==} + /@storybook/react-webpack5@8.0.5(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): + resolution: {integrity: sha512-EFhCxt2oEH69glk5CXMipO/my/EzqF8c4uqriKyiTCQr7wPAFRkEJT3+HaRrjiOiuafwtvxfDQHgTC2fg1DNwA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12269,9 +12856,9 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack5': 8.0.4(esbuild@0.19.9)(typescript@5.4.2) - '@storybook/preset-react-webpack': 8.0.4(esbuild@0.19.9)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) - '@storybook/react': 8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/builder-webpack5': 8.0.5(esbuild@0.20.2)(typescript@5.4.2) + '@storybook/preset-react-webpack': 8.0.5(esbuild@0.20.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) + '@storybook/react': 8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2) '@types/node': 18.19.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -12378,8 +12965,8 @@ packages: - webpack-plugin-serve dev: true - /@storybook/react@8.0.4(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): - resolution: {integrity: sha512-p4wQSJIhG48UD2fZ6tFDT9zaqrVnvZxjV18+VjSi3dez/pDoEMJ3SWZWcmeDenKwvvk+SPdRH7k5mUHW1Rh0xg==} + /@storybook/react@8.0.5(react-dom@18.2.0)(react@18.2.0)(typescript@5.4.2): + resolution: {integrity: sha512-Vwq4xt8eSKE/PLPvunOFDlzBki6L3mP7LNVWCLkQba7vzuCOPjSZ0+95v/K8XQn3jVRXAMUnlPW1SKg21aKJdw==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12389,12 +12976,12 @@ packages: typescript: optional: true dependencies: - '@storybook/client-logger': 8.0.4 - '@storybook/docs-tools': 8.0.4 + '@storybook/client-logger': 8.0.5 + '@storybook/docs-tools': 8.0.5 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.4 - '@storybook/react-dom-shim': 8.0.4(react-dom@18.2.0)(react@18.2.0) - '@storybook/types': 8.0.4 + '@storybook/preview-api': 8.0.5 + '@storybook/react-dom-shim': 8.0.5(react-dom@18.2.0)(react@18.2.0) + '@storybook/types': 8.0.5 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 18.19.3 @@ -12448,10 +13035,10 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/router@8.0.4: - resolution: {integrity: sha512-hlR80QvmLBflAqMeGcgtDuSe6TJlzdizwEAkBLE1lDvFI6tvvEyAliCAXBpIDdOZTe0u/zeeJkOUXKSx33caoQ==} + /@storybook/router@8.0.5: + resolution: {integrity: sha512-1d4CqNJB5sA25HCd7jZ4eVqMsdlD4r4SuFA/eR6fas0lk7yjVCpG1zWfvSSk5tKoVcNLSptc/TYBiSr2rcGRvw==} dependencies: - '@storybook/client-logger': 8.0.4 + '@storybook/client-logger': 8.0.5 memoizerific: 1.11.3 qs: 6.11.2 dev: true @@ -12562,12 +13149,12 @@ packages: - webpack-command dev: true - /@storybook/telemetry@8.0.4: - resolution: {integrity: sha512-Q3ITY6J46R/TrrPRIU1fs3WNs69ExpTJZ9UlB8087qOUyV90Ex33SYk3i10xVWRczxCmyC1V58Xuht6nxz7mNQ==} + /@storybook/telemetry@8.0.5: + resolution: {integrity: sha512-KTt6wP78dn9hfsc0sR2CcFT/DWJgYqYuFBhc3NDgtT41ATLGgGniCQW9PtKLQc+FMofKejz1S+XXk0W322Pjxg==} dependencies: - '@storybook/client-logger': 8.0.4 - '@storybook/core-common': 8.0.4 - '@storybook/csf-tools': 8.0.4 + '@storybook/client-logger': 8.0.5 + '@storybook/core-common': 8.0.5 + '@storybook/csf-tools': 8.0.5 chalk: 4.1.2 detect-package-manager: 2.0.1 fetch-retry: 5.0.6 @@ -12578,13 +13165,13 @@ packages: - supports-color dev: true - /@storybook/test@8.0.4(vitest@1.3.1): - resolution: {integrity: sha512-/uvE8Rtu7tIcuyQBUzKq7uuDCsjmADI18BApLdwo/qthmN8ERDxRSz0Ngj2gvBMQFv99At8ESi/xh6oFGu3rWg==} + /@storybook/test@8.0.5(vitest@1.3.1): + resolution: {integrity: sha512-XpiRLsmZlkjoAGf3d7zcInByR25evYIzm3W4ST8+EPoI4Tcd/U+dGUQ9A6aNUuC6fJQ8Jh0M+EqNAZtcDT8lrA==} dependencies: - '@storybook/client-logger': 8.0.4 - '@storybook/core-events': 8.0.4 - '@storybook/instrumenter': 8.0.4 - '@storybook/preview-api': 8.0.4 + '@storybook/client-logger': 8.0.5 + '@storybook/core-events': 8.0.5 + '@storybook/instrumenter': 8.0.5 + '@storybook/preview-api': 8.0.5 '@testing-library/dom': 9.3.4 '@testing-library/jest-dom': 6.4.2(vitest@1.3.1) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) @@ -12627,8 +13214,8 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@storybook/theming@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-NxtTU2wMC0lj375ejoT3Npdcqwv6NeUpLaJl6EZCMXSR41ve9WG4suUNWQ63olhqKxirjzAz0IL7ggH7c3hPvA==} + /@storybook/theming@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Hy4hJaKg6UUyivkUM77nCHccv4/lO++ZG9F88qBFVPdBlCwMHHnUrR7Hgje5cCVAy0jK6LyYlD3cWO6nS9OR8w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12639,17 +13226,17 @@ packages: optional: true dependencies: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@storybook/client-logger': 8.0.4 + '@storybook/client-logger': 8.0.5 '@storybook/global': 5.0.0 memoizerific: 1.11.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/types@8.0.4: - resolution: {integrity: sha512-OO7QY+qZFCYkItDUBACtIV32p75O7sNziAiyS1V2Oxgo7Ln7fwZwr3mJcA1ruBed6ZcrW3c87k7Xs40T2zAWcg==} + /@storybook/types@8.0.5: + resolution: {integrity: sha512-lYXwYF9qooQhYJkg3HWr6PD/vnQK+iO8fSKS8jtntwgJUKJvTbGZKAhNnS8WzNEI9jIp5QXFsSA367NjIDPaeQ==} dependencies: - '@storybook/channels': 8.0.4 + '@storybook/channels': 8.0.5 '@types/express': 4.17.21 file-system-cache: 2.3.0 @@ -12683,6 +13270,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@swc/core-darwin-x64@1.3.96: @@ -12691,6 +13279,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm-gnueabihf@1.3.96: @@ -12699,6 +13288,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm64-gnu@1.3.96: @@ -12707,6 +13297,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-arm64-musl@1.3.96: @@ -12715,6 +13306,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-x64-gnu@1.3.96: @@ -12723,6 +13315,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-linux-x64-musl@1.3.96: @@ -12731,6 +13324,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@swc/core-win32-arm64-msvc@1.3.96: @@ -12739,6 +13333,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core-win32-ia32-msvc@1.3.96: @@ -12747,6 +13342,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core-win32-x64-msvc@1.3.96: @@ -12755,6 +13351,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@swc/core@1.3.96(@swc/helpers@0.5.3): @@ -12781,9 +13378,11 @@ packages: '@swc/core-win32-arm64-msvc': 1.3.96 '@swc/core-win32-ia32-msvc': 1.3.96 '@swc/core-win32-x64-msvc': 1.3.96 + dev: true /@swc/counter@0.1.2: resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + dev: true /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} @@ -12811,6 +13410,7 @@ packages: /@swc/types@0.1.5: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + dev: true /@szmarczak/http-timer@1.1.2: resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} @@ -12826,23 +13426,32 @@ packages: defer-to-connect: 2.0.1 dev: true - /@tanstack/history@1.15.13: - resolution: {integrity: sha512-ToaeMtK5S4YaxCywAlYexc7KPFN0esjyTZ4vXzJhXEWAkro9iHgh7m/4ozPJb7oTo65WkHWX0W9GjcZbInSD8w==} + /@tanstack/history@1.26.10: + resolution: {integrity: sha512-fHx8RQ3liEDhueIemUggBGmqYnK6vOxtxCduolW7r6ExBEQVwKdLEcaUobxp6BxcXLQ7z/qhXAptlOlYi4FFXg==} engines: {node: '>=12'} dev: false /@tanstack/query-core@5.24.1: resolution: {integrity: sha512-DZ6Nx9p7BhjkG50ayJ+MKPgff+lMeol7QYXkvuU5jr2ryW/4ok5eanaS9W5eooA4xN0A/GPHdLGOZGzArgf5Cg==} + dev: false /@tanstack/query-core@5.24.6: resolution: {integrity: sha512-xYhxiMUPh1JzamVK8VwwkBpIBXVYRyIBW9gjSN+/BB4kL1nS86gnRWeW8L+sacCj1RiyEsysJe3GSvtbIpHdWw==} dev: false + /@tanstack/query-core@5.29.0: + resolution: {integrity: sha512-WgPTRs58hm9CMzEr5jpISe8HXa3qKQ8CxewdYZeVnA54JrPY9B1CZiwsCoLpLkf0dGRZq+LcX5OiJb0bEsOFww==} + /@tanstack/query-devtools@5.24.0: resolution: {integrity: sha512-pThim455t69zrZaQKa7IRkEIK8UBTS+gHVAdNfhO72Xh4rWpMc63ovRje5/n6iw63+d6QiJzVadsJVdPoodSeQ==} + dev: false - /@tanstack/react-cross-context@1.15.10(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-rKH0S3+QOzwh/xn1q+kk/9YsnBRyw+FTdP3NbkRBH2kNar7BIfyR49vX16uNvN5uUajHNGX063IwjzBWzYCUhg==} + /@tanstack/query-devtools@5.28.10: + resolution: {integrity: sha512-5UN629fKa5/1K/2Pd26gaU7epxRrYiT1gy+V+pW5K6hnf1DeUKK3pANSb2eHKlecjIKIhTwyF7k9XdyE2gREvQ==} + dev: true + + /@tanstack/react-cross-context@1.26.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zZVwoaYlbffB6yyThBgoy/i+G8vScl5mvuhTaN34Pj1WXvnsIv3GyZIHS8RBvRd8geoOs7WucpYtU1pXQrTwdA==} peerDependencies: react: '>=18' react-dom: '>=18' @@ -12862,14 +13471,14 @@ packages: react: 18.2.0 dev: false - /@tanstack/react-query-devtools@5.25.0(@tanstack/react-query@5.24.1)(react@18.2.0): - resolution: {integrity: sha512-bqtr1Bwvo/jspJXb2l4R1DSZ848TvIzGBk4V0b6YGS5EQ3015dhm3mPqyTgh0DquK5ZR0h1yP/4DpzhhvTnFHA==} + /@tanstack/react-query-devtools@5.29.2(@tanstack/react-query@5.29.2)(react@18.2.0): + resolution: {integrity: sha512-EmsaLNa8iFtReAW+5ftom0/TW78fIosVor517ak/+JFaoTBw8Yub3ao937JFE6AM3K/HXhteqvObetgt1ndLcw==} peerDependencies: - '@tanstack/react-query': ^5.25.0 + '@tanstack/react-query': ^5.29.2 react: ^18.0.0 dependencies: - '@tanstack/query-devtools': 5.24.0 - '@tanstack/react-query': 5.24.1(react@18.2.0) + '@tanstack/query-devtools': 5.28.10 + '@tanstack/react-query': 5.29.2(react@18.2.0) react: 18.2.0 dev: true @@ -12880,6 +13489,7 @@ packages: dependencies: '@tanstack/query-core': 5.24.1 react: 18.2.0 + dev: false /@tanstack/react-query@5.24.6(react@18.2.0): resolution: {integrity: sha512-eyIWwHiO1ZirYGzqs0kfRMkf8icuXroFunjnsgntk9YgGFbGoPs3Hxy9/OushNvpnkHT9RwPZb8UfEKzMzzEaQ==} @@ -12890,17 +13500,28 @@ packages: react: 18.2.0 dev: false - /@tanstack/react-router-server@1.17.4(preact@10.19.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-X1ZEOlHEKcTcldfZDhP5wP5Tv8u/1kxy9Nty08TrM4a9SWYNl0o3AzNnP9c8Y3C2IZ6j8ADAaDnPFwBhCaI5ng==} + /@tanstack/react-query@5.29.2(react@18.2.0): + resolution: {integrity: sha512-nyuWILR4u7H5moLGSiifLh8kIqQDLNOHGuSz0rcp+J75fNc8aQLyr5+I2JCHU3n+nJrTTW1ssgAD8HiKD7IFBQ==} + peerDependencies: + react: ^18.0.0 + dependencies: + '@tanstack/query-core': 5.29.0 + react: 18.2.0 + + /@tanstack/react-router-server@1.28.2(preact@10.19.6)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IvHVeoYmuclBAv3bEtRQJkVDoS3xWtqTjegJd7iWqg0CPCsM7iliaQImhhWWAlnoxGJdCkKj09LZEgbPX4REXg==} engines: {node: '>=12'} peerDependencies: react: '>=18' react-dom: '>=18' dependencies: - '@tanstack/react-cross-context': 1.15.10(react-dom@18.2.0)(react@18.2.0) - '@tanstack/react-router': 1.17.4(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-cross-context': 1.26.10(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-router': 1.28.2(react-dom@18.2.0)(react@18.2.0) + '@types/jsesc': 3.0.3 + jsesc: 3.0.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) + tiny-invariant: 1.3.3 vinxi: 0.2.1(preact@10.19.6) transitivePeerDependencies: - '@azure/app-configuration' @@ -12935,18 +13556,19 @@ packages: - xml2js dev: false - /@tanstack/react-router@1.17.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iW/TgJN/qZ+Ly73jDU3D2AuC3IlAHGx3ybXTvVuZ1hihsud7arEg7g83hsuU+xbkPcVWfly9ndTb1XKxrovw9w==} + /@tanstack/react-router@1.28.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-XoicSu8LFC9VMho7ZORmVud2tBF2jTTZCq4AekkOkzBevlqk1Nnqjyfkzxkxe8EZcZaeIO1djRIUFzffI4U5hA==} engines: {node: '>=12'} peerDependencies: - react: '>=16' - react-dom: '>=16' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@tanstack/history': 1.15.13 + '@tanstack/history': 1.26.10 '@tanstack/react-store': 0.2.1(react-dom@18.2.0)(react@18.2.0) + '@testing-library/react': 15.0.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - tiny-invariant: 1.3.1 + tiny-invariant: 1.3.3 tiny-warning: 1.0.3 dev: false @@ -12962,14 +13584,14 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false - /@tanstack/router-devtools@1.17.4(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tt02Xi1WpM/WkSrgmiKDvFa9OsLApWSfxulHVzyl/F9JMulOjqy45s0BxH2PlQSKGHjp8CNIBRyd4Ajs+sIN3A==} + /@tanstack/router-devtools@1.28.2(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kGNpDGkR/mJAgugRG73lMNNvuK+4J9MO6OI5szd0cz58uRC8htdCSi7MYflIEYZ/6ZqRfOY47B4Ee0t2BgDgZA==} engines: {node: '>=12'} peerDependencies: - react: '>=16' - react-dom: '>=16' + react: '>=16.8' + react-dom: '>=16.8' dependencies: - '@tanstack/react-router': 1.17.4(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-router': 1.28.2(react-dom@18.2.0)(react@18.2.0) clsx: 2.1.0 date-fns: 2.30.0 goober: 2.1.14(csstype@3.1.2) @@ -12979,19 +13601,37 @@ packages: - csstype dev: false - /@tanstack/router-generator@1.16.5: - resolution: {integrity: sha512-np9+DASQvD4ff+FrCZ4XqRMGpVC6Y2213kma/X05mvo241yh0D5C6paUY7N7pSBPpuTlJbYKi+73cm/xRtK3Hg==} + /@tanstack/router-generator@1.28.2: + resolution: {integrity: sha512-CBvLWduHLwr7EIMUqPFGWrHMR3+GsSWTk+zjlEmHT0IWVKhQyTAz21V3OE3Y6RJ+yD6S6WZV1sq8+09HFA0pYw==} engines: {node: '>=12'} dependencies: prettier: 3.2.5 zod: 3.22.4 dev: false - /@tanstack/router-vite-plugin@1.16.5: - resolution: {integrity: sha512-rNfAuWIScl0KnjWOda5hzQYgHdwpLu1OljvqZa260UrCB6e32882X2Ci687+OUBfydhZT/V53XtQ+la7/AO5Rw==} + /@tanstack/router-vite-plugin@1.28.2(vite@5.2.9): + resolution: {integrity: sha512-LJLGg1apPo9KLgaib+JNcy7rSPXT0fVp8qvU9nQKf28xdTyeEk9bVDQRGCjy4pKflopufSoM0nXjFJjpGf+5Aw==} engines: {node: '>=12'} dependencies: - '@tanstack/router-generator': 1.16.5 + '@babel/core': 7.23.9 + '@babel/generator': 7.23.6 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-typescript': 7.24.4(@babel/core@7.23.9) + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@tanstack/router-generator': 1.28.2 + '@types/babel__core': 7.20.5 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + '@vitejs/plugin-react': 4.2.1(vite@5.2.9) + zod: 3.22.4 + transitivePeerDependencies: + - supports-color + - vite dev: false /@tanstack/store@0.1.3: @@ -13008,6 +13648,20 @@ packages: '@testing-library/dom': 9.3.3 cypress: 13.6.6 + /@testing-library/dom@10.0.0: + resolution: {integrity: sha512-PmJPnogldqoVFf+EwbHvbBJ98MmqASV8kLrBYgsDNxQcFMeIS7JFL48sfyXvuMtgmWO/wMhh25odr+8VhDmn4g==} + engines: {node: '>=18'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/runtime': 7.20.6 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: false + /@testing-library/dom@6.16.0: resolution: {integrity: sha512-lBD88ssxqEfz0wFL6MeUyyWZfV/2cjEZZV3YRpb2IoJRej/4f1jB0TzqIOznTpfR1r34CNesrubxwIlAQ8zgPA==} engines: {node: '>=8'} @@ -13221,6 +13875,20 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@testing-library/react@15.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5mzIpuytB1ctpyywvyaY2TAAUQVCZIGqwiqFQf6u9lvj/SJQepGUzNV18Xpk+NLCaCE2j7CWrZE0tEf9xLZYiQ==} + engines: {node: '>=18'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@babel/runtime': 7.20.6 + '@testing-library/dom': 10.0.0 + '@types/react-dom': 18.2.19 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@testing-library/react@9.5.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-di1b+D0p+rfeboHO5W7gTVeZDIK5+maEgstrZbWZSSvxDyfDRkkyBE1AJR5Psd6doNldluXlCWqXriUfqu/9Qg==} engines: {node: '>=8'} @@ -13293,11 +13961,27 @@ packages: '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.4 + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + dependencies: + '@babel/parser': 7.23.9 + '@babel/types': 7.24.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.5 + dev: false + /@types/babel__generator@7.6.7: resolution: {integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==} dependencies: '@babel/types': 7.20.5 + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + dependencies: + '@babel/types': 7.20.5 + dev: false + /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: @@ -13309,6 +13993,12 @@ packages: dependencies: '@babel/types': 7.23.9 + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + dependencies: + '@babel/types': 7.24.0 + dev: false + /@types/body-parser@1.19.5: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: @@ -13550,6 +14240,10 @@ packages: pretty-format: 29.7.0 dev: true + /@types/jsesc@3.0.3: + resolution: {integrity: sha512-YZZ9ZOAiiSVC6KApWd/fTCDTdTOOMiRU4Lq3/VSmXNPse8IvCVOn5kYRRLu900Ub1lTPurVZFI5unEqLDJR7wg==} + dev: false + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -13575,7 +14269,7 @@ packages: /@types/mdast@4.0.3: resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} dependencies: - '@types/unist': 3.0.2 + '@types/unist': 2.0.10 dev: true /@types/mdx@2.0.10: @@ -13847,7 +14541,7 @@ packages: resolution: {integrity: sha512-mj1aH4cj3XUpMEgVpognma5kHVtbm6U6cHZmEFzCRiXPvKkuHrFr3+yXdGLXvfFRBaQIVshPGHI+hGTOJlhS/g==} deprecated: This is a stub types definition. testing-library__dom provides its own type definitions, so you do not need this installed. dependencies: - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 9.3.3 dev: true /@types/testing-library__jest-dom@5.14.9: @@ -14005,7 +14699,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.7.0)(eslint@8.53.0)(typescript@5.3.3): + /@typescript-eslint/eslint-plugin@6.8.0(@typescript-eslint/parser@6.7.0)(eslint@8.53.0)(typescript@5.4.2): resolution: {integrity: sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14017,10 +14711,10 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.4.2) '@typescript-eslint/scope-manager': 6.8.0 - '@typescript-eslint/type-utils': 6.8.0(eslint@8.53.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.53.0)(typescript@5.3.3) + '@typescript-eslint/type-utils': 6.8.0(eslint@8.53.0)(typescript@5.4.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.53.0)(typescript@5.4.2) '@typescript-eslint/visitor-keys': 6.8.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 @@ -14028,8 +14722,8 @@ packages: ignore: 5.3.0 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -14237,7 +14931,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.7.0(eslint@8.53.0)(typescript@5.3.3): + /@typescript-eslint/parser@6.7.0(eslint@8.53.0)(typescript@5.4.2): resolution: {integrity: sha512-jZKYwqNpNm5kzPVP5z1JXAuxjtl2uG+5NpaMocFPTNC2EdYIgbXIPImObOkhbONxtFTTdoZstLZefbaK+wXZng==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14249,11 +14943,11 @@ packages: dependencies: '@typescript-eslint/scope-manager': 6.7.0 '@typescript-eslint/types': 6.7.0 - '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.7.0(typescript@5.4.2) '@typescript-eslint/visitor-keys': 6.7.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 - typescript: 5.3.3 + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -14422,7 +15116,7 @@ packages: - supports-color dev: true - /@typescript-eslint/type-utils@6.8.0(eslint@8.53.0)(typescript@5.3.3): + /@typescript-eslint/type-utils@6.8.0(eslint@8.53.0)(typescript@5.4.2): resolution: {integrity: sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14432,12 +15126,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.8.0(eslint@8.53.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) + '@typescript-eslint/utils': 6.8.0(eslint@8.53.0)(typescript@5.4.2) debug: 4.3.4(supports-color@8.1.1) eslint: 8.53.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -14610,7 +15304,7 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.7.0(typescript@5.3.3): + /@typescript-eslint/typescript-estree@6.7.0(typescript@5.4.2): resolution: {integrity: sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14625,13 +15319,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.8.0(typescript@5.3.3): + /@typescript-eslint/typescript-estree@6.8.0(typescript@5.4.2): resolution: {integrity: sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14646,8 +15340,8 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.0 - ts-api-utils: 1.0.3(typescript@5.3.3) - typescript: 5.3.3 + ts-api-utils: 1.0.3(typescript@5.4.2) + typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true @@ -14778,7 +15472,7 @@ packages: - typescript dev: true - /@typescript-eslint/utils@6.8.0(eslint@8.53.0)(typescript@5.3.3): + /@typescript-eslint/utils@6.8.0(eslint@8.53.0)(typescript@5.4.2): resolution: {integrity: sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -14789,7 +15483,7 @@ packages: '@types/semver': 7.5.5 '@typescript-eslint/scope-manager': 6.8.0 '@typescript-eslint/types': 6.8.0 - '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.8.0(typescript@5.4.2) eslint: 8.53.0 semver: 7.6.0 transitivePeerDependencies: @@ -15019,26 +15713,28 @@ packages: resolution: {integrity: sha512-WSN1z931BtasZJlgPp704zJFnQFRg7yzSjkm3MzAWQYe4uXFXlFr1hc5Ac2zae5/HDOz5x1/zDM5Cb54vTCnWw==} hasBin: true dependencies: - '@parcel/watcher': 2.3.0 + '@parcel/watcher': 2.4.1 '@parcel/watcher-wasm': 2.3.0 citty: 0.1.6 clipboardy: 4.0.0 consola: 3.2.3 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.10.1 + h3: 1.11.1 http-shutdown: 1.2.2 jiti: 1.21.0 mlly: 1.6.1 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.3.2 + ufo: 1.4.0 untun: 0.1.3 uqr: 0.1.2 + transitivePeerDependencies: + - uWebSockets.js dev: false - /@vitejs/plugin-react@4.2.0(vite@5.1.7): + /@vitejs/plugin-react@4.2.0(vite@5.2.9): resolution: {integrity: sha512-+MHTH/e6H12kRp5HUkzOGqPMksezRMmW+TNzlh/QXfI8rRf6l2Z2yH/v12no1UvTwhZgEDMuQ7g7rrfMseU6FQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -15049,11 +15745,27 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.4 react-refresh: 0.14.0 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) transitivePeerDependencies: - supports-color dev: true + /@vitejs/plugin-react@4.2.1(vite@5.2.9): + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) + '@types/babel__core': 7.20.5 + react-refresh: 0.14.0 + vite: 5.2.9(@types/node@20.9.0) + transitivePeerDependencies: + - supports-color + dev: false + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} peerDependencies: @@ -15082,7 +15794,7 @@ packages: dependencies: '@vitest/spy': 0.34.6 '@vitest/utils': 0.34.6 - chai: 4.4.1 + chai: 4.3.10 dev: true /@vitest/expect@1.3.1: @@ -15090,7 +15802,7 @@ packages: dependencies: '@vitest/spy': 1.3.1 '@vitest/utils': 1.3.1 - chai: 4.4.1 + chai: 4.3.10 /@vitest/runner@0.34.6: resolution: {integrity: sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==} @@ -15174,7 +15886,7 @@ packages: '@babel/parser': 7.23.9 '@vue/shared': 3.3.9 estree-walker: 2.0.2 - source-map-js: 1.0.2 + source-map-js: 1.2.0 dev: true /@vue/compiler-dom@3.3.9: @@ -15218,8 +15930,8 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.11.1 dev: true - /@webassemblyjs/ast@1.12.1: - resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -15261,8 +15973,8 @@ packages: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} dev: true - /@webassemblyjs/helper-buffer@1.12.1: - resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} dev: true /@webassemblyjs/helper-buffer@1.9.0: @@ -15322,13 +16034,13 @@ packages: '@webassemblyjs/wasm-gen': 1.11.1 dev: true - /@webassemblyjs/helper-wasm-section@1.12.1: - resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/wasm-gen': 1.12.1 + '@webassemblyjs/wasm-gen': 1.11.6 dev: true /@webassemblyjs/helper-wasm-section@1.9.0: @@ -15401,17 +16113,17 @@ packages: '@webassemblyjs/wast-printer': 1.11.1 dev: true - /@webassemblyjs/wasm-edit@1.12.1: - resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} + /@webassemblyjs/wasm-edit@1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - '@webassemblyjs/helper-wasm-section': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-opt': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 - '@webassemblyjs/wast-printer': 1.12.1 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 dev: true /@webassemblyjs/wasm-edit@1.9.0: @@ -15437,10 +16149,10 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: true - /@webassemblyjs/wasm-gen@1.12.1: - resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} + /@webassemblyjs/wasm-gen@1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 @@ -15466,13 +16178,13 @@ packages: '@webassemblyjs/wasm-parser': 1.11.1 dev: true - /@webassemblyjs/wasm-opt@1.12.1: - resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} + /@webassemblyjs/wasm-opt@1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} dependencies: - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/helper-buffer': 1.12.1 - '@webassemblyjs/wasm-gen': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 dev: true /@webassemblyjs/wasm-opt@1.9.0: @@ -15495,10 +16207,10 @@ packages: '@webassemblyjs/utf8': 1.11.1 dev: true - /@webassemblyjs/wasm-parser@1.12.1: - resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} + /@webassemblyjs/wasm-parser@1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/ieee754': 1.11.6 @@ -15535,10 +16247,10 @@ packages: '@xtuc/long': 4.2.2 dev: true - /@webassemblyjs/wast-printer@1.12.1: - resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} + /@webassemblyjs/wast-printer@1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} dependencies: - '@webassemblyjs/ast': 1.12.1 + '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 dev: true @@ -15558,13 +16270,13 @@ packages: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} dev: true - /@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.19.9): + /@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.20.2): resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==} engines: {node: '>=14.15.0'} peerDependencies: esbuild: '>=0.10.0' dependencies: - esbuild: 0.19.9 + esbuild: 0.20.2 tslib: 2.6.2 dev: true @@ -15603,6 +16315,7 @@ packages: /abortcontroller-polyfill@1.7.5: resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: true /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} @@ -16565,7 +17278,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /babel-loader@8.3.0(@babel/core@7.23.9)(webpack@4.47.0): @@ -16623,7 +17336,7 @@ packages: '@babel/core': 7.23.3 find-cache-dir: 3.3.2 schema-utils: 4.2.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /babel-loader@9.1.0(@babel/core@7.23.9)(webpack@5.76.1): @@ -16649,7 +17362,7 @@ packages: '@babel/core': 7.23.9 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /babel-messages@6.23.0: @@ -17098,6 +17811,7 @@ packages: resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} dependencies: safe-buffer: 5.2.1 + dev: true /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -18054,6 +18768,7 @@ packages: /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} + dev: true /ci-env@1.17.0: resolution: {integrity: sha512-NtTjhgSEqv4Aj90TUYHQLxHdnCPXnjdtuGG1X8lTfp/JqeXTdw0FTWl/vUAPuvbWZTF8QVpv6ASe/XacE+7R2A==} @@ -18088,7 +18803,7 @@ packages: peerDependencies: webpack: '>=4.0.1' dependencies: - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /citty@0.1.6: @@ -18784,7 +19499,7 @@ packages: p-limit: 3.1.0 schema-utils: 3.3.0 serialize-javascript: 5.0.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -19155,7 +19870,7 @@ packages: postcss-value-parser: 4.2.0 schema-utils: 3.3.0 semver: 7.6.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /css-loader@6.10.0(webpack@5.90.1): @@ -19170,15 +19885,15 @@ packages: webpack: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.4(postcss@8.4.35) - postcss-modules-scope: 3.1.1(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.4(postcss@8.4.38) + postcss-modules-scope: 3.1.1(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 semver: 7.6.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /css-minimizer-webpack-plugin@1.3.0(webpack@5.76.1): @@ -19215,7 +19930,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -19862,10 +20577,6 @@ packages: isobject: 3.0.1 dev: true - /defu@6.1.3: - resolution: {integrity: sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==} - dev: false - /defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} @@ -20270,6 +20981,7 @@ packages: /dotenv-expand@5.1.0: resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dev: true /dotenv@16.3.1: resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} @@ -20283,6 +20995,7 @@ packages: /dotenv@7.0.0: resolution: {integrity: sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==} engines: {node: '>=6'} + dev: true /dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} @@ -20338,7 +21051,7 @@ packages: dev: true /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} /ejs@3.1.9: resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} @@ -20429,14 +21142,6 @@ packages: tapable: 2.2.1 dev: true - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 - dev: true - /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} engines: {node: '>=8.6'} @@ -20660,13 +21365,13 @@ packages: resolve.exports: 2.0.2 dev: true - /esbuild-register@3.5.0(esbuild@0.19.9): + /esbuild-register@3.5.0(esbuild@0.20.2): resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} peerDependencies: esbuild: '>=0.12 <1' dependencies: debug: 4.3.4(supports-color@8.1.1) - esbuild: 0.19.9 + esbuild: 0.20.2 transitivePeerDependencies: - supports-color dev: true @@ -20759,6 +21464,36 @@ packages: '@esbuild/win32-ia32': 0.19.9 '@esbuild/win32-x64': 0.19.9 + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -20878,7 +21613,7 @@ packages: eslint: 8.57.0 dev: true - /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.2.2): + /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.2.2): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -20896,7 +21631,7 @@ packages: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.49.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.49.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.49.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0) eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.49.0)(jest@26.6.3)(typescript@5.2.2) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.49.0) @@ -20913,7 +21648,7 @@ packages: - supports-color dev: true - /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2): + /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2): resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -20931,7 +21666,7 @@ packages: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.49.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.49.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.49.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.49.0) eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.49.0)(jest@26.6.3)(typescript@5.4.2) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.49.0) @@ -21088,7 +21823,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.4.2) debug: 3.2.7(supports-color@8.1.1) eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 @@ -21217,7 +21952,7 @@ packages: - supports-color dev: true - /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.22.15)(eslint@8.49.0): + /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.49.0): resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -21226,7 +21961,7 @@ packages: eslint: ^8.1.0 dependencies: '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) eslint: 8.49.0 lodash: 4.17.21 string-natural-compare: 3.0.1 @@ -21277,7 +22012,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.7.0(eslint@8.53.0)(typescript@5.4.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -22524,7 +23259,7 @@ packages: dependencies: loader-utils: 1.4.2 schema-utils: 2.7.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /file-loader@6.2.0(webpack@4.47.0): @@ -22740,6 +23475,17 @@ packages: readable-stream: 2.3.8 dev: true + /follow-redirects@1.15.3(debug@4.3.2): + resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.2 + /follow-redirects@1.15.5(debug@4.3.2): resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} engines: {node: '>=4.0'} @@ -22750,6 +23496,7 @@ packages: optional: true dependencies: debug: 4.3.2 + dev: true /follow-redirects@1.15.5(debug@4.3.4): resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} @@ -22868,7 +23615,7 @@ packages: semver: 5.7.2 tapable: 1.1.3 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) worker-rpc: 0.1.1 transitivePeerDependencies: - supports-color @@ -22958,7 +23705,7 @@ packages: semver: 7.6.0 tapable: 2.2.1 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /form-data-encoder@2.1.4: @@ -23032,7 +23779,7 @@ packages: dev: true /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} /from2@2.3.0: @@ -23768,7 +24515,7 @@ packages: iron-webcrypto: 1.0.0 ohash: 1.1.3 radix3: 1.1.0 - ufo: 1.3.2 + ufo: 1.4.0 uncrypto: 0.1.3 unenv: 1.9.0 dev: false @@ -24252,7 +24999,45 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) + dev: true + + /htmlnano@2.1.0(postcss@8.4.35)(svgo@2.8.0)(typescript@5.2.2): + resolution: {integrity: sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g==} + peerDependencies: + cssnano: ^6.0.0 + postcss: ^8.3.11 + purgecss: ^5.0.0 + relateurl: ^0.2.7 + srcset: 4.0.0 + svgo: ^3.0.2 + terser: ^5.10.0 + uncss: ^0.17.3 + peerDependenciesMeta: + cssnano: + optional: true + postcss: + optional: true + purgecss: + optional: true + relateurl: + optional: true + srcset: + optional: true + svgo: + optional: true + terser: + optional: true + uncss: + optional: true + dependencies: + cosmiconfig: 8.3.6(typescript@5.2.2) + postcss: 8.4.35 + posthtml: 0.16.6 + svgo: 2.8.0 + timsort: 0.3.0 + transitivePeerDependencies: + - typescript dev: true /htmlnano@2.1.0(postcss@8.4.35)(svgo@2.8.0)(typescript@5.4.2): @@ -24404,23 +25189,12 @@ packages: - debug dev: true - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.5(debug@4.3.4) - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: false - /http-proxy@1.18.1(debug@4.3.2): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.5(debug@4.3.2) + follow-redirects: 1.15.3(debug@4.3.2) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -24538,13 +25312,13 @@ packages: postcss: 8.4.31 dev: true - /icss-utils@5.1.0(postcss@8.4.35): + /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.35 + postcss: 8.4.38 dev: true /identity-obj-proxy@3.0.0: @@ -26855,7 +27629,7 @@ packages: micromatch: 4.0.5 neo-async: 2.6.2 node-dir: 0.1.17 - recast: 0.23.6 + recast: 0.23.4 temp: 0.8.4 write-file-atomic: 2.4.1 transitivePeerDependencies: @@ -27028,7 +27802,6 @@ packages: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} hasBin: true - dev: true /json-buffer@3.0.0: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} @@ -27354,7 +28127,7 @@ packages: dependencies: klona: 2.0.6 less: 3.11.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /less@3.11.1: @@ -27696,6 +28469,7 @@ packages: '@lmdb/lmdb-linux-arm64': 2.8.5 '@lmdb/lmdb-linux-x64': 2.8.5 '@lmdb/lmdb-win32-x64': 2.8.5 + dev: true /load-json-file@1.1.0: resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==} @@ -27848,7 +28622,7 @@ packages: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.1.0 dependencies: lodash: 4.17.21 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /lodash.camelcase@4.3.0: @@ -28557,7 +29331,7 @@ packages: dev: true /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=} engines: {node: '>= 0.6'} /mem-fs-editor@9.7.0(mem-fs@2.3.0): @@ -28678,7 +29452,7 @@ packages: dev: false /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} /merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -29353,7 +30127,7 @@ packages: webpack: ^5.0.0 dependencies: schema-utils: 4.2.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /minimalistic-assert@1.0.1: @@ -29547,6 +30321,7 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 + dev: true /mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} @@ -29579,7 +30354,7 @@ packages: dependencies: lodash.difference: 4.5.0 moment: 2.29.4 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /moment@2.29.4: @@ -29656,12 +30431,14 @@ packages: '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2 '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2 '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2 + dev: true optional: true /msgpackr@1.9.9: resolution: {integrity: sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A==} optionalDependencies: msgpackr-extract: 3.0.2 + dev: true /muggle-string@0.3.1: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} @@ -29844,15 +30621,15 @@ packages: dependencies: '@cloudflare/kv-asset-handler': 0.3.1 '@netlify/functions': 2.6.0 - '@rollup/plugin-alias': 5.1.0(rollup@4.8.0) - '@rollup/plugin-commonjs': 25.0.7(rollup@4.8.0) - '@rollup/plugin-inject': 5.0.5(rollup@4.8.0) - '@rollup/plugin-json': 6.1.0(rollup@4.8.0) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.8.0) - '@rollup/plugin-replace': 5.0.5(rollup@4.8.0) - '@rollup/plugin-terser': 0.4.4(rollup@4.8.0) - '@rollup/plugin-wasm': 6.2.2(rollup@4.8.0) - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/plugin-alias': 5.1.0(rollup@4.14.3) + '@rollup/plugin-commonjs': 25.0.7(rollup@4.14.3) + '@rollup/plugin-inject': 5.0.5(rollup@4.14.3) + '@rollup/plugin-json': 6.1.0(rollup@4.14.3) + '@rollup/plugin-node-resolve': 15.2.3(rollup@4.14.3) + '@rollup/plugin-replace': 5.0.5(rollup@4.14.3) + '@rollup/plugin-terser': 0.4.4(rollup@4.14.3) + '@rollup/plugin-wasm': 6.2.2(rollup@4.14.3) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.24.4 archiver: 6.0.2 @@ -29862,7 +30639,7 @@ packages: citty: 0.1.6 consola: 3.2.3 cookie-es: 1.0.0 - defu: 6.1.3 + defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 esbuild: 0.19.9 @@ -29872,7 +30649,7 @@ packages: fs-extra: 11.2.0 globby: 14.0.1 gzip-size: 7.0.0 - h3: 1.10.1 + h3: 1.11.1 hookable: 5.5.3 httpxy: 0.1.5 is-primitive: 3.0.1 @@ -29882,9 +30659,9 @@ packages: listhen: 1.7.2 magic-string: 0.30.5 mime: 3.0.0 - mlly: 1.4.2 + mlly: 1.6.1 mri: 1.2.0 - node-fetch-native: 1.4.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 ohash: 1.1.3 openapi-typescript: 6.7.4 @@ -29893,18 +30670,18 @@ packages: pkg-types: 1.0.3 pretty-bytes: 6.1.1 radix3: 1.1.0 - rollup: 4.8.0 - rollup-plugin-visualizer: 5.12.0(rollup@4.8.0) + rollup: 4.14.3 + rollup-plugin-visualizer: 5.12.0(rollup@4.14.3) scule: 1.3.0 semver: 7.6.0 serve-placeholder: 2.0.1 serve-static: 1.15.0 std-env: 3.7.0 - ufo: 1.3.2 + ufo: 1.4.0 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.8.0) + unimport: 3.7.1(rollup@4.14.3) unstorage: 1.10.1 transitivePeerDependencies: - '@azure/app-configuration' @@ -29937,6 +30714,7 @@ packages: /node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + dev: true /node-addon-api@7.0.0: resolution: {integrity: sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==} @@ -29953,10 +30731,6 @@ packages: engines: {node: '>=10.5.0'} dev: true - /node-fetch-native@1.4.1: - resolution: {integrity: sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==} - dev: false - /node-fetch-native@1.6.2: resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} @@ -29995,6 +30769,7 @@ packages: resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==} hasBin: true requiresBuild: true + dev: true optional: true /node-gyp-build-optional-packages@5.1.1: @@ -30002,6 +30777,7 @@ packages: hasBin: true dependencies: detect-libc: 2.0.2 + dev: true /node-gyp-build@4.8.0: resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} @@ -30369,11 +31145,12 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + dev: true /num2fraction@1.2.2: resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} @@ -30690,6 +31467,7 @@ packages: /ordered-binary@1.4.1: resolution: {integrity: sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg==} + dev: true /os-browserify@0.3.0: resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} @@ -31004,6 +31782,37 @@ packages: tslib: 2.6.2 dev: true + /parcel@2.12.0(postcss@8.4.35)(typescript@5.2.2): + resolution: {integrity: sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==} + engines: {node: '>= 12.0.0'} + hasBin: true + dependencies: + '@parcel/config-default': 2.12.0(@parcel/core@2.12.0)(postcss@8.4.35)(typescript@5.2.2) + '@parcel/core': 2.12.0 + '@parcel/diagnostic': 2.12.0 + '@parcel/events': 2.12.0 + '@parcel/fs': 2.12.0(@parcel/core@2.12.0) + '@parcel/logger': 2.12.0 + '@parcel/package-manager': 2.12.0(@parcel/core@2.12.0)(@swc/helpers@0.5.3) + '@parcel/reporter-cli': 2.12.0(@parcel/core@2.12.0) + '@parcel/reporter-dev-server': 2.12.0(@parcel/core@2.12.0) + '@parcel/reporter-tracer': 2.12.0(@parcel/core@2.12.0) + '@parcel/utils': 2.12.0 + chalk: 4.1.2 + commander: 7.2.0 + get-port: 4.2.0 + transitivePeerDependencies: + - '@swc/helpers' + - cssnano + - postcss + - purgecss + - relateurl + - srcset + - terser + - typescript + - uncss + dev: true + /parcel@2.12.0(postcss@8.4.35)(typescript@5.4.2): resolution: {integrity: sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==} engines: {node: '>= 12.0.0'} @@ -31628,7 +32437,7 @@ packages: postcss: 8.4.31 schema-utils: 3.3.0 semver: 7.6.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /postcss-loader@7.0.2(postcss@8.4.31)(webpack@5.76.1): @@ -31656,7 +32465,7 @@ packages: klona: 2.0.6 postcss: 8.4.31 semver: 7.6.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /postcss-media-query-parser@0.2.3: @@ -31741,13 +32550,13 @@ packages: postcss: 8.4.31 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 dev: true /postcss-modules-local-by-default@3.0.3: @@ -31768,18 +32577,18 @@ packages: dependencies: icss-utils: 5.1.0(postcss@8.4.31) postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-local-by-default@4.0.4(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.4(postcss@8.4.38): resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 dev: true @@ -31799,16 +32608,16 @@ packages: postcss: ^8.1.0 dependencies: postcss: 8.4.31 - postcss-selector-parser: 6.0.13 + postcss-selector-parser: 6.0.15 dev: true - /postcss-modules-scope@3.1.1(postcss@8.4.35): + /postcss-modules-scope@3.1.1(postcss@8.4.38): resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.35 + postcss: 8.4.38 postcss-selector-parser: 6.0.15 dev: true @@ -31829,14 +32638,14 @@ packages: postcss: 8.4.31 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.35): + /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.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 dev: true /postcss-modules@6.0.0(postcss@8.4.31): @@ -32128,6 +32937,14 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + /posthtml-parser@0.10.2: resolution: {integrity: sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==} engines: {node: '>=12'} @@ -32710,7 +33527,7 @@ packages: webpack: ~4||~5 webpack-dev-server: ~3||~4 dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.22.13 chalk: 4.1.2 filesize: 6.4.0 gzip-size: 6.0.0 @@ -32721,7 +33538,7 @@ packages: resolve: 1.22.8 sockjs-client: 1.4.0 strip-ansi: 6.0.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-dev-server: 4.11.1(debug@4.3.2)(webpack@5.90.1) transitivePeerDependencies: - eslint @@ -32797,7 +33614,7 @@ packages: peerDependencies: webpack: ~4||~5 dependencies: - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /razzle@4.2.18(@babel/core@7.23.3)(babel-preset-razzle@4.2.18)(eslint@8.49.0)(html-webpack-plugin@5.5.0)(mini-css-extract-plugin@2.7.2)(razzle-dev-utils@4.2.18)(typescript@5.4.2)(webpack-dev-server@4.11.1)(webpack@5.90.1): @@ -32853,7 +33670,7 @@ packages: terser-webpack-plugin: 2.3.8(webpack@5.90.1) tiny-async-pool: 1.3.0 url-loader: 2.3.0(file-loader@4.3.0)(webpack@5.90.1) - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-dev-server: 4.11.1(debug@4.3.2)(webpack@5.90.1) webpack-manifest-plugin: 3.2.0(webpack@5.90.1) webpackbar: 5.0.2(webpack@5.90.1) @@ -33281,7 +34098,7 @@ packages: strip-ansi: 6.0.0 text-table: 0.2.0 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) transitivePeerDependencies: - eslint - supports-color @@ -33344,7 +34161,7 @@ packages: react-docgen-typescript: 2.2.2(typescript@5.4.2) tslib: 2.6.2 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) transitivePeerDependencies: - supports-color dev: true @@ -33733,7 +34550,6 @@ packages: /react-refresh@0.14.0: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} - dev: true /react-router-config@5.1.1(react-router@5.2.0)(react@18.2.0): resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} @@ -34220,6 +35036,17 @@ packages: util.promisify: 1.0.1 dev: true + /recast@0.23.4: + resolution: {integrity: sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw==} + engines: {node: '>= 4'} + dependencies: + assert: 2.1.0 + ast-types: 0.16.1 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.6.2 + dev: true + /recast@0.23.6: resolution: {integrity: sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==} engines: {node: '>= 4'} @@ -35152,7 +35979,7 @@ packages: inherits: 2.0.4 dev: true - /rollup-plugin-visualizer@5.12.0(rollup@4.8.0): + /rollup-plugin-visualizer@5.12.0(rollup@4.14.3): resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true @@ -35164,7 +35991,7 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 4.8.0 + rollup: 4.14.3 source-map: 0.7.4 yargs: 17.7.2 dev: false @@ -35176,6 +36003,31 @@ packages: optionalDependencies: fsevents: 2.3.3 + /rollup@4.14.3: + resolution: {integrity: sha512-ag5tTQKYsj1bhrFC9+OEWqb5O6VYgtQDO9hPDBMmIbePwhfSr+ExlcU741t8Dhw5DkPCQf6noz0jb36D6W9/hw==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.14.3 + '@rollup/rollup-android-arm64': 4.14.3 + '@rollup/rollup-darwin-arm64': 4.14.3 + '@rollup/rollup-darwin-x64': 4.14.3 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.3 + '@rollup/rollup-linux-arm-musleabihf': 4.14.3 + '@rollup/rollup-linux-arm64-gnu': 4.14.3 + '@rollup/rollup-linux-arm64-musl': 4.14.3 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.3 + '@rollup/rollup-linux-riscv64-gnu': 4.14.3 + '@rollup/rollup-linux-s390x-gnu': 4.14.3 + '@rollup/rollup-linux-x64-gnu': 4.14.3 + '@rollup/rollup-linux-x64-musl': 4.14.3 + '@rollup/rollup-win32-arm64-msvc': 4.14.3 + '@rollup/rollup-win32-ia32-msvc': 4.14.3 + '@rollup/rollup-win32-x64-msvc': 4.14.3 + fsevents: 2.3.3 + /rollup@4.8.0: resolution: {integrity: sha512-NpsklK2fach5CdI+PScmlE5R4Ao/FSWtF7LkoIrHDxPACY/xshNasPsbpG0VVHxUTbf74tJbVT4PrP8JsJ6ZDA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -35360,7 +36212,7 @@ packages: sass: 1.69.5 schema-utils: 3.3.0 semver: 7.6.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /sass@1.69.5: @@ -35627,7 +36479,7 @@ packages: /serve-placeholder@2.0.1: resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} dependencies: - defu: 6.1.3 + defu: 6.1.4 dev: false /serve-static@1.15.0: @@ -36054,6 +36906,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + /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 @@ -36329,11 +37185,11 @@ packages: resolution: {integrity: sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==} dev: true - /storybook@8.0.4(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-FUr3Uc2dSAQ80jINH5fSXz7zD7Ncn08OthROjwRtHAH+jMf4wxyZ+RhF3heFy9xLot2/HXOLIWyHyzZZMtGhxg==} + /storybook@8.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rdxfjkED5CBKj6T01NKr9MRakyXkffV8dvLXj5bWN4AlQ1OOm5Sw9B1z+rQ/FN7RYIU5b63xiX2pu3gy5t6nRQ==} hasBin: true dependencies: - '@storybook/cli': 8.0.4(react-dom@18.2.0)(react@18.2.0) + '@storybook/cli': 8.0.5(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: - '@babel/preset-env' - bufferutil @@ -36713,7 +37569,7 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /style-search@0.1.0: @@ -37350,7 +38206,7 @@ packages: serialize-javascript: 4.0.0 source-map: 0.6.1 terser: 4.8.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-sources: 1.4.3 transitivePeerDependencies: - bluebird @@ -37376,7 +38232,7 @@ packages: - bluebird dev: true - /terser-webpack-plugin@5.3.10(esbuild@0.19.9)(webpack@5.90.1): + /terser-webpack-plugin@5.3.10(esbuild@0.20.2)(webpack@5.90.1): resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -37393,12 +38249,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.20 - esbuild: 0.19.9 + esbuild: 0.20.2 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.28.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /terser-webpack-plugin@5.3.10(webpack@5.90.1): @@ -37425,7 +38281,7 @@ packages: webpack: 5.90.1 dev: true - /terser-webpack-plugin@5.3.6(esbuild@0.19.9)(webpack@5.90.1): + /terser-webpack-plugin@5.3.6(esbuild@0.20.2)(webpack@5.90.1): resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -37442,12 +38298,12 @@ packages: optional: true dependencies: '@jridgewell/trace-mapping': 0.3.20 - esbuild: 0.19.9 + esbuild: 0.20.2 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.28.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /terser-webpack-plugin@5.3.6(webpack@5.76.1): @@ -37826,15 +38682,6 @@ packages: typescript: 5.2.2 dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.3.3 - dev: true - /ts-api-utils@1.0.3(typescript@5.4.2): resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} engines: {node: '>=16.13.0'} @@ -37923,7 +38770,7 @@ packages: micromatch: 4.0.5 semver: 7.6.0 typescript: 5.4.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /ts-pnp@1.2.0(typescript@5.2.2): @@ -38202,12 +39049,12 @@ packages: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true + dev: true /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true - dev: true /ua-parser-js@0.7.37: resolution: {integrity: sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==} @@ -38273,7 +39120,7 @@ packages: resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} dependencies: consola: 3.2.3 - defu: 6.1.3 + defu: 6.1.4 mime: 3.0.0 node-fetch-native: 1.6.2 pathe: 1.1.2 @@ -38349,17 +39196,17 @@ packages: vfile: 4.2.1 dev: true - /unimport@3.7.1(rollup@4.8.0): + /unimport@3.7.1(rollup@4.14.3): resolution: {integrity: sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==} dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) acorn: 8.11.3 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.5 - mlly: 1.4.2 + mlly: 1.6.1 pathe: 1.1.2 pkg-types: 1.0.3 scule: 1.3.0 @@ -38656,14 +39503,14 @@ packages: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.3 - h3: 1.10.1 + h3: 1.11.1 ioredis: 5.3.2 listhen: 1.7.2 lru-cache: 10.0.2 mri: 1.2.0 - node-fetch-native: 1.4.1 + node-fetch-native: 1.6.2 ofetch: 1.3.3 - ufo: 1.3.2 + ufo: 1.4.0 transitivePeerDependencies: - supports-color - uWebSockets.js @@ -38827,7 +39674,7 @@ packages: loader-utils: 1.4.2 mime: 2.6.0 schema-utils: 2.7.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /url-loader@4.1.1(file-loader@6.2.0)(webpack@4.47.0): @@ -38953,9 +39800,10 @@ packages: /utility-types@3.10.0: resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==} engines: {node: '>= 4'} + dev: true /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} engines: {node: '>= 0.4.0'} /uuid-browser@3.1.0: @@ -39122,7 +39970,7 @@ packages: citty: 0.1.6 consola: 3.2.3 cookie-es: 1.0.0 - defu: 6.1.3 + defu: 6.1.4 dts-buddy: 0.2.5 es-module-lexer: 1.4.1 esbuild: 0.18.20 @@ -39131,24 +39979,24 @@ packages: get-port-please: 3.1.2 h3: 1.10.1 hookable: 5.5.3 - http-proxy: 1.18.1 + http-proxy: 1.18.1(debug@4.3.2) micromatch: 4.0.5 mri: 1.2.0 nitropack: 2.8.1 - node-fetch-native: 1.4.1 + node-fetch-native: 1.6.2 path-to-regexp: 6.2.1 - pathe: 1.1.1 + pathe: 1.1.2 perfect-debounce: 1.0.0 radix3: 1.1.0 resolve: 1.22.8 - rollup-plugin-visualizer: 5.12.0(rollup@4.8.0) + rollup-plugin-visualizer: 5.12.0(rollup@4.14.3) serve-placeholder: 2.0.1 serve-static: 1.15.0 - ufo: 1.3.2 + ufo: 1.4.0 uncrypto: 0.1.3 unctx: 2.3.1 unenv: 1.9.0 - unimport: 3.7.1(rollup@4.8.0) + unimport: 3.7.1(rollup@4.14.3) unstorage: 1.10.1 vite: 4.5.0 ws: 8.14.2 @@ -39241,7 +40089,7 @@ packages: mlly: 1.4.2 pathe: 1.1.1 picocolors: 1.0.0 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39262,7 +40110,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) transitivePeerDependencies: - '@types/node' - less @@ -39283,7 +40131,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.7(lightningcss@1.24.0) + vite: 5.2.9(lightningcss@1.24.0) transitivePeerDependencies: - '@types/node' - less @@ -39294,17 +40142,17 @@ packages: - supports-color - terser - /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.1.7): + /vite-plugin-babel@1.2.0(@babel/core@7.23.9)(vite@5.2.9): resolution: {integrity: sha512-ltAnq535Ubf9sDbVCkztAdkwx5aQbNrwPFs+iZTJ5FaAhTdxjqmLGpxsAaRfJWEKBJ/kFf9KwMoTdArm0IRUUw==} peerDependencies: '@babel/core': ^7.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: '@babel/core': 7.23.9 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) dev: true - /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.1.7): + /vite-plugin-dts@3.7.3(typescript@5.4.2)(vite@5.2.9): resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -39315,12 +40163,12 @@ packages: optional: true dependencies: '@microsoft/api-extractor': 7.39.0 - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) '@vue/language-core': 1.8.27(typescript@5.4.2) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 typescript: 5.4.2 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) vue-tsc: 1.8.27(typescript@5.4.2) transitivePeerDependencies: - '@types/node' @@ -39339,7 +40187,7 @@ packages: optional: true dependencies: '@antfu/utils': 0.7.7 - '@rollup/pluginutils': 5.1.0(rollup@4.8.0) + '@rollup/pluginutils': 5.1.0(rollup@4.14.3) debug: 4.3.4(supports-color@8.1.1) error-stack-parser-es: 0.1.1 fs-extra: 11.2.0 @@ -39444,8 +40292,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.7(@types/node@20.9.0): - resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} + /vite@5.1.4(lightningcss@1.24.0): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39472,16 +40320,15 @@ packages: terser: optional: true dependencies: - '@types/node': 20.9.0 esbuild: 0.19.9 + lightningcss: 1.24.0 postcss: 8.4.35 rollup: 4.8.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /vite@5.1.7(lightningcss@1.24.0): - resolution: {integrity: sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==} + /vite@5.2.9(@types/node@20.9.0): + resolution: {integrity: sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -39508,10 +40355,45 @@ packages: terser: optional: true dependencies: - esbuild: 0.19.9 + '@types/node': 20.9.0 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.3 + optionalDependencies: + fsevents: 2.3.3 + + /vite@5.2.9(lightningcss@1.24.0): + resolution: {integrity: sha512-uOQWfuZBlc6Y3W/DTuQ1Sr+oIXWvqljLvS881SVmAj00d5RdgShLcuXWxseWPd4HXwiYBFW/vXHfKFeqj9uQnw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.20.2 lightningcss: 1.24.0 - postcss: 8.4.35 - rollup: 4.8.0 + postcss: 8.4.38 + rollup: 4.14.3 optionalDependencies: fsevents: 2.3.3 @@ -39592,7 +40474,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.5.1 tinypool: 0.7.0 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.2.9(@types/node@20.9.0) vite-node: 0.34.6(@types/node@20.9.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39648,7 +40530,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.7(@types/node@20.9.0) + vite: 5.1.4(lightningcss@1.24.0) vite-node: 1.3.1 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39704,7 +40586,7 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.7(lightningcss@1.24.0) + vite: 5.1.4(lightningcss@1.24.0) vite-node: 1.3.1(lightningcss@1.24.0) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -39825,8 +40707,8 @@ packages: - supports-color dev: true - /watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} dependencies: glob-to-regexp: 0.4.1 @@ -39850,6 +40732,7 @@ packages: /weak-lru-cache@1.2.2: resolution: {integrity: sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==} + dev: true /web-encoding@1.1.5: resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} @@ -39962,11 +40845,11 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true - /webpack-dev-middleware@6.1.2(webpack@5.90.1): - resolution: {integrity: sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==} + /webpack-dev-middleware@6.1.3(webpack@5.90.1): + resolution: {integrity: sha512-A4ChP0Qj8oGociTs6UdlRUGANIGrCDL3y+pmQMc+dSsraXHCatFpmMey4mYELA+juqwUqwQsUgJJISXl1KWmiw==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.0.0 @@ -39979,7 +40862,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /webpack-dev-server@4.11.1(debug@4.3.2)(webpack@5.76.1): @@ -40068,7 +40951,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-dev-middleware: 5.3.3(webpack@5.90.1) ws: 8.14.2 transitivePeerDependencies: @@ -40121,7 +41004,7 @@ packages: webpack: ^4.44.2 dependencies: tapable: 2.2.1 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) webpack-sources: 2.3.1 dev: true @@ -40227,7 +41110,7 @@ packages: acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.15.0 es-module-lexer: 0.9.3 eslint-scope: 5.1.1 events: 3.3.0 @@ -40240,7 +41123,7 @@ packages: schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.6(webpack@5.76.1) - watchpack: 2.4.1 + watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -40260,14 +41143,14 @@ packages: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -40280,7 +41163,7 @@ packages: schema-utils: 3.3.0 tapable: 2.2.1 terser-webpack-plugin: 5.3.10(webpack@5.90.1) - watchpack: 2.4.1 + watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -40288,7 +41171,7 @@ packages: - uglify-js dev: true - /webpack@5.90.1(esbuild@0.19.9): + /webpack@5.90.1(esbuild@0.20.2): resolution: {integrity: sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==} engines: {node: '>=10.13.0'} hasBin: true @@ -40300,14 +41183,14 @@ packages: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 - '@webassemblyjs/ast': 1.12.1 - '@webassemblyjs/wasm-edit': 1.12.1 - '@webassemblyjs/wasm-parser': 1.12.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.3 acorn-import-assertions: 1.9.0(acorn@8.11.3) browserslist: 4.23.0 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 eslint-scope: 5.1.1 events: 3.3.0 @@ -40319,8 +41202,8 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.19.9)(webpack@5.90.1) - watchpack: 2.4.1 + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.90.1) + watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -40351,7 +41234,7 @@ packages: consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.5.0 - webpack: 5.90.1(esbuild@0.19.9) + webpack: 5.90.1(esbuild@0.20.2) dev: true /websocket-driver@0.7.4: From 6f18663d012b1cdcaeb04d15a79f669973330109 Mon Sep 17 00:00:00 2001 From: Piero Nicolli Date: Fri, 19 Apr 2024 16:55:35 +0200 Subject: [PATCH 33/49] Bundle optimization (#5295) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Martina Bustacchini Co-authored-by: Mauro Amico Co-authored-by: Steve Piercy Co-authored-by: Víctor Fernández de Alba --- .../contributing/bundle-size-optimization.md | 42 +++ docs/source/contributing/index.md | 3 + .../src/components/Blocks/TestBlock/Data.tsx | 2 +- packages/volto-slate/news/5295.internal | 1 + .../src/blocks/Table/TableBlockEdit.jsx | 3 +- .../blocks/Text/DefaultTextBlockEditor.jsx | 7 +- .../src/elementEditor/PluginEditor.jsx | 3 +- .../src/widgets/HtmlSlateWidget.jsx | 2 +- .../src/widgets/ObjectByTypeWidget.jsx | 3 +- .../src/widgets/RichTextWidget.jsx | 2 +- packages/volto/cypress/support/commands.js | 5 +- packages/volto/cypress/support/e2e.js | 9 + .../tests/core/controlpanels/upgrade.js | 3 +- .../volto-slate/06-block-slate-format-link.js | 6 +- packages/volto/news/5295.internal | 1 + packages/volto/package.json | 1 + packages/volto/src/components/index.js | 177 +++++++----- .../src/components/manage/Actions/Actions.jsx | 3 +- .../manage/Actions/Actions.test.jsx | 4 +- .../__snapshots__/Actions.test.jsx.snap | 2 +- .../volto/src/components/manage/Add/Add.jsx | 2 +- .../manage/Blocks/Block/DefaultEdit.jsx | 2 +- .../manage/Blocks/Block/Settings.jsx | 2 +- .../manage/Blocks/Block/Settings.test.jsx | 2 + .../__snapshots__/Settings.test.jsx.snap | 23 +- .../manage/Blocks/Container/Data.jsx | 2 +- .../manage/Blocks/Container/Edit.jsx | 3 +- .../manage/Blocks/Image/ImageSidebar.jsx | 3 +- .../manage/Blocks/Image/ImageSidebar.test.jsx | 2 + .../__snapshots__/ImageSidebar.test.jsx.snap | 172 ++++-------- .../Blocks/LeadImage/LeadImageSidebar.jsx | 5 +- .../LeadImage/LeadImageSidebar.test.jsx | 2 + .../LeadImageSidebar.test.jsx.snap | 202 +------------- .../manage/Blocks/Listing/ListingData.jsx | 2 +- .../manage/Blocks/Maps/MapsSidebar.jsx | 2 +- .../manage/Blocks/Maps/MapsSidebar.test.jsx | 2 + .../__snapshots__/MapsSidebar.test.jsx.snap | 73 +++-- .../manage/Blocks/Search/SearchBlockEdit.jsx | 3 +- .../Search/widgets/SelectMetadataField.jsx | 2 +- .../components/manage/Blocks/Teaser/Data.jsx | 3 +- .../src/components/manage/Blocks/ToC/Edit.jsx | 2 +- .../manage/Blocks/Video/VideoSidebar.jsx | 2 +- .../manage/Blocks/Video/VideoSidebar.test.jsx | 2 + .../__snapshots__/VideoSidebar.test.jsx.snap | 74 +++-- .../components/manage/Contents/Contents.jsx | 16 +- .../Contents/ContentsIndexHeader.test.jsx | 2 +- .../Contents/ContentsPropertiesModal.jsx | 2 +- .../Contents/ContentsPropertiesModal.test.jsx | 2 +- .../manage/Contents/ContentsRenameModal.jsx | 2 +- .../Contents/ContentsRenameModal.test.jsx | 2 +- .../manage/Contents/ContentsTagsModal.jsx | 2 +- .../Contents/ContentsTagsModal.test.jsx | 2 +- .../manage/Contents/ContentsWorkflowModal.jsx | 2 +- .../Contents/ContentsWorkflowModal.test.jsx | 2 +- .../manage/Contents/__mocks__/index.tsx | 5 + .../ContentsPropertiesModal.test.jsx.snap | 48 +++- .../ContentsRenameModal.test.jsx.snap | 27 +- .../ContentsTagsModal.test.jsx.snap | 33 ++- .../src/components/manage/Contents/index.tsx | 64 +++++ .../manage/Controlpanels/Aliases.jsx | 2 +- .../manage/Controlpanels/Aliases.test.jsx | 1 + .../manage/Controlpanels/ContentType.jsx | 3 +- .../manage/Controlpanels/ContentType.test.jsx | 2 +- .../Controlpanels/ContentTypeLayout.jsx | 10 +- .../Controlpanels/ContentTypeSchema.jsx | 3 +- .../manage/Controlpanels/ContentTypes.jsx | 11 +- .../manage/Controlpanels/Controlpanel.jsx | 3 +- .../Controlpanels/Controlpanel.test.jsx | 3 +- .../manage/Controlpanels/Controlpanels.jsx | 61 +--- .../Controlpanels/Controlpanels.test.jsx | 68 ++--- .../Groups/GroupsControlpanel.jsx | 4 +- .../manage/Controlpanels/ModerateComments.jsx | 8 +- .../Controlpanels/ModerateComments.test.jsx | 5 +- .../Relations/RelationsListing.jsx | 4 +- .../Relations/RelationsMatrix.jsx | 4 +- .../manage/Controlpanels/Rules/AddRule.jsx | 4 +- .../Controlpanels/Rules/AddRule.test.jsx | 1 + .../manage/Controlpanels/Rules/EditRule.jsx | 4 +- .../Controlpanels/Rules/EditRule.test.jsx | 2 + .../Rules/__snapshots__/AddRule.test.jsx.snap | 15 +- .../__snapshots__/EditRule.test.jsx.snap | 15 +- .../Rules/components/VariableModal.jsx | 2 +- .../manage/Controlpanels/UndoControlpanel.jsx | 3 +- .../Controlpanels/UndoControlpanel.test.jsx | 3 +- .../Controlpanels/UpgradeControlPanel.jsx | 3 +- .../Controlpanels/Users/RenderUsers.jsx | 3 +- .../Users/UserGroupMembershipMatrix.jsx | 2 +- .../Controlpanels/Users/UsersControlpanel.jsx | 4 +- .../__snapshots__/Aliases.test.jsx.snap | 6 +- .../__snapshots__/ContentType.test.jsx.snap | 3 +- .../__snapshots__/Controlpanel.test.jsx.snap | 6 +- .../UndoControlpanel.test.jsx.snap | 47 +++- .../components/manage/Controlpanels/index.tsx | 181 ++++++++++++ .../volto/src/components/manage/Diff/Diff.jsx | 2 +- .../src/components/manage/Display/Display.jsx | 3 +- .../manage/Display/Display.test.jsx | 1 + .../__snapshots__/Display.test.jsx.snap | 85 +----- .../volto/src/components/manage/Edit/Edit.jsx | 2 +- .../src/components/manage/Edit/Edit.test.jsx | 3 +- .../Edit/__snapshots__/Edit.test.jsx.snap | 8 +- .../components/manage/Form/BlockDataForm.jsx | 2 +- .../manage/Form/BlockDataForm.test.jsx | 2 + .../volto/src/components/manage/Form/Form.jsx | 6 +- .../src/components/manage/Form/Form.test.jsx | 2 +- .../src/components/manage/Form/InlineForm.jsx | 3 +- .../manage/Form/InlineForm.test.jsx | 2 + .../src/components/manage/Form/ModalForm.jsx | 3 +- .../components/manage/Form/ModalForm.test.jsx | 2 +- .../manage/Form/__mocks__/index.tsx | 74 +++++ .../__snapshots__/BlockDataForm.test.jsx.snap | 116 ++++---- .../Form/__snapshots__/Form.test.jsx.snap | 1 + .../__snapshots__/InlineForm.test.jsx.snap | 56 +--- .../src/components/manage/Form/index.tsx | 50 ++++ .../manage/Multilingual/TranslationObject.jsx | 3 +- .../manage/Preferences/ChangePassword.jsx | 3 +- .../Preferences/ChangePassword.test.jsx | 1 + .../Preferences/PersonalInformation.jsx | 3 +- .../Preferences/PersonalPreferences.jsx | 3 +- .../Preferences/PersonalPreferences.test.jsx | 8 +- .../ChangePassword.test.jsx.snap | 113 +++----- .../PersonalPreferences.test.jsx.snap | 136 +++++---- .../src/components/manage/Rules/index.tsx | 5 + .../components/manage/Widgets/ArrayWidget.jsx | 2 +- .../manage/Widgets/ButtonsWidget.jsx | 2 +- .../manage/Widgets/CheckboxWidget.jsx | 2 +- .../manage/Widgets/DatetimeWidget.jsx | 3 +- .../components/manage/Widgets/EmailWidget.jsx | 2 +- .../components/manage/Widgets/FileWidget.jsx | 3 +- .../components/manage/Widgets/IdWidget.jsx | 3 +- .../manage/Widgets/ImageSizeWidget.jsx | 2 +- .../manage/Widgets/InternalUrlWidget.jsx | 6 +- .../manage/Widgets/NumberWidget.jsx | 2 +- .../manage/Widgets/ObjectListWidget.jsx | 3 +- .../manage/Widgets/ObjectListWidget.test.js | 2 + .../manage/Widgets/ObjectWidget.jsx | 3 +- .../manage/Widgets/ObjectWidget.test.jsx | 2 + .../manage/Widgets/PasswordWidget.jsx | 2 +- .../manage/Widgets/QuerySortOnWidget.jsx | 2 +- .../RecurrenceWidget/RecurrenceWidget.jsx | 5 +- .../Widgets/RecurrenceWidget/SelectInput.jsx | 15 +- .../manage/Widgets/ReferenceWidget.jsx | 2 +- .../manage/Widgets/RegistryImageWidget.jsx | 3 +- .../manage/Widgets/SchemaWidget.jsx | 7 +- .../manage/Widgets/SelectAutoComplete.jsx | 2 +- .../manage/Widgets/SelectWidget.jsx | 2 +- .../components/manage/Widgets/TextWidget.jsx | 3 +- .../manage/Widgets/TextareaWidget.jsx | 2 +- .../components/manage/Widgets/TokenWidget.jsx | 2 +- .../components/manage/Widgets/UrlWidget.jsx | 6 +- .../manage/Widgets/VocabularyTermsWidget.jsx | 13 +- .../Widgets/VocabularyTermsWidget.test.jsx | 2 + .../manage/Widgets/__mocks__/index.tsx | 43 +++ .../ObjectListWidget.test.js.snap | 12 +- .../__snapshots__/ObjectWidget.test.jsx.snap | 30 +- .../VocabularyTermsWidget.test.jsx.snap | 54 ++-- .../src/components/manage/Widgets/index.tsx | 232 ++++++++++++++++ .../components/manage/Workflow/Workflow.jsx | 3 +- .../manage/Workflow/Workflow.test.jsx | 5 +- .../__snapshots__/Workflow.test.jsx.snap | 172 +----------- .../theme/Comments/CommentEditModal.jsx | 2 +- .../theme/Comments/CommentEditModal.test.jsx | 4 +- .../components/theme/Comments/Comments.jsx | 4 +- .../theme/Comments/Comments.test.jsx | 2 + .../theme/Comments/__mocks__/index.tsx | 1 + .../CommentEditModal.test.jsx.snap | 24 +- .../__snapshots__/Comments.test.jsx.snap | 107 ++----- .../src/components/theme/Comments/index.tsx | 5 + .../theme/ContactForm/ContactForm.jsx | 3 +- .../theme/ContactForm/ContactForm.test.jsx | 2 + .../__snapshots__/ContactForm.test.jsx.snap | 260 ++++++------------ .../theme/PasswordReset/PasswordReset.jsx | 2 +- .../PasswordReset/RequestPasswordReset.jsx | 2 +- .../RequestPasswordReset.test.jsx | 2 + .../RequestPasswordReset.test.jsx.snap | 126 ++------- .../components/theme/Register/Register.jsx | 3 +- .../theme/Register/Register.test.jsx | 2 + .../__snapshots__/Register.test.jsx.snap | 111 ++------ packages/volto/src/config/ControlPanels.js | 2 +- packages/volto/src/config/Widgets.jsx | 79 +++--- packages/volto/src/routes.js | 42 +-- .../themes/pastanaga/elements/input.overrides | 2 + pnpm-lock.yaml | 12 + 182 files changed, 1898 insertions(+), 1830 deletions(-) create mode 100644 docs/source/contributing/bundle-size-optimization.md create mode 100644 packages/volto-slate/news/5295.internal create mode 100644 packages/volto/news/5295.internal create mode 100644 packages/volto/src/components/manage/Contents/__mocks__/index.tsx create mode 100644 packages/volto/src/components/manage/Contents/index.tsx create mode 100644 packages/volto/src/components/manage/Controlpanels/index.tsx create mode 100644 packages/volto/src/components/manage/Form/__mocks__/index.tsx create mode 100644 packages/volto/src/components/manage/Form/index.tsx create mode 100644 packages/volto/src/components/manage/Rules/index.tsx create mode 100644 packages/volto/src/components/manage/Widgets/__mocks__/index.tsx create mode 100644 packages/volto/src/components/manage/Widgets/index.tsx create mode 100644 packages/volto/src/components/theme/Comments/__mocks__/index.tsx create mode 100644 packages/volto/src/components/theme/Comments/index.tsx diff --git a/docs/source/contributing/bundle-size-optimization.md b/docs/source/contributing/bundle-size-optimization.md new file mode 100644 index 0000000000..3c0c5c5348 --- /dev/null +++ b/docs/source/contributing/bundle-size-optimization.md @@ -0,0 +1,42 @@ +--- +myst: + html_meta: + "description": "Bundle size optimization in Volto" + "property=og:description": "Bundle size optimization in Volto" + "property=og:title": "Bundle size optimization" + "keywords": "Volto, Plone, frontend, React, Performance, guidelines" +--- + +(bundle-size-optimization-label)= + +# Bundle size optimization + +This document describes how to optimize the bundle size of components through {term}`lazy loading` to improve page load times. +Contributors to Volto core should follow the guidelines in this document. + + +## Lazy loading in core + +Since Volto 18, several core components use lazy loading to keep the final build size under control. + +For example, the `Form` components are lazy loaded, which means that the code for the form components is only loaded when the user navigates to a page that contains a form. +A new index file has been created at `packages/volto/src/components/manage/Form/index.tsx` that exports the form components with lazy loading. +The `export`s in the main components index (`packages/volto/src/components/index.js`) have been updated to export components from the new specific index. +The same goes for other components that have been lazy loaded, such as the control panels and widgets. + +Several `import` statements have been updated to use the new lazy loaded components. +For example, the `Form` component is now imported from `@plone/volto/components/manage/Form` instead of `@plone/volto/components/manage/Form/Form`. +You should keep this in mind, and always import components from the specific component index files when available, while avoiding importing components from the main components index file, if possible. +This should also help to reduce circular dependencies, and help the overall build performance in the long run. + + +### Unit test components that use lazy loaded components + +If you import a component from a lazy loaded index, you can have issues with rendering these in unit tests. +Mocks are provided for lazy loaded components and are available for you to use. +This can be done by using the `jest.mock` function to mock the specific component index. +For example, to mock the `Form` component and all other components in the `Form`-specific index, you can use the following code in your test file: + +```javascript +jest.mock('@plone/volto/components/manage/Form'); +``` diff --git a/docs/source/contributing/index.md b/docs/source/contributing/index.md index 1e914a43a4..cc6b8d03b2 100644 --- a/docs/source/contributing/index.md +++ b/docs/source/contributing/index.md @@ -47,12 +47,14 @@ The Volto Team reviews pull requests only from people with a GitHub account who ```{include} ./branch-policy.md ``` + (contributing-install-volto-for-development-label)= ## Install Volto for development For developing Volto, follow {doc}`developing-core`. + (contributing-translations-label)= ## Translations @@ -125,6 +127,7 @@ redux routing icons accessibility-guidelines +bundle-size-optimization typescript volto-core-addons version-policy diff --git a/packages/coresandbox/src/components/Blocks/TestBlock/Data.tsx b/packages/coresandbox/src/components/Blocks/TestBlock/Data.tsx index 814cac8004..104ea631ee 100644 --- a/packages/coresandbox/src/components/Blocks/TestBlock/Data.tsx +++ b/packages/coresandbox/src/components/Blocks/TestBlock/Data.tsx @@ -1,5 +1,5 @@ import { useIntl } from 'react-intl'; -import { BlockDataForm } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import type { BlockEditProps } from '@plone/types'; const TestBlockData = (props: BlockEditProps) => { diff --git a/packages/volto-slate/news/5295.internal b/packages/volto-slate/news/5295.internal new file mode 100644 index 0000000000..146a3378a2 --- /dev/null +++ b/packages/volto-slate/news/5295.internal @@ -0,0 +1 @@ +Update imports to work with the new code split components in Volto. @pnicolli diff --git a/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx b/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx index 397bff13fd..96a493e9aa 100644 --- a/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx +++ b/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx @@ -11,7 +11,8 @@ import cx from 'classnames'; import { defineMessages, injectIntl } from 'react-intl'; import Cell from './Cell'; -import { BlockDataForm, Icon, SidebarPortal } from '@plone/volto/components'; +import { Icon, SidebarPortal } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import TableSchema from './schema'; import rowBeforeSVG from '@plone/volto/icons/row-before.svg'; diff --git a/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx b/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx index a94357f794..eeb1450dd9 100644 --- a/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx +++ b/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx @@ -12,11 +12,8 @@ import { validateFileUploadSize, } from '@plone/volto/helpers'; import config from '@plone/volto/registry'; -import { - BlockDataForm, - SidebarPortal, - BlockChooserButton, -} from '@plone/volto/components'; +import { SidebarPortal, BlockChooserButton } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import { SlateEditor } from '@plone/volto-slate/editor'; import { serializeNodesToText } from '@plone/volto-slate/editor/render'; diff --git a/packages/volto-slate/src/elementEditor/PluginEditor.jsx b/packages/volto-slate/src/elementEditor/PluginEditor.jsx index b7f866e7b7..e33b87ec27 100644 --- a/packages/volto-slate/src/elementEditor/PluginEditor.jsx +++ b/packages/volto-slate/src/elementEditor/PluginEditor.jsx @@ -3,7 +3,8 @@ import { isEqual } from 'lodash'; import React from 'react'; import { useDispatch } from 'react-redux'; import { ReactEditor } from 'slate-react'; -import { Icon as VoltoIcon, BlockDataForm } from '@plone/volto/components'; +import { Icon as VoltoIcon } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import { setPluginOptions } from '@plone/volto-slate/actions'; import BaseSchemaProvider from './SchemaProvider'; diff --git a/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx b/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx index 97385733a4..ba7367ccd9 100644 --- a/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx +++ b/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx @@ -9,7 +9,7 @@ import { MemoryRouter } from 'react-router-dom'; import { Provider, useSelector } from 'react-redux'; import { defineMessages, injectIntl } from 'react-intl'; -import { FormFieldWrapper } from '@plone/volto/components'; +import { FormFieldWrapper } from '@plone/volto/components/manage/Widgets'; import SlateEditor from '@plone/volto-slate/editor/SlateEditor'; import { serializeNodes } from '@plone/volto-slate/editor/render'; import { makeEditor } from '@plone/volto-slate/utils'; diff --git a/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx b/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx index 7730ddf557..a97f3c28de 100644 --- a/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx +++ b/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx @@ -1,6 +1,7 @@ import React from 'react'; import { Menu, Tab } from 'semantic-ui-react'; -import { Icon, ObjectWidget } from '@plone/volto/components'; +import { Icon } from '@plone/volto/components'; +import { ObjectWidget } from '@plone/volto/components/manage/Widgets'; export const ObjectByTypeWidget = (props) => { const { schemas, value = {}, onChange, errors = {}, id } = props; diff --git a/packages/volto-slate/src/widgets/RichTextWidget.jsx b/packages/volto-slate/src/widgets/RichTextWidget.jsx index 0428440681..6cc151ebc6 100644 --- a/packages/volto-slate/src/widgets/RichTextWidget.jsx +++ b/packages/volto-slate/src/widgets/RichTextWidget.jsx @@ -6,7 +6,7 @@ import React from 'react'; import isUndefined from 'lodash/isUndefined'; import isString from 'lodash/isString'; -import { FormFieldWrapper } from '@plone/volto/components'; +import { FormFieldWrapper } from '@plone/volto/components/manage/Widgets'; import SlateEditor from '@plone/volto-slate/editor/SlateEditor'; import { createEmptyParagraph, createParagraph } from '../utils/blocks'; diff --git a/packages/volto/cypress/support/commands.js b/packages/volto/cypress/support/commands.js index 0410029d94..6ae8849820 100644 --- a/packages/volto/cypress/support/commands.js +++ b/packages/volto/cypress/support/commands.js @@ -702,10 +702,7 @@ Cypress.Commands.add( 'pasteClipboard', { prevSubject: true }, (query, htmlContent) => { - return cy - .wrap(query) - .type(' {backspace}') - .trigger('paste', createHtmlPasteEvent(htmlContent)); + return cy.wrap(query).trigger('paste', createHtmlPasteEvent(htmlContent)); }, ); diff --git a/packages/volto/cypress/support/e2e.js b/packages/volto/cypress/support/e2e.js index 4698c07b09..a103bdc2c4 100644 --- a/packages/volto/cypress/support/e2e.js +++ b/packages/volto/cypress/support/e2e.js @@ -5,6 +5,15 @@ import './commands'; import { setupGuillotina, tearDownGuillotina } from './guillotina'; import { setup, teardown } from './reset-fixture'; +Cypress.on('uncaught:exception', (err) => { + // We are getting this error in Cypress tests but we don't use ResizeObserver ourselves + if (/ResizeObserver loop/.test(err.message)) { + // returning false here prevents Cypress from + // failing the test + return false; + } +}); + before(function () { if (Cypress.env('API') === 'guillotina') { tearDownGuillotina({ allowFail: true }); diff --git a/packages/volto/cypress/tests/core/controlpanels/upgrade.js b/packages/volto/cypress/tests/core/controlpanels/upgrade.js index 20dd2fbbb9..8b30cf6d5e 100644 --- a/packages/volto/cypress/tests/core/controlpanels/upgrade.js +++ b/packages/volto/cypress/tests/core/controlpanels/upgrade.js @@ -39,11 +39,12 @@ describe('Upgrade Site Tests', () => { body: { ...getUpgradeNeedsUpgrade, }, - }).as('getSystemNeedsUpdate'); + }).as('getUpgradeNeedsUpgrade'); cy.navigate('controlpanel'); cy.wait('@getSystemNeedsUpdate'); cy.findByText('Please continue with the upgrade.').click(); + cy.wait('@getUpgradeNeedsUpgrade'); cy.get('.content-area').contains( 'The site configuration is outdated and needs to be upgraded.', ); diff --git a/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js b/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js index b34867f541..8e7519ee61 100644 --- a/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js +++ b/packages/volto/cypress/tests/core/volto-slate/06-block-slate-format-link.js @@ -100,7 +100,7 @@ describe('Block Tests: Links', () => { it('As editor I can add a link and pressing enter does not add another link in the next block', function () { // https://github.com/plone/volto/pull/5186 cy.get('#toolbar').click(); - cy.getSlate().type('Colorless green ideas sleep furiously'); + cy.getSlateEditorAndType('Colorless green ideas sleep furiously'); cy.log('Create a Link'); @@ -111,8 +111,8 @@ describe('Block Tests: Links', () => { 'https://google.com{enter}', ); cy.getSlate().should('have.descendants', 'a.slate-editor-link'); - cy.getSlate().type('{rightarrow}').type('{enter}'); - cy.getSlate().type('Hello').type('{enter}'); + cy.getSlateEditorAndType('{rightarrow}').type('{enter}'); + cy.getSlateEditorAndType('Hello').type('{enter}'); cy.toolbarSave(); diff --git a/packages/volto/news/5295.internal b/packages/volto/news/5295.internal new file mode 100644 index 0000000000..c6a8273fb7 --- /dev/null +++ b/packages/volto/news/5295.internal @@ -0,0 +1 @@ +Reduced JavaScript bundle size of the production build. Code split several internal modules: Controlpanels, Form, Widgets among other small ones. @pnicolli @deodorhunter diff --git a/packages/volto/package.json b/packages/volto/package.json index eafd481366..b1cdeae2fc 100644 --- a/packages/volto/package.json +++ b/packages/volto/package.json @@ -301,6 +301,7 @@ "@testing-library/react": "14.2.0", "@testing-library/react-hooks": "8.0.1", "@types/jest": "^29.5.8", + "@types/loadable__component": "^5.13.9", "@types/lodash": "^4.14.201", "@types/react": "^18", "@types/react-dom": "^18", diff --git a/packages/volto/src/components/index.js b/packages/volto/src/components/index.js index 22bff3e1d7..bcd0f9a8f8 100644 --- a/packages/volto/src/components/index.js +++ b/packages/volto/src/components/index.js @@ -75,39 +75,54 @@ export { default as AlbumView } from '@plone/volto/components/theme/View/AlbumVi export { default as Actions } from '@plone/volto/components/manage/Actions/Actions'; export { default as Add } from '@plone/volto/components/manage/Add/Add'; -export { default as AddonsControlpanel } from '@plone/volto/components/manage/Controlpanels/AddonsControlpanel'; -export { default as UndoControlpanel } from '@plone/volto/components/manage/Controlpanels/UndoControlpanel'; -export { default as Contents } from '@plone/volto/components/manage/Contents/Contents'; +export { + Controlpanels, + Controlpanel, + RulesControlpanel, + AddRuleControlpanel, + EditRuleControlpanel, + ConfigureRuleControlpanel, + UsersControlpanel, + RenderUsers, + UserGroupMembershipControlPanel, + GroupsControlpanel, + RenderGroups, + RelationsControlpanel, + AliasesControlpanel, + UndoControlpanel, + AddonsControlpanel, + ContentType, + ContentTypeLayout, + ContentTypeSchema, + ContentTypes, + VersionOverview, + UpgradeControlPanel, + ModerateComments, + DatabaseInformation, +} from '@plone/volto/components/manage/Controlpanels'; + export { default as Circle } from '@plone/volto/components/manage/Contents/circle'; -export { default as DatabaseInformation } from '@plone/volto/components/manage/Controlpanels/DatabaseInformation'; -export { default as Controlpanel } from '@plone/volto/components/manage/Controlpanels/Controlpanel'; -export { default as Controlpanels } from '@plone/volto/components/manage/Controlpanels/Controlpanels'; -export { default as AliasesControlpanel } from '@plone/volto/components/manage/Controlpanels/Aliases'; -export { default as ContentTypes } from '@plone/volto/components/manage/Controlpanels/ContentTypes'; -export { default as ContentType } from '@plone/volto/components/manage/Controlpanels/ContentType'; -export { default as ContentTypeLayout } from '@plone/volto/components/manage/Controlpanels/ContentTypeLayout'; -export { default as ContentTypeSchema } from '@plone/volto/components/manage/Controlpanels/ContentTypeSchema'; -export { default as ContentTypesActions } from '@plone/volto/components/manage/Controlpanels/ContentTypesActions'; -export { default as UsersControlpanel } from '@plone/volto/components/manage/Controlpanels/Users/UsersControlpanel'; -export { default as UserGroupMembershipControlPanel } from '@plone/volto/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel'; -export { default as Relations } from '@plone/volto/components/manage/Controlpanels/Relations/Relations'; -export { default as GroupsControlpanel } from '@plone/volto/components/manage/Controlpanels/Groups/GroupsControlpanel'; -export { default as RulesControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/Rules'; -export { default as AddRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/AddRule'; -export { default as EditRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/EditRule'; -export { default as ConfigureRuleControlpanel } from '@plone/volto/components/manage/Controlpanels/Rules/ConfigureRule'; -export { default as UpgradeControlPanel } from '@plone/volto/components/manage/Controlpanels/UpgradeControlPanel'; - -export { default as ModerateComments } from '@plone/volto/components/manage/Controlpanels/ModerateComments'; -export { default as VersionOverview } from '@plone/volto/components/manage/Controlpanels/VersionOverview'; + export { default as Delete } from '@plone/volto/components/manage/Delete/Delete'; -export { default as Diff } from '@plone/volto/components/manage/Diff/Diff'; +export const Diff = loadable( + () => + import( + /* webpackChunkName: "HistoryView" */ '@plone/volto/components/manage/Diff/Diff' + ), +); +export const DiffField = loadable( + () => + import( + /* webpackChunkName: "HistoryView" */ '@plone/volto/components/manage/Diff/DiffField' + ), +); export { default as Display } from '@plone/volto/components/manage/Display/Display'; export { default as Edit } from '@plone/volto/components/manage/Edit/Edit'; -export { default as ModalForm } from '@plone/volto/components/manage/Form/ModalForm'; export { default as History } from '@plone/volto/components/manage/History/History'; export { default as Sharing } from '@plone/volto/components/manage/Sharing/Sharing'; -export { default as Rules } from '@plone/volto/components/manage/Rules/Rules'; +export const Rules = loadable( + () => import('@plone/volto/components/manage/Rules/Rules'), +); export { default as Aliases } from '@plone/volto/components/manage/Aliases/Aliases'; export { default as LinksToItem } from '@plone/volto/components/manage/LinksToItem/LinksToItem'; export { default as Workflow } from '@plone/volto/components/manage/Workflow/Workflow'; @@ -124,58 +139,74 @@ export { default as Types } from '@plone/volto/components/manage/Toolbar/Types'; export { default as Toast } from '@plone/volto/components/manage/Toast/Toast'; export { default as ManageTranslations } from '@plone/volto/components/manage/Multilingual/ManageTranslations'; -// Potentially could ve removed from index, since they are internal components and -// we don't want them to end up in the main chunk -export { default as Form } from '@plone/volto/components/manage/Form/Form'; -export { default as BlocksToolbar } from '@plone/volto/components/manage/Form/BlocksToolbar'; -export { default as UndoToolbar } from '@plone/volto/components/manage/Form/UndoToolbar'; -export { default as Field } from '@plone/volto/components/manage/Form/Field'; +export { + Field, + InlineForm, + ModalForm, + UndoToolbar, + BlocksToolbar, + BlockDataForm, + BlocksForm, + Form, +} from '@plone/volto/components/manage/Form'; export { default as SearchTags } from '@plone/volto/components/theme/Search/SearchTags'; -export { default as CommentEditModal } from '@plone/volto/components/theme/Comments/CommentEditModal'; -export { default as ContentsBreadcrumbs } from '@plone/volto/components/manage/Contents/ContentsBreadcrumbs'; -export { default as ContentsIndexHeader } from '@plone/volto/components/manage/Contents/ContentsIndexHeader'; -export { default as ContentsItem } from '@plone/volto/components/manage/Contents/ContentsItem'; -export { default as ContentsUploadModal } from '@plone/volto/components/manage/Contents/ContentsUploadModal'; -export { default as ContentsPropertiesModal } from '@plone/volto/components/manage/Contents/ContentsPropertiesModal'; -export { default as ContentsRenameModal } from '@plone/volto/components/manage/Contents/ContentsRenameModal'; -export { default as ContentsWorkflowModal } from '@plone/volto/components/manage/Contents/ContentsWorkflowModal'; -export { default as ContentsTagsModal } from '@plone/volto/components/manage/Contents/ContentsTagsModal'; -export { default as RenderUsers } from '@plone/volto/components/manage/Controlpanels/Users/RenderUsers'; -export { default as RenderGroups } from '@plone/volto/components/manage/Controlpanels/Groups/RenderGroups'; -export { default as DiffField } from '@plone/volto/components/manage/Diff/DiffField'; +export { CommentEditModal } from '@plone/volto/components/theme/Comments'; +export { + Contents, + ContentsBreadcrumbs, + ContentsIndexHeader, + ContentsItem, + ContentsUploadModal, + ContentsPropertiesModal, + ContentsRenameModal, + ContentsWorkflowModal, + ContentsTagsModal, +} from '@plone/volto/components/manage/Contents'; export { default as DragDropList } from '@plone/volto/components/manage/DragDropList/DragDropList'; -export { default as InlineForm } from '@plone/volto/components/manage/Form/InlineForm'; -export { default as BlocksForm } from '@plone/volto/components/manage/Blocks/Block/BlocksForm'; -export { default as BlockDataForm } from '@plone/volto/components/manage/Form/BlockDataForm'; - -export { default as FormFieldWrapper } from '@plone/volto/components/manage/Widgets/FormFieldWrapper'; -export { default as ArrayWidget } from '@plone/volto/components/manage/Widgets/ArrayWidget'; -export { default as CheckboxWidget } from '@plone/volto/components/manage/Widgets/CheckboxWidget'; -export const DatetimeWidget = loadable( - () => import('@plone/volto/components/manage/Widgets/DatetimeWidget'), +export { + AlignWidget, + ButtonsWidget, + ArrayWidget, + CheckboxWidget, + FileWidget, + IdWidget, + PasswordWidget, + QueryWidget, + QuerySortOnWidget, + QuerystringWidget, + SchemaWidget, + SelectWidget, + TextareaWidget, + TextWidget, + TokenWidget, + WysiwygWidget, + UrlWidget, + InternalUrlWidget, + EmailWidget, + NumberWidget, + ImageSizeWidget, + RegistryImageWidget, + ReferenceWidget, + ObjectBrowserWidget, + ObjectWidget, + ObjectListWidget, + VocabularyTermsWidget, + SelectMetadataWidget, + SelectAutoComplete, + ColorPickerWidget, + DatetimeWidget, + RecurrenceWidget, + FormFieldWrapper, +} from '@plone/volto/components/manage/Widgets'; + +export const SchemaWidgetFieldset = loadable( + () => import('@plone/volto/components/manage/Widgets/SchemaWidgetFieldset'), ); -export const RecurrenceWidget = loadable( - () => - import( - '@plone/volto/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget' - ), +export const ObjectBrowserWidgetMode = loadable( + () => import('@plone/volto/components/manage/Widgets/ObjectBrowserWidget'), ); -export { default as FileWidget } from '@plone/volto/components/manage/Widgets/FileWidget'; -export { default as IdWidget } from '@plone/volto/components/manage/Widgets/IdWidget'; -export { default as PasswordWidget } from '@plone/volto/components/manage/Widgets/PasswordWidget'; -export { default as ReferenceWidget } from '@plone/volto/components/manage/Widgets/ReferenceWidget'; -export { default as SchemaWidget } from '@plone/volto/components/manage/Widgets/SchemaWidget'; -export { default as SchemaWidgetFieldset } from '@plone/volto/components/manage/Widgets/SchemaWidgetFieldset'; -export { default as SelectWidget } from '@plone/volto/components/manage/Widgets/SelectWidget'; -export { default as TextareaWidget } from '@plone/volto/components/manage/Widgets/TextareaWidget'; -export { default as TextWidget } from '@plone/volto/components/manage/Widgets/TextWidget'; -export { default as ObjectBrowserWidget } from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; -export { default as ObjectBrowserWidgetMode } from '@plone/volto/components/manage/Widgets/ObjectBrowserWidget'; -export { default as ObjectWidget } from '@plone/volto/components/manage/Widgets/ObjectWidget'; -export { default as ObjectListWidget } from '@plone/volto/components/manage/Widgets/ObjectListWidget'; - export { default as EditDefaultBlock } from '@plone/volto/components/manage/Blocks/Block/DefaultEdit'; export { default as EditDescriptionBlock } from '@plone/volto/components/manage/Blocks/Description/Edit'; export { default as EditTitleBlock } from '@plone/volto/components/manage/Blocks/Title/Edit'; diff --git a/packages/volto/src/components/manage/Actions/Actions.jsx b/packages/volto/src/components/manage/Actions/Actions.jsx index 765ba01c20..9d063146c6 100644 --- a/packages/volto/src/components/manage/Actions/Actions.jsx +++ b/packages/volto/src/components/manage/Actions/Actions.jsx @@ -8,7 +8,8 @@ import { FormattedMessage, defineMessages, useIntl } from 'react-intl'; import { cut, copy, copyContent, moveContent } from '@plone/volto/actions'; import { getBaseUrl } from '@plone/volto/helpers'; -import { ContentsRenameModal, Toast } from '@plone/volto/components'; +import { Toast } from '@plone/volto/components'; +import { ContentsRenameModal } from '@plone/volto/components/manage/Contents'; const messages = defineMessages({ cut: { diff --git a/packages/volto/src/components/manage/Actions/Actions.test.jsx b/packages/volto/src/components/manage/Actions/Actions.test.jsx index ba2032f6a1..d66f98dabb 100644 --- a/packages/volto/src/components/manage/Actions/Actions.test.jsx +++ b/packages/volto/src/components/manage/Actions/Actions.test.jsx @@ -8,9 +8,7 @@ import Actions from './Actions'; const mockStore = configureStore(); -jest.mock('../Contents/ContentsRenameModal', () => - jest.fn(() =>
), -); +jest.mock('@plone/volto/components/manage/Contents'); describe('Actions', () => { it('renders an actions component', () => { diff --git a/packages/volto/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap b/packages/volto/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap index 51c4c11017..db5940cde3 100644 --- a/packages/volto/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap +++ b/packages/volto/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap @@ -92,7 +92,7 @@ exports[`Actions renders an actions component 1`] = `
diff --git a/packages/volto/src/components/manage/Add/Add.jsx b/packages/volto/src/components/manage/Add/Add.jsx index cf5057267b..0510b43f5a 100644 --- a/packages/volto/src/components/manage/Add/Add.jsx +++ b/packages/volto/src/components/manage/Add/Add.jsx @@ -23,13 +23,13 @@ import { setFormData, } from '@plone/volto/actions'; import { - Form, Icon, Toolbar, Sidebar, Toast, TranslationObject, } from '@plone/volto/components'; +import { Form } from '@plone/volto/components/manage/Form'; import { getBaseUrl, hasBlocksData, diff --git a/packages/volto/src/components/manage/Blocks/Block/DefaultEdit.jsx b/packages/volto/src/components/manage/Blocks/Block/DefaultEdit.jsx index f15953cba0..f8fab927af 100644 --- a/packages/volto/src/components/manage/Blocks/Block/DefaultEdit.jsx +++ b/packages/volto/src/components/manage/Blocks/Block/DefaultEdit.jsx @@ -2,7 +2,7 @@ import React from 'react'; import config from '@plone/volto/registry'; import { useIntl } from 'react-intl'; import { SidebarPortal } from '@plone/volto/components'; -import { BlockDataForm } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import DefaultBlockView from './DefaultView'; const DefaultBlockEdit = (props) => { diff --git a/packages/volto/src/components/manage/Blocks/Block/Settings.jsx b/packages/volto/src/components/manage/Blocks/Block/Settings.jsx index 9c72d5a084..0501f324fd 100644 --- a/packages/volto/src/components/manage/Blocks/Block/Settings.jsx +++ b/packages/volto/src/components/manage/Blocks/Block/Settings.jsx @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { injectIntl } from 'react-intl'; -import BlockDataForm from '@plone/volto/components/manage/Form/BlockDataForm'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; const Settings = ({ data, diff --git a/packages/volto/src/components/manage/Blocks/Block/Settings.test.jsx b/packages/volto/src/components/manage/Blocks/Block/Settings.test.jsx index 8cc2a7f301..237b53d556 100644 --- a/packages/volto/src/components/manage/Blocks/Block/Settings.test.jsx +++ b/packages/volto/src/components/manage/Blocks/Block/Settings.test.jsx @@ -5,6 +5,8 @@ import configureStore from 'redux-mock-store'; import config from '@plone/volto/registry'; import { Provider } from 'react-intl-redux'; +jest.mock('@plone/volto/components/manage/Form'); + const mockStore = configureStore(); const withStateManagement = diff --git a/packages/volto/src/components/manage/Blocks/Block/__snapshots__/Settings.test.jsx.snap b/packages/volto/src/components/manage/Blocks/Block/__snapshots__/Settings.test.jsx.snap index d60a35d1da..a629ca9637 100644 --- a/packages/volto/src/components/manage/Blocks/Block/__snapshots__/Settings.test.jsx.snap +++ b/packages/volto/src/components/manage/Blocks/Block/__snapshots__/Settings.test.jsx.snap @@ -3,15 +3,18 @@ exports[`Settings renders block settings form without schema enhancers 1`] = `
-
-
-
-
+ data-schema="{ + \\"fieldsets\\": [ + { + \\"title\\": \\"Default\\", + \\"id\\": \\"default\\", + \\"fields\\": [] + } + ], + \\"properties\\": {}, + \\"required\\": [] +}" + id="BlockDataForm" + />
`; diff --git a/packages/volto/src/components/manage/Blocks/Container/Data.jsx b/packages/volto/src/components/manage/Blocks/Container/Data.jsx index 76c18b5c72..d9b24bf6e0 100644 --- a/packages/volto/src/components/manage/Blocks/Container/Data.jsx +++ b/packages/volto/src/components/manage/Blocks/Container/Data.jsx @@ -1,5 +1,5 @@ import { useIntl } from 'react-intl'; -import { BlockDataForm } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; const ContainerData = (props) => { const { block, blocksConfig, data, onChangeBlock, navRoot, contentType } = diff --git a/packages/volto/src/components/manage/Blocks/Container/Edit.jsx b/packages/volto/src/components/manage/Blocks/Container/Edit.jsx index df72ef7228..6c7fa892cb 100644 --- a/packages/volto/src/components/manage/Blocks/Container/Edit.jsx +++ b/packages/volto/src/components/manage/Blocks/Container/Edit.jsx @@ -1,7 +1,8 @@ import { useState } from 'react'; import { useIntl } from 'react-intl'; import { pickBy } from 'lodash'; -import { BlocksForm, SidebarPortal } from '@plone/volto/components'; +import { SidebarPortal } from '@plone/volto/components'; +import { BlocksForm } from '@plone/volto/components/manage/Form'; import PropTypes from 'prop-types'; import ContainerData from './Data'; import DefaultEditBlockWrapper from './EditBlockWrapper'; diff --git a/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.jsx b/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.jsx index 2df5c64190..94a43e1d3c 100644 --- a/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.jsx +++ b/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.jsx @@ -3,7 +3,8 @@ import PropTypes from 'prop-types'; import { Segment, Button } from 'semantic-ui-react'; import { useIntl, FormattedMessage, defineMessages } from 'react-intl'; import { flattenToAppURL, isInternalURL } from '@plone/volto/helpers'; -import { BlockDataForm, Icon, Image } from '@plone/volto/components'; +import { Icon, Image } from '@plone/volto/components'; +import { BlockDataForm } from '@plone/volto/components/manage/Form'; import { ImageSchema } from './schema'; import imageSVG from '@plone/volto/icons/image.svg'; import trashSVG from '@plone/volto/icons/delete.svg'; diff --git a/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.test.jsx b/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.test.jsx index bc070b1d89..725237aff8 100644 --- a/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.test.jsx +++ b/packages/volto/src/components/manage/Blocks/Image/ImageSidebar.test.jsx @@ -5,6 +5,8 @@ import { Provider } from 'react-intl-redux'; import ImageSidebar from './ImageSidebar'; +jest.mock('@plone/volto/components/manage/Form'); + const mockStore = configureStore(); test('renders an Image Block Sidebar component', () => { diff --git a/packages/volto/src/components/manage/Blocks/Image/__snapshots__/ImageSidebar.test.jsx.snap b/packages/volto/src/components/manage/Blocks/Image/__snapshots__/ImageSidebar.test.jsx.snap index e4e4544a01..ebfafbc06e 100644 --- a/packages/volto/src/components/manage/Blocks/Image/__snapshots__/ImageSidebar.test.jsx.snap +++ b/packages/volto/src/components/manage/Blocks/Image/__snapshots__/ImageSidebar.test.jsx.snap @@ -58,125 +58,57 @@ Array [ />
,
-
-
-
- Alt text - - - - Describe the purpose of the image. - - - Leave empty if the image is purely decorative. -
-
- Alignment - - - No description -
-
- Image size - - - No description -
-
-
-
- -
-
, + data-schema="{ + \\"fieldsets\\": [ + { + \\"id\\": \\"default\\", + \\"title\\": \\"Default\\", + \\"fields\\": [ + \\"alt\\", + \\"align\\", + \\"size\\" + ] + }, + { + \\"id\\": \\"link_settings\\", + \\"title\\": \\"Link settings\\", + \\"fields\\": [ + \\"href\\", + \\"openLinkInNewTab\\" + ] + } + ], + \\"properties\\": { + \\"alt\\": { + \\"title\\": \\"Alt text\\" + }, + \\"align\\": { + \\"title\\": \\"Alignment\\", + \\"widget\\": \\"align\\" + }, + \\"size\\": { + \\"title\\": \\"Image size\\", + \\"widget\\": \\"image_size\\" + }, + \\"href\\": { + \\"title\\": \\"Link to\\", + \\"widget\\": \\"object_browser\\", + \\"mode\\": \\"link\\", + \\"selectedItemAttrs\\": [ + \\"Title\\", + \\"Description\\", + \\"hasPreviewImage\\" + ], + \\"allowExternals\\": true + }, + \\"openLinkInNewTab\\": { + \\"title\\": \\"Open in a new tab\\", + \\"type\\": \\"boolean\\" + } + }, + \\"required\\": [] +}" + id="BlockDataForm" + />, ] `; diff --git a/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx b/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx index 8998fc1be1..5a126ec2cc 100644 --- a/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +++ b/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx @@ -3,12 +3,11 @@ import PropTypes from 'prop-types'; import { Form } from 'semantic-ui-react'; import { Accordion, Grid, Segment } from 'semantic-ui-react'; import { defineMessages, FormattedMessage, injectIntl } from 'react-intl'; +import { Icon, Image } from '@plone/volto/components'; import { CheckboxWidget, - Icon, - Image, TextWidget, -} from '@plone/volto/components'; +} from '@plone/volto/components/manage/Widgets'; import { flattenToAppURL } from '@plone/volto/helpers'; import AlignBlock from '@plone/volto/components/manage/Sidebar/AlignBlock'; diff --git a/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx b/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx index a606afff4e..6eb8e5e98e 100644 --- a/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx +++ b/packages/volto/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx @@ -5,6 +5,8 @@ import { Provider } from 'react-intl-redux'; import LeadImageSidebar from './LeadImageSidebar'; +jest.mock('@plone/volto/components/manage/Widgets'); + const mockStore = configureStore(); test('renders a Lead Image block Sidebar component', () => { diff --git a/packages/volto/src/components/manage/Blocks/LeadImage/__snapshots__/LeadImageSidebar.test.jsx.snap b/packages/volto/src/components/manage/Blocks/LeadImage/__snapshots__/LeadImageSidebar.test.jsx.snap index 92ec28dabf..07e5ee1607 100644 --- a/packages/volto/src/components/manage/Blocks/LeadImage/__snapshots__/LeadImageSidebar.test.jsx.snap +++ b/packages/volto/src/components/manage/Blocks/LeadImage/__snapshots__/LeadImageSidebar.test.jsx.snap @@ -29,84 +29,8 @@ exports[`renders a Lead Image block Sidebar component 1`] = ` className="ui segment form sidebar-image-data" >
-
-
-
-
- -
-
-
-
- -