Skip to content

Commit

Permalink
Added html component (reflex-dev#98)
Browse files Browse the repository at this point in the history
  • Loading branch information
Alek99 authored Dec 15, 2022
1 parent 209f490 commit cf33e86
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 2 deletions.
1 change: 1 addition & 0 deletions pynecone/components/layout/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from .flex import Flex
from .foreach import Foreach
from .grid import Grid, GridItem, ResponsiveGrid
from .html import Html
from .spacer import Spacer
from .stack import Hstack, Stack, Vstack
from .wrap import Wrap, WrapItem
Expand Down
2 changes: 0 additions & 2 deletions pynecone/components/layout/box.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
"""A box component that can contain other components."""

from typing import Optional

from pynecone.components.libs.chakra import ChakraComponent
from pynecone.components.tags import Tag
from pynecone.var import Var
Expand Down
40 changes: 40 additions & 0 deletions pynecone/components/layout/html.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
"""A html component."""

from pynecone.components.layout.box import Box
from pynecone.var import Var
from typing import Dict


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)

0 comments on commit cf33e86

Please sign in to comment.