# 📜 Craft
[](https://github.com/craft-gui/craft/actions/workflows/ci.yml)
[](./LICENSE)
Craft is a reactive GUI. Views are created using Components and Elements.
Updates are performed by handling messages from a Component.
<p align="center">
<img src="./images/text_editor.png" alt="The text editor example" width="45%">
<img src="./images/ani_list.png" alt="The ani list example." width="45%">
</p>
<p align="center">
<img src="./images/tour.png" alt="The inputs example." width="45%">
<img src="./images/counter.png" alt="The counter example." width="45%">
</p>
## Goals
* Reactive
* Components
* Pure Rust without procedural macros
* Web-like styling
* Cross Platform
# Features
* ✅ Reactive Components
* ✅ Async Updates
* ✅ Text Rendering
* ✅ Windows/Linux
* ✅ Android(basic)
* ✅ Web(basic)
* ✅ Image Support
* ✅ DPI Scaling Support
* ⬜️ Transform (Rotation, Skew, Scale) Support
* ✅ Mac
* ⬜️ iOS
* ✅ Text Input (Basic)
* ✅ IME Support (Basic)
* ⬜️ Animations
* ✅ Scrollables (Basic)
* ⬜️ Documentation
* ⬜️ Tests
* ⬜ Videos
* ⬜ SVGs
* ⬜ Accessibility
## Run Examples:
```shell
cargo run --package counter
```