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.
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:
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.