Documentation
use super::*;
use yew::virtual_dom::{VNode, VText};

macro_rules! bind_html {
    ($s:tt, $e:expr) => {
        #[derive(Copy, Clone, Debug)]
        pub struct $s;
        impl Renderable for $s {
            fn render(&self) -> Html {
                $e
            }
        }

        impl Into<Html> for $s {
            #[inline(always)]
            fn into(self) -> Html {
                self.render()
            }
        }
    };
}

pub const EMPTY_HTML: Html = VNode::VText(VText { text: String::new(), reference: None });
bind_html! {FlexCenterExpansion, html! {<span class="flex-center-expansion">{"\u{00A0}"}</span>} }
bind_html! {IndentHtml, html! {"\u{00A0}\u{00A0}\u{00A0}\u{00A0}"} }