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