// we don't want to necessarily adhere to the spec for dioxus core // 3rd party libs can implement their own builders if they want // macro_rules! builder_constructors { // ( $( // $(#[$attr:meta])* // $name:ident; // )* ) => { // $( // $(#[$attr])* // #[inline] // pub fn $name<'a, B>( // bump: B, // ) -> ElementBuilder< // 'a, // bumpalo::collections::Vec<'a, Listener<'a>>, // bumpalo::collections::Vec<'a, Attribute<'a>>, // bumpalo::collections::Vec<'a, VNode<'a>>, // > // where // B: Into<&'a Bump> // { // ElementBuilder::new(bump, stringify!($name)) // } // )* // }; // ( $( // $(#[$attr:meta])* // $name:ident <> $namespace:tt; // )* ) => { // $( // $(#[$attr])* // #[inline] // pub fn $name<'a>( // bump: &'a Bump, // ) -> ElementBuilder< // 'a, // bumpalo::collections::Vec<'a, Listener<'a>>, // bumpalo::collections::Vec<'a, Attribute<'a>>, // bumpalo::collections::Vec<'a, VNode<'a>>, // > { // let builder = ElementBuilder::new(bump, stringify!($name)); // builder.namespace(Some($namespace)) // } // )* // } // } // // Organized in the same order as // // https://developer.mozilla.org/en-US/docs/Web/HTML/Element // // // // Does not include obsolete elements. // builder_constructors! { // // Document metadata // /// Build a // /// [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base) // /// element. // base; // /// Build a // /// [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head) // /// element. // head; // /// Build a // /// [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) // /// element. // link; // /// Build a // /// [``](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta) // /// element. // meta; // /// Build a // /// [`