54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
import * as react from 'react';
|
|
import { Ref } from 'react';
|
|
import { HTMLHeroUIProps, PropGetter } from '@heroui/system';
|
|
import { PressEvent, LinkDOMProps } from '@react-types/shared';
|
|
import { PaginationItemValue } from '@heroui/use-pagination';
|
|
|
|
interface Props extends Omit<HTMLHeroUIProps<"li">, "onClick"> {
|
|
/**
|
|
* Ref to the DOM node.
|
|
*/
|
|
ref?: Ref<HTMLElement>;
|
|
/**
|
|
* Value of the item.
|
|
*/
|
|
value?: PaginationItemValue;
|
|
/**
|
|
* Whether the item is active.
|
|
* @default false
|
|
*/
|
|
isActive?: boolean;
|
|
/**
|
|
* Whether the item is disabled.
|
|
* @default false
|
|
*/
|
|
isDisabled?: boolean;
|
|
/**
|
|
* Callback fired when the item is clicked.
|
|
* @param e MouseEvent
|
|
* @deprecated Use `onPress` instead.
|
|
*/
|
|
onClick?: HTMLHeroUIProps<"li">["onClick"];
|
|
/**
|
|
* Callback fired when the item is clicked.
|
|
* @param e PressEvent
|
|
*/
|
|
onPress?: (e: PressEvent) => void;
|
|
/**
|
|
* Function to get the aria-label of the item.
|
|
*/
|
|
getAriaLabel?: (page?: PaginationItemValue) => string | undefined;
|
|
}
|
|
type UsePaginationItemProps = Props & LinkDOMProps;
|
|
declare function usePaginationItem(props: UsePaginationItemProps): {
|
|
Component: string;
|
|
children: react.ReactNode;
|
|
ariaLabel: string | undefined;
|
|
isFocused: boolean;
|
|
isFocusVisible: boolean;
|
|
getItemProps: PropGetter;
|
|
};
|
|
type UsePaginationItemReturn = ReturnType<typeof usePaginationItem>;
|
|
|
|
export { type UsePaginationItemProps, type UsePaginationItemReturn, usePaginationItem };
|