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


class Logout(Component):
    """
    A logout button.

    :CSS:

        ``dazzler-auth-logout``
        - ``logout-button``
    """
    _aspect_keys = []
    _children = []
    logout_url = Aspect(required=True, docstring="Logout url")
    next_url = Aspect(docstring="Redirect to this page after logout.")
    label = Aspect(default='Logout', docstring="Label of the logout button. (default='Logout')")  # noqa: E501
    method = Aspect(default='POST', docstring="Method to submit the logout form. (default='POST')")  # noqa: E501
    class_name = Aspect()
    style = Aspect()

    def __init__(
            self,
            logout_url: str,
            next_url: typing.Optional[str] = UNDEFINED,
            label: typing.Optional[str] = 'Logout',
            method: typing.Optional[str] = 'POST',
            class_name: typing.Optional[str] = UNDEFINED,
            style: typing.Optional[typing.Dict] = UNDEFINED,
            identity: str = None
    ):
        """
        :param logout_url: Logout url
        :param next_url: Redirect to this page after logout.
        :param label: Label of the logout button. (default='Logout')
        :param method: Method to submit the logout form. (default='POST')
        :param class_name:
        :param style:
        """
        Component.__init__(self, locals(), identity)
