use super::{BuilderFn, 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) } } impl FormBuilder { pub fn heading( self, builder: impl BuilderFn, CX>, ) -> Self { self.new_vanity(builder) } } impl VanityControlBuilder { pub fn title(mut self, title: impl ToString) -> Self { self.data.title = title.to_string(); self } }