You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
888 B
22 lines
888 B
from .mixins.content_element import ContentElement |
|
|
|
|
|
class Mermaid(ContentElement, |
|
component='mermaid.js', |
|
exposed_libraries=['lib/mermaid/mermaid.esm.min.mjs'], |
|
extra_libraries=['lib/mermaid/*.js']): |
|
CONTENT_PROP = 'content' |
|
|
|
def __init__(self, content: str) -> None: |
|
'''Mermaid Diagrams |
|
|
|
Renders diagrams and charts written in the Markdown-inspired `Mermaid <https://mermaid.js.org/>`_ language. |
|
The mermaid syntax can also be used inside Markdown elements by providing the extension string 'mermaid' to the ``ui.markdown`` element. |
|
|
|
:param content: the Mermaid content to be displayed |
|
''' |
|
super().__init__(content=content) |
|
|
|
def on_content_change(self, content: str) -> None: |
|
self._props[self.CONTENT_PROP] = content.strip() |
|
self.run_method('update', content.strip())
|
|
|