diff --git a/.gitignore b/.gitignore index 2540664..f45574e 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,9 @@ node_modules/ *.patch +# Keep our project patches tracked +!patches/ +!patches/** /.csslintrc /.eslintrc.json /.ht.router.php diff --git a/composer.json b/composer.json index c31e7b3..c58e64d 100644 --- a/composer.json +++ b/composer.json @@ -21,6 +21,7 @@ "require": { "composer/installers": "^2.0", "drupal/auto_entitylabel": "^3.4", + "drupal/autocomplete_deluxe": "^2.1", "drupal/cer": "^5.0@beta", "drupal/config_ignore": "^3.4", "drupal/core-composer-scaffold": "^10.6", @@ -115,7 +116,7 @@ ], "post-create-project-cmd-message": [ " ", - " Congratulations, you’ve installed the Drupal codebase ", + " Congratulations, you\u2019ve installed the Drupal codebase ", " from the drupal/recommended-project template! ", " ", "", @@ -136,6 +137,11 @@ "recurse": true, "replace": false, "merge-extra": true + }, + "patches": { + "drupal/autocomplete_deluxe": { + "Display no_empty_message as permanent help text (https://www.drupal.org/project/autocomplete_deluxe/issues/3011492)": "patches/autocomplete_deluxe/no-empty-message-as-help-text.patch" + } } } } diff --git a/composer.lock b/composer.lock index f8fbbcf..9a4e4a6 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d1c180e38e51750e97dde8fdab941ed5", + "content-hash": "14f02e51dadb33e3ba5d1363b9a020ea", "packages": [ { "name": "asm89/stack-cors", @@ -1992,6 +1992,10 @@ "homepage": "https://www.drupal.org/mediacurrent", "role": "Supporting organization" }, + { + "name": "klausi", + "homepage": "https://www.drupal.org/user/262198" + }, { "name": "mohammed j. razem", "homepage": "https://www.drupal.org/user/255384" @@ -2000,6 +2004,10 @@ "name": "mpriscella", "homepage": "https://www.drupal.org/user/2354820" }, + { + "name": "omar alahmed", + "homepage": "https://www.drupal.org/user/308031" + }, { "name": "rajab natshah", "homepage": "https://www.drupal.org/user/1414312" @@ -3014,7 +3022,7 @@ }, { "name": "drupal/core-composer-scaffold", - "version": "10.6.10", + "version": "10.6.16", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", @@ -3058,7 +3066,7 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.6.10" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.6.16" }, "time": "2024-08-22T14:31:30+00:00" }, @@ -8553,16 +8561,16 @@ }, { "name": "masterminds/html5", - "version": "2.10.0", + "version": "2.10.1", "source": { "type": "git", "url": "https://github.com/Masterminds/html5-php.git", - "reference": "fcf91eb64359852f00d921887b219479b4f21251" + "reference": "fd5018f6815fff903946d0564977b44ce8010e29" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251", - "reference": "fcf91eb64359852f00d921887b219479b4f21251", + "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fd5018f6815fff903946d0564977b44ce8010e29", + "reference": "fd5018f6815fff903946d0564977b44ce8010e29", "shasum": "" }, "require": { @@ -8570,7 +8578,7 @@ "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9" + "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9 || ^10" }, "type": "library", "extra": { @@ -8614,22 +8622,22 @@ ], "support": { "issues": "https://github.com/Masterminds/html5-php/issues", - "source": "https://github.com/Masterminds/html5-php/tree/2.10.0" + "source": "https://github.com/Masterminds/html5-php/tree/2.10.1" }, - "time": "2025-07-25T09:04:22+00:00" + "time": "2026-06-23T18:43:15+00:00" }, { "name": "mck89/peast", - "version": "v1.17.6", + "version": "v1.17.7", "source": { "type": "git", "url": "https://github.com/mck89/peast.git", - "reference": "b8b4184b1e6912669f9af155caef9050509d9f18" + "reference": "89ee39f81e82cb7ed36cc5abaf2edd43cef71770" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mck89/peast/zipball/b8b4184b1e6912669f9af155caef9050509d9f18", - "reference": "b8b4184b1e6912669f9af155caef9050509d9f18", + "url": "https://api.github.com/repos/mck89/peast/zipball/89ee39f81e82cb7ed36cc5abaf2edd43cef71770", + "reference": "89ee39f81e82cb7ed36cc5abaf2edd43cef71770", "shasum": "" }, "require": { @@ -8642,7 +8650,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.17.6-dev" + "dev-master": "1.17.7-dev" } }, "autoload": { @@ -8663,9 +8671,9 @@ "description": "Peast is PHP library that generates AST for JavaScript code", "support": { "issues": "https://github.com/mck89/peast/issues", - "source": "https://github.com/mck89/peast/tree/v1.17.6" + "source": "https://github.com/mck89/peast/tree/v1.17.7" }, - "time": "2026-04-24T08:04:05+00:00" + "time": "2026-07-21T11:56:06+00:00" }, { "name": "nette/schema", @@ -8954,21 +8962,21 @@ }, { "name": "pear/archive_tar", - "version": "1.6.0", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/pear/Archive_Tar.git", - "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e" + "reference": "a0d2c458a2ff6ee8943ac4271b7f57d613529ae0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/dc3285537f1832da8ddbbe45f5a007248b6cc00e", - "reference": "dc3285537f1832da8ddbbe45f5a007248b6cc00e", + "url": "https://api.github.com/repos/pear/Archive_Tar/zipball/a0d2c458a2ff6ee8943ac4271b7f57d613529ae0", + "reference": "a0d2c458a2ff6ee8943ac4271b7f57d613529ae0", "shasum": "" }, "require": { "pear/pear-core-minimal": "^1.10.0alpha2", - "php": ">=5.4.0" + "php": ">=5.6.0" }, "require-dev": { "phpunit/phpunit": "*" @@ -8981,7 +8989,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "1.6.x-dev" } }, "autoload": { @@ -9020,7 +9028,7 @@ "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", "source": "https://github.com/pear/Archive_Tar" }, - "time": "2025-07-19T14:49:16+00:00" + "time": "2026-08-19T17:37:49+00:00" }, { "name": "pear/console_getopt", @@ -10009,16 +10017,16 @@ }, { "name": "symfony/console", - "version": "v6.4.42", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "9ef84af84a7b66396da483634227650506428639" + "reference": "9e118dd9e3b94544ff3cce860457c2951a0a2bd6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9ef84af84a7b66396da483634227650506428639", - "reference": "9ef84af84a7b66396da483634227650506428639", + "url": "https://api.github.com/repos/symfony/console/zipball/9e118dd9e3b94544ff3cce860457c2951a0a2bd6", + "reference": "9e118dd9e3b94544ff3cce860457c2951a0a2bd6", "shasum": "" }, "require": { @@ -10083,7 +10091,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.42" + "source": "https://github.com/symfony/console/tree/v6.4.46" }, "funding": [ { @@ -10103,20 +10111,20 @@ "type": "tidelift" } ], - "time": "2026-06-15T05:35:29+00:00" + "time": "2026-09-10T10:42:14+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.42", + "version": "v6.4.44", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "ba3538ae8d14dd9a3a8758229e8ddaeff1a23643" + "reference": "675b2dfaf70bdca37d13816582023e3bac5fc2d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/ba3538ae8d14dd9a3a8758229e8ddaeff1a23643", - "reference": "ba3538ae8d14dd9a3a8758229e8ddaeff1a23643", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/675b2dfaf70bdca37d13816582023e3bac5fc2d1", + "reference": "675b2dfaf70bdca37d13816582023e3bac5fc2d1", "shasum": "" }, "require": { @@ -10168,7 +10176,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.42" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.44" }, "funding": [ { @@ -10188,7 +10196,7 @@ "type": "tidelift" } ], - "time": "2026-06-08T07:06:12+00:00" + "time": "2026-08-21T15:20:39+00:00" }, { "name": "symfony/deprecation-contracts", @@ -10263,16 +10271,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.36", + "version": "v6.4.44", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "2ea68f0e1835ad6a126f93bbc14cd236c10ab361" + "reference": "8fa59eb915a14b2881993565a122c9dd1b0f8a19" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/2ea68f0e1835ad6a126f93bbc14cd236c10ab361", - "reference": "2ea68f0e1835ad6a126f93bbc14cd236c10ab361", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8fa59eb915a14b2881993565a122c9dd1b0f8a19", + "reference": "8fa59eb915a14b2881993565a122c9dd1b0f8a19", "shasum": "" }, "require": { @@ -10318,7 +10326,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.36" + "source": "https://github.com/symfony/error-handler/tree/v6.4.44" }, "funding": [ { @@ -10338,20 +10346,20 @@ "type": "tidelift" } ], - "time": "2026-03-10T15:56:14+00:00" + "time": "2026-08-20T17:31:15+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.37", + "version": "v6.4.44", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "2e3bf817ba9347341ab15926700fb6320367c0e1" + "reference": "d7110a878e7e7cbd8aaebe9f55da8af885b8c0af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/2e3bf817ba9347341ab15926700fb6320367c0e1", - "reference": "2e3bf817ba9347341ab15926700fb6320367c0e1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d7110a878e7e7cbd8aaebe9f55da8af885b8c0af", + "reference": "d7110a878e7e7cbd8aaebe9f55da8af885b8c0af", "shasum": "" }, "require": { @@ -10402,7 +10410,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.37" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.44" }, "funding": [ { @@ -10422,7 +10430,7 @@ "type": "tidelift" } ], - "time": "2026-04-13T14:11:12+00:00" + "time": "2026-08-21T14:01:40+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -10506,16 +10514,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.39", + "version": "v6.4.45", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "c507b077756b4e3e09adbbe7975fac81cd3722ca" + "reference": "6dabf41c21957a2060f101bd7bf7e322989866bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/c507b077756b4e3e09adbbe7975fac81cd3722ca", - "reference": "c507b077756b4e3e09adbbe7975fac81cd3722ca", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6dabf41c21957a2060f101bd7bf7e322989866bd", + "reference": "6dabf41c21957a2060f101bd7bf7e322989866bd", "shasum": "" }, "require": { @@ -10552,7 +10560,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.39" + "source": "https://github.com/symfony/filesystem/tree/v6.4.45" }, "funding": [ { @@ -10572,20 +10580,20 @@ "type": "tidelift" } ], - "time": "2026-05-07T13:11:42+00:00" + "time": "2026-08-23T07:59:31+00:00" }, { "name": "symfony/finder", - "version": "v6.4.42", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "0b73dac42493acbadbba644207a715b254e9b029" + "reference": "04db08efd85558162ef43fba10c299871b60d60b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0b73dac42493acbadbba644207a715b254e9b029", - "reference": "0b73dac42493acbadbba644207a715b254e9b029", + "url": "https://api.github.com/repos/symfony/finder/zipball/04db08efd85558162ef43fba10c299871b60d60b", + "reference": "04db08efd85558162ef43fba10c299871b60d60b", "shasum": "" }, "require": { @@ -10620,7 +10628,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.42" + "source": "https://github.com/symfony/finder/tree/v6.4.46" }, "funding": [ { @@ -10640,20 +10648,20 @@ "type": "tidelift" } ], - "time": "2026-06-26T15:18:24+00:00" + "time": "2026-09-10T14:17:24+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.41", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "48d76c29a67a301e0f7779a512bf76417395ffef" + "reference": "08bbdd5cf09248785442c41929aabe42f8ef5cfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/48d76c29a67a301e0f7779a512bf76417395ffef", - "reference": "48d76c29a67a301e0f7779a512bf76417395ffef", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/08bbdd5cf09248785442c41929aabe42f8ef5cfd", + "reference": "08bbdd5cf09248785442c41929aabe42f8ef5cfd", "shasum": "" }, "require": { @@ -10701,7 +10709,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.41" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.46" }, "funding": [ { @@ -10721,20 +10729,20 @@ "type": "tidelift" } ], - "time": "2026-05-24T10:54:17+00:00" + "time": "2026-09-14T17:40:49+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.41", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "155f6c1fa29720e8c947591da3be4014951fba6f" + "reference": "c662aa16f2a6b078800ef5302444043c38932213" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/155f6c1fa29720e8c947591da3be4014951fba6f", - "reference": "155f6c1fa29720e8c947591da3be4014951fba6f", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/c662aa16f2a6b078800ef5302444043c38932213", + "reference": "c662aa16f2a6b078800ef5302444043c38932213", "shasum": "" }, "require": { @@ -10791,7 +10799,7 @@ "symfony/validator": "^6.4|^7.0", "symfony/var-dumper": "^5.4|^6.4|^7.0", "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" + "twig/twig": "^2.13|^3.0.4|^4.0" }, "type": "library", "autoload": { @@ -10819,7 +10827,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.41" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.46" }, "funding": [ { @@ -10839,20 +10847,20 @@ "type": "tidelift" } ], - "time": "2026-05-27T08:22:22+00:00" + "time": "2026-09-15T07:06:31+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.40", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "94fd44f3052e02340b0dd4447a7d7a5856e32da2" + "reference": "21cc391f6f6a20b8765125cabee0c6195b5b8f10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/94fd44f3052e02340b0dd4447a7d7a5856e32da2", - "reference": "94fd44f3052e02340b0dd4447a7d7a5856e32da2", + "url": "https://api.github.com/repos/symfony/mailer/zipball/21cc391f6f6a20b8765125cabee0c6195b5b8f10", + "reference": "21cc391f6f6a20b8765125cabee0c6195b5b8f10", "shasum": "" }, "require": { @@ -10903,7 +10911,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.40" + "source": "https://github.com/symfony/mailer/tree/v6.4.46" }, "funding": [ { @@ -10923,20 +10931,20 @@ "type": "tidelift" } ], - "time": "2026-05-19T20:33:22+00:00" + "time": "2026-09-14T23:26:17+00:00" }, { "name": "symfony/mime", - "version": "v6.4.41", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "5575d37f8841e4e31d5df79ab3db078ae557ff8e" + "reference": "e700a9819829e1395ae95b508c6355053b5644fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/5575d37f8841e4e31d5df79ab3db078ae557ff8e", - "reference": "5575d37f8841e4e31d5df79ab3db078ae557ff8e", + "url": "https://api.github.com/repos/symfony/mime/zipball/e700a9819829e1395ae95b508c6355053b5644fe", + "reference": "e700a9819829e1395ae95b508c6355053b5644fe", "shasum": "" }, "require": { @@ -10960,7 +10968,7 @@ "symfony/process": "^5.4|^6.4|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.4.3|^7.0.3" + "symfony/serializer": "^6.4.44|^7.4.17" }, "type": "library", "autoload": { @@ -10992,7 +11000,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.41" + "source": "https://github.com/symfony/mime/tree/v6.4.46" }, "funding": [ { @@ -11012,7 +11020,7 @@ "type": "tidelift" } ], - "time": "2026-05-23T14:40:34+00:00" + "time": "2026-09-04T10:11:03+00:00" }, { "name": "symfony/polyfill-ctype", @@ -11846,16 +11854,16 @@ }, { "name": "symfony/process", - "version": "v6.4.41", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c8fc09bdfe9fde9aaa89b415a4477feaccec16a7" + "reference": "b9f3d9ddf67543b92dbfa6d210c407d7a7982781" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c8fc09bdfe9fde9aaa89b415a4477feaccec16a7", - "reference": "c8fc09bdfe9fde9aaa89b415a4477feaccec16a7", + "url": "https://api.github.com/repos/symfony/process/zipball/b9f3d9ddf67543b92dbfa6d210c407d7a7982781", + "reference": "b9f3d9ddf67543b92dbfa6d210c407d7a7982781", "shasum": "" }, "require": { @@ -11887,7 +11895,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.41" + "source": "https://github.com/symfony/process/tree/v6.4.46" }, "funding": [ { @@ -11907,7 +11915,7 @@ "type": "tidelift" } ], - "time": "2026-05-23T13:47:21+00:00" + "time": "2026-09-02T12:35:55+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -11998,16 +12006,16 @@ }, { "name": "symfony/routing", - "version": "v6.4.41", + "version": "v6.4.45", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "af04c79671fd8df0805a44c83fa2b0ba56c8329e" + "reference": "6fe2ed5b356beec41d5720dd73db72887c3f9d6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/af04c79671fd8df0805a44c83fa2b0ba56c8329e", - "reference": "af04c79671fd8df0805a44c83fa2b0ba56c8329e", + "url": "https://api.github.com/repos/symfony/routing/zipball/6fe2ed5b356beec41d5720dd73db72887c3f9d6d", + "reference": "6fe2ed5b356beec41d5720dd73db72887c3f9d6d", "shasum": "" }, "require": { @@ -12061,7 +12069,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.41" + "source": "https://github.com/symfony/routing/tree/v6.4.45" }, "funding": [ { @@ -12081,20 +12089,20 @@ "type": "tidelift" } ], - "time": "2026-05-24T11:18:16+00:00" + "time": "2026-08-16T17:07:07+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.37", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "53a31b1a3baa209862237bcbe50b0ab789b158dc" + "reference": "5febca192427e0d788848abad61be565c68b9645" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/53a31b1a3baa209862237bcbe50b0ab789b158dc", - "reference": "53a31b1a3baa209862237bcbe50b0ab789b158dc", + "url": "https://api.github.com/repos/symfony/serializer/zipball/5febca192427e0d788848abad61be565c68b9645", + "reference": "5febca192427e0d788848abad61be565c68b9645", "shasum": "" }, "require": { @@ -12108,7 +12116,7 @@ "phpdocumentor/type-resolver": "<1.4.0", "symfony/dependency-injection": "<5.4", "symfony/property-access": "<5.4", - "symfony/property-info": "<5.4.24|>=6,<6.2.11", + "symfony/property-info": "<6.4.43", "symfony/uid": "<5.4", "symfony/validator": "<6.4", "symfony/yaml": "<5.4" @@ -12129,7 +12137,7 @@ "symfony/messenger": "^5.4|^6.0|^7.0", "symfony/mime": "^5.4|^6.0|^7.0", "symfony/property-access": "^5.4.26|^6.3|^7.0", - "symfony/property-info": "^5.4.24|^6.2.11|^7.0", + "symfony/property-info": "^6.4.43|^7.4.15", "symfony/translation-contracts": "^2.5|^3", "symfony/uid": "^5.4|^6.0|^7.0", "symfony/validator": "^6.4|^7.0", @@ -12163,7 +12171,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.37" + "source": "https://github.com/symfony/serializer/tree/v6.4.46" }, "funding": [ { @@ -12183,20 +12191,20 @@ "type": "tidelift" } ], - "time": "2026-04-29T12:54:08+00:00" + "time": "2026-09-08T09:57:00+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.7.1", + "version": "v3.7.3", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0" + "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/c0a284bab1ed8aa0417e3d69250ab437739563a0", - "reference": "c0a284bab1ed8aa0417e3d69250ab437739563a0", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/15e6a07ec2a2c75ceb1b21dd98105ee8456d2257", + "reference": "15e6a07ec2a2c75ceb1b21dd98105ee8456d2257", "shasum": "" }, "require": { @@ -12250,7 +12258,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.7.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.7.3" }, "funding": [ { @@ -12270,20 +12278,20 @@ "type": "tidelift" } ], - "time": "2026-06-16T09:55:08+00:00" + "time": "2026-07-27T15:39:01+00:00" }, { "name": "symfony/string", - "version": "v6.4.39", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "62e3c927de664edadb5bef260987eb047a17a113" + "reference": "4513ab2b0ad2d7845a2f920e2f30b61633c9e606" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/62e3c927de664edadb5bef260987eb047a17a113", - "reference": "62e3c927de664edadb5bef260987eb047a17a113", + "url": "https://api.github.com/repos/symfony/string/zipball/4513ab2b0ad2d7845a2f920e2f30b61633c9e606", + "reference": "4513ab2b0ad2d7845a2f920e2f30b61633c9e606", "shasum": "" }, "require": { @@ -12339,7 +12347,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.39" + "source": "https://github.com/symfony/string/tree/v6.4.46" }, "funding": [ { @@ -12359,7 +12367,7 @@ "type": "tidelift" } ], - "time": "2026-05-12T11:44:19+00:00" + "time": "2026-09-11T09:03:57+00:00" }, { "name": "symfony/translation-contracts", @@ -12445,16 +12453,16 @@ }, { "name": "symfony/validator", - "version": "v6.4.37", + "version": "v6.4.46", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "72cfcf7925746d9950bbdab1362f6bda3b4046cf" + "reference": "496589b7ac1be8ed2da92310f65f05e3989baef4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/72cfcf7925746d9950bbdab1362f6bda3b4046cf", - "reference": "72cfcf7925746d9950bbdab1362f6bda3b4046cf", + "url": "https://api.github.com/repos/symfony/validator/zipball/496589b7ac1be8ed2da92310f65f05e3989baef4", + "reference": "496589b7ac1be8ed2da92310f65f05e3989baef4", "shasum": "" }, "require": { @@ -12522,7 +12530,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.37" + "source": "https://github.com/symfony/validator/tree/v6.4.46" }, "funding": [ { @@ -12542,20 +12550,20 @@ "type": "tidelift" } ], - "time": "2026-04-29T06:33:37+00:00" + "time": "2026-09-09T10:57:39+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.42", + "version": "v6.4.45", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "29adc5e34255f42ca9b8ae61c22b4d9e3f611317" + "reference": "86a9b2f1bd81c9780a809632238ab6ba10292166" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/29adc5e34255f42ca9b8ae61c22b4d9e3f611317", - "reference": "29adc5e34255f42ca9b8ae61c22b4d9e3f611317", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86a9b2f1bd81c9780a809632238ab6ba10292166", + "reference": "86a9b2f1bd81c9780a809632238ab6ba10292166", "shasum": "" }, "require": { @@ -12572,7 +12580,7 @@ "symfony/http-kernel": "^5.4|^6.0|^7.0", "symfony/process": "^5.4|^6.0|^7.0", "symfony/uid": "^5.4|^6.0|^7.0", - "twig/twig": "^2.13|^3.0.4" + "twig/twig": "^2.13|^3.0.4|^4.0" }, "bin": [ "Resources/bin/var-dump-server" @@ -12610,7 +12618,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.42" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.45" }, "funding": [ { @@ -12630,20 +12638,20 @@ "type": "tidelift" } ], - "time": "2026-06-08T07:06:12+00:00" + "time": "2026-08-30T20:10:39+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.42", + "version": "v6.4.45", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "15e670e0218bfe4efbc0556b8a12ad1304f4c7f4" + "reference": "a4e458999ee554a667cd19227f0b97a751bd61e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/15e670e0218bfe4efbc0556b8a12ad1304f4c7f4", - "reference": "15e670e0218bfe4efbc0556b8a12ad1304f4c7f4", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a4e458999ee554a667cd19227f0b97a751bd61e6", + "reference": "a4e458999ee554a667cd19227f0b97a751bd61e6", "shasum": "" }, "require": { @@ -12691,7 +12699,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.42" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.45" }, "funding": [ { @@ -12711,20 +12719,20 @@ "type": "tidelift" } ], - "time": "2026-06-27T08:12:01+00:00" + "time": "2026-08-23T09:39:49+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.42", + "version": "v6.4.45", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "989dfb75049b77884f3f8cf9e99f103c8f91ca1c" + "reference": "a778aba2d7130eba6150cc80cb692988a361ee4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/989dfb75049b77884f3f8cf9e99f103c8f91ca1c", - "reference": "989dfb75049b77884f3f8cf9e99f103c8f91ca1c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a778aba2d7130eba6150cc80cb692988a361ee4b", + "reference": "a778aba2d7130eba6150cc80cb692988a361ee4b", "shasum": "" }, "require": { @@ -12767,7 +12775,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.42" + "source": "https://github.com/symfony/yaml/tree/v6.4.45" }, "funding": [ { @@ -12787,7 +12795,7 @@ "type": "tidelift" } ], - "time": "2026-06-08T07:06:12+00:00" + "time": "2026-08-30T00:27:22+00:00" }, { "name": "twig/twig", diff --git a/config/sync/core.entity_form_display.node.evenement.default.yml b/config/sync/core.entity_form_display.node.evenement.default.yml index 5080351..7583ad2 100644 --- a/config/sync/core.entity_form_display.node.evenement.default.yml +++ b/config/sync/core.entity_form_display.node.evenement.default.yml @@ -17,6 +17,7 @@ dependencies: - image.style.thumbnail - node.type.evenement module: + - autocomplete_deluxe - datetime_range - field_group - image @@ -60,12 +61,12 @@ third_party_settings: required_fields: true group_details: children: + - status + - promote - field_type_d_evenement - field_dates - field_lieu - field_portage - - status - - promote - langcode - path - url_redirects @@ -153,7 +154,7 @@ content: third_party_settings: { } field_dates: type: daterange_default - weight: 12 + weight: 18 region: content settings: { } third_party_settings: { } @@ -185,7 +186,7 @@ content: third_party_settings: { } field_lieu: type: entity_reference_autocomplete - weight: 13 + weight: 19 region: content settings: match_operator: CONTAINS @@ -205,7 +206,7 @@ content: third_party_settings: { } field_portage: type: options_select - weight: 14 + weight: 20 region: content settings: { } third_party_settings: { } @@ -220,25 +221,32 @@ content: placeholder: '' third_party_settings: { } field_type_d_evenement: - type: entity_reference_autocomplete - weight: 11 + type: autocomplete_deluxe + weight: 17 region: content settings: match_operator: CONTAINS - match_limit: 10 + autocomplete_route_name: autocomplete_deluxe.autocomplete size: 60 - placeholder: '' + selection_handler: default + match_limit: 10 + min_length: 0 + delimiter: '' + not_found_message_allow: false + not_found_message: "The term '@term' will be added" + new_terms: false + no_empty_message: "Pour qu'un évenement puisse apparaître sur la home, il doit obligatoirement avoir un type d'évenement." third_party_settings: { } langcode: type: language_select - weight: 17 + weight: 21 region: content settings: include_locked: true third_party_settings: { } path: type: path - weight: 18 + weight: 22 region: content settings: { } third_party_settings: { } @@ -265,7 +273,7 @@ content: placeholder: '' third_party_settings: { } url_redirects: - weight: 19 + weight: 23 region: content settings: { } third_party_settings: { } diff --git a/config/sync/core.entity_form_display.node.projet.default.yml b/config/sync/core.entity_form_display.node.projet.default.yml index 6d7f55c..b29ff1f 100644 --- a/config/sync/core.entity_form_display.node.projet.default.yml +++ b/config/sync/core.entity_form_display.node.projet.default.yml @@ -47,11 +47,11 @@ third_party_settings: width_breakpoint: 640 group_details: children: + - status + - promote - field_type_de_projet - field_portage - field_dates - - status - - promote - langcode - path label: Details @@ -170,7 +170,7 @@ content: third_party_settings: { } field_dates: type: daterange_default - weight: 7 + weight: 12 region: content settings: { } third_party_settings: { } @@ -219,7 +219,7 @@ content: third_party_settings: { } field_portage: type: options_select - weight: 6 + weight: 11 region: content settings: { } third_party_settings: { } @@ -235,7 +235,7 @@ content: third_party_settings: { } field_type_de_projet: type: autocomplete_deluxe - weight: 5 + weight: 10 region: content settings: match_operator: CONTAINS @@ -248,18 +248,18 @@ content: not_found_message_allow: false not_found_message: "The term '@term' will be added" new_terms: false - no_empty_message: 'No terms could be found. Please type in order to add a new term.' + no_empty_message: "Pour qu'un projet puisse apparaître sur la home, il doit obligatoirement avoir un type de projet." third_party_settings: { } langcode: type: language_select - weight: 10 + weight: 13 region: content settings: include_locked: true third_party_settings: { } path: type: path - weight: 11 + weight: 14 region: content settings: { } third_party_settings: { } diff --git a/config/sync/field.field.node.evenement.field_type_d_evenement.yml b/config/sync/field.field.node.evenement.field_type_d_evenement.yml index d917e6d..7155e26 100644 --- a/config/sync/field.field.node.evenement.field_type_d_evenement.yml +++ b/config/sync/field.field.node.evenement.field_type_d_evenement.yml @@ -11,7 +11,7 @@ field_name: field_type_d_evenement entity_type: node bundle: evenement label: "Type d'évenement" -description: '' +description: "Pour qu'un évenement puisse apparaître sur la home, il doit obligatoirement avoir un type d'évenement" required: false translatable: false default_value: { } diff --git a/config/sync/field.field.node.projet.field_type_de_projet.yml b/config/sync/field.field.node.projet.field_type_de_projet.yml index 14e0970..f4b7e90 100644 --- a/config/sync/field.field.node.projet.field_type_de_projet.yml +++ b/config/sync/field.field.node.projet.field_type_de_projet.yml @@ -11,7 +11,7 @@ field_name: field_type_de_projet entity_type: node bundle: projet label: 'Type de projet' -description: '' +description: "Pour qu'un évenement puisse apparaître sur la home, il doit obligatoirement avoir un type de projet" required: false translatable: false default_value: { } diff --git a/config/sync/views.view.home.yml b/config/sync/views.view.home.yml index 541f122..a111b49 100644 --- a/config/sync/views.view.home.yml +++ b/config/sync/views.view.home.yml @@ -200,16 +200,7 @@ display: distinct: true replica: false query_tags: { } - relationships: - field_type_de_projet: - id: field_type_de_projet - table: node__field_type_de_projet - field: field_type_de_projet - relationship: none - group_type: group - admin_label: 'field_type_de_projet : Terme de taxonomie' - plugin_id: standard - required: false + relationships: { } header: { } footer: { } display_extenders: { } @@ -443,20 +434,18 @@ display: default_group: All default_group_multiple: { } group_items: { } - tid_raw: - id: tid_raw - table: taxonomy_term_field_data - field: tid_raw - relationship: field_type_de_projet + tid: + id: tid + table: taxonomy_index + field: tid + relationship: none group_type: group admin_label: '' - entity_type: taxonomy_term - plugin_id: numeric - operator: '=' + plugin_id: taxonomy_index_tid + operator: or value: - min: '' - max: '' - value: '1,4' + 1: 1 + 4: 4 group: 1 exposed: false expose: @@ -473,9 +462,7 @@ display: multiple: false remember_roles: authenticated: authenticated - min_placeholder: '' - max_placeholder: '' - placeholder: '' + reduce: false is_grouped: false group_info: label: '' @@ -488,6 +475,20 @@ display: default_group: All default_group_multiple: { } group_items: { } + reduce_duplicates: false + vid: type_de_projet + type: select + hierarchy: false + limit: true + error_message: true + save_lineage: false + force_deepest: false + parent: null + level_labels: '' + hierarchy_depth: 0 + required_depth: 0 + none_label: '- Please select -' + allow_unpublished: false filter_groups: operator: OR groups: @@ -607,10 +608,10 @@ display: default_group: All default_group_multiple: { } group_items: { } - field_type_de_projet_target_id_1: - id: field_type_de_projet_target_id_1 - table: node__field_type_de_projet - field: field_type_de_projet_target_id + tid: + id: tid + table: taxonomy_index + field: tid relationship: none group_type: group admin_label: '' diff --git a/patches/autocomplete_deluxe/no-empty-message-as-help-text.patch b/patches/autocomplete_deluxe/no-empty-message-as-help-text.patch new file mode 100644 index 0000000..e3a8978 --- /dev/null +++ b/patches/autocomplete_deluxe/no-empty-message-as-help-text.patch @@ -0,0 +1,81 @@ +diff --git a/assets/css/autocomplete_deluxe.gin.css b/assets/css/autocomplete_deluxe.gin.css +--- a/assets/css/autocomplete_deluxe.gin.css ++++ b/assets/css/autocomplete_deluxe.gin.css +@@ -41,3 +41,18 @@ + .autocomplete-deluxe-item .autocomplete-deluxe-item-delete:hover { + background: var(--gin-color-button-text); + } ++ ++/* Faux placeholder: show no_empty_message when no items selected. */ ++div.autocomplete-deluxe-container.autocomplete-deluxe-multiple:not(:has(.autocomplete-deluxe-item))::before { ++ content: attr(data-placeholder); ++ display: block; ++ color: var(--gin-color-text-disabled, #999); ++ pointer-events: none; ++ font-size: 0.875rem; ++ line-height: 1.3; ++ white-space: normal; ++ word-wrap: break-word; ++ padding: 0.68rem 2.5rem 0.68rem 0.93rem; ++ min-height: 3rem; ++ box-sizing: border-box; ++} +diff --git a/src/Element/AutocompleteDeluxeElement.php b/src/Element/AutocompleteDeluxeElement.php +--- a/src/Element/AutocompleteDeluxeElement.php ++++ b/src/Element/AutocompleteDeluxeElement.php +@@ -41,6 +41,7 @@ + ], + ]; + $info['#process'][] = [$class, 'processElement']; ++ $info['#theme_wrappers'] = ['form_element']; + + return $info; + } +@@ -77,19 +78,12 @@ + + $element['#after_build'][] = [get_called_class(), 'afterBuild']; + +- // Add label_display and label variables to template. +- $element['label'] = ['#theme' => 'form_element_label']; +- $element['label'] += array_intersect_key( +- $element, +- array_flip( +- [ +- '#id', +- '#required', +- '#title', +- '#title_display', +- ] +- ) +- ); ++ // Clear #description so the form_element wrapper does not render it ++ // (which would trigger Gin's help-icon toggle). ++ $element['#description'] = ''; ++ $element['#description_display'] = 'after'; ++ ++ $no_empty_message = $element['#no_empty_message'] ?? ''; + + $element['textfield'] = [ + '#disabled' => $element_disabled, +@@ -100,12 +94,11 @@ + 'aria-label' => $element['#title'] ?? '', + ], + '#default_value' => '', +- '#description' => $element['#description'] ?? '', + ]; + + // Add autocomplete deluxe container and class only if element is enabled. + if (!$element_disabled) { +- $element['textfield']['#prefix'] = '
'; ++ $element['textfield']['#prefix'] = \Drupal\Core\Render\Markup::create('
'); + $element['textfield']['#suffix'] = '
'; + $element['textfield']['#attributes']['class'][] = 'autocomplete-deluxe-form'; + } +@@ -144,7 +137,6 @@ + '#default_value' => $default_value, + '#prefix' => '
', + '#suffix' => '
', +- '#description' => $element['#description'] ?? '', + ]; + $element['textfield']['#attributes']['style'] = ['display: none']; +