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


class PopUp(Component):
    """
    Wraps a component/text to render a popup when hovering
    over the children or clicking on it.
    """
    _aspect_keys = []
    _children = []
    children = Aspect(children=True, docstring="Component/text to wrap with a popup on hover/click.")  # noqa: E501
    content = Aspect(children=True, docstring="Content of the popup info.")
    active = Aspect(default=False, docstring="Is the popup currently active. (default=False)")  # noqa: E501
    mode = Aspect(default="'hover'", docstring="Show popup on hover or click. (Possible values: 'hover', 'click') (default="'hover'")")  # noqa: E501
    class_name = Aspect(docstring="CSS for the wrapper.")
    style = Aspect(docstring="Style of the wrapper.")
    content_style = Aspect(docstring="Style for the popup.")
    children_style = Aspect(docstring="Style for the wrapped children.")

    def __init__(
            self,
            children: typing.Optional[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]] = UNDEFINED,  # noqa: E501
            content: typing.Optional[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]] = UNDEFINED,  # noqa: E501
            active: typing.Optional[bool] = False,
            mode: typing.Optional[typing.Any] = "'hover'",
            class_name: typing.Optional[str] = UNDEFINED,
            style: typing.Optional[typing.Dict] = UNDEFINED,
            content_style: typing.Optional[typing.Dict] = UNDEFINED,
            children_style: typing.Optional[typing.Dict] = UNDEFINED,
            identity: str = None
    ):
        """
        :param children: Component/text to wrap with a popup on
            hover/click.
        :param content: Content of the popup info.
        :param active: Is the popup currently active. (default=False)
        :param mode: Show popup on hover or click. (Possible values:
            'hover', 'click') (default="'hover'")
        :param class_name: CSS for the wrapper.
        :param style: Style of the wrapper.
        :param content_style: Style for the popup.
        :param children_style: Style for the wrapped children.
        """
        Component.__init__(self, locals(), identity)
