from .core.element import HTMLElement
from .core.fragment import Fragment
from .tags.form import (
    Textarea,
    Select,
    Option,
    Button,
    Fieldset,
    Form,
    Input,
    Label,
    Optgroup,
    Legend,
    Output,
    Progress,
    Meter,
)
from .tags.html import (
    HTML,
    Head,
    Body,
    Title,
    Meta,
    Link as HtmlLink,
    Script,
    Style,
    IFrame,
    Base,
    Noscript,
)
from .tags.layout import (
    Div,
    Section,
    Header,
    Nav,
    Footer,
    HorizontalRule,
    Main,
    Article,
    Aside,
    Details,
    Summary,
    Dialog,
)
from .tags.lists import (
    UnorderedList,
    OrderedList,
    ListItem,
    Datalist,
    DescriptionDetails,
    DescriptionList,
    DescriptionTerm,
)
from .tags.media import (
    Image,
    Video,
    Audio,
    Source,
    Picture,
    Figure,
    Figcaption,
    Canvas,
    Track,
    Embed,
    Object,
    Param,
    Map,
    Area,
)
from .tags.table import (
    Table,
    TableFooter,
    TableHeaderCell,
    TableHeader,
    TableBody,
    TableDataCell,
    TableRow,
    Caption,
    Col,
    Colgroup,
)
from .tags.text import (
    H1,
    H2,
    H3,
    H4,
    H5,
    H6,
    Paragraph,
    Blockquote,
    Pre,
    Quote,
    Cite,
    Em,
    Italic,
    Span,
    Strong,
    Abbr,
    Link,
    Small,
    Superscript,
    Subscript,
    Time,
    Code,
    Bold,
    Del,
    Ins,
    Strikethrough,
    Underline,
    Kbd,
    Samp,
    Var,
    Mark,
    Dfn,
    Br,
    Wbr,
)

__all__ = [
    "HTMLElement",
    "Fragment",
    # form
    "Textarea",
    "Select",
    "Option",
    "Button",
    "Fieldset",
    "Form",
    "Input",
    "Label",
    "Optgroup",
    "Legend",
    "Output",
    "Progress",
    "Meter",
    # html
    "HTML",
    "Head",
    "Body",
    "Title",
    "Meta",
    "HtmlLink",
    "Script",
    "Style",
    "IFrame",
    "Base",
    "Noscript",
    # layout
    "Div",
    "Section",
    "Header",
    "Nav",
    "Footer",
    "HorizontalRule",
    "Main",
    "Article",
    "Aside",
    "Details",
    "Summary",
    "Dialog",
    # lists
    "UnorderedList",
    "OrderedList",
    "ListItem",
    "Datalist",
    "DescriptionDetails",
    "DescriptionList",
    "DescriptionTerm",
    # media
    "Image",
    "Video",
    "Audio",
    "Source",
    "Picture",
    "Figure",
    "Figcaption",
    "Canvas",
    "Track",
    "Embed",
    "Object",
    "Param",
    "Map",
    "Area",
    # table
    "Table",
    "TableFooter",
    "TableHeaderCell",
    "TableHeader",
    "TableBody",
    "TableDataCell",
    "TableRow",
    "Caption",
    "Col",
    "Colgroup",
    # text
    "H1",
    "H2",
    "H3",
    "H4",
    "H5",
    "H6",
    "Paragraph",
    "Blockquote",
    "Pre",
    "Quote",
    "Cite",
    "Em",
    "Italic",
    "Span",
    "Strong",
    "Abbr",
    "Link",
    "Small",
    "Superscript",
    "Subscript",
    "Time",
    "Code",
    "Bold",
    "Del",
    "Ins",
    "Strikethrough",
    "Underline",
    "Kbd",
    "Samp",
    "Var",
    "Mark",
    "Dfn",
    "Br",
    "Wbr",
]
