From 3340fffed2e559db6c475aad4f4dc3352f54585e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Andr=C3=A9?= Date: Tue, 13 Aug 2024 09:19:17 +0200 Subject: [PATCH] [Site] UX Map page --- .env | 6 + assets/controllers.json | 6 + assets/images/ux_packages/map-1200x675.png | Bin 0 -> 72633 bytes assets/images/ux_packages/map.svg | 4 + assets/styles/components/_PackageBox.scss | 4 - assets/styles/components/_PackageHeader.scss | 4 - assets/styles/sections/_hero.scss | 3 +- composer.json | 2 + composer.lock | 831 +++++++++++-------- config/bundles.php | 1 + config/packages/ux_map.yaml | 3 + importmap.php | 13 + src/Controller/UxPackage/MapController.php | 53 ++ src/Service/UxPackageRepository.php | 39 +- src/Twig/Extension/PackageExtension.php | 34 + symfony.lock | 21 + templates/components/Hero.html.twig | 15 + templates/ux_packages/map.html.twig | 44 + templates/ux_packages/map/_aside.html.twig | 24 + templates/ux_packages/package.html.twig | 16 +- tests/Functional/UxPackagesTest.php | 3 +- 21 files changed, 757 insertions(+), 369 deletions(-) create mode 100644 assets/images/ux_packages/map-1200x675.png create mode 100644 assets/images/ux_packages/map.svg create mode 100644 config/packages/ux_map.yaml create mode 100644 src/Controller/UxPackage/MapController.php create mode 100644 src/Twig/Extension/PackageExtension.php create mode 100644 templates/components/Hero.html.twig create mode 100644 templates/ux_packages/map.html.twig create mode 100644 templates/ux_packages/map/_aside.html.twig diff --git a/.env b/.env index b891c05..8a83fbb 100644 --- a/.env +++ b/.env @@ -41,3 +41,9 @@ DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db" ###> symfony/mercure-notifier ### MERCURE_DSN=mercure://default ###< symfony/mercure-notifier ### + +###> symfony/ux-leaflet-map ### +# Options available at https://github.com/symfony/symfony-ux/blob/2.x/src/Map/src/Bridge/Leaflet/README.md +# +UX_MAP_DSN=leaflet://default +###< symfony/ux-leaflet-map ### diff --git a/assets/controllers.json b/assets/controllers.json index 4850799..af11d32 100644 --- a/assets/controllers.json +++ b/assets/controllers.json @@ -42,6 +42,12 @@ "fetch": "lazy" } }, + "@symfony/ux-leaflet-map": { + "map": { + "enabled": true, + "fetch": "lazy" + } + }, "@symfony/ux-live-component": { "live": { "enabled": true, diff --git a/assets/images/ux_packages/map-1200x675.png b/assets/images/ux_packages/map-1200x675.png new file mode 100644 index 0000000000000000000000000000000000000000..6705ccf231bbf9f69df6f22b84de953c15925f1e GIT binary patch literal 72633 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 + + + diff --git a/assets/styles/components/_PackageBox.scss b/assets/styles/components/_PackageBox.scss index 9fd414a..7cb39b3 100644 --- a/assets/styles/components/_PackageBox.scss +++ b/assets/styles/components/_PackageBox.scss @@ -77,10 +77,6 @@ justify-content: center; flex-shrink: 0; - [data-bs-theme="dark"] & { - background-blend-mode: darken; - } - img { width: calc(0.4 * var(--logo-size)); height: auto; diff --git a/assets/styles/components/_PackageHeader.scss b/assets/styles/components/_PackageHeader.scss index 2e52064..7d2d649 100644 --- a/assets/styles/components/_PackageHeader.scss +++ b/assets/styles/components/_PackageHeader.scss @@ -15,8 +15,4 @@ .AppHeader + * & { padding-top: 3rem; } - - [data-bs-theme="dark"] & { - background-blend-mode: hue !important; - } } diff --git a/assets/styles/sections/_hero.scss b/assets/styles/sections/_hero.scss index 14e5ef8..46f8a9d 100644 --- a/assets/styles/sections/_hero.scss +++ b/assets/styles/sections/_hero.scss @@ -16,7 +16,8 @@ } .hero-sub-text { - width: 35%; + width: 40%; + text-wrap: balance; } @media (max-width: 1114px) { diff --git a/composer.json b/composer.json index f9c3508..31d5390 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,9 @@ "symfony/ux-dropzone": "2.x-dev", "symfony/ux-icons": "2.x-dev", "symfony/ux-lazy-image": "2.x-dev", + "symfony/ux-leaflet-map": "2.x-dev", "symfony/ux-live-component": "2.x-dev", + "symfony/ux-map": "2.x-dev", "symfony/ux-notify": "2.x-dev", "symfony/ux-react": "2.x-dev", "symfony/ux-svelte": "2.x-dev", diff --git a/composer.lock b/composer.lock index f5ea798..472010b 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": "6c9986b190fc86da65ae0b0af0c28c0c", + "content-hash": "d62f8ee7016044332d5d972f4bd06b5a", "packages": [ { "name": "composer/semver", - "version": "3.4.0", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", "shasum": "" }, "require": { @@ -69,7 +69,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.0" + "source": "https://github.com/composer/semver/tree/3.4.2" }, "funding": [ { @@ -85,20 +85,20 @@ "type": "tidelift" } ], - "time": "2023-08-31T09:50:34+00:00" + "time": "2024-07-12T11:35:52+00:00" }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -158,9 +158,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/cache", @@ -434,16 +434,16 @@ }, { "name": "doctrine/dbal", - "version": "3.8.6", + "version": "3.8.7", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1" + "reference": "2093d670ca17f634f3c095ec10a20687eccebd99" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1", - "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/2093d670ca17f634f3c095ec10a20687eccebd99", + "reference": "2093d670ca17f634f3c095ec10a20687eccebd99", "shasum": "" }, "require": { @@ -459,12 +459,12 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.5", + "phpstan/phpstan": "1.11.7", "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "9.6.19", + "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.10.1", + "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" @@ -527,7 +527,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.6" + "source": "https://github.com/doctrine/dbal/tree/3.8.7" }, "funding": [ { @@ -543,7 +543,7 @@ "type": "tidelift" } ], - "time": "2024-06-19T10:38:17+00:00" + "time": "2024-08-07T11:57:25+00:00" }, { "name": "doctrine/deprecations", @@ -1435,16 +1435,16 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.4.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc" + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d1ac84aef745c69ea034929eb6d65a6908b675cc", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/7f83911cc5eba870de7ebb11283972483f7e2891", + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891", "shasum": "" }, "require": { @@ -1484,22 +1484,22 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.4.0" + "source": "https://github.com/doctrine/sql-formatter/tree/1.4.1" }, - "time": "2024-05-08T08:12:09+00:00" + "time": "2024-08-05T20:32:22+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -1514,8 +1514,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1586,7 +1586,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -1602,7 +1602,7 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "intervention/image", @@ -1811,16 +1811,16 @@ }, { "name": "league/commonmark", - "version": "2.4.2", + "version": "2.5.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + "reference": "df09d5b6a4188f8f3c3ab2e43a109076a5eeb767" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/df09d5b6a4188f8f3c3ab2e43a109076a5eeb767", + "reference": "df09d5b6a4188f8f3c3ab2e43a109076a5eeb767", "shasum": "" }, "require": { @@ -1833,8 +1833,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.3", - "commonmark/commonmark.js": "0.30.0", + "commonmark/cmark": "0.31.0", + "commonmark/commonmark.js": "0.31.0", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -1856,7 +1856,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "2.6-dev" } }, "autoload": { @@ -1913,7 +1913,7 @@ "type": "tidelift" } ], - "time": "2024-02-02T11:59:32+00:00" + "time": "2024-08-14T10:56:57+00:00" }, { "name": "league/config", @@ -2162,20 +2162,20 @@ }, { "name": "nette/utils", - "version": "v4.0.4", + "version": "v4.0.5", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", "shasum": "" }, "require": { - "php": ">=8.0 <8.4" + "php": "8.0 - 8.4" }, "conflict": { "nette/finder": "<3", @@ -2242,9 +2242,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" + "source": "https://github.com/nette/utils/tree/v4.0.5" }, - "time": "2024-01-17T16:50:36+00:00" + "time": "2024-08-07T15:39:19+00:00" }, { "name": "psr/cache", @@ -2775,16 +2775,16 @@ }, { "name": "symfony/asset-mapper", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/asset-mapper.git", - "reference": "5a388ee31d6536103b8a6a9d4e63b18670578fe0" + "reference": "b496ba0c1ca69abbbc2413b853decad2eed9a74b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/5a388ee31d6536103b8a6a9d4e63b18670578fe0", - "reference": "5a388ee31d6536103b8a6a9d4e63b18670578fe0", + "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/b496ba0c1ca69abbbc2413b853decad2eed9a74b", + "reference": "b496ba0c1ca69abbbc2413b853decad2eed9a74b", "shasum": "" }, "require": { @@ -2834,7 +2834,7 @@ "description": "Maps directories of assets & makes them available in a public directory with versioned filenames.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset-mapper/tree/v7.1.2" + "source": "https://github.com/symfony/asset-mapper/tree/v7.1.3" }, "funding": [ { @@ -2850,20 +2850,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-07-09T19:36:07+00:00" }, { "name": "symfony/cache", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "e933e1d947ffb88efcdd34a2bd51561cab7deaae" + "reference": "8ac37acee794372f9732fe8a61a8221f6762148e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/e933e1d947ffb88efcdd34a2bd51561cab7deaae", - "reference": "e933e1d947ffb88efcdd34a2bd51561cab7deaae", + "url": "https://api.github.com/repos/symfony/cache/zipball/8ac37acee794372f9732fe8a61a8221f6762148e", + "reference": "8ac37acee794372f9732fe8a61a8221f6762148e", "shasum": "" }, "require": { @@ -2931,7 +2931,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.1.2" + "source": "https://github.com/symfony/cache/tree/v7.1.3" }, "funding": [ { @@ -2947,7 +2947,7 @@ "type": "tidelift" } ], - "time": "2024-06-11T13:32:38+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/cache-contracts", @@ -3195,16 +3195,16 @@ }, { "name": "symfony/dependency-injection", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "6e108cded928bdafaf1da3fabe30dd5af20e36b9" + "reference": "8126f0be4ff984e4db0140e60917900a53facb49" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6e108cded928bdafaf1da3fabe30dd5af20e36b9", - "reference": "6e108cded928bdafaf1da3fabe30dd5af20e36b9", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8126f0be4ff984e4db0140e60917900a53facb49", + "reference": "8126f0be4ff984e4db0140e60917900a53facb49", "shasum": "" }, "require": { @@ -3255,7 +3255,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/v7.1.2" + "source": "https://github.com/symfony/dependency-injection/tree/v7.1.3" }, "funding": [ { @@ -3271,7 +3271,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T10:03:55+00:00" + "time": "2024-07-26T07:35:39+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3342,16 +3342,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "9fc4bebf69f00d4ebb12ee904d808b496035e2f6" + "reference": "b526822483124b62ff3cda14237418408f444e4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/9fc4bebf69f00d4ebb12ee904d808b496035e2f6", - "reference": "9fc4bebf69f00d4ebb12ee904d808b496035e2f6", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/b526822483124b62ff3cda14237418408f444e4d", + "reference": "b526822483124b62ff3cda14237418408f444e4d", "shasum": "" }, "require": { @@ -3430,7 +3430,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.2" + "source": "https://github.com/symfony/doctrine-bridge/tree/v7.1.3" }, "funding": [ { @@ -3446,20 +3446,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T09:27:18+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/dotenv", - "version": "v7.1.1", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede" + "reference": "a26be30fd61678dab694a18a85084cea7673bbf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/efa715ec40c098f2fba62444f4fd75d0d4248ede", - "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/a26be30fd61678dab694a18a85084cea7673bbf3", + "reference": "a26be30fd61678dab694a18a85084cea7673bbf3", "shasum": "" }, "require": { @@ -3504,7 +3504,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v7.1.1" + "source": "https://github.com/symfony/dotenv/tree/v7.1.3" }, "funding": [ { @@ -3520,20 +3520,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-07-09T19:36:07+00:00" }, { "name": "symfony/error-handler", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32" + "reference": "432bb369952795c61ca1def65e078c4a80dad13c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/2412d3dddb5c9ea51a39cfbff1c565fc9844ca32", - "reference": "2412d3dddb5c9ea51a39cfbff1c565fc9844ca32", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/432bb369952795c61ca1def65e078c4a80dad13c", + "reference": "432bb369952795c61ca1def65e078c4a80dad13c", "shasum": "" }, "require": { @@ -3579,7 +3579,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/v7.1.2" + "source": "https://github.com/symfony/error-handler/tree/v7.1.3" }, "funding": [ { @@ -3595,7 +3595,7 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-07-26T13:02:51+00:00" }, { "name": "symfony/event-dispatcher", @@ -3949,16 +3949,16 @@ }, { "name": "symfony/flex", - "version": "v2.4.5", + "version": "v2.4.6", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" + "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", + "url": "https://api.github.com/repos/symfony/flex/zipball/4dc11919791f81d087a12db2ab4c7e044431ef6b", + "reference": "4dc11919791f81d087a12db2ab4c7e044431ef6b", "shasum": "" }, "require": { @@ -3994,7 +3994,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.5" + "source": "https://github.com/symfony/flex/tree/v2.4.6" }, "funding": [ { @@ -4010,20 +4010,20 @@ "type": "tidelift" } ], - "time": "2024-03-02T08:16:47+00:00" + "time": "2024-04-27T10:22:22+00:00" }, { "name": "symfony/form", - "version": "v7.1.1", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "b23a44f0edaceb8d70b0e7f8937feae81e6dede5" + "reference": "11df2e2e142161824eb341e96cbb3c56c3bb57dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/b23a44f0edaceb8d70b0e7f8937feae81e6dede5", - "reference": "b23a44f0edaceb8d70b0e7f8937feae81e6dede5", + "url": "https://api.github.com/repos/symfony/form/zipball/11df2e2e142161824eb341e96cbb3c56c3bb57dc", + "reference": "11df2e2e142161824eb341e96cbb3c56c3bb57dc", "shasum": "" }, "require": { @@ -4091,7 +4091,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v7.1.1" + "source": "https://github.com/symfony/form/tree/v7.1.3" }, "funding": [ { @@ -4107,20 +4107,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-07-19T08:30:01+00:00" }, { "name": "symfony/framework-bundle", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "54a84f49658e2e87167396b2259a55e55e11f4a2" + "reference": "a32ec544bd501eb4619eb977860ad3076ee55061" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/54a84f49658e2e87167396b2259a55e55e11f4a2", - "reference": "54a84f49658e2e87167396b2259a55e55e11f4a2", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/a32ec544bd501eb4619eb977860ad3076ee55061", + "reference": "a32ec544bd501eb4619eb977860ad3076ee55061", "shasum": "" }, "require": { @@ -4238,7 +4238,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.1.2" + "source": "https://github.com/symfony/framework-bundle/tree/v7.1.3" }, "funding": [ { @@ -4254,20 +4254,20 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-07-26T13:24:34+00:00" }, { "name": "symfony/http-client", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "90ace27d17ccc9afc6f7ec0081e8529fb0e29425" + "reference": "b79858aa7a051ea791b0d50269a234a0b50cb231" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/90ace27d17ccc9afc6f7ec0081e8529fb0e29425", - "reference": "90ace27d17ccc9afc6f7ec0081e8529fb0e29425", + "url": "https://api.github.com/repos/symfony/http-client/zipball/b79858aa7a051ea791b0d50269a234a0b50cb231", + "reference": "b79858aa7a051ea791b0d50269a234a0b50cb231", "shasum": "" }, "require": { @@ -4332,7 +4332,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.1.2" + "source": "https://github.com/symfony/http-client/tree/v7.1.3" }, "funding": [ { @@ -4348,7 +4348,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/http-client-contracts", @@ -4430,16 +4430,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.1.1", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa" + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/74d171d5b6a1d9e4bfee09a41937c17a7536acfa", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", + "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a", "shasum": "" }, "require": { @@ -4487,7 +4487,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.1" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.3" }, "funding": [ { @@ -4503,20 +4503,20 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6" + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6", - "reference": "ae3fa717db4d41a55d14c2bd92399e37cf5bc0f6", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/db9702f3a04cc471ec8c70e881825db26ac5f186", + "reference": "db9702f3a04cc471ec8c70e881825db26ac5f186", "shasum": "" }, "require": { @@ -4601,7 +4601,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/v7.1.2" + "source": "https://github.com/symfony/http-kernel/tree/v7.1.3" }, "funding": [ { @@ -4617,7 +4617,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T13:13:31+00:00" + "time": "2024-07-26T14:58:15+00:00" }, { "name": "symfony/intl", @@ -5108,12 +5108,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/monolog-bundle.git", - "reference": "06ddd76fd24dcf325a61e826b5c799e4b929422e" + "reference": "ed0e4a287282971d110fd8c99d9ac391559a43ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/06ddd76fd24dcf325a61e826b5c799e4b929422e", - "reference": "06ddd76fd24dcf325a61e826b5c799e4b929422e", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/ed0e4a287282971d110fd8c99d9ac391559a43ce", + "reference": "ed0e4a287282971d110fd8c99d9ac391559a43ce", "shasum": "" }, "require": { @@ -5126,7 +5126,7 @@ }, "require-dev": { "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/phpunit-bridge": "^6.3 || ^7.0", + "symfony/phpunit-bridge": "^7.1", "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "default-branch": true, @@ -5182,7 +5182,7 @@ "type": "tidelift" } ], - "time": "2023-11-09T09:49:27+00:00" + "time": "2024-08-06T10:03:39+00:00" }, { "name": "symfony/notifier", @@ -5954,16 +5954,16 @@ }, { "name": "symfony/property-info", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16" + "reference": "88a279df2db5b7919cac6f35d6a5d1d7147e6a9b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/d7b91e4aa07e822a9b935fc29a7254c12d502f16", - "reference": "d7b91e4aa07e822a9b935fc29a7254c12d502f16", + "url": "https://api.github.com/repos/symfony/property-info/zipball/88a279df2db5b7919cac6f35d6a5d1d7147e6a9b", + "reference": "88a279df2db5b7919cac6f35d6a5d1d7147e6a9b", "shasum": "" }, "require": { @@ -6018,7 +6018,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.1.2" + "source": "https://github.com/symfony/property-info/tree/v7.1.3" }, "funding": [ { @@ -6034,20 +6034,20 @@ "type": "tidelift" } ], - "time": "2024-06-26T07:21:35+00:00" + "time": "2024-07-26T07:36:36+00:00" }, { "name": "symfony/routing", - "version": "v7.1.1", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0" + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/60c31bab5c45af7f13091b87deb708830f3c96c0", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0", + "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", + "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0", "shasum": "" }, "require": { @@ -6099,7 +6099,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.1" + "source": "https://github.com/symfony/routing/tree/v7.1.3" }, "funding": [ { @@ -6115,7 +6115,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/runtime", @@ -6198,16 +6198,16 @@ }, { "name": "symfony/serializer", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "d2077674aaaff02a95f290de512aa358947e6bbe" + "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/d2077674aaaff02a95f290de512aa358947e6bbe", - "reference": "d2077674aaaff02a95f290de512aa358947e6bbe", + "url": "https://api.github.com/repos/symfony/serializer/zipball/0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", + "reference": "0d5ddac365fbfffc30ca9bc944ad3eb9b3763c09", "shasum": "" }, "require": { @@ -6275,7 +6275,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/v7.1.2" + "source": "https://github.com/symfony/serializer/tree/v7.1.3" }, "funding": [ { @@ -6291,7 +6291,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T07:42:43+00:00" + "time": "2024-07-17T06:10:24+00:00" }, { "name": "symfony/service-contracts", @@ -6382,12 +6382,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/stimulus-bundle.git", - "reference": "014a5842e9f3bebd7634b347f430f48859c25453" + "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/014a5842e9f3bebd7634b347f430f48859c25453", - "reference": "014a5842e9f3bebd7634b347f430f48859c25453", + "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/5e2e1aff3e7cff2875e2f901437543fda9ca9910", + "reference": "5e2e1aff3e7cff2875e2f901437543fda9ca9910", "shasum": "" }, "require": { @@ -6428,7 +6428,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/stimulus-bundle/tree/2.x" + "source": "https://github.com/symfony/stimulus-bundle/tree/v2.19.0" }, "funding": [ { @@ -6444,7 +6444,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:44:37+00:00" + "time": "2024-07-30T19:26:23+00:00" }, { "name": "symfony/stopwatch", @@ -6597,16 +6597,16 @@ }, { "name": "symfony/translation", - "version": "v7.1.1", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3" + "reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3", - "reference": "cf5ae136e124fc7681b34ce9fac9d5b9ae8ceee3", + "url": "https://api.github.com/repos/symfony/translation/zipball/8d5e50c813ba2859a6dfc99a0765c550507934a1", + "reference": "8d5e50c813ba2859a6dfc99a0765c550507934a1", "shasum": "" }, "require": { @@ -6671,7 +6671,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.1.1" + "source": "https://github.com/symfony/translation/tree/v7.1.3" }, "funding": [ { @@ -6687,7 +6687,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/translation-contracts", @@ -7122,12 +7122,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-autocomplete.git", - "reference": "469aa74f04f48b5720ed7664311daab635dd6d74" + "reference": "ef15862c55e15a2225587e8b226df21561d36c7c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-autocomplete/zipball/469aa74f04f48b5720ed7664311daab635dd6d74", - "reference": "469aa74f04f48b5720ed7664311daab635dd6d74", + "url": "https://api.github.com/repos/symfony/ux-autocomplete/zipball/ef15862c55e15a2225587e8b226df21561d36c7c", + "reference": "ef15862c55e15a2225587e8b226df21561d36c7c", "shasum": "" }, "require": { @@ -7191,7 +7191,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-autocomplete/tree/2.x" + "source": "https://github.com/symfony/ux-autocomplete/tree/v2.19.2" }, "funding": [ { @@ -7207,7 +7207,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:44:37+00:00" + "time": "2024-08-13T14:54:57+00:00" }, { "name": "symfony/ux-chartjs", @@ -7215,12 +7215,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-chartjs.git", - "reference": "3e7eefe88e1aa7aaf70d1fb14469cbf586a4cb5e" + "reference": "a16c8272e8e9d362c0f3b4d70742747e26d66147" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-chartjs/zipball/3e7eefe88e1aa7aaf70d1fb14469cbf586a4cb5e", - "reference": "3e7eefe88e1aa7aaf70d1fb14469cbf586a4cb5e", + "url": "https://api.github.com/repos/symfony/ux-chartjs/zipball/a16c8272e8e9d362c0f3b4d70742747e26d66147", + "reference": "a16c8272e8e9d362c0f3b4d70742747e26d66147", "shasum": "" }, "require": { @@ -7288,7 +7288,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-cropperjs", @@ -7296,12 +7296,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-cropperjs.git", - "reference": "00e20b8edeac93a64f2c44b09d1bfdb6d52d1200" + "reference": "c378ebc567bac63fb6f5811c8cd0a91c19560805" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-cropperjs/zipball/00e20b8edeac93a64f2c44b09d1bfdb6d52d1200", - "reference": "00e20b8edeac93a64f2c44b09d1bfdb6d52d1200", + "url": "https://api.github.com/repos/symfony/ux-cropperjs/zipball/c378ebc567bac63fb6f5811c8cd0a91c19560805", + "reference": "c378ebc567bac63fb6f5811c8cd0a91c19560805", "shasum": "" }, "require": { @@ -7358,7 +7358,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-cropperjs/tree/v2.18.0" + "source": "https://github.com/symfony/ux-cropperjs/tree/2.x" }, "funding": [ { @@ -7374,7 +7374,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:50:16+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-dropzone", @@ -7382,12 +7382,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-dropzone.git", - "reference": "39d875766aa90edf957532c0c95808b4cf64fb0c" + "reference": "aacd654a9b344d574fa55d572fea9330aa47ece5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-dropzone/zipball/39d875766aa90edf957532c0c95808b4cf64fb0c", - "reference": "39d875766aa90edf957532c0c95808b4cf64fb0c", + "url": "https://api.github.com/repos/symfony/ux-dropzone/zipball/aacd654a9b344d574fa55d572fea9330aa47ece5", + "reference": "aacd654a9b344d574fa55d572fea9330aa47ece5", "shasum": "" }, "require": { @@ -7438,7 +7438,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-dropzone/tree/v2.18.0" + "source": "https://github.com/symfony/ux-dropzone/tree/2.x" }, "funding": [ { @@ -7454,7 +7454,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:50:16+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-icons", @@ -7462,12 +7462,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-icons.git", - "reference": "3b5db367288b804e1d43550a966ee5e460f59ad4" + "reference": "c4826439f464c23cc0c2e2a997252100d6049daa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-icons/zipball/3b5db367288b804e1d43550a966ee5e460f59ad4", - "reference": "3b5db367288b804e1d43550a966ee5e460f59ad4", + "url": "https://api.github.com/repos/symfony/ux-icons/zipball/c4826439f464c23cc0c2e2a997252100d6049daa", + "reference": "c4826439f464c23cc0c2e2a997252100d6049daa", "shasum": "" }, "require": { @@ -7479,6 +7479,7 @@ "symfony/flex": "<1.13" }, "require-dev": { + "psr/log": "^2|^3", "symfony/asset-mapper": "^6.4|^7.0", "symfony/console": "^6.4|^7.0", "symfony/http-client": "6.4|^7.0", @@ -7526,7 +7527,7 @@ "twig" ], "support": { - "source": "https://github.com/symfony/ux-icons/tree/2.x" + "source": "https://github.com/symfony/ux-icons/tree/v2.19.0" }, "funding": [ { @@ -7542,7 +7543,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-07T13:07:19+00:00" }, { "name": "symfony/ux-lazy-image", @@ -7550,12 +7551,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-lazy-image.git", - "reference": "e762ea418388dd7b3ad5ff3ef903be5070b441bd" + "reference": "bc8b7eb24a85d624f1012d034f6710dd4dbd1689" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-lazy-image/zipball/e762ea418388dd7b3ad5ff3ef903be5070b441bd", - "reference": "e762ea418388dd7b3ad5ff3ef903be5070b441bd", + "url": "https://api.github.com/repos/symfony/ux-lazy-image/zipball/bc8b7eb24a85d624f1012d034f6710dd4dbd1689", + "reference": "bc8b7eb24a85d624f1012d034f6710dd4dbd1689", "shasum": "" }, "require": { @@ -7606,7 +7607,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-lazy-image/tree/v2.18.0" + "source": "https://github.com/symfony/ux-lazy-image/tree/2.x" }, "funding": [ { @@ -7622,7 +7623,76 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:58:20+00:00" + "time": "2024-08-14T04:55:38+00:00" + }, + { + "name": "symfony/ux-leaflet-map", + "version": "2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/ux-leaflet-map.git", + "reference": "b5f6a7d053646c0d7272cde50822e1d1240139f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/ux-leaflet-map/zipball/b5f6a7d053646c0d7272cde50822e1d1240139f0", + "reference": "b5f6a7d053646c0d7272cde50822e1d1240139f0", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "symfony/ux-map": "^2.19" + }, + "require-dev": { + "symfony/phpunit-bridge": "^6.4|^7.0" + }, + "default-branch": true, + "type": "symfony-ux-map-bridge", + "autoload": { + "psr-4": { + "Symfony\\UX\\Map\\Bridge\\Leaflet\\": "src/" + }, + "exclude-from-classmap": [] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hugo Alliaume", + "email": "hugo@alliau.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony UX Map Leaflet Bridge", + "homepage": "https://symfony.com", + "keywords": [ + "leaflet", + "map", + "symfony-ux" + ], + "support": { + "source": "https://github.com/symfony/ux-leaflet-map/tree/v2.19.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-08-13T14:54:07+00:00" }, { "name": "symfony/ux-live-component", @@ -7630,17 +7700,18 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-live-component.git", - "reference": "61fdca3036cf3f0718e6476b213acefa645eef61" + "reference": "9b292543eed8ae0d760d7f5e5397e91e632f2cf5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-live-component/zipball/61fdca3036cf3f0718e6476b213acefa645eef61", - "reference": "61fdca3036cf3f0718e6476b213acefa645eef61", + "url": "https://api.github.com/repos/symfony/ux-live-component/zipball/9b292543eed8ae0d760d7f5e5397e91e632f2cf5", + "reference": "9b292543eed8ae0d760d7f5e5397e91e632f2cf5", "shasum": "" }, "require": { "php": ">=8.1", "symfony/property-access": "^5.4.5|^6.0|^7.0", + "symfony/stimulus-bundle": "^2.9", "symfony/ux-twig-component": "^2.8", "twig/twig": "^3.8.0" }, @@ -7699,7 +7770,7 @@ "twig" ], "support": { - "source": "https://github.com/symfony/ux-live-component/tree/2.x" + "source": "https://github.com/symfony/ux-live-component/tree/v2.19.2" }, "funding": [ { @@ -7715,7 +7786,86 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:45:21+00:00" + "time": "2024-08-11T12:24:16+00:00" + }, + { + "name": "symfony/ux-map", + "version": "2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/ux-map.git", + "reference": "216594c4bed747b9a580d5f92cdd331152d94c00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/ux-map/zipball/216594c4bed747b9a580d5f92cdd331152d94c00", + "reference": "216594c4bed747b9a580d5f92cdd331152d94c00", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "symfony/stimulus-bundle": "^2.18.1" + }, + "require-dev": { + "symfony/asset-mapper": "^6.4|^7.0", + "symfony/framework-bundle": "^6.4|^7.0", + "symfony/phpunit-bridge": "^6.4|^7.0", + "symfony/twig-bundle": "^6.4|^7.0" + }, + "default-branch": true, + "type": "symfony-bundle", + "extra": { + "thanks": { + "name": "symfony/ux", + "url": "https://github.com/symfony/ux" + } + }, + "autoload": { + "psr-4": { + "Symfony\\UX\\Map\\": "src/" + }, + "exclude-from-classmap": [] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Hugo Alliaume", + "email": "hugo@alliau.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Easily embed interactive maps in your Symfony application", + "homepage": "https://symfony.com", + "keywords": [ + "map", + "maps", + "markers", + "symfony-ux" + ], + "support": { + "source": "https://github.com/symfony/ux-map/tree/2.x" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-08-14T11:50:02+00:00" }, { "name": "symfony/ux-notify", @@ -7723,12 +7873,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-notify.git", - "reference": "8394cbc0a29a2e0e0c864e5aa9d5e24b6828f8af" + "reference": "001e7867e46a3f090c5523741aa576b3404c1bea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-notify/zipball/8394cbc0a29a2e0e0c864e5aa9d5e24b6828f8af", - "reference": "8394cbc0a29a2e0e0c864e5aa9d5e24b6828f8af", + "url": "https://api.github.com/repos/symfony/ux-notify/zipball/001e7867e46a3f090c5523741aa576b3404c1bea", + "reference": "001e7867e46a3f090c5523741aa576b3404c1bea", "shasum": "" }, "require": { @@ -7798,7 +7948,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-react", @@ -7806,12 +7956,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-react.git", - "reference": "ec8926aa99ad31653230d4a99d0fc2c190fc007a" + "reference": "6518cecc62c800b1ece02b70d1dec0067d012495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-react/zipball/ec8926aa99ad31653230d4a99d0fc2c190fc007a", - "reference": "ec8926aa99ad31653230d4a99d0fc2c190fc007a", + "url": "https://api.github.com/repos/symfony/ux-react/zipball/6518cecc62c800b1ece02b70d1dec0067d012495", + "reference": "6518cecc62c800b1ece02b70d1dec0067d012495", "shasum": "" }, "require": { @@ -7875,7 +8025,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-svelte", @@ -7883,12 +8033,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-svelte.git", - "reference": "22f7bdec063beac3e5db577719033a7a7d401479" + "reference": "cbd401041a605e14010a82066b378a0be01734e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-svelte/zipball/22f7bdec063beac3e5db577719033a7a7d401479", - "reference": "22f7bdec063beac3e5db577719033a7a7d401479", + "url": "https://api.github.com/repos/symfony/ux-svelte/zipball/cbd401041a605e14010a82066b378a0be01734e8", + "reference": "cbd401041a605e14010a82066b378a0be01734e8", "shasum": "" }, "require": { @@ -7956,7 +8106,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-swup", @@ -7964,12 +8114,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-swup.git", - "reference": "208f26399b594613a0eb18dcf6117f67a691a2c4" + "reference": "a976f3811329436022f369cef48475be4895002b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-swup/zipball/208f26399b594613a0eb18dcf6117f67a691a2c4", - "reference": "208f26399b594613a0eb18dcf6117f67a691a2c4", + "url": "https://api.github.com/repos/symfony/ux-swup/zipball/a976f3811329436022f369cef48475be4895002b", + "reference": "a976f3811329436022f369cef48475be4895002b", "shasum": "" }, "conflict": { @@ -8008,7 +8158,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-swup/tree/v2.18.0" + "source": "https://github.com/symfony/ux-swup/tree/2.x" }, "funding": [ { @@ -8024,7 +8174,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:50:16+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-toggle-password", @@ -8032,12 +8182,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-toggle-password.git", - "reference": "d1a3861db9e8d44842b3620e59083bd65d9bcaf6" + "reference": "4d7d9a70bac309c8e388b09528094a59cd1a01ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-toggle-password/zipball/d1a3861db9e8d44842b3620e59083bd65d9bcaf6", - "reference": "d1a3861db9e8d44842b3620e59083bd65d9bcaf6", + "url": "https://api.github.com/repos/symfony/ux-toggle-password/zipball/4d7d9a70bac309c8e388b09528094a59cd1a01ab", + "reference": "4d7d9a70bac309c8e388b09528094a59cd1a01ab", "shasum": "" }, "require": { @@ -8105,7 +8255,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:44:37+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-translator", @@ -8113,12 +8263,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-translator.git", - "reference": "2425cf0f38b1dc5342aaa18eac4fa19a12696cfa" + "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-translator/zipball/2425cf0f38b1dc5342aaa18eac4fa19a12696cfa", - "reference": "2425cf0f38b1dc5342aaa18eac4fa19a12696cfa", + "url": "https://api.github.com/repos/symfony/ux-translator/zipball/2c0027a4aeda6a9c58db7428862c778e106c12a1", + "reference": "2c0027a4aeda6a9c58db7428862c778e106c12a1", "shasum": "" }, "require": { @@ -8182,7 +8332,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T14:09:20+00:00" }, { "name": "symfony/ux-turbo", @@ -8190,12 +8340,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-turbo.git", - "reference": "de54d0d44b4825953891d9de44bcb5e9668773c6" + "reference": "4a38f267193017958d487171c0a86e64f36164a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/de54d0d44b4825953891d9de44bcb5e9668773c6", - "reference": "de54d0d44b4825953891d9de44bcb5e9668773c6", + "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/4a38f267193017958d487171c0a86e64f36164a3", + "reference": "4a38f267193017958d487171c0a86e64f36164a3", "shasum": "" }, "require": { @@ -8280,7 +8430,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T21:12:36+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-twig-component", @@ -8288,12 +8438,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-twig-component.git", - "reference": "15504740c134a69640d30833cb1c37b81a9382ba" + "reference": "7f8d4891e8e3a3303de11bfc7224b176a23a2c1c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-twig-component/zipball/15504740c134a69640d30833cb1c37b81a9382ba", - "reference": "15504740c134a69640d30833cb1c37b81a9382ba", + "url": "https://api.github.com/repos/symfony/ux-twig-component/zipball/7f8d4891e8e3a3303de11bfc7224b176a23a2c1c", + "reference": "7f8d4891e8e3a3303de11bfc7224b176a23a2c1c", "shasum": "" }, "require": { @@ -8349,7 +8499,7 @@ "twig" ], "support": { - "source": "https://github.com/symfony/ux-twig-component/tree/2.x" + "source": "https://github.com/symfony/ux-twig-component/tree/v2.19.2" }, "funding": [ { @@ -8365,7 +8515,7 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:34:38+00:00" + "time": "2024-08-13T03:00:01+00:00" }, { "name": "symfony/ux-typed", @@ -8373,12 +8523,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-typed.git", - "reference": "c9b4eaf886794a8f15e41b62922498d43b235e8f" + "reference": "0aad58dd4fd713821e14cf897fe8b32d83ec3299" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-typed/zipball/c9b4eaf886794a8f15e41b62922498d43b235e8f", - "reference": "c9b4eaf886794a8f15e41b62922498d43b235e8f", + "url": "https://api.github.com/repos/symfony/ux-typed/zipball/0aad58dd4fd713821e14cf897fe8b32d83ec3299", + "reference": "0aad58dd4fd713821e14cf897fe8b32d83ec3299", "shasum": "" }, "conflict": { @@ -8417,7 +8567,7 @@ "symfony-ux" ], "support": { - "source": "https://github.com/symfony/ux-typed/tree/v2.18.0" + "source": "https://github.com/symfony/ux-typed/tree/2.x" }, "funding": [ { @@ -8433,7 +8583,7 @@ "type": "tidelift" } ], - "time": "2024-06-01T17:50:16+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/ux-vue", @@ -8441,12 +8591,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/ux-vue.git", - "reference": "8f3df3b3df6437acf565b626e1b793c3f74f45ce" + "reference": "3f2966b0677f2b025bf3966fc50ee8e43f8f1caf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ux-vue/zipball/8f3df3b3df6437acf565b626e1b793c3f74f45ce", - "reference": "8f3df3b3df6437acf565b626e1b793c3f74f45ce", + "url": "https://api.github.com/repos/symfony/ux-vue/zipball/3f2966b0677f2b025bf3966fc50ee8e43f8f1caf", + "reference": "3f2966b0677f2b025bf3966fc50ee8e43f8f1caf", "shasum": "" }, "require": { @@ -8514,20 +8664,20 @@ "type": "tidelift" } ], - "time": "2024-06-26T14:05:06+00:00" + "time": "2024-08-14T04:55:38+00:00" }, { "name": "symfony/validator", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "bed12b7d5bd4dac452db5fa6203331c876b489e7" + "reference": "ba711a6cfc008544dad059abb3c1d997f1472237" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/bed12b7d5bd4dac452db5fa6203331c876b489e7", - "reference": "bed12b7d5bd4dac452db5fa6203331c876b489e7", + "url": "https://api.github.com/repos/symfony/validator/zipball/ba711a6cfc008544dad059abb3c1d997f1472237", + "reference": "ba711a6cfc008544dad059abb3c1d997f1472237", "shasum": "" }, "require": { @@ -8595,7 +8745,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v7.1.2" + "source": "https://github.com/symfony/validator/tree/v7.1.3" }, "funding": [ { @@ -8611,20 +8761,20 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d" + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/5857c57c6b4b86524c08cf4f4bc95327270a816d", - "reference": "5857c57c6b4b86524c08cf4f4bc95327270a816d", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/86af4617cca75a6e28598f49ae0690f3b9d4591f", + "reference": "86af4617cca75a6e28598f49ae0690f3b9d4591f", "shasum": "" }, "require": { @@ -8678,7 +8828,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.2" + "source": "https://github.com/symfony/var-dumper/tree/v7.1.3" }, "funding": [ { @@ -8694,7 +8844,7 @@ "type": "tidelift" } ], - "time": "2024-06-28T08:00:31+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/var-exporter", @@ -9037,16 +9187,16 @@ }, { "name": "tempest/highlight", - "version": "2.7.0", + "version": "2.8.2", "source": { "type": "git", "url": "https://github.com/tempestphp/highlight.git", - "reference": "ea8bb975aeef56e6c01ee471a77aa8bd8f4c07fb" + "reference": "7901d5f3d632fdcd3a0c1c360af7bfdcf8785f65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tempestphp/highlight/zipball/ea8bb975aeef56e6c01ee471a77aa8bd8f4c07fb", - "reference": "ea8bb975aeef56e6c01ee471a77aa8bd8f4c07fb", + "url": "https://api.github.com/repos/tempestphp/highlight/zipball/7901d5f3d632fdcd3a0c1c360af7bfdcf8785f65", + "reference": "7901d5f3d632fdcd3a0c1c360af7bfdcf8785f65", "shasum": "" }, "require": { @@ -9055,10 +9205,10 @@ "require-dev": { "assertchris/ellison": "^1.0.2", "friendsofphp/php-cs-fixer": "^3.21", - "larapack/dd": "^1.1", "league/commonmark": "^2.4", "phpstan/phpstan": "^1.10.0", - "phpunit/phpunit": "^10.0" + "phpunit/phpunit": "^10.0", + "symfony/var-dumper": "^6.4|^7.0" }, "suggest": { "assertchris/ellison": "Allows you to analyse sentence complexity", @@ -9083,7 +9233,7 @@ "description": "Fast, extensible, server-side code highlighting", "support": { "issues": "https://github.com/tempestphp/highlight/issues", - "source": "https://github.com/tempestphp/highlight/tree/2.7.0" + "source": "https://github.com/tempestphp/highlight/tree/2.8.2" }, "funding": [ { @@ -9091,7 +9241,7 @@ "type": "github" } ], - "time": "2024-05-28T09:10:05+00:00" + "time": "2024-08-14T12:31:48+00:00" }, { "name": "twbs/bootstrap", @@ -9145,16 +9295,16 @@ }, { "name": "twig/extra-bundle", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/twig-extra-bundle.git", - "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454" + "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/cdc6e23aeb7f4953c1039568c3439aab60c56454", - "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454", + "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/bf8a304eac15838d7724fdf64c345bdefbb75f03", + "reference": "bf8a304eac15838d7724fdf64c345bdefbb75f03", "shasum": "" }, "require": { @@ -9203,7 +9353,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.10.0" + "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.11.0" }, "funding": [ { @@ -9215,20 +9365,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/html-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/html-extra.git", - "reference": "1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda" + "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/html-extra/zipball/1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda", - "reference": "1c045fc28ace0dcaf464f8e0d4e2aca6347d5fda", + "url": "https://api.github.com/repos/twigphp/html-extra/zipball/e5de60eb0afb24a60f371de428864b5df9414aa6", + "reference": "e5de60eb0afb24a60f371de428864b5df9414aa6", "shasum": "" }, "require": { @@ -9271,7 +9421,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/html-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/html-extra/tree/v3.11.0" }, "funding": [ { @@ -9283,20 +9433,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/intl-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/intl-extra.git", - "reference": "693f6beb8ca91fc6323e01b3addf983812f65c93" + "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/693f6beb8ca91fc6323e01b3addf983812f65c93", - "reference": "693f6beb8ca91fc6323e01b3addf983812f65c93", + "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/e9cadd61342e71e45b2f4f0558122433fd7e4566", + "reference": "e9cadd61342e71e45b2f4f0558122433fd7e4566", "shasum": "" }, "require": { @@ -9335,7 +9485,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/intl-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/intl-extra/tree/v3.11.0" }, "funding": [ { @@ -9347,20 +9497,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-06-21T06:25:01+00:00" }, { "name": "twig/markdown-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/markdown-extra.git", - "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d" + "reference": "504557d60d80478260ebd2221a2b3332a480865d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", - "reference": "e4bf2419df819dcf9dc7a0b25dd8cd1092cbd86d", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/504557d60d80478260ebd2221a2b3332a480865d", + "reference": "504557d60d80478260ebd2221a2b3332a480865d", "shasum": "" }, "require": { @@ -9407,7 +9557,7 @@ "twig" ], "support": { - "source": "https://github.com/twigphp/markdown-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.11.0" }, "funding": [ { @@ -9419,20 +9569,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-08-07T17:34:09+00:00" }, { "name": "twig/string-extra", - "version": "v3.10.0", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/string-extra.git", - "reference": "cd76ed8ae081bcd4fddf549e92e20c5df76c358a" + "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/string-extra/zipball/cd76ed8ae081bcd4fddf549e92e20c5df76c358a", - "reference": "cd76ed8ae081bcd4fddf549e92e20c5df76c358a", + "url": "https://api.github.com/repos/twigphp/string-extra/zipball/d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", + "reference": "d25c61baf38705a72ebb5a92d2e9ecb7c473b8ac", "shasum": "" }, "require": { @@ -9474,7 +9624,7 @@ "unicode" ], "support": { - "source": "https://github.com/twigphp/string-extra/tree/v3.10.0" + "source": "https://github.com/twigphp/string-extra/tree/v3.11.0" }, "funding": [ { @@ -9486,20 +9636,20 @@ "type": "tidelift" } ], - "time": "2024-05-11T07:35:57+00:00" + "time": "2024-08-07T17:34:09+00:00" }, { "name": "twig/twig", - "version": "v3.10.3", + "version": "v3.11.0", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", + "reference": "e80fb8ebba85c7341a97a9ebf825d7fd4b77708d", "shasum": "" }, "require": { @@ -9507,7 +9657,8 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22" + "symfony/polyfill-php80": "^1.22", + "symfony/polyfill-php81": "^1.29" }, "require-dev": { "psr/container": "^1.0|^2.0", @@ -9553,7 +9704,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.11.0" }, "funding": [ { @@ -9565,7 +9716,7 @@ "type": "tidelift" } ], - "time": "2024-05-16T10:04:27+00:00" + "time": "2024-08-08T16:15:16+00:00" } ], "packages-dev": [ @@ -10322,45 +10473,45 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.19", + "version": "9.6.20", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" + "reference": "49d7820565836236411f5dc002d16dd689cde42f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/49d7820565836236411f5dc002d16dd689cde42f", + "reference": "49d7820565836236411f5dc002d16dd689cde42f", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", + "doctrine/instantiator": "^1.5.0 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-code-coverage": "^9.2.31", + "phpunit/php-file-iterator": "^3.0.6", "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.6", + "sebastian/global-state": "^5.0.7", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", "sebastian/version": "^3.0.2" }, "suggest": { @@ -10405,7 +10556,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.20" }, "funding": [ { @@ -10421,7 +10572,7 @@ "type": "tidelift" } ], - "time": "2024-04-05T04:35:58+00:00" + "time": "2024-07-10T11:45:39+00:00" }, { "name": "sebastian/cli-parser", @@ -11754,16 +11905,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8" + "reference": "e823122d31935eb711e2767c31f3d71cb0b87fb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", - "reference": "8eb63f1c0e2001f97b3cd9ed550b18765cdeb1c8", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/e823122d31935eb711e2767c31f3d71cb0b87fb1", + "reference": "e823122d31935eb711e2767c31f3d71cb0b87fb1", "shasum": "" }, "require": { @@ -11816,7 +11967,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.2" + "source": "https://github.com/symfony/phpunit-bridge/tree/v7.1.3" }, "funding": [ { @@ -11832,20 +11983,20 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v7.1.2", + "version": "v7.1.3", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "82b22245d9f3ef8ccb1d55d4e8ade8bc3885c302" + "reference": "b9357f73d2c14dcd36783a67386f510654828668" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/82b22245d9f3ef8ccb1d55d4e8ade8bc3885c302", - "reference": "82b22245d9f3ef8ccb1d55d4e8ade8bc3885c302", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b9357f73d2c14dcd36783a67386f510654828668", + "reference": "b9357f73d2c14dcd36783a67386f510654828668", "shasum": "" }, "require": { @@ -11897,7 +12048,7 @@ "dev" ], "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.2" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.3" }, "funding": [ { @@ -11913,7 +12064,7 @@ "type": "tidelift" } ], - "time": "2024-06-25T19:55:06+00:00" + "time": "2024-07-26T12:41:01+00:00" }, { "name": "theseer/tokenizer", @@ -11967,16 +12118,16 @@ }, { "name": "vincentlanglet/twig-cs-fixer", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/VincentLanglet/Twig-CS-Fixer.git", - "reference": "3954bbfece3dfd5881f1437e72334e089595d5de" + "reference": "ac11c63f17322e31dc6d8c5e8dada54423d66fe0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/VincentLanglet/Twig-CS-Fixer/zipball/3954bbfece3dfd5881f1437e72334e089595d5de", - "reference": "3954bbfece3dfd5881f1437e72334e089595d5de", + "url": "https://api.github.com/repos/VincentLanglet/Twig-CS-Fixer/zipball/ac11c63f17322e31dc6d8c5e8dada54423d66fe0", + "reference": "ac11c63f17322e31dc6d8c5e8dada54423d66fe0", "shasum": "" }, "require": { @@ -12035,7 +12186,7 @@ "homepage": "https://github.com/VincentLanglet/Twig-CS-Fixer", "support": { "issues": "https://github.com/VincentLanglet/Twig-CS-Fixer/issues", - "source": "https://github.com/VincentLanglet/Twig-CS-Fixer/tree/3.0.0" + "source": "https://github.com/VincentLanglet/Twig-CS-Fixer/tree/3.0.1" }, "funding": [ { @@ -12043,7 +12194,7 @@ "type": "github" } ], - "time": "2024-07-28T11:46:49+00:00" + "time": "2024-08-13T16:27:40+00:00" }, { "name": "webmozart/assert", @@ -12295,16 +12446,16 @@ }, { "name": "zenstruck/foundry", - "version": "v1.38.2", + "version": "v1.38.3", "source": { "type": "git", "url": "https://github.com/zenstruck/foundry.git", - "reference": "841bb70df8e6fa5110b85dec1e851a28b7ac496e" + "reference": "112e3a6ce1d75627a3fbfd6cd009055994167edb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zenstruck/foundry/zipball/841bb70df8e6fa5110b85dec1e851a28b7ac496e", - "reference": "841bb70df8e6fa5110b85dec1e851a28b7ac496e", + "url": "https://api.github.com/repos/zenstruck/foundry/zipball/112e3a6ce1d75627a3fbfd6cd009055994167edb", + "reference": "112e3a6ce1d75627a3fbfd6cd009055994167edb", "shasum": "" }, "require": { @@ -12377,7 +12528,7 @@ ], "support": { "issues": "https://github.com/zenstruck/foundry/issues", - "source": "https://github.com/zenstruck/foundry/tree/v1.38.2" + "source": "https://github.com/zenstruck/foundry/tree/v1.38.3" }, "funding": [ { @@ -12385,7 +12536,7 @@ "type": "github" } ], - "time": "2024-06-19T12:38:34+00:00" + "time": "2024-07-04T19:59:49+00:00" } ], "aliases": [], @@ -12398,7 +12549,9 @@ "symfony/ux-dropzone": 20, "symfony/ux-icons": 20, "symfony/ux-lazy-image": 20, + "symfony/ux-leaflet-map": 20, "symfony/ux-live-component": 20, + "symfony/ux-map": 20, "symfony/ux-notify": 20, "symfony/ux-react": 20, "symfony/ux-svelte": 20, @@ -12418,5 +12571,5 @@ "ext-iconv": "*" }, "platform-dev": [], - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } diff --git a/config/bundles.php b/config/bundles.php index b45fdc6..c9bb8d7 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -31,4 +31,5 @@ return [ Symfony\UX\TogglePassword\TogglePasswordBundle::class => ['all' => true], Symfonycasts\SassBundle\SymfonycastsSassBundle::class => ['all' => true], Symfony\UX\Icons\UXIconsBundle::class => ['all' => true], + Symfony\UX\Map\UXMapBundle::class => ['all' => true], ]; diff --git a/config/packages/ux_map.yaml b/config/packages/ux_map.yaml new file mode 100644 index 0000000..ce0f0c7 --- /dev/null +++ b/config/packages/ux_map.yaml @@ -0,0 +1,3 @@ +ux_map: + # https://symfony.com/bundles/ux-map/current/index.html#available-renderers + renderer: '%env(resolve:default::UX_MAP_DSN)%' diff --git a/importmap.php b/importmap.php index e27a899..af8af90 100644 --- a/importmap.php +++ b/importmap.php @@ -190,4 +190,17 @@ return [ 'chart.js' => [ 'version' => '4.4.3', ], + '@symfony/ux-map/abstract-map-controller' => [ + 'path' => './vendor/symfony/ux-map/assets/dist/abstract_map_controller.js', + ], + 'leaflet' => [ + 'version' => '1.9.4', + ], + 'leaflet/dist/leaflet.min.css' => [ + 'version' => '1.9.4', + 'type' => 'css', + ], + '@symfony/ux-leaflet-map/map-controller' => [ + 'path' => './vendor/symfony/ux-leaflet-map/assets/dist/map_controller.js', + ], ]; diff --git a/src/Controller/UxPackage/MapController.php b/src/Controller/UxPackage/MapController.php new file mode 100644 index 0000000..e6d6b88 --- /dev/null +++ b/src/Controller/UxPackage/MapController.php @@ -0,0 +1,53 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace App\Controller\UxPackage; + +use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\Routing\Attribute\Route; +use Symfony\UX\Map\Bridge\Leaflet\LeafletOptions; +use Symfony\UX\Map\Bridge\Leaflet\Option\TileLayer; +use Symfony\UX\Map\InfoWindow; +use Symfony\UX\Map\Map; +use Symfony\UX\Map\Marker; +use Symfony\UX\Map\Point; + +class MapController extends AbstractController +{ + #[Route('/map', name: 'app_map')] + public function __invoke(): Response + { + $map = (new Map('default')) + ->center(new Point(45.7534031, 4.8295061)) + ->zoom(6) + + ->addMarker(new Marker( + position: new Point(45.7534031, 4.8295061), + title: 'Lyon', + infoWindow: new InfoWindow( + content: '', + ) + )) + + ->options((new LeafletOptions()) + ->tileLayer(new TileLayer( + url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + attribution: '© OpenStreetMap', + options: ['maxZoom' => 19] + )) + ); + + return $this->render('ux_packages/map.html.twig', [ + 'map' => $map, + ]); + } +} diff --git a/src/Service/UxPackageRepository.php b/src/Service/UxPackageRepository.php index 9fefded..85f00eb 100644 --- a/src/Service/UxPackageRepository.php +++ b/src/Service/UxPackageRepository.php @@ -21,19 +21,6 @@ class UxPackageRepository public function findAll(?string $query = null): array { $packages = [ - (new UxPackage( - 'turbo', - 'Turbo', - 'app_turbo', - '#5920A0', - 'linear-gradient(95deg, #5920A0 -5%, #844EC9 105%)', - 'Single-page Symfony app', - 'Integration with Turbo for single-page-app and real-time experience', - 'I need to transform my app into an SPA!' - )) - ->setDocsLink('https://turbo.hotwired.dev/handbook/introduction', 'Documentation specifically for the Turbo JavaScript library.') - ->setScreencastLink('https://symfonycasts.com/screencast/turbo', 'Go deep into all 3 parts of Turbo.'), - new UxPackage( 'icons', 'UX Icons', @@ -46,6 +33,19 @@ class UxPackageRepository 'icons.svg', ), + new UxPackage( + 'map', + 'UX Map', + 'app_map', + '#fff', + // 'linear-gradient(to bottom right, #58D984EB, #0083A2D1), #3386dfd4', + 'linear-gradient(to bottom right, #1BA980, #209127 75%, #C0CB2A)', + 'Interactive Maps', + 'Render interactive Maps in PHP with Leaflet or Google Maps.', + 'I need to display markers on a Map.', + 'map.svg', + ), + new UxPackage( 'twig-component', 'Twig Components', @@ -68,6 +68,19 @@ class UxPackageRepository 'I need Twig templates that update in real-time!' ), + (new UxPackage( + 'turbo', + 'Turbo', + 'app_turbo', + '#5920A0', + 'linear-gradient(95deg, #5920A0 -5%, #844EC9 105%)', + 'Single-page Symfony app', + 'Integration with Turbo for single-page-app and real-time experience', + 'I need to transform my app into an SPA!' + )) + ->setDocsLink('https://turbo.hotwired.dev/handbook/introduction', 'Documentation specifically for the Turbo JavaScript library.') + ->setScreencastLink('https://symfonycasts.com/screencast/turbo', 'Go deep into all 3 parts of Turbo.'), + new UxPackage( 'autocomplete', 'Autocomplete', diff --git a/src/Twig/Extension/PackageExtension.php b/src/Twig/Extension/PackageExtension.php new file mode 100644 index 0000000..45e9ca9 --- /dev/null +++ b/src/Twig/Extension/PackageExtension.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace App\Twig\Extension; + +use App\Service\UxPackageRepository; +use Twig\Extension\AbstractExtension; +use Twig\TwigFilter; + +/** + * @author Simon André + */ +final class PackageExtension extends AbstractExtension +{ + public function __construct( + private readonly UxPackageRepository $packageRepository, + ) { + } + + public function getFilters(): array + { + return [ + new TwigFilter('ux_package', $this->packageRepository->find(...)), + ]; + } +} diff --git a/symfony.lock b/symfony.lock index b0ebbfe..98914f5 100644 --- a/symfony.lock +++ b/symfony.lock @@ -563,6 +563,15 @@ "symfony/ux-lazy-image": { "version": "v2.1.1" }, + "symfony/ux-leaflet-map": { + "version": "2.19", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "2.19", + "ref": "e696e4124071004125072f3b582a2b7e43ad58c1" + } + }, "symfony/ux-live-component": { "version": "2.9999999", "recipe": { @@ -575,6 +584,18 @@ "config/routes/ux_live_component.yaml" ] }, + "symfony/ux-map": { + "version": "2.19", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "main", + "version": "2.19", + "ref": "04de870967555f00bd82f542e9e2d29683c3d39e" + }, + "files": [ + "config/packages/ux_map.yaml" + ] + }, "symfony/ux-notify": { "version": "2.x-dev" }, diff --git a/templates/components/Hero.html.twig b/templates/components/Hero.html.twig new file mode 100644 index 0000000..b16fcbd --- /dev/null +++ b/templates/components/Hero.html.twig @@ -0,0 +1,15 @@ +
+
+ {% if eyebrows|default %} +

{{ eyebrows }}

+ {% endif %} +

+ {{ title }} +

+ {% if block('content') is defined %} +
+ {{ block('content') }} +
+ {% endif %} +
+
diff --git a/templates/ux_packages/map.html.twig b/templates/ux_packages/map.html.twig new file mode 100644 index 0000000..4c1d2f6 --- /dev/null +++ b/templates/ux_packages/map.html.twig @@ -0,0 +1,44 @@ +{% extends 'ux_packages/package.html.twig' %} + +{% set package = 'map'|ux_package %} + +{% block package_header %} + + Embed interactive maps in your Symfony application in a breeze! +
+ Decouple your code from your map provider: Google Maps, LeaftLet. +
+{% endblock %} + +{% block code_block_left %} + +{% endblock %} + +{% block code_block_right %} + +{% endblock %} + +{% block demo_title %}UX Map{% endblock %} + +{% block demo_content %} +
+ {# The map must have a defined height #} + {{ render_map(map, {style: 'height: 600px;'}) }} +
+{% endblock %} + +{% block package_install '' %} + +{% block package_links %} + {{ include('ux_packages/map/_aside.html.twig', { + package: 'map'|ux_package, + }) }} +{% endblock %} diff --git a/templates/ux_packages/map/_aside.html.twig b/templates/ux_packages/map/_aside.html.twig new file mode 100644 index 0000000..d955469 --- /dev/null +++ b/templates/ux_packages/map/_aside.html.twig @@ -0,0 +1,24 @@ + diff --git a/templates/ux_packages/package.html.twig b/templates/ux_packages/package.html.twig index a714e64..709debc 100644 --- a/templates/ux_packages/package.html.twig +++ b/templates/ux_packages/package.html.twig @@ -31,14 +31,16 @@ {% block package_content %}
-
-
- {% block code_block_left %}{% endblock %} + {% block package_code_blocks %} +
+
+ {% block code_block_left %}{% endblock %} +
+
+ {% block code_block_right %}{% endblock %} +
-
- {% block code_block_right %}{% endblock %} -
-
+ {% endblock %} {% block package_demo %} {% if block('demo_title') is defined %} {% set demo_title = block('demo_title') %} diff --git a/tests/Functional/UxPackagesTest.php b/tests/Functional/UxPackagesTest.php index f38af38..d9337ab 100644 --- a/tests/Functional/UxPackagesTest.php +++ b/tests/Functional/UxPackagesTest.php @@ -36,6 +36,7 @@ class UxPackagesTest extends KernelTestCase public function testPackagePagesAllLoad(UxPackage $package, string $expectedText): void { $this->browser() + ->throwExceptions() ->visit('/'.$package->getName()) ->assertSuccessful() ->assertSeeIn('title', $package->getHumanName()) @@ -58,7 +59,7 @@ class UxPackagesTest extends KernelTestCase continue; } - yield $package->getName() => [$package, \sprintf('%s Docs', $package->getHumanName())]; + yield $package->getName() => [$package, \sprintf('%s Doc', $package->getHumanName())]; } } }

Thank you @Kocal for this component!