use crate::catalog_types::{ComponentApi, PropDef, PropType};
pub const PAGINATION_API: ComponentApi = ComponentApi {
id: "pagination",
description: "Page navigation control",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "current_page", kind: PropType::Number, required: false, default: Some("1usize"), description: "Prop value" },
PropDef { name: "total_pages", kind: PropType::Number, required: false, default: Some("1usize"), description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const PAGINATIONCONTENT_API: ComponentApi = ComponentApi {
id: "pagination-content",
description: "Page navigation control",
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 PAGINATIONITEM_API: ComponentApi = ComponentApi {
id: "pagination-item",
description: "Page navigation control",
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 PAGINATIONLINK_API: ComponentApi = ComponentApi {
id: "pagination-link",
description: "Page navigation control",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "href", kind: PropType::String, required: false, default: Some(""), description: "Navigation target URL" },
PropDef { name: "state", kind: PropType::String, required: false, default: Some("inactive"), description: "Loading or visibility state" },
PropDef { name: "page", kind: PropType::Number, required: false, default: Some("0usize"), description: "Prop value" },
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};
pub const PAGINATIONPREVIOUS_API: ComponentApi = ComponentApi {
id: "pagination-previous",
description: "Page navigation control",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "href", kind: PropType::String, required: false, default: Some(""), description: "Navigation target URL" },
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 PAGINATIONNEXT_API: ComponentApi = ComponentApi {
id: "pagination-next",
description: "Page navigation control",
props: &[
PropDef { name: "children", kind: PropType::Children, required: true, default: None, description: "Child elements" },
PropDef { name: "href", kind: PropType::String, required: false, default: Some(""), description: "Navigation target URL" },
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 PAGINATIONELLIPSIS_API: ComponentApi = ComponentApi {
id: "pagination-ellipsis",
description: "Page navigation control",
props: &[
PropDef { name: "class", kind: PropType::String, required: false, default: Some(""), description: "Additional CSS class names" },
],
};