๐จ Theme

๐ฌ Demo
| Framework | Live Demo |
|---|---|
| Yew | |
| Dioxus | TODO |
| Leptos | TODO |
๐ Intro
Theme is a flexible, declarative, and type-safe theming system for Rust-based WASM frameworks like Yew, Leptos, and Dioxus. It provides structured and composable themes, including support for dark/light/system themes and custom color palettes with runtime composition and validation.
๐ค Why Use Theme?
-
๐ Light, Dark, and System Themes: Built-in support for light, dark, and system-preferred themes.
-
๐จ Custom Themes with Composition: Define your own themes with optional inheritance from base themes.
-
๐งช Type-Safe Color Tokens: Validate hex codes at runtime.
-
๐ฆ Persistent Theme Selection: Persist user-selected themes using
LocalStorageorSessionStorage. -
โป๏ธ Runtime Composition with Inheritance: Inherit and override from base themes dynamically at runtime.
-
๐๏ธ Tailwind & DaisyUI Compatible: Use custom themes to generate CSS variables that integrate smoothly with Tailwind CSS and DaisyUI.
Yew Usage
Refer to our guide to integrate this component into your Yew app.
๐งฌ Dioxus Usage (TODO)
Refer to our guide to integrate this component into your Dioxus app.
๐ฑ Leptos Usage (TODO)
Refer to our guide to integrate this component into your Leptos app.
๐ค Contributions
Contributions are welcome! Whether it's bug fixes, feature requests, or examples, we would love your help to make Theme better.
- Fork the repository.
- Create a new branch for your feature/bugfix.
- Submit a pull request for review.
๐ License
Theme is licensed under the MIT License. You are free to use, modify, and distribute this library in your projects.