This directory contains comprehensive examples demonstrating how to use Tailwind-RS with different frameworks and scenarios.
- Basic Usage - Getting started with Tailwind-RS
- Advanced Styling - Complex styling scenarios
- Component Library - Building reusable components
- Performance Optimization - Optimizing for production
- Leptos Integration - Full-stack Rust web apps
- Yew Integration - Component-based web apps
- Dioxus Integration - Cross-platform UI framework
- WASM Demo - Browser-based Tailwind-RS
- WASM Performance - Optimizing WASM bundles
- WASM Integration - Integrating with existing web apps
- Unit Testing - Testing Tailwind-RS components
- Integration Testing - End-to-end testing
- Property-Based Testing - Advanced testing strategies
use tailwind_rs_core::classes::ClassBuilder;
let classes = ClassBuilder::new()
.class("bg-blue-500")
.class("text-white")
.class("p-4")
.class("rounded-lg")
.build();
println!("Generated classes: {}", classes);
// Output: "bg-blue-500 text-white p-4 rounded-lg"use tailwind_rs_core::classes::ClassBuilder;
let is_active = true;
let classes = ClassBuilder::new()
.class("base-class")
.class_if(is_active, "active-class")
.class_if(!is_active, "inactive-class")
.build();use tailwind_rs_core::classes::ClassBuilder;
let classes = ClassBuilder::new()
.class("text-sm")
.class("sm:text-base")
.class("md:text-lg")
.class("lg:text-xl")
.build();use leptos::prelude::*;
use tailwind_rs_core::classes::ClassBuilder;
#[component]
fn MyComponent() -> impl IntoView {
let classes = ClassBuilder::new()
.class("bg-blue-500")
.class("text-white")
.class("p-4")
.build();
view! {
<div class=classes>
"Hello, Tailwind-RS!"
</div>
}
}use yew::prelude::*;
use tailwind_rs_core::classes::ClassBuilder;
#[function_component]
fn MyComponent() -> Html {
let classes = ClassBuilder::new()
.class("bg-green-500")
.class("text-white")
.class("p-4")
.build();
html! {
<div class={classes}>
{"Hello, Tailwind-RS!"}
</div>
}
}- Use
ClassBuilderfor dynamic class generation - Cache frequently used class combinations
- Minimize WASM bundle size for web applications
- Create reusable component functions
- Use consistent naming conventions
- Document complex styling logic
- Test class generation logic
- Use property-based testing for edge cases
- Validate responsive behavior
-
WASM Build Errors
- Ensure you're using compatible versions
- Check for conflicting dependencies
- Use
no_stdfeatures when needed
-
Class Generation Issues
- Verify Tailwind CSS is properly configured
- Check for typos in class names
- Ensure proper escaping of dynamic content
-
Performance Issues
- Profile your application
- Use
wasm-optfor optimization - Consider code splitting for large applications
We welcome contributions! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.