use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const NAVITEM_API: ComponentApi = ComponentApi {
id: "nav-item",
description: "Single navigation item",
props: &[
PropDef { name: "label", kind: PropType::String, required: true, default: None, description: "Accessible label text" },
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" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const NAVGROUP_API: ComponentApi = ComponentApi {
id: "nav-group",
description: "Single navigation item",
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: "aria_label", kind: PropType::String, required: false, default: None, description: "Accessible label for screen readers" },
PropDef { name: "direction", kind: PropType::String, required: false, default: Some("vertical"), description: "Stack or flex direction" },
],
};