use leptos::*;
use leptos_use::docs::{demo_or_body, Note};
use leptos_use::{watch_pausable, WatchPausableReturn};
#[component]
fn Demo(cx: Scope) -> impl IntoView {
let input = create_node_ref(cx);
let (log, set_log) = create_signal(cx, "".to_string());
let (source, set_source) = create_signal(cx, "".to_string());
let WatchPausableReturn {
stop,
pause,
resume,
is_active,
} = watch_pausable(cx, source, move |v, _, _| {
set_log.update(|log| *log = format!("{log}Changed to \"{v}\"\n"));
});
let clear = move |_| set_log("".to_string());
let pause = move |_| {
set_log.update(|log| *log = format!("{log}Paused\n"));
pause();
};
let resume = move |_| {
set_log.update(|log| *log = format!("{log}Resumed\n"));
resume();
};
view! { cx,
"Value: " {source}
{log}} } fn main() { _ = console_log::init_with_level(log::Level::Debug); console_error_panic_hook::set_once(); mount_to(demo_or_body(), |cx| { view! { cx,