"""Autogenerated file: DO NOT EDIT!"""
import typing  # noqa: F401
from dazzler.system import Component, Aspect, UNDEFINED  # noqa: F401


class Html(Component):
    """
    Html tag wrapper, give any props as ``attributes``.
    Listen to events with the readonly event aspect containing the
    latest event fired.
    """
    _aspect_keys = []
    _children = []
    tag = Aspect(required=True, docstring="Tag name of the component.")
    children = Aspect(children=True, docstring="Children of the html tag.")
    id = Aspect(docstring="Id of the element in DOM.")
    class_name = Aspect(docstring="Class of the element.")
    attributes = Aspect(docstring="Any other html attributes relevant to the html tag")  # noqa: E501
    events = Aspect(docstring="Events to subscribe.")
    event = Aspect(docstring="Last event fired.")

    def __init__(
            self,
            tag: str,
            children: typing.Optional[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]] = UNDEFINED,  # noqa: E501
            id: typing.Optional[str] = UNDEFINED,
            class_name: typing.Optional[str] = UNDEFINED,
            attributes: typing.Optional[typing.Dict] = UNDEFINED,
            events: typing.Optional[typing.List] = UNDEFINED,
            event: typing.Optional[typing.Dict] = UNDEFINED,
            identity: str = None
    ):
        """
        :param tag: Tag name of the component.
        :param children: Children of the html tag.
        :param id: Id of the element in DOM.
        :param class_name: Class of the element.
        :param attributes: Any other html attributes relevant to the html
            tag
        :param events: Events to subscribe.
        :param event: Last event fired.
        """
        Component.__init__(self, locals(), identity)
