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());
});