use leptos::{prelude::Signal, View}; use super::{ControlRenderData, VanityControlBuilder, VanityControlData}; use crate::{form::FormToolData, form_builder::FormBuilder, styles::FormStyle}; #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] pub struct SpacerData { pub(crate) height: Option, } impl VanityControlData for SpacerData { fn build_control( fs: &FS, control: ControlRenderData, _value_getter: Option>, ) -> View { fs.spacer(control) } } impl FormBuilder { pub fn spacer( self, builder: impl Fn( VanityControlBuilder, ) -> VanityControlBuilder, ) -> Self { self.new_vanity(builder) } } impl VanityControlBuilder { pub fn height(mut self, height: impl ToString) -> Self { self.data.height = Some(height.to_string()); self } }