use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const SHEET_API: ComponentApi = ComponentApi {
id: "sheet",
description: "Sheet panel overlay",
props: &[
PropDef { name: "trigger_label", kind: PropType::String, required: false, default: Some("Open"), description: "Prop value" },
PropDef { name: "close_label", kind: PropType::String, required: false, default: Some("Close"), description: "Prop value" },
PropDef { name: "title", kind: PropType::String, required: false, default: None, description: "Title slot or text" },
PropDef { name: "description", kind: PropType::String, required: false, default: None, description: "Description slot or text" },
PropDef { name: "side", kind: PropType::Enum(&["right", "left", "top", "bottom"]), required: false, default: Some("right"), description: "Tooltip or popover side" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SHEETOVERLAY_API: ComponentApi = ComponentApi {
id: "sheet-overlay",
description: "Sheet panel overlay",
props: &[
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const SHEETCONTENT_API: ComponentApi = ComponentApi {
id: "sheet-content",
description: "Sheet panel overlay",
props: &[
PropDef { name: "aria_labelledby", kind: PropType::String, required: true, default: None, description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
PropDef { name: "aria_describedby", kind: PropType::String, required: false, default: Some(""), description: "Prop value" },
],
};