"""smarty_ui -- a component library on top of pydivkit.

Aligned with Smartbank Figma design system.
"""

# =============================================================================
# Tokens
# =============================================================================
from smarty_ui.tokens.theme import Theme, default_theme, dark_theme, smartbank_theme
from smarty_ui.tokens.colors import (
    ColorTokens,
    GRADIENT_PURPLE,
    GRADIENT_BLUE,
    GRADIENT_GREY,
)
from smarty_ui.tokens.typography import TypographyTokens, TextStyle
from smarty_ui.tokens.spacing import SpacingTokens

# =============================================================================
# Primitives - Text (Smartbank Typography)
# =============================================================================
from smarty_ui.primitives.text import (
    # Smartbank styles
    title_1,
    title_2,
    controls_1,
    controls_2,
    text_1,
    text_2,
    text_3,
    caption_1,
    caption_2,
    caption_3,
    # Legacy
    label,
    heading,
    paragraph,
    caption,
)

# =============================================================================
# Primitives - Image
# =============================================================================
from smarty_ui.primitives.image import icon, avatar, cover_image

# =============================================================================
# Primitives - Button (Smartbank Variants)
# =============================================================================
from smarty_ui.primitives.button import (
    primary_button,
    secondary_button,
    outline_button,
    disabled_button,
    icon_button,
    text_button,
)

# =============================================================================
# Primitives - Spacer & Divider
# =============================================================================
from smarty_ui.primitives.spacer import h_spacer, v_spacer
from smarty_ui.primitives.divider import divider

# =============================================================================
# Composites
# =============================================================================
from smarty_ui.composites.icon_label import icon_label
from smarty_ui.composites.input_field import input_field
from smarty_ui.composites.badge import badge, outline_badge
from smarty_ui.composites.avatar_row import avatar_row
from smarty_ui.composites.amount_display import (
    amount_display,
    amount_with_label,
    compact_amount,
)

# =============================================================================
# Blocks
# =============================================================================
from smarty_ui.blocks.card import bank_card, simple_card
from smarty_ui.blocks.list_item import list_item, list_item_group, action_item

# =============================================================================
# Layout helpers
# =============================================================================
from smarty_ui._helpers import hstack, vstack, padded, HStack, VStack

__all__ = [
    # Tokens
    "Theme",
    "default_theme",
    "dark_theme",
    "smartbank_theme",
    "ColorTokens",
    "GRADIENT_PURPLE",
    "GRADIENT_BLUE",
    "GRADIENT_GREY",
    "TypographyTokens",
    "TextStyle",
    "SpacingTokens",
    # Text primitives - Smartbank styles
    "title_1",
    "title_2",
    "controls_1",
    "controls_2",
    "text_1",
    "text_2",
    "text_3",
    "caption_1",
    "caption_2",
    "caption_3",
    # Text primitives - Legacy
    "label",
    "heading",
    "paragraph",
    "caption",
    # Image primitives
    "icon",
    "avatar",
    "cover_image",
    # Button primitives
    "primary_button",
    "secondary_button",
    "outline_button",
    "disabled_button",
    "icon_button",
    "text_button",
    # Spacers & dividers
    "h_spacer",
    "v_spacer",
    "divider",
    # Composites
    "icon_label",
    "input_field",
    "badge",
    "outline_badge",
    "avatar_row",
    "amount_display",
    "amount_with_label",
    "compact_amount",
    # Blocks
    "bank_card",
    "simple_card",
    "list_item",
    "list_item_group",
    "action_item",
    # Layout helpers (new)
    "HStack",
    "VStack",
    # Layout helpers (legacy)
    "hstack",
    "vstack",
    "padded",
]
