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


class Select(Component):
    """
    A select
    """
    _aspect_keys = []
    _children = []
    options = Aspect(required=True, docstring="Option of the select.")
    multi = Aspect(docstring="Controls wether multiple options can be selected.")  # noqa: E501
    value = Aspect(docstring="Value of the selected option(s)")
    size = Aspect(docstring="Size of the options to use instead of")
    class_name = Aspect(docstring="CSS class of the Select")
    placeholder = Aspect(docstring="Placeholder text when the input has no value.")  # noqa: E501
    name = Aspect(docstring="name of the html input that will be created with the current value")  # noqa: E501
    disabled = Aspect(docstring="Disable the component.")

    def __init__(
            self,
            options: typing.List[typing.Dict[str, typing.Union[typing.Union[typing.Union[float, int], str], str]]],  # noqa: E501
            multi: typing.Optional[bool] = UNDEFINED,
            value: typing.Optional[typing.Union[typing.Union[float, int], str, typing.List[typing.Union[typing.Union[float, int], str]]]] = UNDEFINED,  # noqa: E501
            size: typing.Optional[typing.Union[float, int]] = UNDEFINED,
            class_name: typing.Optional[str] = UNDEFINED,
            placeholder: typing.Optional[str] = UNDEFINED,
            name: typing.Optional[str] = UNDEFINED,
            disabled: typing.Optional[bool] = UNDEFINED,
            identity: str = None
    ):
        """
        :param options: Option of the select.
        :param multi: Controls wether multiple options can be selected.
        :param value: Value of the selected option(s)
        :param size: Size of the options to use instead of
        :param class_name: CSS class of the Select
        :param placeholder: Placeholder text when the input has no value.
        :param name: name of the html input that will be created with the
            current value
        :param disabled: Disable the component.
        """
        Component.__init__(self, locals(), identity)
