RavenRS · Rust GUI

DropZone

Edit and run the DropZone RavenRS example in your browser. Explore its Rust code and download a Cargo project for desktop and WebAssembly.

One declarative Rust interface, GPU rendering, reactive state and semantic design tokens. Free and open source under MIT OR Apache-2.0.

Rust source

fn drop_zone() -> impl View {
    let count = State::new(0_usize);
    let (shown, add) = (count.clone(), count);
    DropZone::new(
        Text::bound(&shown, |n| format!("{n} files received. Drop more, or press Enter here."))
            .style(TextStyle::Callout)
            .foreground(Semantic::InkMuted),
    )
    .label("Files of the session")
    .min_height(96.0)
    .choosable()
    .on_files(move |files| add.update(|n| *n += files.len()))
}

The interactive preview loads when JavaScript and WebGPU or WebGL2 are available. You can read the guide and examples here at any time.

More examples