A Leptos component library built with Tailwind CSS v4, designed to work exclusively with Leptos islands architecture. Components use feature flags for selective inclusion and compile styles at build time.
Architecture
- • Built on Leptos 0.8 for server-side rendering and reactive web applications
- • Styled with Tailwind CSS v4 utility classes
- • Feature flags enable opt-in component inclusion
- • CSS bundling happens at build time via build.rs
- • ThemeProvider component injects bundled styles (always available, not a feature flag)
Component Structure
Each component consists of a Rust module and dedicated CSS file:
src/components/[component_name]/
├── mod.rs # Component implementation
└── [component_name].css # Tailwind CSS stylesUsage
Components are enabled via Cargo features. Wrap your Router with ThemeProvider to load styles:
use leptos::prelude::*;
use leptos_router::components::{Router, Routes, Route};
use mosaic_tiles::{ThemeProvider, Button};
#[component]
pub fn App() -> impl IntoView {
view! {
<ThemeProvider>
<Router>
<main>
<Routes fallback=|| "Not found".into_view()>
<Route path=StaticSegment("") view=HomePage />
</Routes>
</main>
</Router>
</ThemeProvider>
}
}Available Components
Use the navigation above to explore component examples and API documentation.