//! # Hikari Components Library
//!
//! Comprehensive UI component library with flat design
//! and glow effect aesthetics.
//!
//! Built on Tairitsu framework.

// Builder pattern API
pub mod builder;

// Core modules
pub mod basic;
pub mod data;
pub mod display;
pub mod entry;
pub mod feedback;
pub mod layout;
pub mod navigation;
pub mod platform;
pub mod portal;
pub mod production;
pub mod scripts;
pub mod style_builder;
pub mod styled;
pub mod utils;

// Prelude module
pub mod prelude;

// Re-export StyledComponent and StyleRegistry
// Re-exports
#[allow(ambiguous_glob_reexports)]
pub use basic::*;
pub use data::*;
pub use display::*;
pub use entry::*;
pub use feedback::*;
#[allow(ambiguous_glob_reexports)]
pub use layout::*;
pub use navigation::*;
pub use styled::{StyleRegistry, StyledComponent};

// Theme system
pub mod theme;
// Portal system
pub use builder::ButtonBuilder;
pub use portal::{
    PortalEntry, PortalMaskMode, PortalPositionStrategy, PortalProvider, TriggerPlacement,
    generate_portal_id, use_portal,
};
pub use tairitsu_hooks::{
    AnimationConfig, AnimationDirection, AnimationState, Context, EasingFunction, UseRef,
    consume_context, provide_context, use_animation, use_context, use_effect, use_ref, use_signal,
    use_simple_animation, use_state,
};
pub use tairitsu_macros::{component, rsx};
// Re-export tairitsu prelude for convenience
pub use tairitsu_vdom::{
    ChangeEvent, Classes, ElementHandle, EventData, EventHandle, FocusEvent, InputEvent,
    KeyboardEvent, MouseEvent, Platform, Signal, Style, VElement, VNode, VText, batch,
    create_effect,
};
pub use theme::{
    ComponentOverrides, ComponentPalette, IntoThemeName, LayoutDirection, ThemeContext,
    ThemePalette, ThemeProvider, get_default_theme, get_registered_theme, prefers_dark_mode,
    register_theme, use_layout_direction, use_theme,
};
