1use std::marker::PhantomData;
2
3use crate::mj_body::MjBodyChild;
4use crate::prelude::{Component, StaticTag};
5
6#[cfg(feature = "json")]
7mod json;
8#[cfg(feature = "print")]
9mod print;
10#[cfg(feature = "render")]
11mod render;
12
13#[cfg(feature = "render")]
14pub(crate) use render::{SectionLikeRender, WithMjSectionBackground};
15
16pub const NAME: &str = "mj-section";
17
18pub struct MjSectionTag;
19
20impl StaticTag for MjSectionTag {
21 fn static_tag() -> &'static str {
22 NAME
23 }
24}
25
26pub type MjSection =
27 Component<PhantomData<MjSectionTag>, crate::prelude::AttributeMap, Vec<MjBodyChild>>;