diff --git a/RECIPES.md b/RECIPES.md
index d8ac6265..bcb9e824 100644
--- a/RECIPES.md
+++ b/RECIPES.md
@@ -152,9 +152,12 @@ Additional recipes can be found on the [Contrib Recipes Repository](https://gith
| [symfony/uid](https://packagist.org/packages/symfony/uid) | [7.0](symfony/uid/7.0) | `uid` |
| [symfony/unifonic-notifier](https://packagist.org/packages/symfony/unifonic-notifier) | [7.1](symfony/unifonic-notifier/7.1) | `unifonic-notifier`, `unifonicnotifier` |
| [symfony/ux-autocomplete](https://packagist.org/packages/symfony/ux-autocomplete) | [2.6](symfony/ux-autocomplete/2.6) | `ux-autocomplete`, `uxautocomplete` |
+| [symfony/ux-google-map](https://packagist.org/packages/symfony/ux-google-map) | [2.19](symfony/ux-google-map/2.19) | `ux-google-map`, `uxgooglemap` |
| [symfony/ux-icons](https://packagist.org/packages/symfony/ux-icons) | [2.17](symfony/ux-icons/2.17) | `ux-icons`, `uxicons` |
| [symfony/ux-lazy-image](https://packagist.org/packages/symfony/ux-lazy-image) | [2.18](symfony/ux-lazy-image/2.18) | `ux-lazy-image`, `uxlazyimage` |
+| [symfony/ux-leaflet-map](https://packagist.org/packages/symfony/ux-leaflet-map) | [2.19](symfony/ux-leaflet-map/2.19) | `ux-leaflet-map`, `uxleafletmap` |
| [symfony/ux-live-component](https://packagist.org/packages/symfony/ux-live-component) | [2.6](symfony/ux-live-component/2.6) | `ux-live-component`, `uxlivecomponent` |
+| [symfony/ux-map](https://packagist.org/packages/symfony/ux-map) | [2.19](symfony/ux-map/2.19) | `ux-map`, `uxmap` |
| [symfony/ux-react](https://packagist.org/packages/symfony/ux-react) | [2.9](symfony/ux-react/2.9) | `ux-react`, `uxreact` |
| [symfony/ux-svelte](https://packagist.org/packages/symfony/ux-svelte) | [2.9](symfony/ux-svelte/2.9) | `ux-svelte`, `uxsvelte` |
| [symfony/ux-translator](https://packagist.org/packages/symfony/ux-translator) | [2.9](symfony/ux-translator/2.9) | `ux-translator`, `uxtranslator` |
diff --git a/archived/symfony.ux-google-map/98be4bcd10c1c4e5c05543b278755b7532c9c2e5.json b/archived/symfony.ux-google-map/98be4bcd10c1c4e5c05543b278755b7532c9c2e5.json
new file mode 100644
index 00000000..1cc921f5
--- /dev/null
+++ b/archived/symfony.ux-google-map/98be4bcd10c1c4e5c05543b278755b7532c9c2e5.json
@@ -0,0 +1,19 @@
+{
+ "manifests": {
+ "symfony/ux-google-map": {
+ "manifest": {
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "env": {
+ "#1": "Options available at https://github.com/symfony/symfony-ux/blob/2.x/src/Map/src/Bridge/Google/README.md",
+ "#2": "",
+ "GOOGLE_MAPS_API_KEY": "# Get your API key at https://developers.google.com/maps/documentation/javascript/get-api-key",
+ "UX_MAP_DSN": "google://%env(GOOGLE_MAPS_API_KEY)%@default"
+ }
+ },
+ "files": [],
+ "ref": "98be4bcd10c1c4e5c05543b278755b7532c9c2e5"
+ }
+ }
+}
diff --git a/archived/symfony.ux-leaflet-map/e696e4124071004125072f3b582a2b7e43ad58c1.json b/archived/symfony.ux-leaflet-map/e696e4124071004125072f3b582a2b7e43ad58c1.json
new file mode 100644
index 00000000..7912d3e1
--- /dev/null
+++ b/archived/symfony.ux-leaflet-map/e696e4124071004125072f3b582a2b7e43ad58c1.json
@@ -0,0 +1,18 @@
+{
+ "manifests": {
+ "symfony/ux-leaflet-map": {
+ "manifest": {
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "env": {
+ "#1": "Options available at https://github.com/symfony/symfony-ux/blob/2.x/src/Map/src/Bridge/Leaflet/README.md",
+ "#2": "",
+ "UX_MAP_DSN": "leaflet://default"
+ }
+ },
+ "files": [],
+ "ref": "e696e4124071004125072f3b582a2b7e43ad58c1"
+ }
+ }
+}
diff --git a/archived/symfony.ux-map/04de870967555f00bd82f542e9e2d29683c3d39e.json b/archived/symfony.ux-map/04de870967555f00bd82f542e9e2d29683c3d39e.json
new file mode 100644
index 00000000..858b7cd3
--- /dev/null
+++ b/archived/symfony.ux-map/04de870967555f00bd82f542e9e2d29683c3d39e.json
@@ -0,0 +1,39 @@
+{
+ "manifests": {
+ "symfony/ux-map": {
+ "manifest": {
+ "bundles": {
+ "Symfony\\UX\\Map\\UXMapBundle": [
+ "all"
+ ]
+ },
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/"
+ },
+ "post-install-output": [
+ " * You're near ready to use the Symfony UX Map component. You can create your first map",
+ " by using the Map class, but you will not be able to render it yet until you",
+ " install the Symfony UX Map Bridge you want to use, they can be found at ",
+ " https://symfony.com/bundles/ux-map/current/index.html#available-renderers>.",
+ "",
+ " * Read> the documentation at https://symfony.com/bundles/ux-map/current/index.html>"
+ ]
+ },
+ "files": {
+ "config/packages/ux_map.yaml": {
+ "contents": [
+ "ux_map:",
+ " # https://symfony.com/bundles/ux-map/current/index.html#available-renderers",
+ " renderer: '%env(resolve:default::UX_MAP_DSN)%'",
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "04de870967555f00bd82f542e9e2d29683c3d39e"
+ }
+ }
+}
diff --git a/index.json b/index.json
index 172fd304..845e36b5 100644
--- a/index.json
+++ b/index.json
@@ -440,18 +440,24 @@
"unifonicnotifier": "symfony/unifonic-notifier",
"ux": "symfony/webpack-encore-bundle",
"ux-autocomplete": "symfony/ux-autocomplete",
+ "ux-google-map": "symfony/ux-google-map",
"ux-icons": "symfony/ux-icons",
"ux-lazy-image": "symfony/ux-lazy-image",
+ "ux-leaflet-map": "symfony/ux-leaflet-map",
"ux-live-component": "symfony/ux-live-component",
+ "ux-map": "symfony/ux-map",
"ux-react": "symfony/ux-react",
"ux-svelte": "symfony/ux-svelte",
"ux-translator": "symfony/ux-translator",
"ux-twig-component": "symfony/ux-twig-component",
"ux-vue": "symfony/ux-vue",
"uxautocomplete": "symfony/ux-autocomplete",
+ "uxgooglemap": "symfony/ux-google-map",
"uxicons": "symfony/ux-icons",
"uxlazyimage": "symfony/ux-lazy-image",
+ "uxleafletmap": "symfony/ux-leaflet-map",
"uxlivecomponent": "symfony/ux-live-component",
+ "uxmap": "symfony/ux-map",
"uxreact": "symfony/ux-react",
"uxsvelte": "symfony/ux-svelte",
"uxtranslator": "symfony/ux-translator",
@@ -1032,6 +1038,9 @@
"2.2",
"2.6"
],
+ "symfony/ux-google-map": [
+ "2.19"
+ ],
"symfony/ux-icons": [
"2.17"
],
@@ -1039,10 +1048,16 @@
"2.17",
"2.18"
],
+ "symfony/ux-leaflet-map": [
+ "2.19"
+ ],
"symfony/ux-live-component": [
"2.0",
"2.6"
],
+ "symfony/ux-map": [
+ "2.19"
+ ],
"symfony/ux-react": [
"2.8",
"2.9"
@@ -1282,6 +1297,21 @@
"symfony/framework-bundle": "<7.0"
}
},
+ "symfony/ux-google-map": {
+ "2.19": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ }
+ },
+ "symfony/ux-leaflet-map": {
+ "2.19": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ }
+ },
+ "symfony/ux-map": {
+ "2.19": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ }
+ },
"symfony/ux-react": {
"2.9": {
"symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0",
diff --git a/symfony.ux-google-map.2.19.json b/symfony.ux-google-map.2.19.json
new file mode 100644
index 00000000..1cc921f5
--- /dev/null
+++ b/symfony.ux-google-map.2.19.json
@@ -0,0 +1,19 @@
+{
+ "manifests": {
+ "symfony/ux-google-map": {
+ "manifest": {
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "env": {
+ "#1": "Options available at https://github.com/symfony/symfony-ux/blob/2.x/src/Map/src/Bridge/Google/README.md",
+ "#2": "",
+ "GOOGLE_MAPS_API_KEY": "# Get your API key at https://developers.google.com/maps/documentation/javascript/get-api-key",
+ "UX_MAP_DSN": "google://%env(GOOGLE_MAPS_API_KEY)%@default"
+ }
+ },
+ "files": [],
+ "ref": "98be4bcd10c1c4e5c05543b278755b7532c9c2e5"
+ }
+ }
+}
diff --git a/symfony.ux-leaflet-map.2.19.json b/symfony.ux-leaflet-map.2.19.json
new file mode 100644
index 00000000..7912d3e1
--- /dev/null
+++ b/symfony.ux-leaflet-map.2.19.json
@@ -0,0 +1,18 @@
+{
+ "manifests": {
+ "symfony/ux-leaflet-map": {
+ "manifest": {
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "env": {
+ "#1": "Options available at https://github.com/symfony/symfony-ux/blob/2.x/src/Map/src/Bridge/Leaflet/README.md",
+ "#2": "",
+ "UX_MAP_DSN": "leaflet://default"
+ }
+ },
+ "files": [],
+ "ref": "e696e4124071004125072f3b582a2b7e43ad58c1"
+ }
+ }
+}
diff --git a/symfony.ux-map.2.19.json b/symfony.ux-map.2.19.json
new file mode 100644
index 00000000..858b7cd3
--- /dev/null
+++ b/symfony.ux-map.2.19.json
@@ -0,0 +1,39 @@
+{
+ "manifests": {
+ "symfony/ux-map": {
+ "manifest": {
+ "bundles": {
+ "Symfony\\UX\\Map\\UXMapBundle": [
+ "all"
+ ]
+ },
+ "conflict": {
+ "symfony/flex": "<1.20.0 || >=2.0.0,<2.3.0"
+ },
+ "copy-from-recipe": {
+ "config/": "%CONFIG_DIR%/"
+ },
+ "post-install-output": [
+ " * You're near ready to use the Symfony UX Map component. You can create your first map",
+ " by using the Map class, but you will not be able to render it yet until you",
+ " install the Symfony UX Map Bridge you want to use, they can be found at ",
+ " https://symfony.com/bundles/ux-map/current/index.html#available-renderers>.",
+ "",
+ " * Read> the documentation at https://symfony.com/bundles/ux-map/current/index.html>"
+ ]
+ },
+ "files": {
+ "config/packages/ux_map.yaml": {
+ "contents": [
+ "ux_map:",
+ " # https://symfony.com/bundles/ux-map/current/index.html#available-renderers",
+ " renderer: '%env(resolve:default::UX_MAP_DSN)%'",
+ ""
+ ],
+ "executable": false
+ }
+ },
+ "ref": "04de870967555f00bd82f542e9e2d29683c3d39e"
+ }
+ }
+}