diff --git a/assets/all.settings.php b/assets/all.settings.php index 829e74c0c..78cefc5b6 100644 --- a/assets/all.settings.php +++ b/assets/all.settings.php @@ -38,6 +38,7 @@ 'dpl_related_content_tests', 'dpl_example_content', 'dpl_example_breadcrumb', + 'dblog', 'devel', 'devel_generate', 'field_ui', diff --git a/composer.json b/composer.json index 3faa37a94..b5c622b82 100644 --- a/composer.json +++ b/composer.json @@ -40,10 +40,10 @@ "type": "package", "package": { "name": "danskernesdigitalebibliotek/dpl-react", - "version": "2024.45.0", + "version": "2024.46.0", "type": "drupal-library", "dist": { - "url": "https://github.com/danskernesdigitalebibliotek/dpl-react/releases/download/2024.45.0/dist-2024-45-0-43d543d1b3e33cc859f2401cad3a7c18f0d7d19b.zip", + "url": "https://github.com/danskernesdigitalebibliotek/dpl-react/releases/download/2024.46.0/dist-2024-46-0-7d4d8165940c12997e99f8f53768cb784021dccb.zip", "type": "zip" }, "require": { @@ -56,9 +56,9 @@ "package": { "name": "danskernesdigitalebibliotek/dpl-design-system", "type": "drupal-library", - "version": "2024.45.0", + "version": "2024.46.0", "dist": { - "url": "https://github.com/danskernesdigitalebibliotek/dpl-design-system/releases/download/2024.45.0/dist-2024-45-0-61278e37e6e8fa118932c90aea48f0d491755b1f.zip", + "url": "https://github.com/danskernesdigitalebibliotek/dpl-design-system/releases/download/2024.46.0/dist-2024-46-0-26b569fe9286c99caa7d35dfffb9e4d176826c7a.zip", "type": "zip" } } @@ -84,14 +84,14 @@ ], "require": { "php": "8.1.*", - "amazeeio/drupal_integrations": "^0.4", + "amazeeio/drupal_integrations": "^0.5", "bower-asset/jsnlog": "^2.30", "brick/math": "^0.12.1", "composer/installers": "1.12.0", "cweagans/composer-patches": "1.7.3", "danskernesdigitalebibliotek/cms-api": "*", - "danskernesdigitalebibliotek/dpl-design-system": "2024.45.0", - "danskernesdigitalebibliotek/dpl-react": "2024.45.0", + "danskernesdigitalebibliotek/dpl-design-system": "2024.46.0", + "danskernesdigitalebibliotek/dpl-react": "2024.46.0", "danskernesdigitalebibliotek/fbs-client": "*", "dealerdirect/phpcodesniffer-composer-installer": "^1.0.0", "deoliveiralucas/array-keys-case-transform": "^1.1", @@ -110,9 +110,9 @@ "drupal/consumers": "^1.19", "drupal/content_lock": "^2.3", "drupal/cookieinformation": "^2.1", - "drupal/core-composer-scaffold": "^10.3", - "drupal/core-project-message": "^10.3", - "drupal/core-recommended": "^10.3", + "drupal/core-composer-scaffold": "10.3.7", + "drupal/core-project-message": "10.3.7", + "drupal/core-recommended": "10.3.7", "drupal/date_range_formatter": "^4.0", "drupal/default_content": "^2.0@alpha", "drupal/devel": "^5.1", @@ -184,7 +184,7 @@ "spatie/color": "^1.5", "symfony/property-access": "^6.2", "symfony/property-info": "^6.2", - "thecodingmachine/safe": "^1.3", + "thecodingmachine/safe": "^2.5.0", "zaporylie/composer-drupal-optimizations": "1.2.0" }, "require-dev": { @@ -311,7 +311,6 @@ "3200212: Overwrite files on import": "https://www.drupal.org/files/issues/2021-12-08/default_content-3200212.patch" }, "drupal/dynamic_entity_reference": { - "3405253: Update the FieldType category for clarity": "https://git.drupalcode.org/project/dynamic_entity_reference/-/commit/3f048d296f671906d15b0cdfbbadbea38f5f3c8b.patch", "3396393: Entity with a dynamic entity reference field can't be cloned using entity_clone": "https://www.drupal.org/files/issues/2023-10-24/3396393-2.patch" }, "drupal/entity_clone": { @@ -327,7 +326,9 @@ "3454350: Create seperate permission for adding field inheritance": "https://www.drupal.org/files/issues/2024-06-13/field_inheritance_permission.patch" }, "drupal/focal_point": { - "3162210: Preview link accidentally closes the media library": "https://www.drupal.org/files/issues/2020-10-11/preview_link_accidentally_closes_the_media_library-3162210-19.patch" + "3462165 (1/3): Preview results in Error: Call to a member function getDefinitions() on null": "https://git.drupalcode.org/project/focal_point/-/commit/e9803fdb1f74fecf4972120518f87a4e260ccf9e.patch", + "3462165 (2/3): Preview results in Error: Call to a member function getDefinitions() on null": "https://git.drupalcode.org/project/focal_point/-/commit/7d1c3bba96560d96a6ec5a9834d091eebcb7b9b5.patch", + "3462165 (3/3): Preview results in Error: Call to a member function getDefinitions() on null": "https://git.drupalcode.org/project/focal_point/-/commit/72d7a23c5251c2313557fe1f6d01263ddc729963.patch" }, "drupal/job_scheduler": { "3426366: Callables as worker callbacks": "https://git.drupalcode.org/project/job_scheduler/-/commit/da200da280c4c95e6e91f2416581ad3797ab1428.patch" @@ -343,8 +344,7 @@ "3343816: Specification includes disabled resources": "https://git.drupalcode.org/project/openapi_rest/-/commit/6618157334feca93fad1041583375eed660b9085.patch" }, "drupal/paragraphs_ee": { - "3106254: Sorting paragraph list alphabetically in modal": "https://www.drupal.org/files/issues/2023-03-30/paragraphs_ee_sort.patch", - "3246408: Arrow buttons instead of drag n drop": "https://git.drupalcode.org/project/paragraphs_ee/-/commit/4e16e0d79386dcf13db901f5634f2e30f0814137.patch" + "3106254: Sorting paragraph list alphabetically in modal": "https://www.drupal.org/files/issues/2023-03-30/paragraphs_ee_sort.patch" }, "drupal/potion": { "3201365: Allow setting a default write mode when running potion:generate": "https://www.drupal.org/files/issues/2021-03-03/potion-allow_setting_a_default_write_mode-3201365-2.patch", diff --git a/composer.lock b/composer.lock index 9666a15ed..5279bab35 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6412f3a1dcec265012de81f1b9686ed9", + "content-hash": "0a27955d341f5c1f5d99f8546fb74e3d", "packages": [ { "name": "amazeeio/drupal_integrations", - "version": "0.4.0", + "version": "0.5.0", "source": { "type": "git", "url": "https://github.com/amazeeio/drupal-integrations.git", - "reference": "4166cbcce9429e7e1cfaa9ffba4d44c1c267f083" + "reference": "5ff908d941551ae985f8eff5c2cbd7d5f4643bc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amazeeio/drupal-integrations/zipball/4166cbcce9429e7e1cfaa9ffba4d44c1c267f083", - "reference": "4166cbcce9429e7e1cfaa9ffba4d44c1c267f083", + "url": "https://api.github.com/repos/amazeeio/drupal-integrations/zipball/5ff908d941551ae985f8eff5c2cbd7d5f4643bc9", + "reference": "5ff908d941551ae985f8eff5c2cbd7d5f4643bc9", "shasum": "" }, "require": { @@ -56,9 +56,9 @@ "description": "Add this project to any Drupal 9+ distribution based on drupal/core-composer-scaffold to enable it for use on Lagoon.", "support": { "issues": "https://github.com/amazeeio/drupal-integrations/issues", - "source": "https://github.com/amazeeio/drupal-integrations/tree/0.4.0" + "source": "https://github.com/amazeeio/drupal-integrations/tree/0.5.0" }, - "time": "2023-11-13T00:29:04+00:00" + "time": "2024-09-04T03:50:30+00:00" }, { "name": "asm89/stack-cors", @@ -1166,19 +1166,19 @@ }, { "name": "danskernesdigitalebibliotek/dpl-design-system", - "version": "2024.45.0", + "version": "2024.46.0", "dist": { "type": "zip", - "url": "https://github.com/danskernesdigitalebibliotek/dpl-design-system/releases/download/2024.45.0/dist-2024-45-0-61278e37e6e8fa118932c90aea48f0d491755b1f.zip" + "url": "https://github.com/danskernesdigitalebibliotek/dpl-design-system/releases/download/2024.46.0/dist-2024-46-0-26b569fe9286c99caa7d35dfffb9e4d176826c7a.zip" }, "type": "drupal-library" }, { "name": "danskernesdigitalebibliotek/dpl-react", - "version": "2024.45.0", + "version": "2024.46.0", "dist": { "type": "zip", - "url": "https://github.com/danskernesdigitalebibliotek/dpl-react/releases/download/2024.45.0/dist-2024-45-0-43d543d1b3e33cc859f2401cad3a7c18f0d7d19b.zip" + "url": "https://github.com/danskernesdigitalebibliotek/dpl-react/releases/download/2024.46.0/dist-2024-46-0-7d4d8165940c12997e99f8f53768cb784021dccb.zip" }, "require": { "composer/installers": "^1.2.0" @@ -2129,16 +2129,16 @@ }, { "name": "doctrine/persistence", - "version": "3.3.3", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "b337726451f5d530df338fc7f68dee8781b49779" + "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/b337726451f5d530df338fc7f68dee8781b49779", - "reference": "b337726451f5d530df338fc7f68dee8781b49779", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/0ea965320cec355dba75031c1b23d4c78362e3ff", + "reference": "0ea965320cec355dba75031c1b23d4c78362e3ff", "shasum": "" }, "require": { @@ -2152,12 +2152,11 @@ "require-dev": { "doctrine/coding-standard": "^12", "doctrine/common": "^3.0", - "phpstan/phpstan": "1.11.1", + "phpstan/phpstan": "1.12.7", "phpstan/phpstan-phpunit": "^1", "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "vimeo/psalm": "4.30.0 || 5.24.0" + "phpunit/phpunit": "^8.5.38 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6.0 || ^7.0" }, "type": "library", "autoload": { @@ -2206,7 +2205,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.3.3" + "source": "https://github.com/doctrine/persistence/tree/3.4.0" }, "funding": [ { @@ -2222,7 +2221,7 @@ "type": "tidelift" } ], - "time": "2024-06-20T10:14:30+00:00" + "time": "2024-10-30T19:48:12+00:00" }, { "name": "drupal/address", @@ -3221,16 +3220,16 @@ }, { "name": "drupal/core", - "version": "10.3.1", + "version": "10.3.7", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "d137403a30d4154404e473785f48dfc889d77e23" + "reference": "5b11ec4e38e71748c51287cbd64cfcc43faeb624" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/d137403a30d4154404e473785f48dfc889d77e23", - "reference": "d137403a30d4154404e473785f48dfc889d77e23", + "url": "https://api.github.com/repos/drupal/core/zipball/5b11ec4e38e71748c51287cbd64cfcc43faeb624", + "reference": "5b11ec4e38e71748c51287cbd64cfcc43faeb624", "shasum": "" }, "require": { @@ -3276,7 +3275,7 @@ "symfony/serializer": "^6.4", "symfony/validator": "^6.4", "symfony/yaml": "^6.4", - "twig/twig": "^3.9.3" + "twig/twig": "^3.14.0" }, "conflict": { "drush/drush": "<12.4.3" @@ -3379,22 +3378,22 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.3.1" + "source": "https://github.com/drupal/core/tree/10.3.7" }, - "time": "2024-07-04T11:33:45+00:00" + "time": "2024-11-07T08:22:50+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.3.1", + "version": "10.3.7", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe" + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/a1a186caeb89899143e0c6912ccee9d3d7181dbe", - "reference": "a1a186caeb89899143e0c6912ccee9d3d7181dbe", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/f58ab5c0d02d275c5aa226c4505b457e41b161cc", + "reference": "f58ab5c0d02d275c5aa226c4505b457e41b161cc", "shasum": "" }, "require": { @@ -3429,13 +3428,13 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.1" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.3.7" }, - "time": "2024-05-11T08:21:39+00:00" + "time": "2024-08-22T14:31:34+00:00" }, { "name": "drupal/core-project-message", - "version": "10.3.1", + "version": "10.3.7", "source": { "type": "git", "url": "https://github.com/drupal/core-project-message.git", @@ -3470,22 +3469,22 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-project-message/tree/11.0.0-beta1" + "source": "https://github.com/drupal/core-project-message/tree/11.0.5" }, "time": "2023-07-24T07:55:25+00:00" }, { "name": "drupal/core-recommended", - "version": "10.3.1", + "version": "10.3.7", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "a5183f2be315b7e5deec89fdeafe9fc9a2e54f57" + "reference": "4d0e3bcfaf847cb50433728116fe247f6847686e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/a5183f2be315b7e5deec89fdeafe9fc9a2e54f57", - "reference": "a5183f2be315b7e5deec89fdeafe9fc9a2e54f57", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/4d0e3bcfaf847cb50433728116fe247f6847686e", + "reference": "4d0e3bcfaf847cb50433728116fe247f6847686e", "shasum": "" }, "require": { @@ -3494,7 +3493,7 @@ "doctrine/annotations": "~1.14.3", "doctrine/deprecations": "~1.1.3", "doctrine/lexer": "~2.1.1", - "drupal/core": "10.3.1", + "drupal/core": "10.3.7", "egulias/email-validator": "~4.0.2", "guzzlehttp/guzzle": "~7.8.1", "guzzlehttp/promises": "~2.0.2", @@ -3543,7 +3542,7 @@ "symfony/var-dumper": "~v6.4.7", "symfony/var-exporter": "~v6.4.7", "symfony/yaml": "~v6.4.7", - "twig/twig": "~v3.10.2" + "twig/twig": "~v3.14.0" }, "conflict": { "webflo/drupal-core-strict": "*" @@ -3555,32 +3554,32 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.3.1" + "source": "https://github.com/drupal/core-recommended/tree/10.3.7" }, - "time": "2024-07-04T11:33:45+00:00" + "time": "2024-11-07T08:22:50+00:00" }, { "name": "drupal/crop", - "version": "2.3.0", + "version": "2.4.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/crop.git", - "reference": "8.x-2.3" + "reference": "8.x-2.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/crop-8.x-2.3.zip", - "reference": "8.x-2.3", - "shasum": "8e109cf60077f4c605c4d1f895cb3dc28613a23a" + "url": "https://ftp.drupal.org/files/projects/crop-8.x-2.4.zip", + "reference": "8.x-2.4", + "shasum": "be11fad0abf1d53544d35cb4ca6cedd8e91d2542" }, "require": { - "drupal/core": "^9.3 || ^10" + "drupal/core": "^9.3 || ^10 || ^11" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.3", - "datestamp": "1665437894", + "version": "8.x-2.4", + "datestamp": "1720455738", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3898,23 +3897,24 @@ }, { "name": "drupal/dynamic_entity_reference", - "version": "3.1.0", + "version": "3.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/dynamic_entity_reference.git", - "reference": "3.1.0" + "reference": "3.2.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/dynamic_entity_reference-3.1.0.zip", - "reference": "3.1.0", - "shasum": "4672b535acc326320f012033db94b5c0e379362c" + "url": "https://ftp.drupal.org/files/projects/dynamic_entity_reference-3.2.0.zip", + "reference": "3.2.0", + "shasum": "a265f7f0723fb085bd729e7624d644475900cf94" }, "require": { "drupal/core": "^10 || ^11", "php": ">=8.1" }, "require-dev": { + "drupal/diff": "*", "mglaman/phpstan-drupal": "^1.1", "phpstan/phpstan": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0" @@ -3922,8 +3922,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "3.1.0", - "datestamp": "1688838762", + "version": "3.2.0", + "datestamp": "1706486865", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4473,23 +4473,21 @@ }, { "name": "drupal/focal_point", - "version": "2.0.2", + "version": "2.1.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/focal_point.git", - "reference": "2.0.2" + "reference": "2.1.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/focal_point-2.0.2.zip", - "reference": "2.0.2", - "shasum": "8e809795ec6a68a0bc3740b0b0a41bfa53d4d6d5" + "url": "https://ftp.drupal.org/files/projects/focal_point-2.1.1.zip", + "reference": "2.1.1", + "shasum": "f8c24bb4257f784176e79ec6f2b4c11ed46391e0" }, "require": { - "drupal/core": "^9.3 || ^10", - "drupal/crop": "^2.3", - "drupal/jquery_ui": "^1.6", - "drupal/jquery_ui_draggable": "^2.0" + "drupal/core": "^9.3 || ^10 || ^11", + "drupal/crop": "^2.3" }, "require-dev": { "drupal/crop": "*" @@ -4497,8 +4495,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.2", - "datestamp": "1690451892", + "version": "2.1.1", + "datestamp": "1721126807", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4516,7 +4514,7 @@ "role": "Maintainer" }, { - "name": "Rajeshreeputra", + "name": "rajeshreeputra", "homepage": "https://www.drupal.org/user/3418561" } ], @@ -5271,59 +5269,6 @@ "source": "https://git.drupalcode.org/project/jquery_ui_datepicker" } }, - { - "name": "drupal/jquery_ui_draggable", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://git.drupalcode.org/project/jquery_ui_draggable.git", - "reference": "2.0.0" - }, - "dist": { - "type": "zip", - "url": "https://ftp.drupal.org/files/projects/jquery_ui_draggable-2.0.0.zip", - "reference": "2.0.0", - "shasum": "13a8f4bf037449cd176ddb967fc9cba9a466a705" - }, - "require": { - "drupal/core": "^9.2 || ^10", - "drupal/jquery_ui": "^1.6" - }, - "type": "drupal-module", - "extra": { - "drupal": { - "version": "2.0.0", - "datestamp": "1670871516", - "security-coverage": { - "status": "covered", - "message": "Covered by Drupal's security advisory policy" - } - } - }, - "notification-url": "https://packages.drupal.org/8/downloads", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "bnjmnm", - "homepage": "https://www.drupal.org/user/2369194" - }, - { - "name": "lauriii", - "homepage": "https://www.drupal.org/user/1078742" - }, - { - "name": "zrpnr", - "homepage": "https://www.drupal.org/user/1448368" - } - ], - "description": "Provides jQuery UI Draggable library.", - "homepage": "https://www.drupal.org/project/jquery_ui_draggable", - "support": { - "source": "https://git.drupalcode.org/project/jquery_ui_draggable" - } - }, { "name": "drupal/jquery_ui_slider", "version": "2.1.0", @@ -6441,21 +6386,21 @@ }, { "name": "drupal/paragraphs_ee", - "version": "10.0.3", + "version": "10.0.5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs_ee.git", - "reference": "10.0.3" + "reference": "10.0.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs_ee-10.0.3.zip", - "reference": "10.0.3", - "shasum": "172c201a5c8f993a61665c011b5b45c0ceba1dc8" + "url": "https://ftp.drupal.org/files/projects/paragraphs_ee-10.0.5.zip", + "reference": "10.0.5", + "shasum": "a638c2a75804eb89e0934f159210a599267ee4a8" }, "require": { "drupal/core": ">=10.0", - "drupal/paragraphs_features": "^2.0@beta" + "drupal/paragraphs_features": "^2.0" }, "require-dev": { "drupal/paragraphs_sets": "*", @@ -6465,8 +6410,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "10.0.3", - "datestamp": "1701956434", + "version": "10.0.5", + "datestamp": "1729580104", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6492,17 +6437,17 @@ }, { "name": "drupal/paragraphs_features", - "version": "2.0.0-beta3", + "version": "2.0.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs_features.git", - "reference": "2.0.0-beta3" + "reference": "2.0.0" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs_features-2.0.0-beta3.zip", - "reference": "2.0.0-beta3", - "shasum": "b040ba0048101f578752050bc55cc039939a649c" + "url": "https://ftp.drupal.org/files/projects/paragraphs_features-2.0.0.zip", + "reference": "2.0.0", + "shasum": "3f4856f2c6ade242855f5311ff26e8951b8a53a7" }, "require": { "drupal/core": "^9.2 || ^10", @@ -6514,11 +6459,11 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-beta3", - "datestamp": "1692697161", + "version": "2.0.0", + "datestamp": "1713956979", "security-coverage": { - "status": "not-covered", - "message": "Beta releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -10425,16 +10370,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.4.1", + "version": "5.6.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c" + "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", - "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c", + "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c", "shasum": "" }, "require": { @@ -10443,17 +10388,17 @@ "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", "phpdocumentor/type-resolver": "^1.7", - "phpstan/phpdoc-parser": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.5", + "mockery/mockery": "~1.3.5 || ~1.6.0", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.8", "phpstan/phpstan-mockery": "^1.1", "phpstan/phpstan-webmozart-assert": "^1.2", "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^5.13" + "psalm/phar": "^5.26" }, "type": "library", "extra": { @@ -10483,29 +10428,29 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0" }, - "time": "2024-05-21T05:55:05+00:00" + "time": "2024-11-12T11:25:25+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.8.2", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "153ae662783729388a584b4361f2545e4d841e3c" + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", - "reference": "153ae662783729388a584b4361f2545e4d841e3c", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", "shasum": "" }, "require": { "doctrine/deprecations": "^1.0", "php": "^7.3 || ^8.0", "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { "ext-tokenizer": "*", @@ -10541,9 +10486,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" }, - "time": "2024-02-23T11:10:43+00:00" + "time": "2024-11-09T15:12:26+00:00" }, { "name": "phpowermove/docblock", @@ -11340,16 +11285,16 @@ }, { "name": "spatie/color", - "version": "1.5.3", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/spatie/color.git", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390" + "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/color/zipball/49739265900cabce4640cd26c3266fd8d2cca390", - "reference": "49739265900cabce4640cd26c3266fd8d2cca390", + "url": "https://api.github.com/repos/spatie/color/zipball/02ce48c480f86d65702188f738f4e8ccad1b999a", + "reference": "02ce48c480f86d65702188f738f4e8ccad1b999a", "shasum": "" }, "require": { @@ -11387,7 +11332,7 @@ ], "support": { "issues": "https://github.com/spatie/color/issues", - "source": "https://github.com/spatie/color/tree/1.5.3" + "source": "https://github.com/spatie/color/tree/1.6.0" }, "funding": [ { @@ -11395,7 +11340,7 @@ "type": "github" } ], - "time": "2022-12-18T12:58:32+00:00" + "time": "2024-09-20T14:00:15+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -11787,16 +11732,16 @@ }, { "name": "symfony/console", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79" + "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f793dd5a7d9ae9923e35d0503d08ba734cec1d79", - "reference": "f793dd5a7d9ae9923e35d0503d08ba734cec1d79", + "url": "https://api.github.com/repos/symfony/console/zipball/897c2441ed4eec8a8a2c37b943427d24dba3f26b", + "reference": "897c2441ed4eec8a8a2c37b943427d24dba3f26b", "shasum": "" }, "require": { @@ -11861,7 +11806,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.13" + "source": "https://github.com/symfony/console/tree/v6.4.14" }, "funding": [ { @@ -11877,7 +11822,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T08:40:40+00:00" + "time": "2024-11-05T15:34:40+00:00" }, { "name": "symfony/dependency-injection", @@ -12029,16 +11974,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c" + "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", - "reference": "e3c78742f86a5b65fe2ac4c4b6b776d92fd7ca0c", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/9e024324511eeb00983ee76b9aedc3e6ecd993d9", + "reference": "9e024324511eeb00983ee76b9aedc3e6ecd993d9", "shasum": "" }, "require": { @@ -12084,7 +12029,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.13" + "source": "https://github.com/symfony/error-handler/tree/v6.4.14" }, "funding": [ { @@ -12100,7 +12045,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-05T15:34:40+00:00" }, { "name": "symfony/event-dispatcher", @@ -12534,16 +12479,16 @@ }, { "name": "symfony/http-foundation", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c" + "reference": "ba020a321a95519303a3f09ec2824d34d601c388" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", - "reference": "4c0341b3e0a7291e752c69d2a1ed9a84b68d604c", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ba020a321a95519303a3f09ec2824d34d601c388", + "reference": "ba020a321a95519303a3f09ec2824d34d601c388", "shasum": "" }, "require": { @@ -12591,7 +12536,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.13" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.14" }, "funding": [ { @@ -12607,20 +12552,20 @@ "type": "tidelift" } ], - "time": "2024-10-11T19:20:58+00:00" + "time": "2024-11-05T16:39:55+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e" + "reference": "8278a947d0369754a47b758a9e17b72cab970951" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4474015c363ec0cd3bf47d55657e68630dbae66e", - "reference": "4474015c363ec0cd3bf47d55657e68630dbae66e", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/8278a947d0369754a47b758a9e17b72cab970951", + "reference": "8278a947d0369754a47b758a9e17b72cab970951", "shasum": "" }, "require": { @@ -12705,7 +12650,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.13" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.14" }, "funding": [ { @@ -12721,7 +12666,7 @@ "type": "tidelift" } ], - "time": "2024-10-27T13:00:29+00:00" + "time": "2024-11-06T09:45:21+00:00" }, { "name": "symfony/mailer", @@ -13670,16 +13615,16 @@ }, { "name": "symfony/process", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f" + "reference": "25214adbb0996d18112548de20c281be9f27279f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1f9f59b46880201629df3bd950fc5ae8c55b960f", - "reference": "1f9f59b46880201629df3bd950fc5ae8c55b960f", + "url": "https://api.github.com/repos/symfony/process/zipball/25214adbb0996d18112548de20c281be9f27279f", + "reference": "25214adbb0996d18112548de20c281be9f27279f", "shasum": "" }, "require": { @@ -13711,7 +13656,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.13" + "source": "https://github.com/symfony/process/tree/v6.4.14" }, "funding": [ { @@ -13727,7 +13672,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-06T09:25:01+00:00" }, { "name": "symfony/property-access", @@ -14497,16 +14442,16 @@ }, { "name": "symfony/validator", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730" + "reference": "dc259b85e59a6569e205966d447dec0a7d95facf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/68e0bf4522756269d9bff801a16701b2ed5eb730", - "reference": "68e0bf4522756269d9bff801a16701b2ed5eb730", + "url": "https://api.github.com/repos/symfony/validator/zipball/dc259b85e59a6569e205966d447dec0a7d95facf", + "reference": "dc259b85e59a6569e205966d447dec0a7d95facf", "shasum": "" }, "require": { @@ -14574,7 +14519,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.13" + "source": "https://github.com/symfony/validator/tree/v6.4.14" }, "funding": [ { @@ -14590,20 +14535,20 @@ "type": "tidelift" } ], - "time": "2024-10-25T15:07:50+00:00" + "time": "2024-11-04T11:33:53+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.13", + "version": "v6.4.14", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41" + "reference": "93c09246038178717a9c14b809ea8151ffcf7091" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", - "reference": "2acb151474ed8cb43624e3f41a0bf7c4c8ce4f41", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/93c09246038178717a9c14b809ea8151ffcf7091", + "reference": "93c09246038178717a9c14b809ea8151ffcf7091", "shasum": "" }, "require": { @@ -14659,7 +14604,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.13" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.14" }, "funding": [ { @@ -14675,7 +14620,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:18:03+00:00" + "time": "2024-11-05T15:34:40+00:00" }, { "name": "symfony/var-exporter", @@ -14828,39 +14773,46 @@ }, { "name": "thecodingmachine/safe", - "version": "v1.3.3", + "version": "v2.5.0", "source": { "type": "git", "url": "https://github.com/thecodingmachine/safe.git", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc" + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/a8ab0876305a4cdaef31b2350fcb9811b5608dbc", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", "shasum": "" }, "require": { - "php": ">=7.2" + "php": "^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^0.12" + "thecodingmachine/phpstan-strict-rules": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.1-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { "files": [ "deprecated/apc.php", + "deprecated/array.php", + "deprecated/datetime.php", "deprecated/libevent.php", + "deprecated/misc.php", + "deprecated/password.php", "deprecated/mssql.php", "deprecated/stats.php", + "deprecated/strings.php", "lib/special_cases.php", + "deprecated/mysqli.php", "generated/apache.php", "generated/apcu.php", "generated/array.php", @@ -14881,6 +14833,7 @@ "generated/fpm.php", "generated/ftp.php", "generated/funchand.php", + "generated/gettext.php", "generated/gmp.php", "generated/gnupg.php", "generated/hash.php", @@ -14890,7 +14843,6 @@ "generated/image.php", "generated/imap.php", "generated/info.php", - "generated/ingres-ii.php", "generated/inotify.php", "generated/json.php", "generated/ldap.php", @@ -14899,20 +14851,14 @@ "generated/mailparse.php", "generated/mbstring.php", "generated/misc.php", - "generated/msql.php", "generated/mysql.php", - "generated/mysqli.php", - "generated/mysqlndMs.php", - "generated/mysqlndQc.php", "generated/network.php", "generated/oci8.php", "generated/opcache.php", "generated/openssl.php", "generated/outcontrol.php", - "generated/password.php", "generated/pcntl.php", "generated/pcre.php", - "generated/pdf.php", "generated/pgsql.php", "generated/posix.php", "generated/ps.php", @@ -14923,7 +14869,6 @@ "generated/sem.php", "generated/session.php", "generated/shmop.php", - "generated/simplexml.php", "generated/sockets.php", "generated/sodium.php", "generated/solr.php", @@ -14946,13 +14891,13 @@ "generated/zip.php", "generated/zlib.php" ], - "psr-4": { - "Safe\\": [ - "lib/", - "deprecated/", - "generated/" - ] - } + "classmap": [ + "lib/DateTime.php", + "lib/DateTimeImmutable.php", + "lib/Exceptions/", + "deprecated/Exceptions/", + "generated/Exceptions/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -14961,30 +14906,30 @@ "description": "PHP core functions that throw exceptions instead of returning FALSE on error", "support": { "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v1.3.3" + "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" }, - "time": "2020-10-28T17:51:34+00:00" + "time": "2023-04-05T11:54:14+00:00" }, { "name": "twig/twig", - "version": "v3.10.3", + "version": "v3.14.2", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.0.2", "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22" + "symfony/polyfill-php81": "^1.29" }, "require-dev": { "psr/container": "^1.0|^2.0", @@ -15030,7 +14975,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.10.3" + "source": "https://github.com/twigphp/Twig/tree/v3.14.2" }, "funding": [ { @@ -15042,7 +14987,7 @@ "type": "tidelift" } ], - "time": "2024-05-16T10:04:27+00:00" + "time": "2024-11-07T12:36:22+00:00" }, { "name": "webflo/drupal-finder", @@ -15327,16 +15272,16 @@ "packages-dev": [ { "name": "behat/mink", - "version": "v1.11.0", + "version": "v1.12.0", "source": { "type": "git", "url": "https://github.com/minkphp/Mink.git", - "reference": "d8527fdf8785aad38455fb426af457ab9937aece" + "reference": "7e4edec6c335937029cb3569ce7ef81182804d0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/d8527fdf8785aad38455fb426af457ab9937aece", - "reference": "d8527fdf8785aad38455fb426af457ab9937aece", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/7e4edec6c335937029cb3569ce7ef81182804d0a", + "reference": "7e4edec6c335937029cb3569ce7ef81182804d0a", "shasum": "" }, "require": { @@ -15387,9 +15332,9 @@ ], "support": { "issues": "https://github.com/minkphp/Mink/issues", - "source": "https://github.com/minkphp/Mink/tree/v1.11.0" + "source": "https://github.com/minkphp/Mink/tree/v1.12.0" }, - "time": "2023-12-09T11:23:23+00:00" + "time": "2024-10-30T18:48:14+00:00" }, { "name": "behat/mink-browserkit-driver", @@ -16968,22 +16913,22 @@ }, { "name": "phpstan/extension-installer", - "version": "1.4.2", + "version": "1.4.3", "source": { "type": "git", "url": "https://github.com/phpstan/extension-installer.git", - "reference": "46c8219b3fb0deb3fc08301e8f0797d321d17dcd" + "reference": "85e90b3942d06b2326fba0403ec24fe912372936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/46c8219b3fb0deb3fc08301e8f0797d321d17dcd", - "reference": "46c8219b3fb0deb3fc08301e8f0797d321d17dcd", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936", + "reference": "85e90b3942d06b2326fba0403ec24fe912372936", "shasum": "" }, "require": { "composer-plugin-api": "^2.0", "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0" + "phpstan/phpstan": "^1.9.0 || ^2.0" }, "require-dev": { "composer/composer": "^2.0", @@ -17010,9 +16955,9 @@ ], "support": { "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.4.2" + "source": "https://github.com/phpstan/extension-installer/tree/1.4.3" }, - "time": "2024-08-26T07:38:00+00:00" + "time": "2024-09-04T20:21:43+00:00" }, { "name": "phpstan/phpstan-phpunit", diff --git a/config/sync/core.entity_form_display.node.article.default.yml b/config/sync/core.entity_form_display.node.article.default.yml index c48bbc9e0..197e237bf 100644 --- a/config/sync/core.entity_form_display.node.article.default.yml +++ b/config/sync/core.entity_form_display.node.article.default.yml @@ -156,17 +156,20 @@ content: features: add_above: '0' collapse_edit_all: collapse_edit_all + convert: '0' duplicate: duplicate third_party_settings: - paragraphs_ee: - paragraphs_ee: - dialog_off_canvas: false - dialog_style: tiles paragraphs_features: add_in_between: true add_in_between_link_count: 0 delete_confirmation: true show_drag_and_drop: true + show_collapse_all: true + paragraphs_ee: + paragraphs_ee: + dialog_off_canvas: false + dialog_style: tiles + drag_drop: true field_publication_date: type: datetime_default weight: 7 diff --git a/config/sync/core.entity_form_display.node.branch.default.yml b/config/sync/core.entity_form_display.node.branch.default.yml index 3cb7b5f4a..57f7c21ac 100644 --- a/config/sync/core.entity_form_display.node.branch.default.yml +++ b/config/sync/core.entity_form_display.node.branch.default.yml @@ -86,6 +86,7 @@ content: features: add_above: '0' collapse_edit_all: collapse_edit_all + convert: '0' duplicate: duplicate third_party_settings: paragraphs_features: @@ -93,10 +94,12 @@ content: add_in_between_link_count: 0 delete_confirmation: true show_drag_and_drop: true + show_collapse_all: true paragraphs_ee: paragraphs_ee: dialog_off_canvas: false dialog_style: tiles + drag_drop: true field_phone: type: telephone_default weight: 12 diff --git a/config/sync/core.entity_form_display.node.page.default.yml b/config/sync/core.entity_form_display.node.page.default.yml index ba9a29e3c..4425d7515 100644 --- a/config/sync/core.entity_form_display.node.page.default.yml +++ b/config/sync/core.entity_form_display.node.page.default.yml @@ -116,17 +116,20 @@ content: features: add_above: '0' collapse_edit_all: collapse_edit_all + convert: '0' duplicate: duplicate third_party_settings: - paragraphs_ee: - paragraphs_ee: - dialog_off_canvas: false - dialog_style: tiles paragraphs_features: add_in_between: true add_in_between_link_count: 0 delete_confirmation: true show_drag_and_drop: true + show_collapse_all: true + paragraphs_ee: + paragraphs_ee: + dialog_off_canvas: false + dialog_style: tiles + drag_drop: true field_publication_date: type: datetime_default weight: 8 diff --git a/config/sync/core.extension.yml b/config/sync/core.extension.yml index 662805a1f..05b38ff21 100644 --- a/config/sync/core.extension.yml +++ b/config/sync/core.extension.yml @@ -27,7 +27,6 @@ module: date_range_formatter: 0 datetime: 0 datetime_range: 0 - dblog: 0 default_content: 0 dpl_admin: 0 dpl_article: 0 diff --git a/config/sync/dblog.settings.yml b/config/sync/dblog.settings.yml deleted file mode 100644 index fbd17ea50..000000000 --- a/config/sync/dblog.settings.yml +++ /dev/null @@ -1,3 +0,0 @@ -_core: - default_config_hash: e883aGsrt1wFrsydlYU584PZONCSfRy0DtkZ9KzHb58 -row_limit: 1000 diff --git a/config/sync/views.view.watchdog.yml b/config/sync/views.view.watchdog.yml deleted file mode 100644 index aeef3e9c3..000000000 --- a/config/sync/views.view.watchdog.yml +++ /dev/null @@ -1,713 +0,0 @@ -uuid: b12e9f6c-5a67-4483-bcc2-8c77603b4785 -langcode: en -status: true -dependencies: - module: - - dblog - - user -_core: - default_config_hash: j0txIxY4nkJT_dscmXckM-1vanygDkJAeHPawZKfyH0 -id: watchdog -label: Watchdog -module: views -description: 'Recent log messages' -tag: '' -base_table: watchdog -base_field: wid -display: - default: - id: default - display_title: Default - display_plugin: default - position: 0 - display_options: - title: 'Recent log messages' - fields: - nothing: - id: nothing - table: views - field: nothing - relationship: none - group_type: group - admin_label: Icon - plugin_id: custom - label: '' - exclude: false - alter: - alter_text: true - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: icon - element_label_type: '' - element_label_class: '' - element_label_colon: false - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: false - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: false - wid: - id: wid - table: watchdog - field: wid - relationship: none - group_type: group - admin_label: '' - plugin_id: standard - label: WID - exclude: true - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - severity: - id: severity - table: watchdog - field: severity - relationship: none - group_type: group - admin_label: '' - plugin_id: machine_name - label: Severity - exclude: true - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - machine_name: false - type: - id: type - table: watchdog - field: type - relationship: none - group_type: group - admin_label: '' - plugin_id: standard - label: Type - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - timestamp: - id: timestamp - table: watchdog - field: timestamp - relationship: none - group_type: group - admin_label: '' - plugin_id: date - label: Date - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - date_format: short - custom_date_format: '' - timezone: '' - message: - id: message - table: watchdog - field: message - relationship: none - group_type: group - admin_label: '' - plugin_id: dblog_message - label: Message - exclude: false - alter: - alter_text: false - text: '' - make_link: true - path: 'admin/reports/dblog/event/{{ wid }}' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '{{ message }}' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 56 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: true - trim: true - preserve_tags: '' - html: true - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - replace_variables: true - name: - id: name - table: users_field_data - field: name - relationship: uid - group_type: group - admin_label: '' - entity_type: user - entity_field: name - plugin_id: field - label: User - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - click_sort_column: value - type: user_name - settings: - link_to_entity: true - group_column: value - group_columns: { } - group_rows: true - delta_limit: 0 - delta_offset: 0 - delta_reversed: false - delta_first_last: false - multi_type: separator - separator: ', ' - field_api_classes: false - link: - id: link - table: watchdog - field: link - relationship: none - group_type: group - admin_label: '' - plugin_id: dblog_operations - label: Operations - exclude: false - alter: - alter_text: false - text: '' - make_link: false - path: '' - absolute: false - external: false - replace_spaces: false - path_case: none - trim_whitespace: false - alt: '' - rel: '' - link_class: '' - prefix: '' - suffix: '' - target: '' - nl2br: false - max_length: 0 - word_boundary: true - ellipsis: true - more_link: false - more_link_text: '' - more_link_path: '' - strip_tags: false - trim: false - preserve_tags: '' - html: false - element_type: '' - element_class: '' - element_label_type: '' - element_label_class: '' - element_label_colon: true - element_wrapper_type: '' - element_wrapper_class: '' - element_default_classes: true - empty: '' - hide_empty: false - empty_zero: false - hide_alter_empty: true - pager: - type: mini - options: - offset: 0 - pagination_heading_level: h4 - items_per_page: 50 - total_pages: null - id: 0 - tags: - next: ›› - previous: ‹‹ - expose: - items_per_page: false - items_per_page_label: 'Items per page' - items_per_page_options: '5, 10, 25, 50' - items_per_page_options_all: false - items_per_page_options_all_label: '- All -' - offset: false - offset_label: Offset - exposed_form: - type: basic - options: - submit_button: Filter - reset_button: true - reset_button_label: Reset - exposed_sorts_label: 'Sort by' - expose_sort_order: false - sort_asc_label: Asc - sort_desc_label: Desc - access: - type: perm - options: - perm: 'access site reports' - cache: - type: none - options: { } - empty: - area: - id: area_text_custom - table: views - field: area_text_custom - relationship: none - group_type: group - admin_label: 'No log messages available.' - plugin_id: text_custom - empty: true - content: 'No log messages available.' - tokenize: false - sorts: - wid: - id: wid - table: watchdog - field: wid - relationship: none - group_type: group - admin_label: '' - plugin_id: standard - order: DESC - expose: - label: '' - field_identifier: wid - exposed: false - arguments: { } - filters: - type: - id: type - table: watchdog - field: type - relationship: none - group_type: group - admin_label: '' - plugin_id: dblog_types - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: type_op - label: Type - description: '' - use_operator: false - operator: type_op - operator_limit_selection: false - operator_list: { } - identifier: type - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - severity: - id: severity - table: watchdog - field: severity - relationship: none - group_type: group - admin_label: '' - plugin_id: in_operator - operator: in - value: { } - group: 1 - exposed: true - expose: - operator_id: severity_op - label: Severity - description: '' - use_operator: false - operator: severity_op - operator_limit_selection: false - operator_list: { } - identifier: severity - required: false - remember: false - multiple: true - remember_roles: - authenticated: authenticated - anonymous: '0' - administrator: '0' - reduce: false - is_grouped: false - group_info: - label: '' - description: '' - identifier: '' - optional: true - widget: select - multiple: false - remember: false - default_group: All - default_group_multiple: { } - group_items: { } - filter_groups: - operator: AND - groups: - 1: AND - style: - type: table - options: - grouping: { } - row_class: '{{ type }} {{ severity }}' - default_row_class: true - columns: - nothing: nothing - wid: wid - severity: severity - type: type - timestamp: timestamp - message: message - name: name - link: link - default: wid - info: - nothing: - align: '' - separator: '' - empty_column: false - responsive: priority-medium - wid: - sortable: false - default_sort_order: desc - align: '' - separator: '' - empty_column: false - responsive: priority-low - severity: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: priority-low - type: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: priority-medium - timestamp: - sortable: true - default_sort_order: desc - align: '' - separator: '' - empty_column: false - responsive: priority-low - message: - sortable: false - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: '' - name: - sortable: true - default_sort_order: asc - align: '' - separator: '' - empty_column: false - responsive: priority-medium - link: - align: '' - separator: '' - empty_column: false - responsive: priority-low - override: true - sticky: false - summary: '' - empty_table: false - caption: '' - description: '' - row: - type: fields - query: - type: views_query - options: - query_comment: '' - disable_sql_rewrite: false - distinct: false - replica: false - query_tags: { } - relationships: - uid: - id: uid - table: watchdog - field: uid - relationship: none - group_type: group - admin_label: User - plugin_id: standard - required: false - css_class: admin-dblog - header: { } - footer: { } - display_extenders: { } - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url - - url.query_args - - user.permissions - tags: { } - page: - id: page - display_title: Page - display_plugin: page - position: 1 - display_options: - display_extenders: { } - path: admin/reports/dblog - cache_metadata: - max-age: -1 - contexts: - - 'languages:language_content' - - 'languages:language_interface' - - url - - url.query_args - - user.permissions - tags: { } diff --git a/cypress/e2e/opening-hours-editor.cy.ts b/cypress/e2e/opening-hours-editor.cy.ts index 392d0dbaf..1b7853ab3 100644 --- a/cypress/e2e/opening-hours-editor.cy.ts +++ b/cypress/e2e/opening-hours-editor.cy.ts @@ -1,4 +1,5 @@ const branchTitle = "Test branch"; +const firstDateOfJanuary2024 = "2024-01-01"; enum OpeningHourCategories { Opening = "Åbent", @@ -30,23 +31,18 @@ type PartialOpeningHourFormType = Omit & { timeDuration?: PartialTimeDurationType; }; -const oneMonthFromToday = () => - new Date(new Date().setMonth(new Date().getMonth() + 1)) - .toISOString() - .slice(0, 10); - const reverseDateString = (date: string) => date.split("-").reverse().join("-"); const createTestBranchAndVisitOpeningHoursAdmin = () => { cy.drupalLogin("/node/add/branch"); cy.get("#edit-title-0-value").type(branchTitle); cy.get('button[title="Show all Paragraphs"]').click(); - // Forcing and multiple was the only way i cud get this to work + // Forcing and multiple was the only way I could get this to work cy.get('button[value="Opening Hours"]').click({ multiple: true, force: true, }); - // Forcing is necessary because the feilds are hidden by an shown in at "popup" + // Forcing is necessary because the fields are hidden by and shown in a "popup" cy.get("#edit-field-address-0-address-address-line1") .type("Example Street", { force: true }) .should("have.value", "Example Street"); @@ -66,6 +62,7 @@ const createTestBranchAndVisitOpeningHoursAdmin = () => { Cypress.env("pageUrl", pageUrl); }); }; + const deleteAllTestBranchesIfExists = () => { const formattedSearchString = branchTitle.toLowerCase().replace(/ /g, "+"); cy.drupalLogin(); @@ -87,17 +84,21 @@ const deleteAllTestBranchesIfExists = () => { }); }; -const visitOpeningHoursPage = () => { +const visitOpeningHoursPage = (initialDate?: string) => { const pageUrl = Cypress.env("pageUrl"); if (pageUrl) { - cy.visit(pageUrl); + const url = initialDate ? `${pageUrl}?initialDate=${initialDate}` : pageUrl; + cy.visit(url); } }; -const visitOpeningHoursPageAdmin = () => { +const visitOpeningHoursAdmin = (initialDate?: string) => { const adminUrl = Cypress.env("adminUrl"); if (adminUrl) { - cy.drupalLogin(adminUrl); + const url = initialDate + ? `${adminUrl}?initialDate=${initialDate}` + : adminUrl; + cy.drupalLogin(url); } }; @@ -113,9 +114,15 @@ const selectTodayFromMonthViewAdmin = () => { cy.get(".fc-day-today").click(); }; +const firstDateOfFebruary2024 = "2024-02-01"; + +const clickFirstDayInMonthViewAdmin = () => { + cy.get('[data-date$="-01"]').first().click(); +}; + const selectTimeOnThursdayFromWeekView = (start: string): void => { // In FullCalendar, the date and time elements are siblings in the same overlaying div, which prevents selection by both date and time simultaneously. - // To work around this, we target a specific time slot. This example selects the a time slot, which spans all days. + // To work around this, we target a specific time slot. This example selects a time slot, which spans all days. // Since Cypress clicks at the center of the target element by default, and our time slots extend across all weekdays, it will interact with the slot for Thursday. cy.get(`td.fc-timegrid-slot-lane[data-time="${start}:00"]`).click(); }; @@ -173,17 +180,23 @@ const validateOpeningHoursPage = ({ .and("contain", `${start} - ${end}`); }; -const validateAtLeastOneOpeningHoursExistAdmin = ({ +const validateNumberOfOpeningHoursExistAdmin = ({ + expectedOpeningHours, openingHourCategory, timeDuration: { start, end }, -}: OpeningHourFormType) => { +}: OpeningHourFormType & { expectedOpeningHours: number }) => { return cy .get('tbody[role="presentation"]') .should("be.visible") .find('div[data-cy="opening-hours-editor-event-content"]') - .should("have.length.gte", 1) - .should("contain", openingHourCategory) - .and("contain", `${start} - ${end}`); + .filter((index, element) => { + const openingHour = Cypress.$(element).text(); + return ( + openingHour.includes(openingHourCategory) && + openingHour.includes(`${start} - ${end}`) + ); + }) + .should("have.length", expectedOpeningHours); }; const validateOpeningHoursRemovedAdmin = ({ @@ -231,22 +244,20 @@ const confirmEditRepeatedOpeningHourForm = (value?: "all") => { : "opening-hours-editor-form__radio-this"; cy.getBySel(selector).click(); - // Need to reload the page to get the updated opening hours confirmAddRepeatedOpeningHourForm(); - visitOpeningHoursPageAdmin(); - navigateToMonthViewAdmin(); }; const createOpeningHour = ({ openingHourCategory, timeDuration: { start, end }, }: OpeningHourFormType) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(); navigateToMonthViewAdmin(); selectTodayFromMonthViewAdmin(); fillOpeningHourForm({ openingHourCategory, timeDuration: { start, end } }); submitOpeningHourForm(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 1, openingHourCategory, timeDuration: { start, end }, }); @@ -261,7 +272,7 @@ const createOpeningHourInNextWeek = ({ openingHourCategory, timeDuration: { start, end }, }: OpeningHourFormType) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(); navigateToNextWeekOrMonthAdmin(); selectTimeOnThursdayFromWeekView(start); fillOpeningHourForm({ openingHourCategory, timeDuration: { end } }); @@ -288,9 +299,9 @@ const createOpeningHoursSeries = ({ timeDuration: { start, end }, endDate, }: Required) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(firstDateOfJanuary2024); navigateToMonthViewAdmin(); - selectTodayFromMonthViewAdmin(); + clickFirstDayInMonthViewAdmin(); fillOpeningHourForm({ openingHourCategory, timeDuration: { start, end }, @@ -303,17 +314,20 @@ const createOpeningHoursSeries = ({ endDate, }); confirmAddRepeatedOpeningHourForm(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 5, openingHourCategory, timeDuration: { start, end }, }); navigateToNextWeekOrMonthAdmin(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 1, openingHourCategory, timeDuration: { start, end }, }); visitOpeningHoursPage(); - // Because we use oneMonthFromToday as endDate we can check the four next weeks + visitOpeningHoursPage(firstDateOfJanuary2024); + // Because we use firstDateOfFebruary2024 as endDate we can check the four next weeks for (let i = 0; i < 5; i++) { validateOpeningHoursPage({ openingHourCategory, @@ -328,14 +342,15 @@ const updateOpeningHour = ({ timeDuration: { start, end }, }: OpeningHourFormType) => { // Assume that the event is already created and is visible - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(); navigateToMonthViewAdmin(); cy.getBySel("opening-hours-editor-event-content") .contains(openingHourCategory) .click(); fillOpeningHourForm({ timeDuration: { start, end } }); submitOpeningHourForm(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 1, openingHourCategory, timeDuration: { start, end }, }); @@ -352,7 +367,7 @@ const updateOpeningHoursSeries = ({ editSeriesFromIndex = 0, }: OpeningHourFormType & { editSeriesFromIndex?: number }) => { // Assume that the event is already created and is visible - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(firstDateOfJanuary2024); navigateToMonthViewAdmin(); cy.getBySel("opening-hours-editor-event-content") .eq(editSeriesFromIndex) @@ -361,37 +376,18 @@ const updateOpeningHoursSeries = ({ fillOpeningHourForm({ timeDuration: { start, end } }); submitOpeningHourForm(); confirmEditRepeatedOpeningHourForm("all"); - - // This validates if all the opening hours are updated - if (editSeriesFromIndex === 0) { - validateAtLeastOneOpeningHoursExistAdmin({ - openingHourCategory, - timeDuration: { start, end }, - }); - navigateToNextWeekOrMonthAdmin(); - validateAtLeastOneOpeningHoursExistAdmin({ - openingHourCategory, - timeDuration: { start, end }, - }); - visitOpeningHoursPage(); - // Because we use oneMonthFromToday as endDate we can check the four next weeks - for (let i = 0; i < 5; i++) { - validateOpeningHoursPage({ - openingHourCategory, - timeDuration: { start, end }, - }); - cy.getBySel("opening-hours-next-week-button").click(); - } - } + visitOpeningHoursAdmin(firstDateOfJanuary2024); + navigateToMonthViewAdmin(); }; const deleteOpeningHour = ({ openingHourCategory, timeDuration: { start, end }, }: OpeningHourFormType) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(); navigateToMonthViewAdmin(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 1, openingHourCategory, timeDuration: { start, end }, }).click(); @@ -411,9 +407,10 @@ const deleteOpeningHoursSeries = ({ openingHourCategory, timeDuration: { start, end }, }: OpeningHourFormType) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(firstDateOfJanuary2024); navigateToMonthViewAdmin(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 5, openingHourCategory, timeDuration: { start, end }, }) @@ -421,12 +418,15 @@ const deleteOpeningHoursSeries = ({ .click(); cy.getBySel("opening-hours-editor-form__remove").click(); confirmEditRepeatedOpeningHourForm("all"); + visitOpeningHoursAdmin(firstDateOfJanuary2024); + navigateToMonthViewAdmin(); validateOpeningHoursNotPresentAdmin({ openingHourCategory, timeDuration: { start, end }, }); visitOpeningHoursPage(); - // // Because we use oneMonthFromToday as endDate we can check the four next weeks + visitOpeningHoursPage(firstDateOfJanuary2024); + // Because we use firstDateOfFebruary2024 as endDate we can check the four next weeks for (let i = 0; i < 5; i++) { validateOpeningHoursNotPresentPage({ openingHourCategory, @@ -441,9 +441,10 @@ const deleteRestOfOpeningHoursSeries = ({ timeDuration: { start, end }, editSeriesFromIndex = 0, }: OpeningHourFormType & { editSeriesFromIndex?: number }) => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(firstDateOfJanuary2024); navigateToMonthViewAdmin(); - validateAtLeastOneOpeningHoursExistAdmin({ + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 5, openingHourCategory, timeDuration: { start, end }, }) @@ -460,7 +461,7 @@ describe("Opening hours editor", () => { }); it("Checks opening hours categories", () => { - visitOpeningHoursPageAdmin(); + visitOpeningHoursAdmin(); navigateToMonthViewAdmin(); selectTodayFromMonthViewAdmin(); cy.getBySel("opening-hours-editor-form-select") @@ -507,24 +508,38 @@ describe("Opening hours editor", () => { }); }); - it.skip("Can create opening hours series", () => { + it("Can create opening hours series", () => { createOpeningHoursSeries({ openingHourCategory: OpeningHourCategories.SelfService, timeDuration: { start: "10:00", end: "16:00" }, - endDate: oneMonthFromToday(), + endDate: firstDateOfFebruary2024, }); }); - it.skip("Can edit all opening hours series", () => { + it("Can edit all opening hours series", () => { createOpeningHoursSeries({ openingHourCategory: OpeningHourCategories.SelfService, timeDuration: { start: "10:00", end: "16:00" }, - endDate: oneMonthFromToday(), + endDate: firstDateOfFebruary2024, }); updateOpeningHoursSeries({ openingHourCategory: OpeningHourCategories.SelfService, timeDuration: { start: "09:00", end: "15:00" }, }); + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 5, + openingHourCategory: OpeningHourCategories.SelfService, + timeDuration: { start: "09:00", end: "15:00" }, + }); + visitOpeningHoursPage(firstDateOfJanuary2024); + // Because we use firstDateOfFebruary2024 as endDate we can check the four next weeks + for (let i = 0; i < 5; i++) { + validateOpeningHoursPage({ + openingHourCategory: OpeningHourCategories.SelfService, + timeDuration: { start: "09:00", end: "15:00" }, + }); + cy.getBySel("opening-hours-next-week-button").click(); + } }); type EditRestOfOpeningHoursSeriesType = { @@ -533,7 +548,8 @@ describe("Opening hours editor", () => { originalTimeDuration: TimeDurationType; updatedTimeDuration: TimeDurationType; }; - it.skip("Can edit rest of opening hours series", () => { + + it("Can edit rest of opening hours series", () => { const editData: EditRestOfOpeningHoursSeriesType = { editSeriesFromIndex: 1, openingHourCategory: OpeningHourCategories.SelfService, @@ -544,7 +560,7 @@ describe("Opening hours editor", () => { createOpeningHoursSeries({ openingHourCategory: editData.openingHourCategory, timeDuration: editData.originalTimeDuration, - endDate: oneMonthFromToday(), + endDate: firstDateOfFebruary2024, }); updateOpeningHoursSeries({ @@ -553,34 +569,39 @@ describe("Opening hours editor", () => { timeDuration: editData.updatedTimeDuration, }); - validateAtLeastOneOpeningHoursExistAdmin({ + visitOpeningHoursAdmin(firstDateOfJanuary2024); + navigateToMonthViewAdmin(); + // Validate that the first series has not been updated + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 1, openingHourCategory: editData.openingHourCategory, timeDuration: editData.originalTimeDuration, }); - - validateAtLeastOneOpeningHoursExistAdmin({ + // Validate that the rest of the series has been updated + validateNumberOfOpeningHoursExistAdmin({ + expectedOpeningHours: 4, openingHourCategory: editData.openingHourCategory, timeDuration: editData.updatedTimeDuration, }); }); - it.skip("Can delete all opening hours series", () => { + it("Can delete all opening hours series", () => { const openingHour: Required = { openingHourCategory: OpeningHourCategories.WithService, timeDuration: { start: "10:00", end: "11:00" }, - endDate: oneMonthFromToday(), + endDate: firstDateOfFebruary2024, }; createOpeningHoursSeries(openingHour); deleteOpeningHoursSeries(openingHour); }); - it.skip("Can delete rest of opening hours series", () => { + it("Can delete rest of opening hours series", () => { const editData: Required & { editSeriesFromIndex: number; } = { openingHourCategory: OpeningHourCategories.WithService, timeDuration: { start: "10:00", end: "11:00" }, - endDate: oneMonthFromToday(), + endDate: firstDateOfFebruary2024, editSeriesFromIndex: 1, }; @@ -597,6 +618,8 @@ describe("Opening hours editor", () => { endDate: editData.endDate, }); + visitOpeningHoursAdmin(firstDateOfJanuary2024); + navigateToMonthViewAdmin(); validateOpeningHoursRemovedAdmin({ editSeriesFromIndex: editData.editSeriesFromIndex, openingHourCategory: editData.openingHourCategory, diff --git a/package.json b/package.json index 380e853e9..78cfddfa9 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,10 @@ "@lhci/cli": "^0.8", "@testing-library/cypress": "^10.0.2", "@types/node": "^18.11.11", - "@typescript-eslint/eslint-plugin": "^8.13.0", - "@typescript-eslint/parser": "^8.13.0", + "@typescript-eslint/eslint-plugin": "^8.14.0", + "@typescript-eslint/parser": "^8.14.0", "chrome-launcher": "^0.15.1", - "cypress": "^13.15.1", + "cypress": "^13.15.2", "cypress-if": "^1.13.1", "cypress-plugin-api": "^2.11.2", "dayjs": "^1.11.13", @@ -23,7 +23,7 @@ "markdownlint-cli2": "^0.3.2", "pa11y-ci": "https://github.com/pa11y/pa11y-ci/archive/5c842cf1b9fe2867b70ff5354851d985be8d71c4.tar.gz", "prettier": "^2.7.1", - "typescript": "^4.8.3", + "typescript": "^5.6.3", "wiremock-rest-client": "^1.10.0" }, "scripts": { diff --git a/phpstan.neon.dist b/phpstan.neon.dist index ce1da7f1c..41e5c4185 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -70,10 +70,6 @@ parameters: path: web/modules/custom/dpl_login/src/OpenIdUserInfoService.php # Ignore options for Drush commands. These are specified using specialized annotations. - '#Method Drupal\\.*\Commands\\.* has parameter \$options with no value type specified in iterable type array\.#' - # Ignore safe check for collation_fixer. We plan to upstream it and do not want to add this dependency. - - - message: "#thecodingmachine\/safe#" - path: web/modules/custom/collation_fixer scanFiles: # Needed to make locale_translation_batch_fetch_finished() discoverable. diff --git a/web/modules/custom/dpl_campaign/src/Plugin/rest/resource/MatchResource.php b/web/modules/custom/dpl_campaign/src/Plugin/rest/resource/MatchResource.php index 7ef21b87d..93514561a 100644 --- a/web/modules/custom/dpl_campaign/src/Plugin/rest/resource/MatchResource.php +++ b/web/modules/custom/dpl_campaign/src/Plugin/rest/resource/MatchResource.php @@ -15,7 +15,6 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Exception\HttpException; use Symfony\Component\Serializer\Exception\UnexpectedValueException; -use function Safe\usort as usort; // Descriptions quickly become long and Doctrine annotations have no good way // of handling multiline strings. diff --git a/web/modules/custom/dpl_event/src/EventWrapper.php b/web/modules/custom/dpl_event/src/EventWrapper.php index 2e5d0af0c..a49251456 100644 --- a/web/modules/custom/dpl_event/src/EventWrapper.php +++ b/web/modules/custom/dpl_event/src/EventWrapper.php @@ -4,7 +4,6 @@ use Drupal\Core\Field\FieldItemListInterface; use Drupal\drupal_typed\DrupalTyped; -use Drupal\node\NodeInterface; use Drupal\recurring_events\Entity\EventInstance; use Psr\Log\LoggerInterface; use Safe\DateTimeImmutable; @@ -89,7 +88,7 @@ private function getDate(string $value): \DateTimeInterface { /** * Getting an events branches. * - * @return array|null + * @return array<\Drupal\node\NodeInterface>|null * The matching branches. */ public function getBranches(): ?array { @@ -102,28 +101,6 @@ public function getBranches(): ?array { return $field->referencedEntities() ?? NULL; } - /** - * Load an eventinstance address - either from the series/instance or branch. - */ - public function getAddressField(): ?FieldItemListInterface { - $instance_field = $this->getField('event_address'); - - if ($instance_field instanceof FieldItemListInterface) { - return $instance_field; - } - - // Could not find data - look up address from first branch instead. - $branch = $this->getBranches()[0] ?? NULL; - - $branch_address_field = 'field_address'; - - if (!($branch instanceof NodeInterface) || !$branch->hasField($branch_address_field)) { - return NULL; - } - - return $branch->get($branch_address_field); - } - /** * Getting the description, from the first available text paragraph. */ diff --git a/web/modules/custom/dpl_event/src/Form/SettingsForm.php b/web/modules/custom/dpl_event/src/Form/SettingsForm.php index 371b35258..f7c2e63a2 100644 --- a/web/modules/custom/dpl_event/src/Form/SettingsForm.php +++ b/web/modules/custom/dpl_event/src/Form/SettingsForm.php @@ -10,7 +10,6 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\dpl_event\Workflows\UnpublishSchedule; use Symfony\Component\DependencyInjection\ContainerInterface; -use function Safe\array_combine as array_combine; /** * Configure Event settings for this site. diff --git a/web/modules/custom/dpl_event/src/Plugin/Field/FieldFormatter/BranchAddressFormatter.php b/web/modules/custom/dpl_event/src/Plugin/Field/FieldFormatter/BranchAddressFormatter.php index 2c555c810..5c66b7328 100644 --- a/web/modules/custom/dpl_event/src/Plugin/Field/FieldFormatter/BranchAddressFormatter.php +++ b/web/modules/custom/dpl_event/src/Plugin/Field/FieldFormatter/BranchAddressFormatter.php @@ -4,8 +4,9 @@ use Drupal\address\Plugin\Field\FieldFormatter\AddressDefaultFormatter; use Drupal\Core\Field\FieldItemListInterface; -use Drupal\dpl_event\EventWrapper; +use Drupal\node\NodeInterface; use Drupal\recurring_events\Entity\EventInstance; +use Drupal\recurring_events\Entity\EventSeries; /** * A custom address field formatter: Get fallback address from branch. @@ -46,12 +47,11 @@ public function viewElements(FieldItemListInterface $items, $langcode) { $entity = $items->getEntity(); - if (!($entity instanceof EventInstance)) { + if (!($entity instanceof EventInstance) && !($entity instanceof EventSeries)) { return $default_return; } - $wrapper = new EventWrapper($entity); - $field = $wrapper->getAddressField(); + $field = $this->getAddressField($entity); if (!$field instanceof FieldItemListInterface) { return $default_return; @@ -60,4 +60,52 @@ public function viewElements(FieldItemListInterface $items, $langcode) { return $field->view(); } + /** + * Loading the field if it exists and has a value. + */ + private function getField(EventSeries|EventInstance $event, string $field_name): ?FieldItemListInterface { + // First, let's look up the custom field - does it already have a value? + if ($event->hasField($field_name)) { + $field = $event->get($field_name); + + if (!$field->isEmpty()) { + return $field; + } + } + + return NULL; + } + + /** + * Load an event address - either from the series/instance or branch. + */ + private function getAddressField(EventSeries|EventInstance $event): ?FieldItemListInterface { + $address_field_name = ($event instanceof EventSeries) ? + 'field_event_address' : 'event_address'; + $branch_field_name = ($event instanceof EventSeries) ? + 'field_branch' : 'branch'; + + $field = $this->getField($event, $address_field_name); + + if ($field instanceof FieldItemListInterface) { + return $field; + } + + // Could not find data - look up address from branch instead. + $branch_field = $this->getField($event, $branch_field_name); + + if (!$branch_field instanceof FieldItemListInterface) { + return NULL; + } + + $branch_address_field = 'field_address'; + $branch = $branch_field->referencedEntities()[0] ?? NULL; + + if (!($branch instanceof NodeInterface) || !$branch->hasField($branch_address_field)) { + return NULL; + } + + return $branch->get($branch_address_field); + } + } diff --git a/web/modules/custom/dpl_event/src/PriceFormatter.php b/web/modules/custom/dpl_event/src/PriceFormatter.php index 1f5dca46f..f63619239 100644 --- a/web/modules/custom/dpl_event/src/PriceFormatter.php +++ b/web/modules/custom/dpl_event/src/PriceFormatter.php @@ -6,7 +6,6 @@ use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\StringTranslation\TranslationInterface; use Drupal\dpl_event\Form\SettingsForm; -use function Safe\sort; /** * Formats prices according to local rules. diff --git a/web/modules/custom/dpl_event/src/Services/EventRestMapper.php b/web/modules/custom/dpl_event/src/Services/EventRestMapper.php index c6c67d59f..b23b095f1 100644 --- a/web/modules/custom/dpl_event/src/Services/EventRestMapper.php +++ b/web/modules/custom/dpl_event/src/Services/EventRestMapper.php @@ -209,27 +209,29 @@ private function getTicketCategories(): array { * * Notice that this may be the address of the related branch. * - * @see eventWrapper->getAddressField() + * @see BranchAddressFormatter */ - private function getAddress(): ?EventsGET200ResponseInnerAddress { - $field = $this->eventWrapper->getAddressField(); + private function getAddress(): EventsGET200ResponseInnerAddress { + // Loading the field, and rendering it, to let the BranchAddressFormatter + // do the work of looking up a possible branch. + $rendered = $this->event->get('event_address')->view('full'); - if (!($field instanceof FieldItemListInterface)) { - return NULL; - } + $zip = $rendered[0]['postal_code']['#value'] ?? NULL; + $address_1 = $rendered[0]['address_line1']['#value'] ?? NULL; + $address_2 = $rendered[0]['address_line2']['#value'] ?? NULL; - $value = $field->getValue(); + $street = "$address_1 $address_2"; - $zip = $value[0]['postal_code'] ?? NULL; - $address_1 = $value[0]['address_line1'] ?? NULL; - $address_2 = $value[0]['address_line2'] ?? NULL; + if (empty($address_1) && empty($address_2)) { + $street = NULL; + } $address = new EventsGET200ResponseInnerAddress(); $address->setLocation($this->getValue('event_place')); - $address->setStreet("$address_1 $address_2"); + $address->setStreet($street); $address->setZipCode(!empty($zip) ? intval($zip) : NULL); - $address->setCity($value[0]['locality'] ?? NULL); - $address->setCountry($value[0]['country_code'] ?? NULL); + $address->setCity($rendered[0]['locality']['#value'] ?? NULL); + $address->setCountry($rendered[0]['country_code']['#value'] ?? NULL); return $address; } diff --git a/web/modules/custom/dpl_fbi/dpl_fbi.install b/web/modules/custom/dpl_fbi/dpl_fbi.install index c539834ff..f0067674a 100644 --- a/web/modules/custom/dpl_fbi/dpl_fbi.install +++ b/web/modules/custom/dpl_fbi/dpl_fbi.install @@ -2,7 +2,6 @@ use Drupal\Core\Database\Database; use Drupal\Core\Field\FieldStorageDefinitionInterface; -use function Safe\sprintf as sprintf; /** * Adds 'material_type' column to 'dpl_fbi_work_id' field storage. diff --git a/web/modules/custom/dpl_library_agency/src/Form/GeneralSettingsForm.php b/web/modules/custom/dpl_library_agency/src/Form/GeneralSettingsForm.php index fd1ca7d61..bbb14451e 100644 --- a/web/modules/custom/dpl_library_agency/src/Form/GeneralSettingsForm.php +++ b/web/modules/custom/dpl_library_agency/src/Form/GeneralSettingsForm.php @@ -14,9 +14,7 @@ use Drupal\dpl_library_agency\GeneralSettings; use Drupal\dpl_library_agency\ReservationSettings; use Symfony\Component\DependencyInjection\ContainerInterface; -use function Safe\array_combine as array_combine; use function Safe\preg_match as preg_match; -use function Safe\usort as usort; /** * General Settings form for a library agency. diff --git a/web/modules/custom/dpl_library_token/src/LibraryTokenHandler.php b/web/modules/custom/dpl_library_token/src/LibraryTokenHandler.php index 3126a78cf..f3f743257 100644 --- a/web/modules/custom/dpl_library_token/src/LibraryTokenHandler.php +++ b/web/modules/custom/dpl_library_token/src/LibraryTokenHandler.php @@ -8,7 +8,6 @@ use GuzzleHttp\ClientInterface; use GuzzleHttp\Exception\RequestException; use Psr\Log\LogLevel; -use function Safe\sprintf; /** * Library Token Handler Service. diff --git a/web/modules/custom/dpl_login/src/Adgangsplatformen/Config.php b/web/modules/custom/dpl_login/src/Adgangsplatformen/Config.php index bb79d87af..ec29cbc57 100644 --- a/web/modules/custom/dpl_login/src/Adgangsplatformen/Config.php +++ b/web/modules/custom/dpl_login/src/Adgangsplatformen/Config.php @@ -4,7 +4,6 @@ use Drupal\dpl_login\Exception\MissingConfigurationException; use Drupal\dpl_react\DplReactConfigBase; -use function Safe\sprintf as sprintf; /** * Structured access to configuration for Adgangsplatformen. diff --git a/web/modules/custom/dpl_login/src/Controller/DplLoginController.php b/web/modules/custom/dpl_login/src/Controller/DplLoginController.php index 32587f873..0684ea14c 100644 --- a/web/modules/custom/dpl_login/src/Controller/DplLoginController.php +++ b/web/modules/custom/dpl_login/src/Controller/DplLoginController.php @@ -15,7 +15,6 @@ use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; -use function Safe\sprintf; /** * DPL React Controller. diff --git a/web/modules/custom/dpl_login/src/OpenIdUserInfoService.php b/web/modules/custom/dpl_login/src/OpenIdUserInfoService.php index b326865af..7684990eb 100644 --- a/web/modules/custom/dpl_login/src/OpenIdUserInfoService.php +++ b/web/modules/custom/dpl_login/src/OpenIdUserInfoService.php @@ -4,8 +4,6 @@ use Drupal\Core\Site\Settings; -use function Safe\sprintf; - /** * OpenIdUserInfoService. * diff --git a/web/modules/custom/dpl_opening_hours/src/Model/OpeningHoursInstance.php b/web/modules/custom/dpl_opening_hours/src/Model/OpeningHoursInstance.php index 19c2cee13..e20a42ea7 100644 --- a/web/modules/custom/dpl_opening_hours/src/Model/OpeningHoursInstance.php +++ b/web/modules/custom/dpl_opening_hours/src/Model/OpeningHoursInstance.php @@ -6,7 +6,6 @@ use Drupal\dpl_opening_hours\Model\Repetition\Repetition; use Drupal\node\NodeInterface; use Drupal\taxonomy\TermInterface; -use function Safe\sprintf as sprintf; /** * Value object which defines a single time period where a branch is open. diff --git a/web/modules/custom/dpl_paragraphs/dpl_paragraphs.module b/web/modules/custom/dpl_paragraphs/dpl_paragraphs.module index e6bfdd912..be285b008 100644 --- a/web/modules/custom/dpl_paragraphs/dpl_paragraphs.module +++ b/web/modules/custom/dpl_paragraphs/dpl_paragraphs.module @@ -69,7 +69,7 @@ function dpl_paragraphs_preprocess_paragraph__links(array &$variables): void { // Get the normalized path. If null, default to an empty string. $parsed_url = parse_url($url->toString(), PHP_URL_PATH); - $normalized_path = is_null($parsed_url) ? '' : rtrim($parsed_url, '/'); + $normalized_path = (is_string($parsed_url)) ? rtrim($parsed_url, '/') : ''; $link_type = 'internal'; diff --git a/web/modules/custom/dpl_po/src/Commands/DplPoCommands.php b/web/modules/custom/dpl_po/src/Commands/DplPoCommands.php index 3d9cd608f..400cde505 100644 --- a/web/modules/custom/dpl_po/src/Commands/DplPoCommands.php +++ b/web/modules/custom/dpl_po/src/Commands/DplPoCommands.php @@ -18,7 +18,6 @@ use GuzzleHttp\ClientInterface; use GuzzleHttp\Exception\TransferException; use function Safe\preg_match; -use function Safe\sprintf; /** * A Drush commandfile. diff --git a/web/modules/custom/dpl_react/dpl_react.module b/web/modules/custom/dpl_react/dpl_react.module index 765e42851..f11074474 100644 --- a/web/modules/custom/dpl_react/dpl_react.module +++ b/web/modules/custom/dpl_react/dpl_react.module @@ -13,7 +13,6 @@ use Drupal\dpl_react\DplReactInterface; use function Safe\file_get_contents as file_get_contents; use function Safe\json_encode; -use function Safe\sprintf as sprintf; /** * Implements hook_library_info_alter(). diff --git a/web/modules/custom/dpl_react/src/Controller/DplReactController.php b/web/modules/custom/dpl_react/src/Controller/DplReactController.php index 1b9dd6fd2..6f0533b26 100644 --- a/web/modules/custom/dpl_react/src/Controller/DplReactController.php +++ b/web/modules/custom/dpl_react/src/Controller/DplReactController.php @@ -9,7 +9,6 @@ use Drupal\dpl_login\UserTokens; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\Response; -use function Safe\sprintf; /** * DDB React Controller. diff --git a/web/modules/custom/dpl_react_apps/src/Controller/DplReactAppsController.php b/web/modules/custom/dpl_react_apps/src/Controller/DplReactAppsController.php index e6443e5af..01c8d801f 100644 --- a/web/modules/custom/dpl_react_apps/src/Controller/DplReactAppsController.php +++ b/web/modules/custom/dpl_react_apps/src/Controller/DplReactAppsController.php @@ -15,7 +15,6 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use function Safe\json_encode as json_encode; use function Safe\preg_replace as preg_replace; -use function Safe\sprintf as sprintf; /** * Controller for rendering full page DPL React apps. diff --git a/web/modules/custom/dpl_update/dpl_update.install b/web/modules/custom/dpl_update/dpl_update.install index bdb7032e3..d106e1689 100644 --- a/web/modules/custom/dpl_update/dpl_update.install +++ b/web/modules/custom/dpl_update/dpl_update.install @@ -104,7 +104,8 @@ function dpl_update_install(): string { $messages[] = dpl_update_update_10022(); $messages[] = dpl_update_update_10023(); $messages[] = dpl_update_update_10024(); - + // Do not uninstall dblog module on install. It is not installed by default. + // $messages[] = dpl_update_update_10025() return implode('\r\n', $messages); } @@ -294,3 +295,10 @@ function dpl_update_update_10023(): string { function dpl_update_update_10024(): string { return _dpl_update_install_modules(['dpl_consumers']); } + +/** + * Uninstall dblog module. + */ +function dpl_update_update_10025(): string { + return _dpl_update_uninstall_modules(['dblog']); +} diff --git a/web/modules/custom/dpl_url_proxy/src/Form/ProxyUrlConfigurationForm.php b/web/modules/custom/dpl_url_proxy/src/Form/ProxyUrlConfigurationForm.php index ece46312e..500787e28 100644 --- a/web/modules/custom/dpl_url_proxy/src/Form/ProxyUrlConfigurationForm.php +++ b/web/modules/custom/dpl_url_proxy/src/Form/ProxyUrlConfigurationForm.php @@ -7,7 +7,6 @@ use Drupal\Core\Messenger\MessengerTrait; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\dpl_url_proxy\DplUrlProxyInterface; -use function Safe\sprintf; /** * The administration form for handling the configuration of the DPL URL Proxy. diff --git a/web/profiles/dpl_cms/translations/da.combined.po b/web/profiles/dpl_cms/translations/da.combined.po index bb81dd47f..fb3fd1e51 100644 --- a/web/profiles/dpl_cms/translations/da.combined.po +++ b/web/profiles/dpl_cms/translations/da.combined.po @@ -4,23 +4,11 @@ # #-#-#-#-# da.config.po (PROJECT VERSION) #-#-#-#-# # da translation of DPL CMS # -#, fuzzy msgid "" msgstr "" -"#-#-#-#-# da.po (PROJECT VERSION) #-#-#-#-#\n" "Project-Id-Version: PROJECT VERSION\n" -"POT-Creation-Date: 2024-11-06 13:12+0100\n" -"PO-Revision-Date: 2024-11-06 13:12+0100\n" -"Last-Translator: 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=2; plural=(n > 1);\n" -"#-#-#-#-# da.config.po (PROJECT VERSION) #-#-#-#-#\n" -"Project-Id-Version: PROJECT VERSION\n" -"POT-Creation-Date: 2024-11-06 13:13+0100\n" -"PO-Revision-Date: 2024-11-06 13:13+0100\n" +"POT-Creation-Date: 2024-11-12 20:58+0100\n" +"PO-Revision-Date: 2024-11-12 20:58+0100\n" "Last-Translator: NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" @@ -1243,19 +1231,19 @@ msgstr "Tilbage til avanceret søgning" msgctxt "advanced search" msgid "location" -msgstr "" +msgstr "Opstilling" msgctxt "advanced search" msgid "Add a comma separated list for multiple locations" -msgstr "" +msgstr "Sæt komma mellem opstillinger for at filtrere på flere" msgctxt "advanced search" msgid "sublocation" -msgstr "" +msgstr "Delopstilling" msgctxt "advanced search" msgid "Add a comma separated list for multiple sublocations" -msgstr "" +msgstr "Sæt komma mellem delopstillinger for at filtrere på flere" msgctxt "Work Page" msgid "Already reserved" @@ -3475,7 +3463,7 @@ msgstr "Annulleret" msgctxt "dpl_event" msgid "Occurred" -msgstr "" +msgstr "Er afholdt" msgid "Expired" msgstr "Udløbet" @@ -3609,7 +3597,7 @@ msgid "Current collation" msgstr "Nuværende kollation" msgid "Expected charset" -msgstr "" +msgstr "Expected charset" msgid "Expected collation" msgstr "Forventet kollation" @@ -3715,7 +3703,7 @@ msgstr "Indlæser ..." msgctxt "Material search" msgid "Total amount of results" -msgstr "" +msgstr "Søgeresultat" msgctxt "Material search" msgid "Select work with the title @title" @@ -3731,7 +3719,7 @@ msgstr "Link" msgctxt "Material search" msgid "This material needs to be updated." -msgstr "" +msgstr "Dette materiale skal opdateres" msgctxt "Material search" msgid "" @@ -3740,12 +3728,18 @@ msgid "" "title or link underneath to find and update the material and its type, or " "replace / delete it." msgstr "" +"Den valgte materialetype er ikke længere tilgængelig.
Derfor virker " +"linket ikke
Brug titlen eller linket nedenfor for at finde og opdatere " +"materialet og materialetypen ELLER udskifte / slette det. " msgctxt "Material search" msgid "" "The material that was previously selected is no longer available in the " "system. Either delete this entry or search for a new material to replace it." msgstr "" +"Det materiale, der tidligere er forsøgt fremfundet er ikke længere " +"tilgængeligt. Enten skal man slette denne indførsel eller søge et nyt " +"materiale, som kan erstatte det oprindelige.\n" msgctxt "Material search" msgid "Error retrieving saved data. Inputs not found." @@ -4815,7 +4809,7 @@ msgstr "" msgctxt "Address label" msgid "Emirate" -msgstr "" +msgstr "Emirate" msgctxt "Address label" msgid "Island" @@ -4827,7 +4821,7 @@ msgstr "Sogn" msgctxt "Address label" msgid "Prefecture" -msgstr "" +msgstr "Prefecture" msgctxt "Address label" msgid "Province" @@ -4871,7 +4865,7 @@ msgstr "Byområde" msgctxt "Address label" msgid "Eircode" -msgstr "" +msgstr "Eircode" msgctxt "Address label" msgid "Pin code" @@ -4941,6 +4935,8 @@ msgstr "Lokalitet (by)" msgid "The dependent locality (i.e. neighbourhood)" msgstr "" +"\n" +"The dependent locality (i.e. neighbourhood)" msgid "The postal code" msgstr "Postnummeret" @@ -4964,7 +4960,7 @@ msgid "The given name" msgstr "Det givne navn" msgid "The additional name" -msgstr "" +msgstr "The additional name" msgid "The family name" msgstr "Familienavnet" @@ -4979,7 +4975,7 @@ msgid "- No override -" msgstr "- Ingen tilsidesættelse -" msgid "Field overrides" -msgstr "" +msgstr "Field overrides" msgid "" "Use field overrides to override the country-specific address format, forcing " @@ -5137,10 +5133,12 @@ msgid "exposed: country set via exposed filter" msgstr "Udsat: land indstillet via udsat filter" msgid "exposed: fixed country: @country" -msgstr "" +msgstr "exposed: fixed country: @country" msgid "fixed country: @country" msgstr "" +"\n" +"fixed country: @country" msgid "broken configuration" msgstr "brudt konfiguration" @@ -5466,6 +5464,8 @@ msgid "" "The sub‐admin can access a target user provided they have access to all of " "that user's roles." msgstr "" +"The sub‐admin can access a target user provided they have access to all of " +"that user's roles." msgid "Roles" msgstr "Roles" @@ -5558,7 +5558,7 @@ msgid "Only display results after the user has selected a filter option." msgstr "Vis kun resultater efter brugeren har valgt en filtermulighed." msgid "Enable secondary exposed form options" -msgstr "" +msgstr "Enable secondary exposed form options" msgid "" "Allows you to specify some exposed form elements as being secondary options " @@ -5612,7 +5612,7 @@ msgid "Select a format for the exposed sort options." msgstr "Vælg et format for de eksponerede sorteringsmuligheder." msgid "Exposed Pager Settings" -msgstr "" +msgstr "Exposed Pager Settings" msgid "" "This section lets you select additional options for exposed pagers. Some " @@ -5894,6 +5894,7 @@ msgstr "" msgid "" "Whether to slide handle smoothly when user click outside handle on the bar." msgstr "" +"Whether to slide handle smoothly when user click outside handle on the bar." msgid "Animation speed in milliseconds" msgstr "Animationshastighed i millisekunder" @@ -5921,7 +5922,7 @@ msgid "" msgstr "Trinindstillingen for %name må ikke have mere end 5 decimaler." msgid "The slider range must be evenly divisible by the step option." -msgstr "" +msgstr "The slider range must be evenly divisible by the step option." msgid "" "Better Exposed Filters (BEF) modifies the use of Views by replacing the " @@ -5979,6 +5980,8 @@ msgid "" "Tokens are allowed in this field. Replacement options can be found in the " "\"Global replacement patterns\" section, below." msgstr "" +"Tokens are allowed in this field. Replacement options can be found in the " +"\"Global replacement patterns\" section, below." msgid "Global replacement patterns (for description field only)" msgstr "Globale erstatningsmønstre (kun for beskrivelsesfeltet)" @@ -5991,6 +5994,8 @@ msgstr "Better Exposed Filters" msgid "Provides additional options for exposed form elements." msgstr "" +"\n" +"Provides additional options for exposed form elements." msgid "Radio Buttons" msgstr "Radioknapper" @@ -6178,7 +6183,7 @@ msgstr "" "låst indhold." msgid "Entity type protected" -msgstr "" +msgstr "Entity type protected" msgid "All" msgstr "All" @@ -6260,7 +6265,7 @@ msgid "Lock owner" msgstr "Lock owner" msgid "The user locking the node." -msgstr "" +msgstr "The user locking the node." msgid "Lock Date/Time" msgstr "Lock Date/Time" @@ -6278,7 +6283,7 @@ msgid "Lock Form Operation" msgstr "Lås formularoperation" msgid "Form operation of the lock" -msgstr "" +msgstr "Form operation of the lock" msgid "Is Locked" msgstr "Er låst" @@ -6330,7 +6335,7 @@ msgid "Settings" msgstr "Indstillinger" msgid "Prefetch cache test" -msgstr "" +msgstr "Prefetch cache test" msgid "Content Lock" msgstr "Indholdslås" @@ -6500,7 +6505,7 @@ msgid "The time that the current revision was created." msgstr "Tidspunktet hvor den aktuelle version blev opdateret." msgid "Revision author ID" -msgstr "" +msgstr "Revision author ID" msgid "The user ID of the author of the current revision." msgstr "Bruger-IDet på forfatteren af den aktuelle version." @@ -6779,7 +6784,7 @@ msgid "Date range" msgstr "Datointerval" msgid "Date range formatter" -msgstr "" +msgstr "Date range formatter" msgid "Formats date ranges." msgstr "Formaterer datointervaller." @@ -6802,6 +6807,7 @@ msgstr "Eksporterer en enhed og alle dens refererede enheder." msgid "" "Folder to export to, entities are grouped by entity type into directories." msgstr "" +"Folder to export to, entities are grouped by entity type into directories." msgid "Exports all the content defined in a module info file." msgstr "Eksporterer alt indhold defineret i en modul-infomationsfil" @@ -6877,15 +6883,21 @@ msgstr "Referér en anden enhed." msgid "Save settings" msgstr "Gem indstillinger" +msgctxt "Entity type group" +msgid "Content" +msgstr "Indhold" + +msgid "Continue" +msgstr "Fortsæt" + msgid "Save and continue" msgstr "Gem og fortsæt" msgid "Save field settings" msgstr "Gem feltindstillinger" -msgctxt "Entity type group" -msgid "Content" -msgstr "Indhold" +msgid "Update settings" +msgstr "Opdatér indstillinger" msgid "Saved %name configuration" msgstr "Gemt %name konfiguration" @@ -7026,7 +7038,7 @@ msgid "Dynamic Reference" msgstr "Dynamisk reference" msgid "Entity Test Provider" -msgstr "" +msgstr "Entity Test Provider" msgid "Display the ID of the referenced entities." msgstr "Vis ID for de refererede entiteter." @@ -7056,11 +7068,11 @@ msgid "An autocomplete text field." msgstr "Et tekstfelt med autofuldførelse." msgid "Dynamic Entity Reference Field Diff" -msgstr "" +msgstr "Dynamic Entity Reference Field Diff" msgctxt "Validation" msgid "Dynamic Entity Reference valid reference" -msgstr "" +msgstr "Dynamic Entity Reference valid reference" msgid "" "Provides an entity reference field that can reference multiple entity types." @@ -7068,7 +7080,7 @@ msgstr "" "Leverer et enheds reference felt, der kan referere til flere enhedstyper." msgid "Dynamic Entity Reference Entity Test" -msgstr "" +msgstr "Dynamic Entity Reference Entity Test" msgid "" "Provides base fields for dynamic_entity_reference tests of entity_test " @@ -8365,6 +8377,9 @@ msgstr "" msgid "Test Node" msgstr "Test Node" +msgid "Source image with fid=%fid not confirmed as valid." +msgstr "" + msgid "Focal Point Preview Image" msgstr "Fokuspunkt forhåndsvisningsbillede" @@ -8393,6 +8408,10 @@ msgstr "" msgid "Images preview" msgstr "Forhåndsvisning af billeder" +msgid "" +"Source image with fid=%fid not confirmed as valid while checking access." +msgstr "" + msgid "Display preview link" msgstr "Vis forhåndsvisningslink" @@ -8429,6 +8448,9 @@ msgstr "" "Angiv fokus for dette billede i formen \"leftoffset,topoffset\" hvor " "forskydningerne er i procent. Eksempel: 25,75" +msgid "File not found." +msgstr "" + msgid "Image (Focal Point)" msgstr "Billede (Fokuspunkt)" @@ -8438,6 +8460,12 @@ msgstr "Fokuspunkt skalér og beskæring" msgid "Scales and crops image while keeping its focal point close to centered." msgstr "Skalerer og beskærer billedet, mens fokuspunktet holdes tæt på midten." +msgid "Focal Point Crop by Width" +msgstr "" + +msgid "Crops image while keeping its focal point and the original height." +msgstr "" + msgid "Focal Point Crop" msgstr "Fokuspunkt beskæring" @@ -10300,7 +10328,7 @@ msgid "Actor's role" msgstr "Aktørens rolle" msgid "The roles of the actor(s)." -msgstr "" +msgstr "The roles of the actor(s)." msgid "Email address" msgstr "E-mail-adresse" @@ -10393,6 +10421,8 @@ msgid "" "The height of the above video(s). Note: if both the unsecured and secured " "videos are provided, they should both be the same size." msgstr "" +"The height of the above video(s). Note: if both the unsecured and secured " +"videos are provided, they should both be the same size." msgid "Username" msgstr "Username" @@ -10525,7 +10555,7 @@ msgstr "" "på en Creator bruges til at angive enheden." msgid "Date" -msgstr "Date" +msgstr "Dato" msgid "" "A point or period of time associated with an event in the lifecycle of the " @@ -10626,7 +10656,7 @@ msgstr "" "metatags fra Dublin Core Metadata Institute" msgid "Pocket" -msgstr "" +msgstr "Pocket" msgid "" "A string provided by Pocket, full details are " @@ -10829,7 +10859,7 @@ msgstr "" "standardadfærden er at bruge Safari til at vise webindhold." msgid "Handheld-Friendly" -msgstr "" +msgstr "Handheld-Friendly" msgid "" "Some older mobile browsers will expect this meta tag to be set to 'true' to " @@ -10856,6 +10886,7 @@ msgstr "X-UA-Compatible" msgid "" "Indicates to IE which rendering engine should be used for the current page." msgstr "" +"Indicates to IE which rendering engine should be used for the current page." msgid "MSApplication - Task" msgstr "MSApplication - Opgave" @@ -10899,7 +10930,7 @@ msgid "MSApplication - Tile image" msgstr "MSApplication - Flisebillede" msgid "The URL to an image to use as the background for the live tile." -msgstr "" +msgstr "URL'en til et billede, der skal bruges som baggrund." msgid "MSApplication - Notification" msgstr "MSApplication - Notifikation" @@ -11019,7 +11050,7 @@ msgid "MSApplication - Tile color" msgstr "MSApplication - Flisefarve" msgid "The HTML color to use as the background color for the live tile." -msgstr "" +msgstr "Angiver hvilken HTML farve, der skal bruges som baggrund." msgid "MSApplication - Window" msgstr "MSApplication - Vindue" @@ -11086,6 +11117,8 @@ msgid "" "The default name displayed with the pinned sites tile (or icon). Set the " "content attribute to the desired name." msgstr "" +"Standardnavnet vises ved feltet eller ikonet. Indstil indholdsattributten " +"til det ønskede navn." msgid "MSApplication - Allow domain API calls" msgstr "MSApplication - Tillad domæne API-opkald" @@ -11120,7 +11153,7 @@ msgstr "" "til hjemmeskærm\"." msgid "Handheld URL" -msgstr "" +msgstr "Manuel vedligeholdt URL" msgid "" "Provides an absolute URL to a specially formatted version of the current " @@ -12568,19 +12601,19 @@ msgid "Add remove button for multi showing fields." msgstr "Tilføj \"fjern\"-knap for felter med multivisning." msgid "Multiple one" -msgstr "" +msgstr "Multiple one" msgid "Textfield one" msgstr "Tekstfelt et" msgid "Multiple two" -msgstr "" +msgstr "Multiple two" msgid "Texfield two" msgstr "Tekstfelt to" msgid "Foo" -msgstr "" +msgstr "Foo – metasyntaktisk variabel" msgid "Bar" msgstr "Bar" @@ -12592,7 +12625,7 @@ msgid "Add more complexity" msgstr "Tilføj mere kompleksitet" msgid "Inner foo" -msgstr "" +msgstr "Inner foo" msgid "Values" msgstr "Værdier" @@ -12627,6 +12660,7 @@ msgstr "Flerværdi form-element" msgid "" "Provides a multi-value form element that wraps any number of form elements." msgstr "" +"Provides a multi-value form element that wraps any number of form elements." msgid "Multi-value form element test" msgstr "Flerværdi form-element test" @@ -12683,6 +12717,8 @@ msgid "" "Easily add an own provider by using the provided Generic client, or use a " "custom provider client plugin." msgstr "" +"Easily add an own provider by using the provided Generic client, or use a " +"custom provider client plugin." msgid "Synchronize user properties/fields with OpenID Connect claims" msgstr "Synkroniser brugeregenskaber/-felter med OpenID Connect påstande" @@ -12953,7 +12989,7 @@ msgid "Authorization endpoint" msgstr "Autorisationsendpoint" msgid "Token endpoint" -msgstr "" +msgstr "Token endpoint" msgid "UserInfo endpoint" msgstr "UserInfo slutpunkt" @@ -13042,7 +13078,7 @@ msgid "Display Paragraphs as list" msgstr "Vis Paragraphs som liste" msgid "Display Paragraphs as tiles" -msgstr "" +msgstr "Display Paragraphs as tiles" msgctxt "Paragraphs EE Sets: categories" msgid "Paragraphs Sets" @@ -13165,6 +13201,14 @@ msgstr "Indeholder forskellige forbedringer til Paragraphs UI." msgid "Create and manage Paragraphs categories." msgstr "Opret og administrer Paragraphs kategorier." +msgid "Show collapse all button" +msgstr "" + +msgid "" +"Disable the collapse all button when using inline entity forms in your " +"paragraph types." +msgstr "" + msgid "Enable confirmation on paragraphs remove" msgstr "Aktiver bekræftelse ved fjernelse af paragraphs" diff --git a/web/themes/custom/novel/novel.theme b/web/themes/custom/novel/novel.theme index 9ace1d83a..0496f4b16 100644 --- a/web/themes/custom/novel/novel.theme +++ b/web/themes/custom/novel/novel.theme @@ -11,7 +11,6 @@ use Drupal\recurring_events\Entity\EventInstance; use Spatie\Color\Hex; use Spatie\Color\Hsl; use function Safe\file_get_contents; -use function Safe\sprintf; /** * Implements hook_theme(). diff --git a/web/themes/custom/novel/templates/layout/eventseries--full.html.twig b/web/themes/custom/novel/templates/layout/eventseries--full.html.twig index bd6be6225..32b84ff8a 100644 --- a/web/themes/custom/novel/templates/layout/eventseries--full.html.twig +++ b/web/themes/custom/novel/templates/layout/eventseries--full.html.twig @@ -16,10 +16,12 @@ "event_state": content.field_event_state, "event_ticket_categories": content.field_ticket_categories, "event_tags": content.field_tags, - "event_branch": content.field_branch, + "event_partners": content.field_event_partners, + "branch": content.field_branch, "event_teaser_text": content.field_teaser_text, } %} + {% include '@novel/layout/eventinstance--full.html.twig' with { content: content|merge(instancelike_content) } %} diff --git a/yarn.lock b/yarn.lock index 795e518b2..02786dc1e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -104,10 +104,10 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== -"@cypress/request@^3.0.4": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.5.tgz#d893a6e68ce2636c085fcd8d7283c3186499ba63" - integrity sha512-v+XHd9XmWbufxF1/bTaVm2yhbxY+TB4YtWRqF2zaXBlDNMkls34KiATz0AVDLavL3iB6bQk9/7n3oY1EoLSWGA== +"@cypress/request@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-3.0.6.tgz#f5580add6acee0e183b4d4e07eff4f31327ae12b" + integrity sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -124,7 +124,7 @@ performance-now "^2.1.0" qs "6.13.0" safe-buffer "^5.1.2" - tough-cookie "^4.1.3" + tough-cookie "^5.0.0" tunnel-agent "^0.6.0" uuid "^8.3.2" @@ -318,62 +318,62 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.13.0.tgz#650c50b8c795b5d092189f139f6d00535b5b0f3d" - integrity sha512-nQtBLiZYMUPkclSeC3id+x4uVd1SGtHuElTxL++SfP47jR0zfkZBJHc+gL4qPsgTuypz0k8Y2GheaDYn6Gy3rg== +"@typescript-eslint/eslint-plugin@^8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.14.0.tgz#7dc0e419c87beadc8f554bf5a42e5009ed3748dc" + integrity sha512-tqp8H7UWFaZj0yNO6bycd5YjMwxa6wIHOLZvWPkidwbgLCsBMetQoGj7DPuAlWa2yGO3H48xmPwjhsSPPCGU5w== dependencies: "@eslint-community/regexpp" "^4.10.0" - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/type-utils" "8.13.0" - "@typescript-eslint/utils" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/type-utils" "8.14.0" + "@typescript-eslint/utils" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" graphemer "^1.4.0" ignore "^5.3.1" natural-compare "^1.4.0" ts-api-utils "^1.3.0" -"@typescript-eslint/parser@^8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.13.0.tgz#ef76203b7cac515aa3ccc4f7ce5320dd61c46b29" - integrity sha512-w0xp+xGg8u/nONcGw1UXAr6cjCPU1w0XVyBs6Zqaj5eLmxkKQAByTdV/uGgNN5tVvN/kKpoQlP2cL7R+ajZZIQ== +"@typescript-eslint/parser@^8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.14.0.tgz#0a7e9dbc11bc07716ab2d7b1226217e9f6b51fc8" + integrity sha512-2p82Yn9juUJq0XynBXtFCyrBDb6/dJombnz6vbo6mgQEtWHfvHbQuEa9kAOVIt1c9YFwi7H6WxtPj1kg+80+RA== dependencies: - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/typescript-estree" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/typescript-estree" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.13.0.tgz#2f4aed0b87d72360e64e4ea194b1fde14a59082e" - integrity sha512-XsGWww0odcUT0gJoBZ1DeulY1+jkaHUciUq4jKNv4cpInbvvrtDoyBH9rE/n2V29wQJPk8iCH1wipra9BhmiMA== +"@typescript-eslint/scope-manager@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.14.0.tgz#01f37c147a735cd78f0ff355e033b9457da1f373" + integrity sha512-aBbBrnW9ARIDn92Zbo7rguLnqQ/pOrUguVpbUwzOhkFg2npFDwTgPGqFqE0H5feXcOoJOfX3SxlJaKEVtq54dw== dependencies: - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" -"@typescript-eslint/type-utils@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.13.0.tgz#8c8fa68490dcb9ae1687ffc7de8fbe23c26417bd" - integrity sha512-Rqnn6xXTR316fP4D2pohZenJnp+NwQ1mo7/JM+J1LWZENSLkJI8ID8QNtlvFeb0HnFSK94D6q0cnMX6SbE5/vA== +"@typescript-eslint/type-utils@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.14.0.tgz#455c6af30c336b24a1af28bc4f81b8dd5d74d94d" + integrity sha512-Xcz9qOtZuGusVOH5Uk07NGs39wrKkf3AxlkK79RBK6aJC1l03CobXjJbwBPSidetAOV+5rEVuiT1VSBUOAsanQ== dependencies: - "@typescript-eslint/typescript-estree" "8.13.0" - "@typescript-eslint/utils" "8.13.0" + "@typescript-eslint/typescript-estree" "8.14.0" + "@typescript-eslint/utils" "8.14.0" debug "^4.3.4" ts-api-utils "^1.3.0" -"@typescript-eslint/types@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.13.0.tgz#3f35dead2b2491a04339370dcbcd17bbdfc204d8" - integrity sha512-4cyFErJetFLckcThRUFdReWJjVsPCqyBlJTi6IDEpc1GWCIIZRFxVppjWLIMcQhNGhdWJJRYFHpHoDWvMlDzng== +"@typescript-eslint/types@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.14.0.tgz#0d33d8d0b08479c424e7d654855fddf2c71e4021" + integrity sha512-yjeB9fnO/opvLJFAsPNYlKPnEM8+z4og09Pk504dkqonT02AyL5Z9SSqlE0XqezS93v6CXn49VHvB2G7XSsl0g== -"@typescript-eslint/typescript-estree@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.13.0.tgz#db8c93dd5437ca3ce417a255fb35ddc3c12c3e95" - integrity sha512-v7SCIGmVsRK2Cy/LTLGN22uea6SaUIlpBcO/gnMGT/7zPtxp90bphcGf4fyrCQl3ZtiBKqVTG32hb668oIYy1g== +"@typescript-eslint/typescript-estree@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.14.0.tgz#a7a3a5a53a6c09313e12fb4531d4ff582ee3c312" + integrity sha512-OPXPLYKGZi9XS/49rdaCbR5j/S14HazviBlUQFvSKz3npr3NikF+mrgK7CFVur6XEt95DZp/cmke9d5i3vtVnQ== dependencies: - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/visitor-keys" "8.13.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/visitor-keys" "8.14.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -381,22 +381,22 @@ semver "^7.6.0" ts-api-utils "^1.3.0" -"@typescript-eslint/utils@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.13.0.tgz#f6d40e8b5053dcaeabbd2e26463857abf27d62c0" - integrity sha512-A1EeYOND6Uv250nybnLZapeXpYMl8tkzYUxqmoKAWnI4sei3ihf2XdZVd+vVOmHGcp3t+P7yRrNsyyiXTvShFQ== +"@typescript-eslint/utils@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.14.0.tgz#ac2506875e03aba24e602364e43b2dfa45529dbd" + integrity sha512-OGqj6uB8THhrHj0Fk27DcHPojW7zKwKkPmHXHvQ58pLYp4hy8CSUdTKykKeh+5vFqTTVmjz0zCOOPKRovdsgHA== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.13.0" - "@typescript-eslint/types" "8.13.0" - "@typescript-eslint/typescript-estree" "8.13.0" + "@typescript-eslint/scope-manager" "8.14.0" + "@typescript-eslint/types" "8.14.0" + "@typescript-eslint/typescript-estree" "8.14.0" -"@typescript-eslint/visitor-keys@8.13.0": - version "8.13.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.13.0.tgz#e97b0d92b266ef38a1faf40a74da289b66683a5b" - integrity sha512-7N/+lztJqH4Mrf0lb10R/CbI1EaAMMGyF5y0oJvFoAhafwgiRA7TXyd8TFn8FC8k5y2dTsYogg238qavRGNnlw== +"@typescript-eslint/visitor-keys@8.14.0": + version "8.14.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.14.0.tgz#2418d5a54669af9658986ade4e6cfb7767d815ad" + integrity sha512-vG0XZo8AdTH9OE6VFRwAZldNc7qtJ/6NLGWak+BtENuEUXGZgFpihILPiBvKXvJ2nFu27XNGC6rKiwuaoMbYzQ== dependencies: - "@typescript-eslint/types" "8.13.0" + "@typescript-eslint/types" "8.14.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.2.0": @@ -1111,10 +1111,10 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -ci-info@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== +ci-info@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== clean-stack@^2.0.0: version "2.2.0" @@ -1449,12 +1449,12 @@ cypress-plugin-api@^2.11.2: set-cookie-parser "^2.5.1" vue "^3.2.41" -cypress@^13.15.1: - version "13.15.1" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.15.1.tgz#d85074e07cc576eb30068617d529719ef6093b69" - integrity sha512-DwUFiKXo4lef9kA0M4iEhixFqoqp2hw8igr0lTqafRb9qtU3X0XGxKbkSYsUFdkrAkphc7MPDxoNPhk5pj9PVg== +cypress@^13.15.2: + version "13.15.2" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.15.2.tgz#ef19554c274bc4ff23802aeb5c52951677fa67f1" + integrity sha512-ARbnUorjcCM3XiPwgHKuqsyr5W9Qn+pIIBPaoilnoBkLdSC2oLQjV1BUpnmc7KR+b7Avah3Ly2RMFnfxr96E/A== dependencies: - "@cypress/request" "^3.0.4" + "@cypress/request" "^3.0.6" "@cypress/xvfb" "^1.2.4" "@types/sinonjs__fake-timers" "8.1.1" "@types/sizzle" "^2.3.2" @@ -1465,6 +1465,7 @@ cypress@^13.15.1: cachedir "^2.3.0" chalk "^4.1.0" check-more-types "^2.24.0" + ci-info "^4.0.0" cli-cursor "^3.1.0" cli-table3 "~0.6.1" commander "^6.2.1" @@ -1479,7 +1480,6 @@ cypress@^13.15.1: figures "^3.2.0" fs-extra "^9.1.0" getos "^3.2.1" - is-ci "^3.0.1" is-installed-globally "~0.4.0" lazy-ass "^1.6.0" listr2 "^3.8.3" @@ -2919,13 +2919,6 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" @@ -4303,11 +4296,6 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -4316,7 +4304,7 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== @@ -4353,11 +4341,6 @@ qs@6.13.0: dependencies: side-channel "^1.0.6" -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -4478,11 +4461,6 @@ require-main-filename@^2.0.0: resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -5033,6 +5011,18 @@ timed-out@4.0.1: resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== +tldts-core@^6.1.60: + version "6.1.60" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.60.tgz#b3f0a2106e575e972bfca98880758c85c7557d02" + integrity sha512-XHjoxak8SFQnHnmYHb3PcnW5TZ+9ErLZemZei3azuIRhQLw4IExsVbL3VZJdHcLeNaXq6NqawgpDPpjBOg4B5g== + +tldts@^6.1.32: + version "6.1.60" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-6.1.60.tgz#5011770e6946fd2edec582ab4686247c66c97e8a" + integrity sha512-TYVHm7G9NCnhgqOsFalbX6MG1Po5F4efF+tLfoeiOGQq48Oqgwcgz8upY2R1BHWa4aDrj28RYx0dkYJ63qCFMg== + dependencies: + tldts-core "^6.1.60" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -5069,15 +5059,12 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -tough-cookie@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== +tough-cookie@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-5.0.0.tgz#6b6518e2b5c070cf742d872ee0f4f92d69eac1af" + integrity sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q== dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" + tldts "^6.1.32" tr46@~0.0.3: version "0.0.3" @@ -5173,10 +5160,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.8.3: - version "4.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" - integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== +typescript@^5.6.3: + version "5.6.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" @@ -5225,11 +5212,6 @@ unique-string@^2.0.0: dependencies: crypto-random-string "^2.0.0" -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -5296,14 +5278,6 @@ url-parse-lax@^3.0.0: dependencies: prepend-http "^2.0.0" -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"