import solara
import markdown
import ipyleaflet
import ipywidgets as widgets
text = """## Test markdown
### Details
- **A**: a
- **B**: b
- **C**: c
"""
class Map(ipyleaflet.Map):
def __init__(self, **kwargs):
super().__init__(**kwargs)
marker = ipyleaflet.Marker(
location = (0,0),
draggable = False,
title = "My marker",
popup_max_width=1000,
popup_max_height=400
)
self.add(marker)
main_box = widgets.HBox(
layout=widgets.Layout(
width='1000px',
height='400px',
justify_content='space-between',
)
)
image_box = widgets.VBox(
layout = widgets.Layout(
width='65%',
height='100%',
border='solid 2px'
)
)
panel_box = widgets.VBox(
layout = widgets.Layout(
width='25%',
height='100%',
border='solid 2px',
overflow='auto',
)
)
value = markdown.markdown(text)
description_box = widgets.HTML(
layout=widgets.Layout(
border='solid 1px',
overflow='unset',
),
value=value,
)
panel_box.children = [
description_box,
description_box,
description_box,
]
main_box.children=[
panel_box,
image_box
]
marker.popup = main_box
@solara.component
def Page():
with solara.Column(style={"height": "100%"}) as main:
map = Map.element(
layout=widgets.Layout(height='100%')
)
return main