pub mod color;
pub mod error;
pub mod style;
#[cfg(feature = "gradients")]
pub mod gradient;
pub mod loader;
pub mod resolver;
pub mod schema;
pub mod theme;
pub mod adapters;
pub mod names;
#[cfg(feature = "builtin-themes")]
pub mod builtins;
#[cfg(feature = "discovery")]
pub mod discovery;
#[cfg(feature = "widgets")]
pub mod widgets;
pub use color::{ColorParseError, OpalineColor};
pub use error::OpalineError;
pub use loader::{load_from_file, load_from_str};
pub use schema::{StyleDef, ThemeFile, ThemeMeta, ThemeVariant};
pub use style::OpalineStyle;
pub use theme::{Theme, ThemeBuilder};
#[cfg(feature = "gradients")]
pub use gradient::Gradient;
#[cfg(all(feature = "ratatui", feature = "gradients"))]
pub use adapters::ratatui::{gradient_bar, gradient_line, gradient_spans, gradient_text_line};
#[cfg(all(feature = "cli", feature = "gradients"))]
pub use adapters::cli::gradient_string;
#[cfg(feature = "cli")]
pub use adapters::cli::{ColoredExt, ThemeCliExt};
#[cfg(feature = "css")]
pub use adapters::css::{generate_css_classes, generate_css_vars, generate_stylesheet};
#[cfg(feature = "owo-colors")]
pub use adapters::owo_colors::OwoThemeExt;
#[cfg(feature = "global-state")]
pub use theme::{current, load_theme, set_theme};
#[cfg(all(feature = "global-state", feature = "builtin-themes"))]
pub use theme::{load_theme_by_name, load_theme_by_name_with};
#[cfg(all(
feature = "global-state",
feature = "builtin-themes",
feature = "discovery"
))]
pub use theme::{
load_theme_by_name_for_app, load_theme_by_name_for_app_with, load_theme_by_name_in_dirs,
};
#[cfg(feature = "builtin-themes")]
pub use builtins::{ThemeInfo, list_available_themes, load_by_name};
#[cfg(all(feature = "builtin-themes", feature = "discovery"))]
pub use builtins::{list_available_themes_for_app, list_available_themes_in_dirs};
#[cfg(feature = "discovery")]
pub use discovery::{app_theme_dirs, theme_dirs};
#[cfg(feature = "widgets")]
pub use widgets::{ThemeSelector, ThemeSelectorAction, ThemeSelectorState};