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.
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-cmark
andammonia
- ✂️ Clipboard, Notifications, Popover, Section, and more
- 🌗 Dark mode ready — with Tailwind’s
dark:
utilities
🔎 See them all at 👉 https://tailyew.com/demo/getting_started
Check out our starter kit to get up and running quickly
If you're integrating manually or want to poke around, start with our crate README for install instructions and usage examples.
Bonus: The starter kit is the fastest path to a working TailYew setup. The README is your DIY route if you're feeling brave. Either way, you've got options.
A modern, type-safe UI library that makes building frontends with Yew feel like working in systems like React + Tailwind — but with all the benefits of Rust.
TailYew is:
- 🔩 Composable: Built with Atomic Design principles (atoms → organisms)
- 💅 Styled: Powered by Tailwind for utility-first control
- 📦 Packaged: Designed as a crate you can use in any Yew project
- 🧪 Tested: Built and tested inside a real Yew app in the docs site
- 🧰 Tailyew Starter kit Developer-focused: Easy workflows via
make
,cargo-watch
,wasm-pack
.
├── crates/
│ └── tailyew/ # The reusable component library
├── frontend/ # The docs & demo site (real Yew app)
├── docs/ # Optional GitHub Pages markdown
├── Makefile # Root Makefile for all workflows
Inside tailyew/src/
, we organize components by Atomic Design:
atoms/ # Basic elements like Input, Button
molecules/ # Input groups, Select, etc.
organisms/ # Layouts and multi-part components
charts/ # Canvas & chart-based elements
form/ # Form wrappers and logic
icons/ # Shared SVG icon components
Everything is wired up with Makefiles — no guessing.
# 📐 Format and lint
make pretty
# 🔁 Rebuild frontend docs on crate or UI changes
make run-frontend
# 📚 Watch and rebuild Rust API docs
make watch-docs
You can also run targets inside subdirectories:
make fe-build # Run target from frontend/Makefile
make tailyew-doc # Run target from crates/tailyew/Makefile
Before submitting a pull request:
- Make sure
make release-check
passes - 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
🙌 Thank you for helping grow the Rust UI ecosystem!