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


class Link(Component):
    """
    Link to external url or other dazzler page by name.

    :CSS: ``dazzler-core-link``
    """
    _aspect_keys = []
    _children = []
    href = Aspect(docstring="The link destination.")
    children = Aspect(children=True, docstring="Text/Component to show as link.")  # noqa: E501
    id = Aspect(docstring="Id of the html element, othewise the identity is used.")  # noqa: E501
    class_name = Aspect(docstring="CSS class of the <a> element")
    style = Aspect(docstring="Style object of root <a> element")
    title = Aspect(docstring="Hovered description")
    page_name = Aspect(docstring="Name of the page to redirect to if the href is not set.")  # noqa: E501

    def __init__(
            self,
            href: typing.Optional[str] = UNDEFINED,
            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,
            style: typing.Optional[typing.Dict] = UNDEFINED,
            title: typing.Optional[str] = UNDEFINED,
            page_name: typing.Optional[str] = UNDEFINED,
            identity: str = None
    ):
        """
        :param href: The link destination.
        :param children: Text/Component to show as link.
        :param id: Id of the html element, othewise the identity is used.
        :param class_name: CSS class of the <a> element
        :param style: Style object of root <a> element
        :param title: Hovered description
        :param page_name: Name of the page to redirect to if the href is
            not set.
        """
        Component.__init__(self, locals(), identity)
