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


class Table(Component):
    """
    Display data in a tabular manner (Non interactive).

    :CSS:
        ``dazzler-core-table``
        - ``table-head``
        - ``table-heading``
        - ``table-body``
        - ``table-row``
        - ``table-cell``
        - ``table-footer``
    """
    _aspect_keys = []
    _children = []
    rows = Aspect(children=True, docstring="Rows of data or components to display.")  # noqa: E501
    caption = Aspect(children=True, docstring="Title of the table")
    headers = Aspect(children=True, docstring="Table headings")
    class_name = Aspect(docstring="CSS class of the table.")
    style = Aspect(docstring="Style of the table element.")
    footer = Aspect(children=True, docstring="Content of tfoot element (.table-footer)")  # noqa: E501
    include_row_number = Aspect(docstring="Each row start with the row number.")  # noqa: E501
    row_number_start = Aspect(docstring="The start of the row number, useful if paged.")  # noqa: E501

    def __init__(
            self,
            rows: typing.Optional[typing.List[typing.List[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]]]] = UNDEFINED,  # noqa: E501
            caption: typing.Optional[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]] = UNDEFINED,  # noqa: E501
            headers: typing.Optional[typing.List[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]]] = UNDEFINED,  # noqa: E501
            class_name: typing.Optional[str] = UNDEFINED,
            style: typing.Optional[typing.Dict] = UNDEFINED,
            footer: typing.Optional[typing.Union[str, int, float, Component, typing.List[typing.Union[str, int, float, Component]]]] = UNDEFINED,  # noqa: E501
            include_row_number: typing.Optional[bool] = UNDEFINED,
            row_number_start: typing.Optional[typing.Union[float, int]] = UNDEFINED,  # noqa: E501
            identity: str = None
    ):
        """
        :param rows: Rows of data or components to display.
        :param caption: Title of the table
        :param headers: Table headings
        :param class_name: CSS class of the table.
        :param style: Style of the table element.
        :param footer: Content of tfoot element (.table-footer)
        :param include_row_number: Each row start with the row number.
        :param row_number_start: The start of the row number, useful if
            paged.
        """
        Component.__init__(self, locals(), identity)
