use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const TOOLTIPPROVIDER_API: ComponentApi = ComponentApi {
id: "tooltip-provider",
description: "Hover tooltip",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "delay_open", kind: PropType::Number, required: false, default: Some("400"), description: "Delay in ms before opening" },
PropDef { name: "delay_close", kind: PropType::Number, required: false, default: Some("100"), description: "Delay in ms before closing" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const TOOLTIP_API: ComponentApi = ComponentApi {
id: "tooltip",
description: "Hover tooltip",
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 TOOLTIPTRIGGER_API: ComponentApi = ComponentApi {
id: "tooltip-trigger",
description: "Hover tooltip",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "tooltip_id", kind: PropType::String, required: false, default: None, description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const TOOLTIPCONTENT_API: ComponentApi = ComponentApi {
id: "tooltip-content",
description: "Hover tooltip",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "side", kind: PropType::Enum(&["top", "bottom", "left", "right"]), required: false, default: Some("top"), description: "Tooltip or popover side" },
PropDef { name: "tooltip_id", kind: PropType::String, required: false, default: None, description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};