"""Tables classes.""" from typing import Union from reflex.vars.base import Var from .base import BaseHTML class Caption(BaseHTML): """Display the caption element.""" tag = "caption" # Alignment of the caption align: Var[Union[str, int, bool]] class Col(BaseHTML): """Display the col element.""" tag = "col" # Alignment of the content within the column align: Var[Union[str, int, bool]] # Number of columns the col element spans span: Var[Union[str, int, bool]] class Colgroup(BaseHTML): """Display the colgroup element.""" tag = "colgroup" # Alignment of the content within the column group align: Var[Union[str, int, bool]] # Number of columns the colgroup element spans span: Var[Union[str, int, bool]] class Table(BaseHTML): """Display the table element.""" tag = "table" # Alignment of the table align: Var[Union[str, int, bool]] # Provides a summary of the table's purpose and structure summary: Var[Union[str, int, bool]] class Tbody(BaseHTML): """Display the tbody element.""" tag = "tbody" # Alignment of the content within the table body align: Var[Union[str, int, bool]] class Td(BaseHTML): """Display the td element.""" tag = "td" # Alignment of the content within the table cell align: Var[Union[str, int, bool]] # Number of columns a cell should span col_span: Var[Union[str, int, bool]] # IDs of the headers associated with this cell headers: Var[Union[str, int, bool]] # Number of rows a cell should span row_span: Var[Union[str, int, bool]] class Tfoot(BaseHTML): """Display the tfoot element.""" tag = "tfoot" # Alignment of the content within the table footer align: Var[Union[str, int, bool]] class Th(BaseHTML): """Display the th element.""" tag = "th" # Alignment of the content within the table header cell align: Var[Union[str, int, bool]] # Number of columns a header cell should span col_span: Var[Union[str, int, bool]] # IDs of the headers associated with this header cell headers: Var[Union[str, int, bool]] # Number of rows a header cell should span row_span: Var[Union[str, int, bool]] # Scope of the header cell (row, col, rowgroup, colgroup) scope: Var[Union[str, int, bool]] class Thead(BaseHTML): """Display the thead element.""" tag = "thead" # Alignment of the content within the table header align: Var[Union[str, int, bool]] class Tr(BaseHTML): """Display the tr element.""" tag = "tr" # Alignment of the content within the table row align: Var[Union[str, int, bool]] caption = Caption.create col = Col.create colgroup = Colgroup.create table = Table.create tbody = Tbody.create td = Td.create tfoot = Tfoot.create th = Th.create thead = Thead.create tr = Tr.create