cranpose-macros 0.9.7

Composable and preview macros for Cranpose
Documentation
# cranpose-macros

`cranpose-macros` provides `#[composable]` and `#[preview]`, the procedural
macros used by Cranpose components. Depend directly on the crate when a
framework crate defines composables or preview fixtures. App code can import
the macros through [`cranpose`](https://docs.rs/cranpose/latest/cranpose/).

## Composable functions

The `#[composable]` macro gives each function call a composition group. The
call-site identity keeps groups stable across recomposition. Value parameters
use `Clone` and `PartialEq`; callback parameters use stored callback slots, so a
new closure value reaches its composition position. `#[composable(no_skip)]`
re-runs the body on each call.

This app example uses the facade and UI dependencies:

```text
use cranpose::*;

#[composable]
fn Greeting(name: String) {
    Text(name, Modifier::empty(), TextStyle::default());
}
```

`#[preview]` registers a parameterless component fixture for IDE previews.
Combine `#[preview]` with `#[composable]`. The `cranpose` `preview` feature
enables preview registration. Options include `name`, `group`, `width`,
`height`, and `dark`.

The `hot-reload` feature selects source-structure keys for development hot reload.

- [API reference on docs.rs]https://docs.rs/cranpose-macros/latest/cranpose_macros/
- [Source on GitHub]https://github.com/samoylenkodmitry/cranpose/tree/main/crates/cranpose-macros