Repository: randyzwitch/streamlit-folium (language: python)

Issue:
GroupedLayerControl breaks st_folium
When using `folium.plugins.GroupedLayerControl`, my map looks like this:
![image](https://github.com/randyzwitch/streamlit-folium/assets/36202236/fab3fd22-8f36-4abd-b2e7-1dc61f33e278)

When I use `folium.LayerControl`, it looks like this:
![image](https://github.com/randyzwitch/streamlit-folium/assets/36202236/f4d60778-d4ff-427d-ba5b-f2a24aedbbea)

Code example: 
```py
m = folium.Map(
    location=[city.dissolve().centroid.y, city.dissolve().centroid.x],
    tiles="cartodbpositron",
    zoom_start=11,
)

folium.GeoJson(
    city,
    style_function=lambda x: {"color": "black", "fill": None, "weight": 0.5},
    control=False,
).add_to(m)

transit_layer = folium.GeoJson(
      geo_data_dict["transit"].data_per_point,
      style_function=lambda x: {"color": "red"},
      control=True,
      name="transit",
      show=False,
  ).add_to(m)

GroupedLayerControl({"Per point": [transit_layer]}).add_to(m)
# folium.LayerControl(collapsed=False).add_to(m)

st_folium(
        m,
        use_container_width=True,
    )
```

A similar issue has been mentioned in https://github.com/randyzwitch/streamlit-folium/issues/139 but the discussion focused more on `SideBySideLayers`



Discussion / hints:
For information, I used to have this error when I used a marker with the same name multiple times, working with folium_static but not st_folium.

Fix patch:
diff --git a/examples/pages/grouped_layer_control.py b/examples/pages/grouped_layer_control.py
new file mode 100644
index 0000000..f8b6298
--- /dev/null
+++ b/examples/pages/grouped_layer_control.py
@@ -0,0 +1,34 @@
+import folium
+import streamlit as st
+from folium.plugins import GroupedLayerControl
+
+from streamlit_folium import st_folium
+
+st.set_page_config(
+    page_title="streamlit-folium documentation: Grouped Layer Control",
+    page_icon=":pencil:",
+    layout="wide",
+)
+
+st.title("streamlit-folium: Grouped Layer Control")
+
+m = folium.Map([40.0, 70.0], zoom_start=6)
+
+fg1 = folium.FeatureGroup(name="g1")
+fg2 = folium.FeatureGroup(name="g2")
+fg3 = folium.FeatureGroup(name="g3")
+folium.Marker([40, 74]).add_to(fg1)
+folium.Marker([38, 72]).add_to(fg2)
+folium.Marker([40, 72]).add_to(fg3)
+m.add_child(fg1)
+m.add_child(fg2)
+m.add_child(fg3)
+
+folium.LayerControl(collapsed=False).add_to(m)
+
+GroupedLayerControl(
+    groups={"groups1": [fg1, fg2]},
+    collapsed=False,
+).add_to(m)
+
+st_folium(m)
diff --git a/setup.py b/setup.py
index 3e90f2b..1050cf7 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@
 
 setuptools.setup(
     name="streamlit_folium",
-    version="0.15.1",
+    version="0.16.0",
     author="Randy Zwitch",
     author_email="rzwitch@gmail.com",
     description="Render Folium objects in Streamlit",
diff --git a/streamlit_folium/frontend/public/index.html b/streamlit_folium/frontend/public/index.html
index 0965439..c5eb42a 100644
--- a/streamlit_folium/frontend/public/index.html
+++ b/streamlit_folium/frontend/public/index.html
@@ -50,6 +50,7 @@
     <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-locatecontrol/0.66.2/L.Control.Locate.min.js"></script>
     <script src="https://cdn.jsdelivr.net/npm/leaflet.vectorgrid@1.3.0/dist/Leaflet.VectorGrid.bundled.js"></script>
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-groupedlayercontrol/0.6.1/leaflet.groupedlayercontrol.min.js"></script>
 
     <link
       rel="stylesheet"
@@ -147,6 +148,10 @@
       rel="stylesheet"
       href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"
     />
+    <link
+      rel="stylesheet"
+      href="https://cdnjs.cloudflare.com/ajax/libs/leaflet-groupedlayercontrol/0.6.1/leaflet.groupedlayercontrol.min.css"
+    />
     <style>
       .single > :nth-child(1) {
         width: 100%;


Test patch:
diff --git a/tests/test_frontend.py b/tests/test_frontend.py
index 0ceddd4..df1c449 100644
--- a/tests/test_frontend.py
+++ b/tests/test_frontend.py
@@ -242,3 +242,13 @@ def test_geojson_styles(page: Page):
 
     page.get_by_text("Show generated code").click()
     expect(page.get_by_text('"fillOpacity"')).to_be_visible()
+
+
+def test_grouped_layer_control(page: Page):
+    page.get_by_role("link", name="grouped layer control").click()
+    page.frame_locator('iframe[title="streamlit_folium\\.st_folium"]').locator(
+        "label"
+    ).filter(has_text="g2").click()
+    page.frame_locator('iframe[title="streamlit_folium\\.st_folium"]').get_by_label(
+        "g2"
+    ).check()