Function button

Source
pub fn button(
    args: impl Into<ButtonArgs>,
    ripple_state: Arc<RippleState>,
    child: impl FnOnce(),
)
Expand description

Interactive button component that wraps custom child components with ripple effect.

ยงExample

use tessera_ui_basic_components::button::{button, ButtonArgsBuilder};
use tessera_ui_basic_components::text::{text, TextArgsBuilder};
use tessera_ui_basic_components::ripple_state::RippleState;
use tessera_ui::{Dp, Color};
use std::sync::Arc;

let ripple_state = Arc::new(RippleState::new());
let args = ButtonArgsBuilder::default()
    .color(Color::new(0.1, 0.7, 0.3, 1.0)) // Green button
    .padding(Dp(16.0))
    .on_click(Arc::new(|| println!("Button clicked!")))
    .build()
    .unwrap();

button(args, ripple_state, || {
    text(TextArgsBuilder::default()
        .text("Click me!".to_string())
        .color(Color::from_rgb_u8(255, 255, 255))
        .build()
        .unwrap());
});