    })*) => {
        $(
            paste! {
                #[function_component([<$name Input>])]
                pub fn [<$name:snake:lower _input>]() -> Html {
                    let app = use_store::<AppStore>();
                    let form = use_store::<BasicStore<FormState>>();
                    let oninput = form.dispatch().input(|state, value| state.$form_accessor $([$form_idx])? = value.parse::<f64>());
                    html! {
                        <FormGroup success={form.state().map(|state| (state.$form_accessor $([$form_idx])?).is_ok())}>
                            <Input<f64, ParseFloatError> label=$label desc=$desc
                                default={app.state().map(|state| state.$app_accessor $([$app_idx])?).unwrap_or_else(|| AppState::default().$app_accessor $([$app_idx])?)}
                                parsed={form.state().map(|state| (state.$form_accessor $([$form_idx])?).clone())}