From 2944afc115ba9edfc0cf5783e4b8b05111fe5a78 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 11 May 2026 13:54:09 -0700 Subject: [PATCH 01/11] Add backend for DSVGO banner settings --- .../website/controlpanels/configure.zcml | 9 +++ .../kitconcept/website/controlpanels/dsgvo.py | 80 +++++++++++++++++++ .../locales/en/LC_MESSAGES/kitconcept.site.po | 22 ++--- .../website/locales/kitconcept.site.pot | 24 +++--- .../website/profiles/default/controlpanel.xml | 12 +++ .../website/profiles/default/metadata.xml | 2 +- ...ite.controlpanels.dsgvo.IDSGVOSettings.xml | 8 ++ .../plone.i18n.interfaces.ILanguageSchema.xml | 12 --- .../website/upgrades/configure.zcml | 1 + .../website/upgrades/v20260511001/__init__.py | 0 .../upgrades/v20260511001/configure.zcml | 17 ++++ backend/tests/settings/test_dsgvo_settings.py | 18 +++++ .../kitconcept-website/src/config/settings.ts | 3 + 13 files changed, 176 insertions(+), 32 deletions(-) create mode 100644 backend/src/kitconcept/website/controlpanels/dsgvo.py create mode 100644 backend/src/kitconcept/website/profiles/default/registry/kitconcept.website.controlpanels.dsgvo.IDSGVOSettings.xml delete mode 100644 backend/src/kitconcept/website/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml create mode 100644 backend/src/kitconcept/website/upgrades/v20260511001/__init__.py create mode 100644 backend/src/kitconcept/website/upgrades/v20260511001/configure.zcml create mode 100644 backend/tests/settings/test_dsgvo_settings.py diff --git a/backend/src/kitconcept/website/controlpanels/configure.zcml b/backend/src/kitconcept/website/controlpanels/configure.zcml index fb8b793..a7dc44d 100644 --- a/backend/src/kitconcept/website/controlpanels/configure.zcml +++ b/backend/src/kitconcept/website/controlpanels/configure.zcml @@ -1,3 +1,12 @@ + + + diff --git a/backend/src/kitconcept/website/controlpanels/dsgvo.py b/backend/src/kitconcept/website/controlpanels/dsgvo.py new file mode 100644 index 0000000..7db4206 --- /dev/null +++ b/backend/src/kitconcept/website/controlpanels/dsgvo.py @@ -0,0 +1,80 @@ +from kitconcept.website import _ +from kitconcept.website.interfaces import IBrowserLayer +from plone.registry.interfaces import IRegistry +from plone.restapi.controlpanels import RegistryConfigletPanel +from plone.restapi.interfaces import ISiteEndpointExpander +from zope import schema +from zope.component import adapter +from zope.component import getUtility +from zope.interface import implementer +from zope.interface import Interface +from zope.schema.vocabulary import SimpleVocabulary + + +# These are the modules supported in +# https://github.com/kitconcept/volto-dsgvo-banner/blob/main/packages/volto-dsgvo-banner/src/components/Block/View.jsx +DSGVO_MODULES = SimpleVocabulary.fromValues([ + 'tracking', + 'youtube', + 'facebook', + 'google', + 'vimeo', + 'twitter', +]) + + +class IDSGVOSettings(Interface): + """Settings for @kitconcept/volto-dsgvo-banner""" + + show_banner = schema.Bool( + title=_("label_dsgvo_show_banner", default="Show GDPR banner on first visit"), + description=_("help_dsgvo_show_banner", + default="If true, the cookie consent banner will be shown immediately. " + "If false, users will be prompted to accept cookies only in the context " + "of blocks where they are needed.", + ), + default=True, + ) + + modules = schema.List( + title=_("label_dsgvo_modules", default="Show privacy settings for"), + description=_("help_dsgvo_modules", + default="List of 3rd-party sites to be shown in privacy preferences.", + ), + value_type=schema.Choice( + vocabulary=DSGVO_MODULES, + ), + default=['tracking', 'youtube', 'facebook', 'google'], + required=True, + ) + + +@adapter(Interface, Interface) +class DSGVOControlpanel(RegistryConfigletPanel): + """REST API control panel for DSGVO settings.""" + schema = IDSGVOSettings + configlet_id = "dsgvo-settings" + configlet_category_id = "plone-general" + schema_prefix = "kitconcept.website.dsgvo" + + +@adapter(Interface, IBrowserLayer) +@implementer(ISiteEndpointExpander) +class DSGVOSiteEndpointExpander: + """Add DSGVO settings to the @site endpoint.""" + + def __init__(self, context, request): + self.context = context + self.request = request + + def __call__(self, data): + registry = getUtility(IRegistry) + settings = registry.forInterface(IDSGVOSettings, prefix="kitconcept.website.dsgvo", check=False) + try: + data["kitconcept.website.dsgvo"] = { + "show_banner": settings.show_banner, + "modules": settings.modules, + } + except AttributeError: + # Probably the upgrade step wasn't run yet, so the records don't exist. + pass diff --git a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po index a9830da..c45a3e3 100644 --- a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po +++ b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-05-28 08:40+0000\n" +"POT-Creation-Date: 2026-05-11 20:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,18 +14,22 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: kitconcept.website\n" -#: kitconcept/website/distributions.zcml:16 -msgid "A CMS solution for public websites. Created by kitconcept." +#. Default: "List of 3rd-party sites to be shown in privacy preferences." +#: kitconcept/website/controlpanels/dsgvo.py:41 +msgid "help_dsgvo_modules" msgstr "" -#: kitconcept/website/profiles.zcml:14 -msgid "Policy package to install our site" +#. Default: "If true, the cookie consent banner will be shown immediately. If false, users will be prompted to accept cookies only in the context of blocks where they are needed." +#: kitconcept/website/controlpanels/dsgvo.py:31 +msgid "help_dsgvo_show_banner" msgstr "" -#: kitconcept/website/distributions.zcml:16 -msgid "kitconcept Site" +#. Default: "Show privacy settings for" +#: kitconcept/website/controlpanels/dsgvo.py:40 +msgid "label_dsgvo_modules" msgstr "" -#: kitconcept/website/profiles.zcml:14 -msgid "kitconcept.website: Install" +#. Default: "Show GDPR banner on first visit" +#: kitconcept/website/controlpanels/dsgvo.py:30 +msgid "label_dsgvo_show_banner" msgstr "" diff --git a/backend/src/kitconcept/website/locales/kitconcept.site.pot b/backend/src/kitconcept/website/locales/kitconcept.site.pot index 1965224..de2c6fa 100644 --- a/backend/src/kitconcept/website/locales/kitconcept.site.pot +++ b/backend/src/kitconcept/website/locales/kitconcept.site.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-05-28 08:40+0000\n" +"POT-Creation-Date: 2026-05-11 20:53+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,20 +15,24 @@ msgstr "" "Language-Code: en\n" "Language-Name: English\n" "Preferred-Encodings: utf-8 latin1\n" -"Domain: kitconcept.website\n" +"Domain: kitconcept.site\n" -#: kitconcept/website/distributions.zcml:16 -msgid "A CMS solution for public websites. Created by kitconcept." +#. Default: "List of 3rd-party sites to be shown in privacy preferences." +#: kitconcept/website/controlpanels/dsgvo.py:41 +msgid "help_dsgvo_modules" msgstr "" -#: kitconcept/website/profiles.zcml:14 -msgid "Policy package to install our site" +#. Default: "If true, the cookie consent banner will be shown immediately. If false, users will be prompted to accept cookies only in the context of blocks where they are needed." +#: kitconcept/website/controlpanels/dsgvo.py:31 +msgid "help_dsgvo_show_banner" msgstr "" -#: kitconcept/website/distributions.zcml:16 -msgid "kitconcept Site" +#. Default: "Show privacy settings for" +#: kitconcept/website/controlpanels/dsgvo.py:40 +msgid "label_dsgvo_modules" msgstr "" -#: kitconcept/website/profiles.zcml:14 -msgid "kitconcept.website: Install" +#. Default: "Show GDPR banner on first visit" +#: kitconcept/website/controlpanels/dsgvo.py:30 +msgid "label_dsgvo_show_banner" msgstr "" diff --git a/backend/src/kitconcept/website/profiles/default/controlpanel.xml b/backend/src/kitconcept/website/profiles/default/controlpanel.xml index 39d3bda..03fb2cd 100644 --- a/backend/src/kitconcept/website/profiles/default/controlpanel.xml +++ b/backend/src/kitconcept/website/profiles/default/controlpanel.xml @@ -4,4 +4,16 @@ name="portal_controlpanel" i18n:domain="plone" > + + Manage portal + diff --git a/backend/src/kitconcept/website/profiles/default/metadata.xml b/backend/src/kitconcept/website/profiles/default/metadata.xml index 29d383d..e38de23 100644 --- a/backend/src/kitconcept/website/profiles/default/metadata.xml +++ b/backend/src/kitconcept/website/profiles/default/metadata.xml @@ -1,6 +1,6 @@ - 20260304001 + 20260511001 profile-kitconcept.contactblock:default diff --git a/backend/src/kitconcept/website/profiles/default/registry/kitconcept.website.controlpanels.dsgvo.IDSGVOSettings.xml b/backend/src/kitconcept/website/profiles/default/registry/kitconcept.website.controlpanels.dsgvo.IDSGVOSettings.xml new file mode 100644 index 0000000..40a11ff --- /dev/null +++ b/backend/src/kitconcept/website/profiles/default/registry/kitconcept.website.controlpanels.dsgvo.IDSGVOSettings.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/backend/src/kitconcept/website/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml b/backend/src/kitconcept/website/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml deleted file mode 100644 index cd2730f..0000000 --- a/backend/src/kitconcept/website/profiles/default/registry/plone.i18n.interfaces.ILanguageSchema.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - en - - en - - diff --git a/backend/src/kitconcept/website/upgrades/configure.zcml b/backend/src/kitconcept/website/upgrades/configure.zcml index 3272bca..0a3b54d 100644 --- a/backend/src/kitconcept/website/upgrades/configure.zcml +++ b/backend/src/kitconcept/website/upgrades/configure.zcml @@ -4,5 +4,6 @@ > + diff --git a/backend/src/kitconcept/website/upgrades/v20260511001/__init__.py b/backend/src/kitconcept/website/upgrades/v20260511001/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/src/kitconcept/website/upgrades/v20260511001/configure.zcml b/backend/src/kitconcept/website/upgrades/v20260511001/configure.zcml new file mode 100644 index 0000000..71a8b18 --- /dev/null +++ b/backend/src/kitconcept/website/upgrades/v20260511001/configure.zcml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/backend/tests/settings/test_dsgvo_settings.py b/backend/tests/settings/test_dsgvo_settings.py new file mode 100644 index 0000000..8db9c4f --- /dev/null +++ b/backend/tests/settings/test_dsgvo_settings.py @@ -0,0 +1,18 @@ +class TestDSGVOSettings: + + def test_dsgvo_controlpanel(self, manager_request): + resp = manager_request.get("/@controlpanels/dsgvo-settings") + assert resp.status_code == 200 + properties = resp.json()["schema"]["properties"] + assert "show_banner" in properties + assert "modules" in properties + + def test_dsgvo_settings_in_site_endpoint(self, anon_request): + resp = anon_request.get("/@site") + assert resp.status_code == 200 + data = resp.json() + assert "kitconcept.website.dsgvo" in data + assert data["kitconcept.website.dsgvo"]["show_banner"] is True + assert data["kitconcept.website.dsgvo"]["modules"] == [ + 'tracking', 'youtube', 'facebook', 'google' + ] diff --git a/frontend/packages/kitconcept-website/src/config/settings.ts b/frontend/packages/kitconcept-website/src/config/settings.ts index 1a5d99c..bd656e0 100644 --- a/frontend/packages/kitconcept-website/src/config/settings.ts +++ b/frontend/packages/kitconcept-website/src/config/settings.ts @@ -1,8 +1,11 @@ import { ConfigType } from '@plone/registry'; +import newsSVG from '@plone/volto/icons/news.svg'; export default function install(config: ConfigType) { config.settings.supportedLanguages = ['de', 'en']; + config.settings.controlPanelsIcons['dsgvo-settings'] = newsSVG; + // Volto Light Theme Configuration config.settings.siteHeader = true; config.settings.siteLabel = 'Site'; From e19f8ddad445a97b760a14d8d3328da958e01eca Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 11 May 2026 14:02:41 -0700 Subject: [PATCH 02/11] Fix locales --- .../de/LC_MESSAGES/kitconcept.website.po | 51 +++++++++++++++++++ ...tconcept.site.po => kitconcept.website.po} | 18 ++++++- ...oncept.site.pot => kitconcept.website.pot} | 20 +++++++- 3 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po rename backend/src/kitconcept/website/locales/en/LC_MESSAGES/{kitconcept.site.po => kitconcept.website.po} (72%) rename backend/src/kitconcept/website/locales/{kitconcept.site.pot => kitconcept.website.pot} (72%) diff --git a/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po new file mode 100644 index 0000000..3ce6746 --- /dev/null +++ b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po @@ -0,0 +1,51 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2026-05-11 21:02+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0\n" +"Language-Code: de\n" +"Language-Name: German\n" +"Preferred-Encodings: utf-8 latin1\n" +"Domain: kitconcept.website\n" + +#: kitconcept/website/distributions.zcml:17 +msgid "A CMS solution for public websites. Created by kitconcept." +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "Configure a new site based on kitconcept.website" +msgstr "" + +#. Default: "List of 3rd-party sites to be shown in privacy preferences." +#: kitconcept/website/controlpanels/dsgvo.py:41 +msgid "help_dsgvo_modules" +msgstr "" + +#. Default: "If true, the cookie consent banner will be shown immediately. If false, users will be prompted to accept cookies only in the context of blocks where they are needed." +#: kitconcept/website/controlpanels/dsgvo.py:31 +msgid "help_dsgvo_show_banner" +msgstr "" + +#: kitconcept/website/distributions.zcml:17 +msgid "kitconcept Website" +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "kitconcept.website" +msgstr "" + +#. Default: "Show privacy settings for" +#: kitconcept/website/controlpanels/dsgvo.py:40 +msgid "label_dsgvo_modules" +msgstr "" + +#. Default: "Show GDPR banner on first visit" +#: kitconcept/website/controlpanels/dsgvo.py:30 +msgid "label_dsgvo_show_banner" +msgstr "" diff --git a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po similarity index 72% rename from backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po rename to backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po index c45a3e3..009a2da 100644 --- a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.site.po +++ b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2026-05-11 20:53+0000\n" +"POT-Creation-Date: 2026-05-11 21:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -14,6 +14,14 @@ msgstr "" "Preferred-Encodings: utf-8 latin1\n" "Domain: kitconcept.website\n" +#: kitconcept/website/distributions.zcml:17 +msgid "A CMS solution for public websites. Created by kitconcept." +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "Configure a new site based on kitconcept.website" +msgstr "" + #. Default: "List of 3rd-party sites to be shown in privacy preferences." #: kitconcept/website/controlpanels/dsgvo.py:41 msgid "help_dsgvo_modules" @@ -24,6 +32,14 @@ msgstr "" msgid "help_dsgvo_show_banner" msgstr "" +#: kitconcept/website/distributions.zcml:17 +msgid "kitconcept Website" +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "kitconcept.website" +msgstr "" + #. Default: "Show privacy settings for" #: kitconcept/website/controlpanels/dsgvo.py:40 msgid "label_dsgvo_modules" diff --git a/backend/src/kitconcept/website/locales/kitconcept.site.pot b/backend/src/kitconcept/website/locales/kitconcept.website.pot similarity index 72% rename from backend/src/kitconcept/website/locales/kitconcept.site.pot rename to backend/src/kitconcept/website/locales/kitconcept.website.pot index de2c6fa..7a976e5 100644 --- a/backend/src/kitconcept/website/locales/kitconcept.site.pot +++ b/backend/src/kitconcept/website/locales/kitconcept.website.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2026-05-11 20:53+0000\n" +"POT-Creation-Date: 2026-05-11 21:02+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -15,7 +15,15 @@ msgstr "" "Language-Code: en\n" "Language-Name: English\n" "Preferred-Encodings: utf-8 latin1\n" -"Domain: kitconcept.site\n" +"Domain: kitconcept.website\n" + +#: kitconcept/website/distributions.zcml:17 +msgid "A CMS solution for public websites. Created by kitconcept." +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "Configure a new site based on kitconcept.website" +msgstr "" #. Default: "List of 3rd-party sites to be shown in privacy preferences." #: kitconcept/website/controlpanels/dsgvo.py:41 @@ -27,6 +35,14 @@ msgstr "" msgid "help_dsgvo_show_banner" msgstr "" +#: kitconcept/website/distributions.zcml:17 +msgid "kitconcept Website" +msgstr "" + +#: kitconcept/website/profiles.zcml:14 +msgid "kitconcept.website" +msgstr "" + #. Default: "Show privacy settings for" #: kitconcept/website/controlpanels/dsgvo.py:40 msgid "label_dsgvo_modules" From 45e1b326350ab6d52b5f2923c7659d3415782859 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 11 May 2026 14:04:47 -0700 Subject: [PATCH 03/11] changelog --- backend/news/+dsgvo.feature | 1 + frontend/packages/kitconcept-website/news/+dsgvo.feature | 1 + 2 files changed, 2 insertions(+) create mode 100644 backend/news/+dsgvo.feature create mode 100644 frontend/packages/kitconcept-website/news/+dsgvo.feature diff --git a/backend/news/+dsgvo.feature b/backend/news/+dsgvo.feature new file mode 100644 index 0000000..2dd540c --- /dev/null +++ b/backend/news/+dsgvo.feature @@ -0,0 +1 @@ +Add control panel for GDPR / DSGVO settings. @davisagli diff --git a/frontend/packages/kitconcept-website/news/+dsgvo.feature b/frontend/packages/kitconcept-website/news/+dsgvo.feature new file mode 100644 index 0000000..2dd540c --- /dev/null +++ b/frontend/packages/kitconcept-website/news/+dsgvo.feature @@ -0,0 +1 @@ +Add control panel for GDPR / DSGVO settings. @davisagli From d1b4229969e0e963da146cd54ef525b1c0c1b334 Mon Sep 17 00:00:00 2001 From: David Glick Date: Mon, 11 May 2026 14:07:01 -0700 Subject: [PATCH 04/11] fix i18n domain --- .../src/kitconcept/website/profiles/default/controlpanel.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/kitconcept/website/profiles/default/controlpanel.xml b/backend/src/kitconcept/website/profiles/default/controlpanel.xml index 03fb2cd..294cd03 100644 --- a/backend/src/kitconcept/website/profiles/default/controlpanel.xml +++ b/backend/src/kitconcept/website/profiles/default/controlpanel.xml @@ -2,7 +2,7 @@ Date: Mon, 11 May 2026 14:10:35 -0700 Subject: [PATCH 05/11] lint --- backend/pyproject.toml | 2 ++ .../kitconcept/website/controlpanels/dsgvo.py | 29 +++++++++++-------- backend/tests/settings/test_dsgvo_settings.py | 6 ++-- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/backend/pyproject.toml b/backend/pyproject.toml index e4aa598..23e4246 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -182,6 +182,8 @@ lint.select = [ lint.ignore = [ # DoNotAssignLambda "E731", + # https://docs.astral.sh/ruff/rules/suppressible-exception/ + "SIM105", ] [tool.ruff.lint.isort] diff --git a/backend/src/kitconcept/website/controlpanels/dsgvo.py b/backend/src/kitconcept/website/controlpanels/dsgvo.py index 7db4206..19c063a 100644 --- a/backend/src/kitconcept/website/controlpanels/dsgvo.py +++ b/backend/src/kitconcept/website/controlpanels/dsgvo.py @@ -6,20 +6,20 @@ from zope import schema from zope.component import adapter from zope.component import getUtility -from zope.interface import implementer from zope.interface import Interface +from zope.interface import implementer from zope.schema.vocabulary import SimpleVocabulary -# These are the modules supported in +# These are the modules supported in # https://github.com/kitconcept/volto-dsgvo-banner/blob/main/packages/volto-dsgvo-banner/src/components/Block/View.jsx DSGVO_MODULES = SimpleVocabulary.fromValues([ - 'tracking', - 'youtube', - 'facebook', - 'google', - 'vimeo', - 'twitter', + "tracking", + "youtube", + "facebook", + "google", + "vimeo", + "twitter", ]) @@ -28,7 +28,8 @@ class IDSGVOSettings(Interface): show_banner = schema.Bool( title=_("label_dsgvo_show_banner", default="Show GDPR banner on first visit"), - description=_("help_dsgvo_show_banner", + description=_( + "help_dsgvo_show_banner", default="If true, the cookie consent banner will be shown immediately. " "If false, users will be prompted to accept cookies only in the context " "of blocks where they are needed.", @@ -38,13 +39,14 @@ class IDSGVOSettings(Interface): modules = schema.List( title=_("label_dsgvo_modules", default="Show privacy settings for"), - description=_("help_dsgvo_modules", + description=_( + "help_dsgvo_modules", default="List of 3rd-party sites to be shown in privacy preferences.", ), value_type=schema.Choice( vocabulary=DSGVO_MODULES, ), - default=['tracking', 'youtube', 'facebook', 'google'], + default=["tracking", "youtube", "facebook", "google"], required=True, ) @@ -52,6 +54,7 @@ class IDSGVOSettings(Interface): @adapter(Interface, Interface) class DSGVOControlpanel(RegistryConfigletPanel): """REST API control panel for DSGVO settings.""" + schema = IDSGVOSettings configlet_id = "dsgvo-settings" configlet_category_id = "plone-general" @@ -69,7 +72,9 @@ def __init__(self, context, request): def __call__(self, data): registry = getUtility(IRegistry) - settings = registry.forInterface(IDSGVOSettings, prefix="kitconcept.website.dsgvo", check=False) + settings = registry.forInterface( + IDSGVOSettings, prefix="kitconcept.website.dsgvo", check=False + ) try: data["kitconcept.website.dsgvo"] = { "show_banner": settings.show_banner, diff --git a/backend/tests/settings/test_dsgvo_settings.py b/backend/tests/settings/test_dsgvo_settings.py index 8db9c4f..a2a6864 100644 --- a/backend/tests/settings/test_dsgvo_settings.py +++ b/backend/tests/settings/test_dsgvo_settings.py @@ -1,5 +1,4 @@ class TestDSGVOSettings: - def test_dsgvo_controlpanel(self, manager_request): resp = manager_request.get("/@controlpanels/dsgvo-settings") assert resp.status_code == 200 @@ -14,5 +13,8 @@ def test_dsgvo_settings_in_site_endpoint(self, anon_request): assert "kitconcept.website.dsgvo" in data assert data["kitconcept.website.dsgvo"]["show_banner"] is True assert data["kitconcept.website.dsgvo"]["modules"] == [ - 'tracking', 'youtube', 'facebook', 'google' + "tracking", + "youtube", + "facebook", + "google", ] From c486244f2314505bfd3e6abae8ae4b63546f6138 Mon Sep 17 00:00:00 2001 From: Tishasoumya-02 Date: Wed, 13 May 2026 16:28:10 +0530 Subject: [PATCH 06/11] use 'dsgvo-setting-for-ttw' for dsgvo banner --- .../de/LC_MESSAGES/kitconcept.website.po | 18 +++++++++++------- .../en/LC_MESSAGES/kitconcept.website.po | 10 +++++++--- .../website/locales/kitconcept.website.pot | 10 +++++++--- frontend/mrs.developer.json | 4 ++-- .../news/+dsgvoaddonBranch.feature | 1 + .../news/+gdprtranslation.internal | 1 + 6 files changed, 29 insertions(+), 15 deletions(-) create mode 100644 frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature create mode 100644 frontend/packages/kitconcept-website/news/+gdprtranslation.internal diff --git a/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po index 3ce6746..a72dc89 100644 --- a/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po +++ b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2026-05-11 21:02+0000\n" +"POT-Creation-Date: 2026-05-13 10:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,15 +22,19 @@ msgstr "" msgid "Configure a new site based on kitconcept.website" msgstr "" +#: kitconcept/website/profiles/default/controlpanel.xml +msgid "GDPR Settings" +msgstr "GDPR-Einstellungen" + #. Default: "List of 3rd-party sites to be shown in privacy preferences." -#: kitconcept/website/controlpanels/dsgvo.py:41 +#: kitconcept/website/controlpanels/dsgvo.py:42 msgid "help_dsgvo_modules" -msgstr "" +msgstr "Liste der Drittanbieter-Dienste, die in den Datenschutzeinstellungen angezeigt werden." #. Default: "If true, the cookie consent banner will be shown immediately. If false, users will be prompted to accept cookies only in the context of blocks where they are needed." #: kitconcept/website/controlpanels/dsgvo.py:31 msgid "help_dsgvo_show_banner" -msgstr "" +msgstr "Wenn aktiviert, wird das Cookie-Zustimmungsbanner sofort angezeigt. Wenn deaktiviert, werden Benutzer nur im Kontext von Blöcken, in denen Cookies benötigt werden, zur Zustimmung aufgefordert." #: kitconcept/website/distributions.zcml:17 msgid "kitconcept Website" @@ -41,11 +45,11 @@ msgid "kitconcept.website" msgstr "" #. Default: "Show privacy settings for" -#: kitconcept/website/controlpanels/dsgvo.py:40 +#: kitconcept/website/controlpanels/dsgvo.py:41 msgid "label_dsgvo_modules" -msgstr "" +msgstr "Datenschutzeinstellungen anzeigen für" #. Default: "Show GDPR banner on first visit" #: kitconcept/website/controlpanels/dsgvo.py:30 msgid "label_dsgvo_show_banner" -msgstr "" +msgstr "GDPR-Banner beim ersten Besuch anzeigen" diff --git a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po index 009a2da..0e5fbc9 100644 --- a/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po +++ b/backend/src/kitconcept/website/locales/en/LC_MESSAGES/kitconcept.website.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2026-05-11 21:02+0000\n" +"POT-Creation-Date: 2026-05-13 10:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,8 +22,12 @@ msgstr "" msgid "Configure a new site based on kitconcept.website" msgstr "" +#: kitconcept/website/profiles/default/controlpanel.xml +msgid "GDPR Settings" +msgstr "" + #. Default: "List of 3rd-party sites to be shown in privacy preferences." -#: kitconcept/website/controlpanels/dsgvo.py:41 +#: kitconcept/website/controlpanels/dsgvo.py:42 msgid "help_dsgvo_modules" msgstr "" @@ -41,7 +45,7 @@ msgid "kitconcept.website" msgstr "" #. Default: "Show privacy settings for" -#: kitconcept/website/controlpanels/dsgvo.py:40 +#: kitconcept/website/controlpanels/dsgvo.py:41 msgid "label_dsgvo_modules" msgstr "" diff --git a/backend/src/kitconcept/website/locales/kitconcept.website.pot b/backend/src/kitconcept/website/locales/kitconcept.website.pot index 7a976e5..8bf9b2f 100644 --- a/backend/src/kitconcept/website/locales/kitconcept.website.pot +++ b/backend/src/kitconcept/website/locales/kitconcept.website.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2026-05-11 21:02+0000\n" +"POT-Creation-Date: 2026-05-13 10:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -25,8 +25,12 @@ msgstr "" msgid "Configure a new site based on kitconcept.website" msgstr "" +#: kitconcept/website/profiles/default/controlpanel.xml +msgid "GDPR Settings" +msgstr "" + #. Default: "List of 3rd-party sites to be shown in privacy preferences." -#: kitconcept/website/controlpanels/dsgvo.py:41 +#: kitconcept/website/controlpanels/dsgvo.py:42 msgid "help_dsgvo_modules" msgstr "" @@ -44,7 +48,7 @@ msgid "kitconcept.website" msgstr "" #. Default: "Show privacy settings for" -#: kitconcept/website/controlpanels/dsgvo.py:40 +#: kitconcept/website/controlpanels/dsgvo.py:41 msgid "label_dsgvo_modules" msgstr "" diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index d73fe89..faa552c 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -70,7 +70,7 @@ "package": "@kitconcept/volto-dsgvo-banner", "url": "git@github.com:kitconcept/volto-dsgvo-banner.git", "https": "https://github.com/kitconcept/volto-dsgvo-banner.git", - "tag": "3.0.1" + "branch": "dsgvo-setting-for-ttw" }, "volto-heading-block": { "develop": true, @@ -153,4 +153,4 @@ "https": "https://github.com/kitconcept/volto-contact-block.git", "tag": "1.0.0a5" } -} \ No newline at end of file +} diff --git a/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature b/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature new file mode 100644 index 0000000..b545f79 --- /dev/null +++ b/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature @@ -0,0 +1 @@ +use updated volto-dsgvo-banner branch @Tishasoumya-02 \ No newline at end of file diff --git a/frontend/packages/kitconcept-website/news/+gdprtranslation.internal b/frontend/packages/kitconcept-website/news/+gdprtranslation.internal new file mode 100644 index 0000000..7058bde --- /dev/null +++ b/frontend/packages/kitconcept-website/news/+gdprtranslation.internal @@ -0,0 +1 @@ +Add translation for controlpanels GDPR settings @Tishasoumya-02 \ No newline at end of file From e206f577286ce7877aff1308e621efa1407bbe0c Mon Sep 17 00:00:00 2001 From: David Glick Date: Thu, 14 May 2026 17:04:00 -0700 Subject: [PATCH 07/11] fix translations, make sure we use the right settings --- .../website/locales/de/LC_MESSAGES/kitconcept.website.po | 4 ++-- frontend/mrs.developer.json | 2 +- .../kitconcept-website/news/+dsgvoaddonBranch.feature | 1 - .../kitconcept-website/news/+gdprtranslation.internal | 1 - .../packages/kitconcept-website/src/config/settings.ts | 7 +++++++ 5 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature delete mode 100644 frontend/packages/kitconcept-website/news/+gdprtranslation.internal diff --git a/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po index a72dc89..4cfe56f 100644 --- a/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po +++ b/backend/src/kitconcept/website/locales/de/LC_MESSAGES/kitconcept.website.po @@ -24,7 +24,7 @@ msgstr "" #: kitconcept/website/profiles/default/controlpanel.xml msgid "GDPR Settings" -msgstr "GDPR-Einstellungen" +msgstr "DSGVO-Einstellungen" #. Default: "List of 3rd-party sites to be shown in privacy preferences." #: kitconcept/website/controlpanels/dsgvo.py:42 @@ -52,4 +52,4 @@ msgstr "Datenschutzeinstellungen anzeigen für" #. Default: "Show GDPR banner on first visit" #: kitconcept/website/controlpanels/dsgvo.py:30 msgid "label_dsgvo_show_banner" -msgstr "GDPR-Banner beim ersten Besuch anzeigen" +msgstr "DSGVO-Banner beim ersten Besuch anzeigen" diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index faa552c..f8a3ce2 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -70,7 +70,7 @@ "package": "@kitconcept/volto-dsgvo-banner", "url": "git@github.com:kitconcept/volto-dsgvo-banner.git", "https": "https://github.com/kitconcept/volto-dsgvo-banner.git", - "branch": "dsgvo-setting-for-ttw" + "branch": "settings-prefer-volto-config" }, "volto-heading-block": { "develop": true, diff --git a/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature b/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature deleted file mode 100644 index b545f79..0000000 --- a/frontend/packages/kitconcept-website/news/+dsgvoaddonBranch.feature +++ /dev/null @@ -1 +0,0 @@ -use updated volto-dsgvo-banner branch @Tishasoumya-02 \ No newline at end of file diff --git a/frontend/packages/kitconcept-website/news/+gdprtranslation.internal b/frontend/packages/kitconcept-website/news/+gdprtranslation.internal deleted file mode 100644 index 7058bde..0000000 --- a/frontend/packages/kitconcept-website/news/+gdprtranslation.internal +++ /dev/null @@ -1 +0,0 @@ -Add translation for controlpanels GDPR settings @Tishasoumya-02 \ No newline at end of file diff --git a/frontend/packages/kitconcept-website/src/config/settings.ts b/frontend/packages/kitconcept-website/src/config/settings.ts index bd656e0..fd6de8d 100644 --- a/frontend/packages/kitconcept-website/src/config/settings.ts +++ b/frontend/packages/kitconcept-website/src/config/settings.ts @@ -4,6 +4,13 @@ import newsSVG from '@plone/volto/icons/news.svg'; export default function install(config: ConfigType) { config.settings.supportedLanguages = ['de', 'en']; + // Clear DSGVO add-on settings so it gets them from the `@site` endpoint + const dsgvoSettings = config.settings.DSGVOBanner as { + showBanner?: boolean; + modules?: Array; + }; + delete dsgvoSettings.showBanner; + delete dsgvoSettings.modules; config.settings.controlPanelsIcons['dsgvo-settings'] = newsSVG; // Volto Light Theme Configuration From a034c63a0c1adf7b299aa162b13d3d82de82827a Mon Sep 17 00:00:00 2001 From: Tishasoumya-02 Date: Fri, 5 Jun 2026 15:15:05 +0530 Subject: [PATCH 08/11] update the dsgvo version --- frontend/mrs.developer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index f8a3ce2..106d7fb 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -70,7 +70,7 @@ "package": "@kitconcept/volto-dsgvo-banner", "url": "git@github.com:kitconcept/volto-dsgvo-banner.git", "https": "https://github.com/kitconcept/volto-dsgvo-banner.git", - "branch": "settings-prefer-volto-config" + "branch": "4.0.0-alpha.1" }, "volto-heading-block": { "develop": true, From e9d128b6c822f2be563ee2795fb5c8d829f391c7 Mon Sep 17 00:00:00 2001 From: Tishasoumya-02 Date: Fri, 5 Jun 2026 15:28:21 +0530 Subject: [PATCH 09/11] update lockfile --- frontend/pnpm-lock.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 887f76c..4a680c1 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -1765,6 +1765,9 @@ importers: release-it: specifier: ^17.1.1 version: 17.1.1(typescript@5.9.3) + vitest: + specifier: ^3.1.2 + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@28.1.0)(less@3.13.1)(lightningcss@1.30.2)(sass@1.93.3)(terser@5.44.0)(yaml@2.8.1) packages/volto-heading-block/packages/volto-heading-block: dependencies: From 030cfe3e4ba205ae0cd88e85039eeb667948f37f Mon Sep 17 00:00:00 2001 From: Tishasoumya-02 Date: Wed, 10 Jun 2026 15:02:36 +0530 Subject: [PATCH 10/11] update VLT --- frontend/mrs.developer.json | 6 ++--- frontend/pnpm-lock.yaml | 53 ++++++++++++++++++++++++++----------- 2 files changed, 40 insertions(+), 19 deletions(-) diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index 106d7fb..df13530 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -13,7 +13,7 @@ "package": "@kitconcept/volto-light-theme", "url": "git@github.com:kitconcept/volto-light-theme.git", "https": "https://github.com/kitconcept/volto-light-theme.git", - "tag": "8.0.0a25", + "tag": "8.0.0a29", "filterBlobs": true }, "kitconcept-core": { @@ -70,7 +70,7 @@ "package": "@kitconcept/volto-dsgvo-banner", "url": "git@github.com:kitconcept/volto-dsgvo-banner.git", "https": "https://github.com/kitconcept/volto-dsgvo-banner.git", - "branch": "4.0.0-alpha.1" + "tag": "4.0.0-alpha.1" }, "volto-heading-block": { "develop": true, @@ -86,7 +86,7 @@ "package": "@kitconcept/volto-highlight-block", "url": "git@github.com:kitconcept/volto-highlight-block.git", "https": "https://github.com/kitconcept/volto-highlight-block.git", - "tag": "4.5.1" + "tag": "5.0.0-alpha.0" }, "volto-introduction-block": { "develop": true, diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 4a680c1..648b5db 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -1790,19 +1790,40 @@ importers: packages/volto-highlight-block/packages/volto-highlight-block: dependencies: + classnames: + specifier: 2.5.1 + version: 2.5.1 react: specifier: ^18.2.0 version: 18.2.0 react-dom: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) + react-intl: + specifier: ^3.12.1 + version: 3.12.1(@types/react@18.3.26)(react@18.2.0) devDependencies: '@plone/scripts': - specifier: ^3.6.1 + specifier: ^3.10.3 version: 3.10.3 + '@plone/types': + specifier: workspace:* + version: link:../../../../core/packages/types + '@types/node': + specifier: ^24 + version: 24.10.0 + '@types/react': + specifier: ^18 + version: 18.3.26 + '@types/react-dom': + specifier: ^18 + version: 18.3.7(@types/react@18.3.26) release-it: specifier: ^19.0.5 version: 19.0.5(@types/node@24.10.0)(magicast@0.3.5) + typescript: + specifier: ^5.7.3 + version: 5.9.3 vitest: specifier: ^3.2.4 version: 3.2.4(@types/debug@4.1.12)(@types/node@24.10.0)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@28.1.0)(less@3.13.1)(lightningcss@1.30.2)(sass@1.93.3)(terser@5.44.0)(yaml@2.8.1) @@ -1884,8 +1905,8 @@ importers: version: 11.1.0 devDependencies: '@playwright/test': - specifier: ^1.55.0 - version: 1.58.1 + specifier: ^1.60.0 + version: 1.60.0 '@plone/scripts': specifier: ^3.6.2 version: 3.10.3 @@ -1920,8 +1941,8 @@ importers: specifier: ^18.3.1 version: 18.3.7(@types/react@18.3.26) playwright: - specifier: ^1.55.0 - version: 1.58.1 + specifier: ^1.60.0 + version: 1.60.0 react-intl-redux: specifier: 2.3.0 version: 2.3.0(@babel/runtime@7.28.4)(prop-types@15.8.1)(react-intl@3.12.1(@types/react@18.3.26)(react@18.2.0))(react-redux@8.1.2(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1))(react@18.2.0) @@ -4184,8 +4205,8 @@ packages: resolution: {integrity: sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.58.1': - resolution: {integrity: sha512-6LdVIUERWxQMmUSSQi0I53GgCBYgM2RpGngCPY7hSeju+VrKjq3lvs7HpJoPbDiY5QM5EYRtRX5fvrinnMAz3w==} + '@playwright/test@1.60.0': + resolution: {integrity: sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==} engines: {node: '>=18'} hasBin: true @@ -10320,13 +10341,13 @@ packages: resolution: {integrity: sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==} engines: {node: '>=16.0.0'} - playwright-core@1.58.1: - resolution: {integrity: sha512-bcWzOaTxcW+VOOGBCQgnaKToLJ65d6AqfLVKEWvexyS3AS6rbXl+xdpYRMGSRBClPvyj44njOWoxjNdL/H9UNg==} + playwright-core@1.60.0: + resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==} engines: {node: '>=18'} hasBin: true - playwright@1.58.1: - resolution: {integrity: sha512-+2uTZHxSCcxjvGc5C891LrS1/NlxglGxzrC4seZiVjcYVQfUa87wBL6rTDqzGjuoWNjnBzRqKmF6zRYGMvQUaQ==} + playwright@1.60.0: + resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==} engines: {node: '>=18'} hasBin: true @@ -15509,9 +15530,9 @@ snapshots: '@pkgr/core@0.2.9': {} - '@playwright/test@1.58.1': + '@playwright/test@1.60.0': dependencies: - playwright: 1.58.1 + playwright: 1.60.0 '@plone-collective/volto-image-editor@1.0.1(@plone/registry@core+packages+registry)(@plone/types@core+packages+types)(advanced-cropper@0.17.1)(classnames@2.5.1)(react-aria-components@1.17.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -22871,11 +22892,11 @@ snapshots: pvutils: 1.1.5 tslib: 2.8.1 - playwright-core@1.58.1: {} + playwright-core@1.60.0: {} - playwright@1.58.1: + playwright@1.60.0: dependencies: - playwright-core: 1.58.1 + playwright-core: 1.60.0 optionalDependencies: fsevents: 2.3.2 From ef15439e87334e2e95094f6d3fe6151bc923c8b8 Mon Sep 17 00:00:00 2001 From: Tishasoumya-02 Date: Wed, 10 Jun 2026 15:22:38 +0530 Subject: [PATCH 11/11] update volto --- frontend/mrs.developer.json | 2 +- frontend/pnpm-lock.yaml | 582 ++++++++++++++++-------------------- 2 files changed, 260 insertions(+), 324 deletions(-) diff --git a/frontend/mrs.developer.json b/frontend/mrs.developer.json index df13530..64083eb 100644 --- a/frontend/mrs.developer.json +++ b/frontend/mrs.developer.json @@ -4,7 +4,7 @@ "package": "@plone/volto", "url": "git@github.com:plone/volto.git", "https": "https://github.com/plone/volto.git", - "tag": "19.0.0-alpha.33", + "tag": "19.1.2", "filterBlobs": true }, "volto-light-theme": { diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 648b5db..3f5bf7c 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -22,8 +22,8 @@ catalogs: specifier: ^6.9.1 version: 6.9.1 '@testing-library/react': - specifier: ^16.3.0 - version: 16.3.0 + specifier: ^16.3.2 + version: 16.3.2 '@types/react': specifier: ^18.3.1 version: 18.3.26 @@ -40,8 +40,8 @@ catalogs: specifier: ^3.2.4 version: 3.2.4 cypress: - specifier: 15.13.1 - version: 15.13.1 + specifier: 15.16.0 + version: 15.16.0 jsdom: specifier: ^28.1.0 version: 28.1.0 @@ -97,8 +97,8 @@ catalogs: specifier: 5.105.4 version: 5.105.4 webpack-dev-server: - specifier: ^5.2.3 - version: 5.2.3 + specifier: ^5.2.4 + version: 5.2.4 overrides: '@pmmmwh/react-refresh-webpack-plugin': ^0.5.15 @@ -200,7 +200,7 @@ importers: version: 6.9.1 '@testing-library/react': specifier: 'catalog:' - version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/jest-axe': specifier: ^3.5.7 version: 3.5.9 @@ -316,8 +316,8 @@ importers: specifier: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 version: 18.2.0(react@18.2.0) tmp: - specifier: 0.2.5 - version: 0.2.5 + specifier: 0.2.6 + version: 0.2.6 devDependencies: '@arethetypeswrong/cli': specifier: ^0.16.4 @@ -498,9 +498,6 @@ importers: filesize: specifier: '6' version: 6.4.0 - full-icu: - specifier: 1.4.0 - version: 1.4.0 github-slugger: specifier: 1.4.0 version: 1.4.0 @@ -589,8 +586,8 @@ importers: specifier: 13.0.0 version: 13.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-cookie: - specifier: 4.1.1 - version: 4.1.1(@types/react@18.3.26)(react@18.2.0) + specifier: 8.1.2 + version: 8.1.2(@types/react@18.3.26)(react@18.2.0) react-dates: specifier: 21.8.0 version: 21.8.0(@babel/runtime@7.28.4)(moment@2.29.4)(react-dom@18.2.0(react@18.2.0))(react-with-direction@1.4.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) @@ -651,9 +648,6 @@ importers: react-simple-code-editor: specifier: 0.7.1 version: 0.7.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react-test-renderer: - specifier: 18.2.0 - version: 18.2.0(react@18.2.0) react-toastify: specifier: 5.5.0 version: 5.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -675,9 +669,6 @@ importers: redux-localstorage-simple: specifier: 2.5.1 version: 2.5.1 - redux-mock-store: - specifier: 1.5.4 - version: 1.5.4 redux-thunk: specifier: 2.4.2 version: 2.4.2(redux@4.2.1) @@ -703,8 +694,8 @@ importers: specifier: 0.117.4 version: 0.117.4(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(slate-dom@0.118.1(slate@0.118.1))(slate@0.118.1) superagent: - specifier: 3.8.2 - version: 3.8.2 + specifier: 10.3.0 + version: 10.3.0 tlds: specifier: 1.203.1 version: 1.203.1 @@ -712,11 +703,11 @@ importers: specifier: 0.5.0 version: 0.5.0 universal-cookie: - specifier: 4.0.4 - version: 4.0.4 + specifier: 8.1.2 + version: 8.1.2 universal-cookie-express: - specifier: 4.0.3 - version: 4.0.3 + specifier: 8.1.2 + version: 8.1.2 url: specifier: ^0.11.3 version: 0.11.4 @@ -804,13 +795,13 @@ importers: version: 8.6.14(storybook@8.6.15(prettier@3.2.5)) '@testing-library/cypress': specifier: 10.1.0 - version: 10.1.0(cypress@15.13.1) + version: 10.1.0(cypress@15.16.0) '@testing-library/jest-dom': specifier: 'catalog:' version: 6.9.1 '@testing-library/react': - specifier: 14.3.1 - version: 14.3.1(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 'catalog:' + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@testing-library/react-hooks': specifier: 8.0.1 version: 8.0.1(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react-test-renderer@18.2.0(react@18.2.0))(react@18.2.0) @@ -882,13 +873,13 @@ importers: version: 5.2.7(webpack@5.105.4(esbuild@0.25.12)) cypress: specifier: 'catalog:' - version: 15.13.1 + version: 15.16.0 cypress-axe: specifier: 1.7.0 - version: 1.7.0(axe-core@4.4.2)(cypress@15.13.1) + version: 1.7.0(axe-core@4.4.2)(cypress@15.16.0) cypress-file-upload: specifier: 5.0.8 - version: 5.0.8(cypress@15.13.1) + version: 5.0.8(cypress@15.16.0) deep-freeze: specifier: 0.0.1 version: 0.0.1 @@ -979,6 +970,12 @@ importers: react-is: specifier: ^18.2.0 version: 18.3.1 + react-test-renderer: + specifier: 18.2.0 + version: 18.2.0(react@18.2.0) + redux-mock-store: + specifier: 1.5.4 + version: 1.5.4 release-it: specifier: 'catalog:' version: 20.0.1(@types/node@24.10.0)(magicast@0.3.5) @@ -1047,7 +1044,7 @@ importers: version: 4.10.1 webpack-dev-server: specifier: 'catalog:' - version: 5.2.3(debug@4.3.4)(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) + version: 5.2.4(debug@4.3.4)(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) webpack-node-externals: specifier: 3.0.0 version: 3.0.0 @@ -1108,7 +1105,7 @@ importers: version: link:../volto-razzle-dev-utils '@pmmmwh/react-refresh-webpack-plugin': specifier: ^0.5.15 - version: 0.5.17(react-refresh@0.14.2)(sockjs-client@1.4.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(esbuild@0.25.12)) + version: 0.5.17(react-refresh@0.14.2)(sockjs-client@1.4.0)(type-fest@4.41.0)(webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(esbuild@0.25.12)) autoprefixer: specifier: ^10.2.3 version: 10.4.8(postcss@8.5.12) @@ -1225,7 +1222,7 @@ importers: version: 5.105.4(esbuild@0.25.12) webpack-dev-server: specifier: 'catalog:' - version: 5.2.3(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) + version: 5.2.4(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) webpack-manifest-plugin: specifier: ^4.1.1 version: 4.1.1(webpack@5.105.4(esbuild@0.25.12)) @@ -1280,7 +1277,7 @@ importers: version: 5.90.1 webpack-dev-server: specifier: 'catalog:' - version: 5.2.3(tslib@2.8.1)(webpack@5.90.1) + version: 5.2.4(tslib@2.8.1)(webpack@5.90.1) core/packages/volto-slate: dependencies: @@ -1323,9 +1320,9 @@ importers: react-toastify: specifier: 5.5.0 version: 5.5.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - redux-mock-store: - specifier: 1.5.4 - version: 1.5.4 + redux: + specifier: 4.2.1 + version: 4.2.1 semantic-ui-react: specifier: 2.1.5 version: 2.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -1352,11 +1349,14 @@ importers: version: 1.0.3 devDependencies: '@testing-library/react': - specifier: 14.3.1 - version: 14.3.1(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 'catalog:' + version: 16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) jsdom: specifier: 'catalog:' version: 28.1.0 + redux-mock-store: + specifier: 1.5.4 + version: 1.5.4 release-it: specifier: 'catalog:' version: 20.0.1(@types/node@24.10.0)(magicast@0.3.5) @@ -1592,7 +1592,7 @@ importers: version: link:../../../../core/packages/types '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -1678,7 +1678,7 @@ importers: version: link:../../../../core/packages/types '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -1918,7 +1918,7 @@ importers: version: 8.6.14(@storybook/test@8.6.14(storybook@8.6.15(prettier@3.2.5)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(storybook@8.6.15(prettier@3.2.5))(typescript@5.9.3) '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -1985,7 +1985,7 @@ importers: version: link:../../../../core/packages/types '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -2040,7 +2040,7 @@ importers: version: link:../../../../core/packages/types '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -2101,7 +2101,7 @@ importers: version: link:../../../../core/packages/types '@testing-library/cypress': specifier: 10.0.3 - version: 10.0.3(cypress@15.13.1) + version: 10.0.3(cypress@15.16.0) '@testing-library/jest-dom': specifier: ^6.8.0 version: 6.9.1 @@ -2978,9 +2978,9 @@ packages: peerDependencies: postcss-selector-parser: ^7.0.0 - '@cypress/request@3.0.10': - resolution: {integrity: sha512-hauBrOdvu08vOsagkZ/Aju5XuiZx6ldsLfByg1htFeldhex+PeMrYauANzFsMJeAA0+dyPLbDoX2OYuvVoLDkQ==} - engines: {node: '>= 6'} + '@cypress/request@4.0.1': + resolution: {integrity: sha512-y20e+e6dFYkOUUJLVUZTsJRuTiXZaUQ32WD+R/ux/HBybbTx4ge7cNINcua0pU8+SNkKuRbOF12mBmzuzM8n5w==} + engines: {node: '>= 14.17.0'} '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} @@ -4077,6 +4077,9 @@ packages: '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} + '@paralleldrive/cuid2@2.3.1': + resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} @@ -5500,10 +5503,6 @@ packages: resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - '@testing-library/dom@9.3.4': - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} - '@testing-library/jest-dom@6.5.0': resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} @@ -5528,13 +5527,6 @@ packages: react-test-renderer: optional: true - '@testing-library/react@14.3.1': - resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==} - engines: {node: '>=14'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - '@testing-library/react@16.3.0': resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} engines: {node: '>=18'} @@ -5550,6 +5542,21 @@ packages: '@types/react-dom': optional: true + '@testing-library/react@16.3.2': + resolution: {integrity: sha512-XU5/SytQM+ykqMnAnvB2umaJNIOsLF3PVv//1Ew4CTcpz0/BRyy/af40qqrt7SjKpDdT1saBMc42CUok5gaw+g==} + engines: {node: '>=18'} + peerDependencies: + '@testing-library/dom': ^10.0.0 + '@types/react': ^18.0.0 || ^19.0.0 + '@types/react-dom': ^18.0.0 || ^19.0.0 + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@testing-library/user-event@14.5.2': resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} engines: {node: '>=12', npm: '>=6'} @@ -5596,9 +5603,6 @@ packages: '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - '@types/cookie@0.3.3': - resolution: {integrity: sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==} - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -5796,9 +5800,6 @@ packages: '@types/yargs@17.0.34': resolution: {integrity: sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==} - '@types/yauzl@2.10.3': - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@5.62.0': resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -6201,10 +6202,6 @@ packages: resolution: {integrity: sha512-QT8i0hCz6C/KQ+KTAbSNwCHDGdmUJl2tp2ZpNlGSWCfhUNVbYG2WLE3MdZGBAgXPV4GAvjGMxo+C1hroyxmZEg==} engines: {node: '>= 14'} - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - airbnb-prop-types@2.16.0: resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} deprecated: This package has been renamed to 'prop-types-tools' @@ -6238,10 +6235,6 @@ packages: ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -6308,9 +6301,6 @@ packages: resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==} engines: {node: '>=10'} - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} @@ -6368,6 +6358,9 @@ packages: resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1@0.2.6: resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} @@ -6623,9 +6616,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -6823,10 +6813,6 @@ packages: resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} engines: {node: '>= 10.0'} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} @@ -6864,9 +6850,9 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + cli-truncate@5.2.0: + resolution: {integrity: sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==} + engines: {node: '>=20'} cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} @@ -7046,14 +7032,14 @@ packages: cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} @@ -7259,8 +7245,8 @@ packages: peerDependencies: cypress: '>3.0.0' - cypress@15.13.1: - resolution: {integrity: sha512-jLkgo75zlwo7PhXp0XJot+zIfFSDzN1SvTml6Xf3ETM1XHRWnH3Q4LAR3orCo/BsnxPnhjG3m5HYSvn9DAtwBg==} + cypress@15.16.0: + resolution: {integrity: sha512-fy0M0c9xDLEp4v9y7LLKFeAQhIdDsobxDSKpD3JcZpqQefjy9TSzEyVV3HA0zu7hUi0bGHlSYlI7ASub8wgR9A==} engines: {node: ^20.1.0 || ^22.0.0 || >=24.0.0} hasBin: true @@ -7375,10 +7361,6 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -7505,6 +7487,9 @@ packages: engines: {node: '>= 4.2.1'} hasBin: true + dezalgo@1.0.4: + resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7669,10 +7654,6 @@ packages: resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} engines: {node: '>=10.13.0'} - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} @@ -7997,6 +7978,9 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@5.0.4: + resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} + events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -8053,11 +8037,6 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true - extsprintf@1.3.0: resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} engines: {'0': node >=0.6.0} @@ -8087,6 +8066,9 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-string-truncated-width@3.0.3: resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} @@ -8110,9 +8092,6 @@ packages: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -8265,10 +8244,6 @@ packages: resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} engines: {node: '>= 14.17'} - form-data@2.5.5: - resolution: {integrity: sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==} - engines: {node: '>= 0.12'} - form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} @@ -8277,9 +8252,9 @@ packages: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} - formidable@1.2.6: - resolution: {integrity: sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==} - deprecated: 'Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau' + formidable@3.5.4: + resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==} + engines: {node: '>=14.0.0'} forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} @@ -8323,10 +8298,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - full-icu@1.4.0: - resolution: {integrity: sha512-pH8z7WVKJ3QR/8UoIOZupjRCYqpMFSxjPruYbPS8Ra19UGHuUEsnXP8+ny8o7KCF/AZcEkzJXAtGsveYbP17Uw==} - hasBin: true - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -8353,6 +8324,10 @@ packages: resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} engines: {node: '>=18'} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -8883,6 +8858,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-fullwidth-code-point@5.1.0: + resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} + engines: {node: '>=18'} + is-generator-function@1.1.2: resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} @@ -9495,14 +9474,9 @@ packages: linkify-it@3.0.2: resolution: {integrity: sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==} - listr2@3.14.0: - resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} - engines: {node: '>=10.0.0'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@9.0.5: + resolution: {integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==} + engines: {node: '>=20.0.0'} load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} @@ -9608,9 +9582,9 @@ packages: resolution: {integrity: sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==} engines: {node: '>=18'} - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} @@ -9775,6 +9749,11 @@ packages: engines: {node: '>=4'} hasBin: true + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -10148,10 +10127,6 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-retry@6.2.1: resolution: {integrity: sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==} engines: {node: '>=16.17'} @@ -10790,6 +10765,10 @@ packages: resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} + qs@6.15.2: + resolution: {integrity: sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==} + engines: {node: '>=0.6'} + query-string@9.3.1: resolution: {integrity: sha512-5fBfMOcDi5SA9qj5jZhWAcTtDfKF5WFdd2uD9nVNlbxVv1baq65aALy6qofpNEGELHvisjjasxQp7BlM9gvMzw==} engines: {node: '>=18'} @@ -10914,8 +10893,8 @@ packages: peerDependencies: react: '>=16.3' - react-cookie@4.1.1: - resolution: {integrity: sha512-ffn7Y7G4bXiFbnE+dKhHhbP+b8I34mH9jqnm8Llhj89zF4nPxPutxHT1suUqMeCEhLDBI7InYwf1tpaSoK5w8A==} + react-cookie@8.1.2: + resolution: {integrity: sha512-S45Z1y1dHyYfLEI4bFKQICuP+SwJqTPWbdc2ZpE6aQSdjSVJAjUDfwTPq8B7BWieIsgyyEWMb/QOrudtwJMjXA==} peerDependencies: react: '>= 16.3.0' @@ -11721,14 +11700,18 @@ packages: sleep-promise@9.1.0: resolution: {integrity: sha512-UHYzVpz9Xn8b+jikYSD6bqvf754xL2uBUzDFwiU6NcdZeifPr6UfgU43xpkPu67VMS88+TI2PSI7Eohgqf2fKA==} - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} + slice-ansi@7.1.2: + resolution: {integrity: sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==} + engines: {node: '>=18'} + + slice-ansi@8.0.0: + resolution: {integrity: sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==} + engines: {node: '>=20'} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -11883,6 +11866,10 @@ packages: resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==} engines: {node: '>=20'} + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + engines: {node: '>=20'} + string.prototype.includes@2.0.1: resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} engines: {node: '>= 0.4'} @@ -11998,10 +11985,9 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - superagent@3.8.2: - resolution: {integrity: sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==} - engines: {node: '>= 4.0'} - deprecated: Please upgrade to v9.0.0+ as we have fixed a public vulnerability with formidable dependency. Note that v9.0.0+ requires Node.js v14.18.0+. See https://github.com/ladjs/superagent/pull/1800 for insight. This project is supported and maintained by the team at Forward Email @ https://forwardemail.net + superagent@10.3.0: + resolution: {integrity: sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==} + engines: {node: '>=14.18.0'} supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -12234,8 +12220,8 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} - tmp@0.2.5: - resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} + tmp@0.2.6: + resolution: {integrity: sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA==} engines: {node: '>=14.14'} to-fast-properties@2.0.0: @@ -12491,11 +12477,11 @@ packages: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} - universal-cookie-express@4.0.3: - resolution: {integrity: sha512-hDZW9UsRpFMdbtC0JjgTMfwEp42gGWLD5Q9qkS72cogLAqX6SyWK9klWAZWsNSNkInZZrPlRQhQie79qFugZSQ==} + universal-cookie-express@8.1.2: + resolution: {integrity: sha512-3LqDGMU9AcrWs5cPMcnqQVrNGO/vXWyPWjgf7Y0kAnfGXpxqyPATCORE4GNdKd2m2fHz2L8lyTpOIZOSqXagUQ==} - universal-cookie@4.0.4: - resolution: {integrity: sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw==} + universal-cookie@8.1.2: + resolution: {integrity: sha512-kcKzTGNsxVytujrYOvQbvh//QyFrA53HrzCGyzh6i9ujCww5gfPrLK0tG+jJD40SIIldiEjBNPPSR8fBMS21GA==} universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} @@ -12820,8 +12806,8 @@ packages: webpack: optional: true - webpack-dev-server@5.2.3: - resolution: {integrity: sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==} + webpack-dev-server@5.2.4: + resolution: {integrity: sha512-GqDPGZN9bRqKBTkp4aWkobDDHMsrXKoGSdOH56smIri8qR0JG8gfL8/v/f/OZR3/OKXjG8uwJbFVhKm/FNU/UA==} engines: {node: '>= 18.12.0'} hasBin: true peerDependencies: @@ -12980,6 +12966,10 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -13072,8 +13062,9 @@ packages: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@3.4.0: + resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==} + engines: {node: '>=12'} yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -14127,7 +14118,7 @@ snapshots: dependencies: postcss-selector-parser: 7.1.0 - '@cypress/request@3.0.10': + '@cypress/request@4.0.1': dependencies: aws-sign2: 0.7.0 aws4: 1.13.2 @@ -14142,11 +14133,10 @@ snapshots: json-stringify-safe: 5.0.1 mime-types: 2.1.35 performance-now: 2.1.0 - qs: 6.14.2 + qs: 6.15.2 safe-buffer: 5.2.1 tough-cookie: 5.1.2 tunnel-agent: 0.6.0 - uuid: 8.3.2 '@cypress/xvfb@1.2.4(supports-color@8.1.1)': dependencies: @@ -15372,6 +15362,10 @@ snapshots: dependencies: '@octokit/openapi-types': 27.0.0 + '@paralleldrive/cuid2@2.3.1': + dependencies: + '@noble/hashes': 1.4.0 + '@parcel/watcher-android-arm64@2.5.1': optional: true @@ -15616,7 +15610,7 @@ snapshots: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(sockjs-client@1.4.0)(type-fest@4.41.0)(webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(esbuild@0.25.12))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.17(react-refresh@0.14.2)(sockjs-client@1.4.0)(type-fest@4.41.0)(webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)))(webpack-hot-middleware@2.26.1)(webpack@5.105.4(esbuild@0.25.12))': dependencies: ansi-html: 0.0.9 core-js-pure: 3.46.0 @@ -15630,7 +15624,7 @@ snapshots: optionalDependencies: sockjs-client: 1.4.0 type-fest: 4.41.0 - webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) + webpack-dev-server: 5.2.4(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)) webpack-hot-middleware: 2.26.1 '@pnpm/config.env-replace@1.1.0': {} @@ -17316,17 +17310,17 @@ snapshots: tailwindcss: 4.1.16 vite: 6.4.2(@types/node@24.10.0)(jiti@2.6.1)(less@3.13.1)(lightningcss@1.30.2)(sass@1.93.3)(terser@5.44.0)(yaml@2.8.1) - '@testing-library/cypress@10.0.3(cypress@15.13.1)': + '@testing-library/cypress@10.0.3(cypress@15.16.0)': dependencies: '@babel/runtime': 7.28.4 '@testing-library/dom': 10.4.1 - cypress: 15.13.1 + cypress: 15.16.0 - '@testing-library/cypress@10.1.0(cypress@15.13.1)': + '@testing-library/cypress@10.1.0(cypress@15.16.0)': dependencies: '@babel/runtime': 7.28.4 '@testing-library/dom': 10.4.1 - cypress: 15.13.1 + cypress: 15.16.0 '@testing-library/dom@10.4.0': dependencies: @@ -17350,17 +17344,6 @@ snapshots: picocolors: 1.1.1 pretty-format: 27.5.1 - '@testing-library/dom@9.3.4': - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.28.4 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - '@testing-library/jest-dom@6.5.0': dependencies: '@adobe/css-tools': 4.4.4 @@ -17390,19 +17373,19 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-test-renderer: 18.2.0(react@18.2.0) - '@testing-library/react@14.3.1(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.20.6 - '@testing-library/dom': 9.3.4 - '@types/react-dom': 18.3.7(@types/react@18.3.26) + '@testing-library/dom': 10.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - transitivePeerDependencies: - - '@types/react' + optionalDependencies: + '@types/react': 18.3.26 + '@types/react-dom': 18.3.7(@types/react@18.3.26) - '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@testing-library/react@16.3.2(@testing-library/dom@10.4.1)(@types/react-dom@18.3.7(@types/react@18.3.26))(@types/react@18.3.26)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.28.4 '@testing-library/dom': 10.4.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -17469,8 +17452,6 @@ snapshots: dependencies: '@types/node': 24.10.0 - '@types/cookie@0.3.3': {} - '@types/debug@4.1.12': dependencies: '@types/ms': 2.1.0 @@ -17695,11 +17676,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yauzl@2.10.3': - dependencies: - '@types/node': 24.10.0 - optional: true - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 @@ -18202,11 +18178,6 @@ snapshots: agent-base@8.0.0: {} - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - airbnb-prop-types@2.16.0(react@18.2.0): dependencies: array.prototype.find: 2.2.3 @@ -18251,8 +18222,6 @@ snapshots: dependencies: string-width: 4.2.3 - ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -18300,10 +18269,6 @@ snapshots: dependencies: tslib: 2.8.1 - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.3 - aria-query@5.3.0: dependencies: dequal: 2.0.3 @@ -18401,6 +18366,8 @@ snapshots: get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + asap@2.0.6: {} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2 @@ -18746,8 +18713,6 @@ snapshots: node-releases: 2.0.37 update-browserslist-db: 1.2.3(browserslist@4.28.2) - buffer-crc32@0.2.13: {} - buffer-equal-constant-time@1.0.1: {} buffer-from@1.1.2: {} @@ -18959,8 +18924,6 @@ snapshots: dependencies: source-map: 0.6.1 - clean-stack@2.2.0: {} - cli-boxes@3.0.0: {} cli-cursor@3.1.0: @@ -19000,10 +18963,10 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 - cli-truncate@2.1.0: + cli-truncate@5.2.0: dependencies: - slice-ansi: 3.0.0 - string-width: 4.2.3 + slice-ansi: 8.0.0 + string-width: 8.2.1 cli-width@4.1.0: {} @@ -19152,10 +19115,10 @@ snapshots: cookie-signature@1.0.6: {} - cookie@0.4.2: {} - cookie@0.7.2: {} + cookie@1.1.1: {} + cookiejar@2.1.4: {} copy-anything@2.0.6: @@ -19390,18 +19353,18 @@ snapshots: csstype@3.1.3: {} - cypress-axe@1.7.0(axe-core@4.4.2)(cypress@15.13.1): + cypress-axe@1.7.0(axe-core@4.4.2)(cypress@15.16.0): dependencies: axe-core: 4.4.2 - cypress: 15.13.1 + cypress: 15.16.0 - cypress-file-upload@5.0.8(cypress@15.13.1): + cypress-file-upload@5.0.8(cypress@15.16.0): dependencies: - cypress: 15.13.1 + cypress: 15.16.0 - cypress@15.13.1: + cypress@15.16.0: dependencies: - '@cypress/request': 3.0.10 + '@cypress/request': 4.0.1 '@cypress/xvfb': 1.2.4(supports-color@8.1.1) '@types/sinonjs__fake-timers': 8.1.1 '@types/sizzle': 2.3.10 @@ -19412,23 +19375,19 @@ snapshots: buffer: 5.7.1 cachedir: 2.4.0 chalk: 4.1.2 - ci-info: 4.3.1 - cli-cursor: 3.1.0 + ci-info: 4.4.0 cli-table3: 0.6.1 commander: 6.2.1 common-tags: 1.8.2 dayjs: 1.11.19 debug: 4.3.4(supports-color@8.1.1) - enquirer: 2.4.1 eventemitter2: 6.4.7 execa: 4.1.0 executable: 4.1.1 - extract-zip: 2.0.1(supports-color@8.1.1) - figures: 3.2.0 fs-extra: 9.1.0 hasha: 5.2.2 is-installed-globally: 0.4.0 - listr2: 3.14.0(enquirer@2.4.1) + listr2: 9.0.5 lodash: 4.18.1 log-symbols: 4.1.0 minimist: 1.2.8 @@ -19439,11 +19398,11 @@ snapshots: request-progress: 3.0.0 supports-color: 8.1.1 systeminformation: 5.31.5 - tmp: 0.2.5 + tmp: 0.2.6 tree-kill: 1.2.2 tslib: 1.14.1 untildify: 4.0.0 - yauzl: 2.10.0 + yauzl: 3.4.0 damerau-levenshtein@1.0.8: {} @@ -19528,27 +19487,6 @@ snapshots: deep-eql@5.0.2: {} - deep-equal@2.2.3: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.8 - es-get-iterator: 1.1.3 - get-intrinsic: 1.3.0 - is-arguments: 1.2.0 - is-array-buffer: 3.0.5 - is-date-object: 1.1.0 - is-regex: 1.2.1 - is-shared-array-buffer: 1.0.4 - isarray: 2.0.5 - object-is: 1.1.6 - object-keys: 1.1.1 - object.assign: 4.1.7 - regexp.prototype.flags: 1.5.4 - side-channel: 1.1.0 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.19 - deep-extend@0.6.0: {} deep-freeze@0.0.1: {} @@ -19648,6 +19586,11 @@ snapshots: transitivePeerDependencies: - supports-color + dezalgo@1.0.4: + dependencies: + asap: 2.0.6 + wrappy: 1.0.2 + diff-sequences@29.6.3: {} diff@3.5.1: {} @@ -19811,11 +19754,6 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.3.0 - enquirer@2.4.1: - dependencies: - ansi-colors: 4.1.3 - strip-ansi: 6.0.1 - entities@2.2.0: {} entities@4.5.0: {} @@ -20345,6 +20283,8 @@ snapshots: eventemitter3@4.0.7: {} + eventemitter3@5.0.4: {} + events@3.3.0: {} eventsource@1.1.2: @@ -20465,16 +20405,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extract-zip@2.0.1(supports-color@8.1.1): - dependencies: - debug: 4.3.4(supports-color@8.1.1) - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - extsprintf@1.3.0: {} fast-content-type-parse@3.0.0: {} @@ -20499,6 +20429,8 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-safe-stringify@2.1.1: {} + fast-string-truncated-width@3.0.3: {} fast-string-width@3.0.2: @@ -20521,10 +20453,6 @@ snapshots: dependencies: websocket-driver: 0.7.4 - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -20718,15 +20646,6 @@ snapshots: form-data-encoder@2.1.4: {} - form-data@2.5.5: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - es-set-tostringtag: 2.1.0 - hasown: 2.0.2 - mime-types: 2.1.35 - safe-buffer: 5.2.1 - form-data@4.0.5: dependencies: asynckit: 0.4.0 @@ -20739,7 +20658,11 @@ snapshots: dependencies: fetch-blob: 3.2.0 - formidable@1.2.6: {} + formidable@3.5.4: + dependencies: + '@paralleldrive/cuid2': 2.3.1 + dezalgo: 1.0.4 + once: 1.4.0 forwarded@0.2.0: {} @@ -20778,10 +20701,6 @@ snapshots: fsevents@2.3.3: optional: true - full-icu@1.4.0: - dependencies: - yauzl: 2.10.0 - function-bind@1.1.2: {} function.prototype.name@1.1.8: @@ -20803,6 +20722,8 @@ snapshots: get-east-asian-width@1.4.0: {} + get-east-asian-width@1.6.0: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -21443,6 +21364,10 @@ snapshots: is-fullwidth-code-point@3.0.0: {} + is-fullwidth-code-point@5.1.0: + dependencies: + get-east-asian-width: 1.4.0 + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 @@ -22044,18 +21969,14 @@ snapshots: dependencies: uc.micro: 1.0.6 - listr2@3.14.0(enquirer@2.4.1): + listr2@9.0.5: dependencies: - cli-truncate: 2.1.0 + cli-truncate: 5.2.0 colorette: 2.0.20 - log-update: 4.0.0 - p-map: 4.0.0 + eventemitter3: 5.0.4 + log-update: 6.1.0 rfdc: 1.4.1 - rxjs: 7.8.2 - through: 2.3.8 - wrap-ansi: 7.0.0 - optionalDependencies: - enquirer: 2.4.1 + wrap-ansi: 9.0.2 load-tsconfig@0.2.5: {} @@ -22144,12 +22065,13 @@ snapshots: is-unicode-supported: 2.1.0 yoctocolors: 2.1.2 - log-update@4.0.0: + log-update@6.1.0: dependencies: - ansi-escapes: 4.3.2 - cli-cursor: 3.1.0 - slice-ansi: 4.0.0 - wrap-ansi: 6.2.0 + ansi-escapes: 7.2.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.2 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 loose-envify@1.4.0: dependencies: @@ -22298,6 +22220,8 @@ snapshots: mime@1.6.0: {} + mime@2.6.0: {} + mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -22693,10 +22617,6 @@ snapshots: dependencies: p-limit: 4.0.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-retry@6.2.1: dependencies: '@types/retry': 0.12.2 @@ -23327,6 +23247,10 @@ snapshots: dependencies: side-channel: 1.1.0 + qs@6.15.2: + dependencies: + side-channel: 1.1.0 + query-string@9.3.1: dependencies: decode-uri-component: 0.4.1 @@ -23577,12 +23501,12 @@ snapshots: prop-types: 15.7.2 react: 18.2.0 - react-cookie@4.1.1(@types/react@18.3.26)(react@18.2.0): + react-cookie@8.1.2(@types/react@18.3.26)(react@18.2.0): dependencies: '@types/hoist-non-react-statics': 3.3.7(@types/react@18.3.26) hoist-non-react-statics: 3.3.2 react: 18.2.0 - universal-cookie: 4.0.4 + universal-cookie: 8.1.2 transitivePeerDependencies: - '@types/react' @@ -24762,17 +24686,21 @@ snapshots: sleep-promise@9.1.0: {} - slice-ansi@3.0.0: + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - slice-ansi@4.0.0: + slice-ansi@7.1.2: dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 + + slice-ansi@8.0.0: + dependencies: + ansi-styles: 6.2.3 + is-fullwidth-code-point: 5.1.0 smart-buffer@4.2.0: {} @@ -24961,6 +24889,11 @@ snapshots: get-east-asian-width: 1.4.0 strip-ansi: 7.1.2 + string-width@8.2.1: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.1.2 + string.prototype.includes@2.0.1: dependencies: call-bind: 1.0.8 @@ -25132,18 +25065,17 @@ snapshots: pirates: 4.0.7 ts-interface-checker: 0.1.13 - superagent@3.8.2: + superagent@10.3.0: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 3.2.7(supports-color@8.1.1) - extend: 3.0.2 - form-data: 2.5.5 - formidable: 1.2.6 + debug: 4.4.3 + fast-safe-stringify: 2.1.1 + form-data: 4.0.5 + formidable: 3.5.4 methods: 1.1.2 - mime: 1.6.0 - qs: 6.14.0 - readable-stream: 2.3.8 + mime: 2.6.0 + qs: 6.14.2 transitivePeerDependencies: - supports-color @@ -25358,7 +25290,7 @@ snapshots: dependencies: os-tmpdir: 1.0.2 - tmp@0.2.5: {} + tmp@0.2.6: {} to-fast-properties@2.0.0: {} @@ -25591,14 +25523,13 @@ snapshots: dependencies: crypto-random-string: 4.0.0 - universal-cookie-express@4.0.3: + universal-cookie-express@8.1.2: dependencies: - universal-cookie: 4.0.4 + universal-cookie: 8.1.2 - universal-cookie@4.0.4: + universal-cookie@8.1.2: dependencies: - '@types/cookie': 0.3.3 - cookie: 0.4.2 + cookie: 1.1.1 universal-user-agent@6.0.1: {} @@ -26165,7 +26096,7 @@ snapshots: transitivePeerDependencies: - tslib - webpack-dev-server@5.2.3(debug@4.3.4)(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)): + webpack-dev-server@5.2.4(debug@4.3.4)(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -26204,7 +26135,7 @@ snapshots: - tslib - utf-8-validate - webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)): + webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.105.4(esbuild@0.25.12)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -26243,7 +26174,7 @@ snapshots: - tslib - utf-8-validate - webpack-dev-server@5.2.3(tslib@2.8.1)(webpack@5.90.1): + webpack-dev-server@5.2.4(tslib@2.8.1)(webpack@5.90.1): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -26497,6 +26428,12 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.2 + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrappy@1.0.2: {} write-file-atomic@3.0.3: @@ -26561,10 +26498,9 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yauzl@2.10.0: + yauzl@3.4.0: dependencies: - buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 + pend: 1.2.0 yocto-queue@0.1.0: {}