"""A html component."""
from typing import Dict
from pynecone.components.layout.box import Box
from pynecone.var import Var
class Html(Box):
"""Render the html.
Returns:
The code to render the html component.
"""
# The HTML to render.
dangerouslySetInnerHTML: Var[Dict]
@classmethod
def create(cls, *children, **props):
"""Create a html component.
Args:
*children: The children of the component.
**props: The props to pass to the component.
Returns:
The html component.
Raises:
ValueError: If children are not provided or more than one child is provided.
"""
# If children are not prvided, throw an error.
if len(children) != 1:
raise ValueError("Must provide children to the html component.")
else:
props["dangerouslySetInnerHTML"] = {"__html": children[0]}
# Create the component.
return super().create(**props)