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 PaginationItemFirstSlotPropsOverrides {} export interface PaginationItemLastSlotPropsOverrides {} export interface PaginationItemNextSlotPropsOverrides {} export interface PaginationItemPreviousSlotPropsOverrides {} export interface PaginationItemSlots { /** * The component that renders the first page slot. * @default FirstPageIcon */ first: React.ElementType; /** * The component that renders the last page slot. * @default LastPageIcon */ last: React.ElementType; /** * The component that renders the next page slot. * @default NavigateNextIcon */ next: React.ElementType; /** * The component that renders the previous page slot. * @default NavigateBeforeIcon */ previous: React.ElementType; } export type PaginationItemSlotsAndSlotProps = CreateSlotsAndSlotProps>, PaginationItemFirstSlotPropsOverrides, PaginationItemOwnerState>; /** * Props forwarded to the last page slot. */ last: SlotProps>, PaginationItemLastSlotPropsOverrides, PaginationItemOwnerState>; /** * Props forwarded to the next page slot. */ next: SlotProps>, PaginationItemNextSlotPropsOverrides, PaginationItemOwnerState>; /** * Props forwarded to the previous page slot. */ previous: SlotProps>, PaginationItemPreviousSlotPropsOverrides, PaginationItemOwnerState>; }>; export interface PaginationItemOwnerState extends PaginationItemProps {} export interface PaginationItemOwnProps extends PaginationItemSlotsAndSlotProps { /** * Override or extend the styles applied to the component. */ classes?: Partial | undefined; /** * 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> | undefined; /** * If `true`, the component is disabled. * @default false */ disabled?: boolean | undefined; /** * Whether the custom component should render a native `