bevy_material_ui
A Material Design 3 UI library for Bevy.
Installation
[]
= "0.1"
Documentation
- Documentation index: docs/README.md
- Developer guide: docs/DEVELOPER_GUIDE.md
- Component docs: docs/components/
- Run the interactive showcase:
cargo run --example showcase
Features
- Material Design 3 Components: Buttons, FABs, Cards, Checkboxes, Switches, Radio Buttons, Sliders, Text Fields, Dialogs, Lists, Menus, Tabs, Progress Indicators, and more
- Date/Time Picker: Material-style date and time picker component (see the showcase for an end-to-end example)
- Icons: Material icons embedded at build time and rendered via Bevy UI
ImageNodetinting - Theming: Dynamic color system with light/dark mode support
- Animations: Motion system following MD3 guidelines
- Accessibility: Proper touch targets and focus handling
Icons
By default, this crate uses the published google-material-design-icons-bin crate as its icon source.
Icons are embedded as ALPHA8 and expanded to RGBA8 (white + alpha) at runtime so Bevy UI tinting via ImageNode.color continues to work.
Using Icons
use *;
use ;
Available Icons
Common icon name constants are available in bevy_material_ui::icons, for example:
- Navigation:
ICON_HOME,ICON_MENU,ICON_ARROW_BACK,ICON_CLOSE - Actions:
ICON_ADD,ICON_DELETE,ICON_EDIT,ICON_SEARCH,ICON_SETTINGS
You can also use arbitrary icon names (folder names from the upstream repo):
use MaterialIcon;
let icon = from_name;
License
This library is licensed under MIT.
Releases (semantic versioning)
Publishing to crates.io is automated via GitHub Actions and uses tags of the form vMAJOR.MINOR.PATCH.
- Update
versioninCargo.toml. - Commit and push to
main. - Create and push a tag like
v0.1.1.
The workflow in .github/workflows/publish.yml verifies the tag matches Cargo.toml and then runs cargo publish.
