dioxus_spring/
use_spring_signal.rs

1use crate::{use_spring_ref, UseSpringRef};
2use dioxus::prelude::*;
3use interpolation::Lerp;
4
5/// Hook to create an animated signal from an initial value.
6pub fn use_spring_signal<V>(from: V) -> (Signal<V>, UseSpringRef<V>)
7where
8    V: PartialEq + Lerp<Scalar = f32> + Clone + 'static,
9{
10    let from_clone = from.clone();
11    let mut output = use_signal(move || from_clone);
12
13    let spring_ref = use_spring_ref(from, move |value| output.set(value));
14
15    (output, spring_ref)
16}