π TailYew
A modern, reusable component library for Yew apps β powered by Tailwind CSS and built in Rust.
TailYew helps you ship fast, beautiful Yew apps using fully-styled, accessible components with dark mode, markdown rendering, charts, modals, and form elements β all built in idiomatic Rust.
π§© Component Highlights
TailYew comes with battle-tested components including:
- β Forms β Input, Select, Checkbox, JSON, Phone, File
- π Charts β LineChart, BubbleChart (canvas-based)
- π§ͺ Modals, Accordions, AppBar, Tabs
- π Markdown β Parse + sanitize with
pulldown-cmarkandammonia - βοΈ Clipboard, Notifications, Popover, Section, and more
- π Dark mode ready β with Tailwindβs
dark:utilities
π See them all at π https://tailyew.com/demo/getting_started
πΈ Preview
Explore TailYewβs live components, props, and code samples:
π https://tailyew.com
π Get Started in 5 Minutes
...if you already have all the dependencies, a stable toolchain, and emotionally prepared for Rust
β Option 1: Use the Starter Template (Recommended)
Then open π http://localhost:8080
This gives you hot reloading, built-in Tailwind support, and access to every TailYew component.
π¦ Using TailYew as a Crate (without starter)
Add to your Cargo.toml:
= "0.1.2"
π¨ Tailwind Setup (Important!)
Tailwind uses static analysis to detect classes. To expose classes from TailYew's crate, we have the make comand:
This copies crates/tailyew into your appβs vendor/ directory so Tailwind includes all component class usage.
This is ran with make run-frontend
Make sure your tailwind.config.js includes the path:
content:
Then use in your app:
use Button;
html!
ποΈ Project Goals
- π‘ Atomic Design β Atoms β Molecules β Organisms
- βοΈ Yew-Native β Fully idiomatic Rust, zero JavaScript
- π¨ Tailwind-First β Utility classes, theming, dark mode
- π Composable APIs β Clean prop-driven ergonomics
- π§ͺ Developer Experience β Hot reload, clear docs, consistent props
π Folder Structure
π€ Contributing
TailYew is an open source project β and weβd love your help!
β¨ Ways to Contribute
- Submit a feature request or improvement idea
- Report bugs or visual issues
- Build new components or improve styling
- Add or update documentation and demos
β Contribution Checklist
Before submitting a pull request:
- Make sure
make release-checkpasses - If it's a visual/UI change, include before/after screenshots
- Update or add related demo pages in
frontend/src/pages/ - Test in both light mode and dark mode
π Helpful Links
- π₯ Open a Pull Request
- π Report a Bug
- π‘ Propose a Feature
π Thank you for helping grow the Rust UI ecosystem!
π Related
- π¦ Yew Framework
- π¨ Tailwind CSS
- π TailYew Starter