UNPKG

@payfit/unity-components

Version:

52 lines (51 loc) 2.91 kB
import { RegisteredRouter, ValidateLinkOptions } from '@tanstack/react-router'; import { RawPaginationPreviousProps } from '../../../../components/pagination/parts/RawPaginationPrevious.js'; type PaginationPreviousRouterProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = Omit<RawPaginationPreviousProps, 'href' | 'onPress'> & ValidateLinkOptions<TRouter, TOptions>; export type PaginationPreviousProps<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown> = PaginationPreviousRouterProps<TRouter, TOptions>; /** * A pagination previous button component that integrates with Tanstack Router for seamless navigation. * Provides type-safe navigation to the previous page with support for preloading. * @param {PaginationPreviousProps} props - Router-based props including 'to', 'search', and 'isDisabled' * @example * ```tsx * import { PaginationPrevious } from '@payfit/unity-components/integrations/tanstack-router' * import { Pagination, PaginationContent, PaginationItem } from '@payfit/unity-components' * * function ProductPagination() { * const search = useSearch({ from: '/products' }) * const currentPage = search.page || 1 * * return ( * <Pagination pageCount={10} currentPage={currentPage} onPageChange={handlePageChange}> * <PaginationContent> * <PaginationItem> * <PaginationPrevious * to="/products" * search={{ ...search, page: currentPage - 1 }} * isDisabled={currentPage === 1} * preload="intent" * /> * </PaginationItem> * </PaginationContent> * </Pagination> * ) * } * ``` * @remarks * - Automatically renders as a disabled button when isDisabled is true * - Supports type-safe route parameters and search params with Tanstack Router * - Enables preload="intent" for data loading before navigation * - Includes tooltip with "Previous" label for accessibility * - Works with Pagination context for keyboard navigation support * - Renders a left-facing caret icon * @see {@link PaginationPreviousProps} for all available props * @see Source code in {@link https://github.com/PayFit/hr-apps/tree/master/libs/shared/unity/components/src/integrations/tanstack-router/components/pagination GitHub} * @see Design specs {@link https://www.figma.com/design/poaMyU7abAgL9VRhx4ygyy/Unity-DS-%3E-Components-Library Figma} * @see Design docs in {@link https://www.payfit.design/ Payfit.design} * @see Developer docs in {@link https://unity-components.payfit.io/?path=/ unity-components.payfit.io} */ declare function PaginationPrevious<TRouter extends RegisteredRouter = RegisteredRouter, TOptions = unknown>(props: PaginationPreviousProps<TRouter, TOptions>): import("react/jsx-runtime").JSX.Element; declare namespace PaginationPrevious { var displayName: string; } export { PaginationPrevious };