use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const ACCORDION_API: ComponentApi = ComponentApi {
id: "accordion",
description: "Expandable accordion sections",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "selection", kind: PropType::Enum(&["single", "multiple"]), required: false, default: Some("single"), description: "Prop value" },
PropDef { name: "collapsible", kind: PropType::String, required: false, default: Some("true"), description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const ACCORDIONITEM_API: ComponentApi = ComponentApi {
id: "accordion-item",
description: "Expandable accordion sections",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "state", kind: PropType::String, required: false, default: Some("closed"), description: "Loading or visibility 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 ACCORDIONTRIGGER_API: ComponentApi = ComponentApi {
id: "accordion-trigger",
description: "Expandable accordion sections",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
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 ACCORDIONCONTENT_API: ComponentApi = ComponentApi {
id: "accordion-content",
description: "Expandable accordion sections",
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" },
],
};