import { ReactNode, FC, forwardRef, createContext, useContext, useMemo, } from "react" // ThreeD Garden components import MDBox from "~/components/mui/MDBox" // Custom styles for MDPagination import MDPaginationItemRoot from "~/components/mui/MDPagination/MDPaginationItemRoot" // The Pagination main context const Context = createContext(null) // Declare props types for MDPagination interface Props { item?: boolean variant?: "gradient" | "contained" color?: | "white" | "primary" | "secondary" | "info" | "success" | "warning" | "error" | "light" | "dark" size?: "small" | "medium" | "large" active?: boolean children: ReactNode [key: string]: any } const MDPagination: FC = forwardRef( ({ item, variant, color, size, active, children, ...rest }, ref) => { const context: any = useContext(Context) const paginationSize = context ? context.size : undefined const providerValue = useMemo( () => ({ variant, color, size, }), [variant, color, size] ) return ( {item ? ( {children} ) : ( {children} )} ) } ) // Declaring default props for MDPagination MDPagination.defaultProps = { item: false, variant: "gradient", color: "info", size: "medium", active: false, } export default MDPagination