use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const SIDEBAR_API: ComponentApi = ComponentApi {
id: "sidebar",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "state", kind: PropType::String, required: false, default: Some("open"), description: "Loading or visibility state" },
PropDef { name: "variant", kind: PropType::Enum(&["default", "rail"]), required: false, default: Some("default"), description: "Visual variant of the component" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARHEADER_API: ComponentApi = ComponentApi {
id: "sidebar-header",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARCONTENT_API: ComponentApi = ComponentApi {
id: "sidebar-content",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARFOOTER_API: ComponentApi = ComponentApi {
id: "sidebar-footer",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARMENU_API: ComponentApi = ComponentApi {
id: "sidebar-menu",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARMENUITEM_API: ComponentApi = ComponentApi {
id: "sidebar-menu-item",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
PropDef { name: "href", kind: PropType::String, required: false, default: Some(""), description: "Navigation target URL" },
PropDef { name: "active", kind: PropType::String, required: false, default: Some("inactive"), description: "Active/selected state" },
PropDef { name: "disabled", kind: PropType::String, required: false, default: Some("enabled"), description: "Whether the component is disabled" },
],
};
pub const SIDEBARMENUGROUP_API: ComponentApi = ComponentApi {
id: "sidebar-menu-group",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
PropDef { name: "label", kind: PropType::String, required: false, default: None, description: "Accessible label text" },
],
};
pub const SIDEBARSEPARATOR_API: ComponentApi = ComponentApi {
id: "sidebar-separator",
description: "Sidebar navigation component",
props: &[
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
PropDef { name: "hidden", kind: PropType::Bool, required: false, default: Some("false"), description: "Prop value" },
],
};
pub const SIDEBARGROUPLABEL_API: ComponentApi = ComponentApi {
id: "sidebar-group-label",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARGROUP_API: ComponentApi = ComponentApi {
id: "sidebar-group",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
PropDef { name: "root", kind: PropType::Bool, required: false, default: Some("false"), description: "Prop value" },
PropDef { name: "hidden", kind: PropType::Bool, required: false, default: Some("false"), description: "Prop value" },
PropDef { name: "state", kind: PropType::String, required: false, default: Some("open"), description: "Loading or visibility state" },
],
};
pub const SIDEBARGROUPTRIGGER_API: ComponentApi = ComponentApi {
id: "sidebar-group-trigger",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARGROUPCONTENT_API: ComponentApi = ComponentApi {
id: "sidebar-group-content",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARLABEL_API: ComponentApi = ComponentApi {
id: "sidebar-label",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARICON_API: ComponentApi = ComponentApi {
id: "sidebar-icon",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARUSER_API: ComponentApi = ComponentApi {
id: "sidebar-user",
description: "Sidebar navigation component",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SIDEBARUNIFIEDBOUNDARY_API: ComponentApi = ComponentApi {
id: "sidebar-unified-boundary",
description: "Sidebar navigation component",
props: &[
PropDef { name: "config", kind: PropType::String, required: true, default: None, description: "Prop value" },
],
};