ferro_theme/lib.rs
1//! # Ferro Theme
2//!
3//! Semantic theme tokens and intent template schema for Ferro.
4//!
5//! Provides the [`Theme`] struct which holds an embedded or filesystem-loaded
6//! CSS file (using Tailwind v4 `@theme` syntax) and optional [`ThemeTemplates`]
7//! that configure how each of the 7 intents renders its slot layout.
8//!
9//! ## Example
10//!
11//! ```rust
12//! use ferro_theme::Theme;
13//!
14//! // Always available — no filesystem dependency
15//! let theme = Theme::default_theme();
16//! assert!(theme.css.contains("--color-primary"));
17//! ```
18
19mod error;
20mod loader;
21mod template;
22pub mod token;
23
24pub use error::ThemeError;
25pub use loader::Theme;
26pub use template::{IntentModeTemplates, IntentSlotTemplate, ThemeTemplates};