"""
Nolite Components Package
=========================

This package exports all available UI components, from basic HTML tags to
complex, interactive elements.
"""

from .html_components import (
    # Document Metadata
    Head,
    Title,
    Base,
    Meta,
    Style,
    # Content Sectioning
    Body,
    Address,
    Article,
    Aside,
    Footer,
    Header,
    H1,
    H2,
    H3,
    H4,
    H5,
    H6,
    Main,
    Nav,
    Section,
    # Text Content
    Blockquote,
    Dd,
    Div,
    Dl,
    Dt,
    Figcaption,
    Figure,
    Hr,
    # Inline Text Semantics
    A,
    Abbr,
    B,
    Bdi,
    Bdo,
    Br,
    Cite,
    Code,
    Data,
    Del,
    Dfn,
    Em,
    I,
    Ins,
    Kbd,
    Mark,
    Q,
    S,
    Samp,
    Small,
    Span,
    Strong,
    Sub,
    Sup,
    Time,
    U,
    Var,
    Wbr,
    # Image and Multimedia
    Area,
    Audio,
    Map,
    Track,
    Video,
    # Embedded Content
    Embed,
    Iframe,
    Object,
    Picture,
    Source,
    Svg,
    Canvas,
    # Table Content
    Caption,
    Col,
    Colgroup,
    Table,
    Tbody,
    Td,
    Tfoot,
    Th,
    Thead,
    Tr,
    # Basic Forms
    Datalist,
    Fieldset,
    Legend,
    Meter,
    Optgroup,
    Output,
    Progress,
    # Interactive Elements
    Details,
    Dialog,
    Summary,
    # Web Components
    Slot,
    Template,
    # Component Aliases
    Anchor,
    Image,
    ListItem,
    OrderedList,
    UnorderedList,
    Paragraph,
)

from .extended_components import (
    Container,
    Row,
    Column,
    Modal,
    ModalToggleButton,
    Card,
    Alert,
    Navbar,
    NavbarBrand,
    NavbarLinks,
    Slider,
)

from .form_components import (
    Label,
    StyledInput,
    Textarea,
    Checkbox,
    Select,
    Option,
    PrimaryButton,
    SubmitButton,
    FileUpload,
)

# Import base classes that are also components
from .html_components import Button, Form, Input, Link, Li, Ol, Ul, P, Img

# publicly available for import

__all__ = [
    # HTML Elements
    "A",
    "Abbr",
    "Address",
    "Area",
    "Article",
    "Aside",
    "Audio",
    "B",
    "Base",
    "Bdi",
    "Bdo",
    "Blockquote",
    "Body",
    "Br",
    "Button",
    "Canvas",
    "Caption",
    "Cite",
    "Code",
    "Col",
    "Colgroup",
    "Data",
    "Datalist",
    "Dd",
    "Del",
    "Details",
    "Dfn",
    "Dialog",
    "Div",
    "Dl",
    "Dt",
    "Em",
    "Embed",
    "Fieldset",
    "Figcaption",
    "Figure",
    "Footer",
    "Form",
    "H1",
    "H2",
    "H3",
    "H4",
    "H5",
    "H6",
    "Head",
    "Header",
    "Hr",
    "I",
    "Iframe",
    "Img",
    "Input",
    "Ins",
    "Kbd",
    "Label",
    "Legend",
    "Li",
    "Link",
    "Main",
    "Map",
    "Mark",
    "Meta",
    "Meter",
    "Nav",
    "Object",
    "Ol",
    "Optgroup",
    "Option",
    "Output",
    "P",
    "Picture",
    "Pre",
    "Progress",
    "Q",
    "S",
    "Samp",
    "Section",
    "Select",
    "Slot",
    "Small",
    "Source",
    "Span",
    "Strong",
    "Style",
    "Sub",
    "Summary",
    "Sup",
    "Svg",
    "Table",
    "Tbody",
    "Td",
    "Template",
    "Textarea",
    "Tfoot",
    "Th",
    "Thead",
    "Time",
    "Title",
    "Tr",
    "Track",
    "U",
    "Ul",
    "Var",
    "Video",
    "Wbr",
    # HTML Aliases
    "Anchor",
    "Image",
    "ListItem",
    "OrderedList",
    "UnorderedList",
    "Paragraph",
    # Extended Components
    "Alert",
    "Card",
    "Container",
    "Column",
    "Modal",
    "ModalToggleButton",
    "Navbar",
    "NavbarBrand",
    "NavbarLinks",
    "Row",
    # Form Components
    "Checkbox",
    "FileUpload",
    "PrimaryButton",
    "SubmitButton",
    "TextInput",
]
