import * as React from 'react'; import { OverridableStringUnion } from '@mui/types'; import { SxProps } from '@mui/system'; import { OverridableComponent, OverrideProps } from "../OverridableComponent/index.js"; import { Theme } from "../styles/index.js"; import { UsePaginationItem } from "../usePagination/usePagination.js"; import { PaginationItemClasses } from "./paginationItemClasses.js"; import { CreateSlotsAndSlotProps, SlotProps } from "../utils/types.js"; export interface PaginationItemPropsVariantOverrides {} export interface PaginationItemPropsSizeOverrides {} export interface PaginationItemPropsColorOverrides {} export interface PaginationItemSlots { first: React.ElementType; last: React.ElementType; next: React.ElementType; previous: React.ElementType; } export type PaginationItemSlotsAndSlotProps = CreateSlotsAndSlotProps>, {}, PaginationItemOwnerState>; last: SlotProps>, {}, PaginationItemOwnerState>; next: SlotProps>, {}, PaginationItemOwnerState>; previous: SlotProps>, {}, PaginationItemOwnerState>; }>; export interface PaginationItemOwnerState extends PaginationItemProps {} export interface PaginationItemOwnProps extends PaginationItemSlotsAndSlotProps { /** * Override or extend the styles applied to the component. */ classes?: Partial; /** * The active color. * It supports both default and custom theme colors, which can be added as shown in the * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors). * @default 'standard' */ color?: OverridableStringUnion<'standard' | 'primary' | 'secondary', PaginationItemPropsColorOverrides>; /** * The components used for each slot inside. * * This prop is an alias for the `slots` prop. * It's recommended to use the `slots` prop instead. * * @default {} * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details. */ components?: { first?: React.ElementType; last?: React.ElementType; next?: React.ElementType; previous?: React.ElementType; }; /** * If `true`, the component is disabled. * @default false */ disabled?: boolean; /** * The current page number. */ page?: React.ReactNode; /** * If `true` the pagination item is selected. * @default false */ selected?: boolean; /** * The shape of the pagination item. * @default 'circular' */ shape?: 'circular' | 'rounded'; /** * The size of the component. * @default 'medium' */ size?: OverridableStringUnion<'small' | 'medium' | 'large', PaginationItemPropsSizeOverrides>; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps; /** * The type of pagination item. * @default 'page' */ type?: UsePaginationItem['type']; /** * The variant to use. * @default 'text' */ variant?: OverridableStringUnion<'text' | 'outlined', PaginationItemPropsVariantOverrides>; } export interface PaginationItemTypeMap { props: AdditionalProps & PaginationItemOwnProps; defaultComponent: RootComponent; } /** * * Demos: * * - [Pagination](https://mui.com/material-ui/react-pagination/) * * API: * * - [PaginationItem API](https://mui.com/material-ui/api/pagination-item/) * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/) */ declare const PaginationItem: OverridableComponent; export type PaginationItemProps = OverrideProps, RootComponent> & { component?: React.ElementType; }; export default PaginationItem;