use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const MARKDOWNSURFACE_API: ComponentApi = ComponentApi {
id: "markdown-surface",
description: "Rendered markdown content",
props: &[
PropDef { name: "rendered", kind: PropType::String, required: true, default: None, description: "Prop value" },
PropDef { name: "show_toc", kind: PropType::Bool, required: false, default: None, description: "Whether to show table of contents" },
PropDef { name: "show_toolbar", kind: PropType::Bool, required: false, default: None, description: "Whether to show markdown toolbar" },
PropDef { name: "toc_position", kind: PropType::String, required: false, default: None, description: "Position of table of contents" },
PropDef { name: "contained", kind: PropType::Bool, required: false, default: Some("false"), description: "Whether to constrain width" },
PropDef { name: "id", kind: PropType::String, required: false, default: None, description: "Element id attribute" },
],
};
pub const MARKDOWNLAYOUT_API: ComponentApi = ComponentApi {
id: "markdown-layout",
description: "Rendered markdown content",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "value", kind: PropType::String, required: false, default: None, description: "Current value" },
PropDef { name: "toc_position", kind: PropType::String, required: false, default: None, description: "Position of table of contents" },
],
};
pub const MARKDOWNCONTENT_API: ComponentApi = ComponentApi {
id: "markdown-content",
description: "Rendered markdown content",
props: &[
PropDef { name: "rendered", kind: PropType::String, required: true, default: None, description: "Prop value" },
PropDef { name: "id", kind: PropType::String, required: false, default: None, description: "Element id attribute" },
],
};
pub const MARKDOWNTOC_API: ComponentApi = ComponentApi {
id: "markdown-t-o-c",
description: "Rendered markdown content",
props: &[
PropDef { name: "toc", kind: PropType::String, required: true, default: None, description: "Prop value" },
PropDef { name: "id", kind: PropType::String, required: false, default: None, description: "Element id attribute" },
PropDef { name: "scroll_target", kind: PropType::String, required: false, default: None, description: "Scroll target element id" },
],
};