Skip to content

opensass/theme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎨 Theme

Crates.io Crates.io Downloads Crates.io License made-with-rust Rust Maintenance

Join our Discord

logo

🎬 Demo

Framework Live Demo
Yew Netlify Status
Dioxus Netlify Status
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?

  1. πŸŒ— Light, Dark, and System Themes: Built-in support for light, dark, and system-preferred themes.

  2. 🎨 Custom Themes with Composition: Define your own themes with optional inheritance from base themes.

  3. πŸ§ͺ Type-Safe Color Tokens: Validate hex codes at runtime.

  4. πŸ“¦ Persistent Theme Selection: Persist user-selected themes using LocalStorage or SessionStorage.

  5. ♻️ Runtime Composition with Inheritance: Inherit and override from base themes dynamically at runtime.

  6. πŸŽ›οΈ 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

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.

  1. Fork the repository.
  2. Create a new branch for your feature/bugfix.
  3. 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.

Packages

No packages published

Contributors 2

  •  
  •  

Languages