Pagination

여러 페이지로 나뉜 목록이나 컬렉션에서 페이지를 이동할 때 사용합니다.

미리보기

현재 페이지와 앞뒤 이동

예제 안에서 1~3페이지를 전환하고 현재 페이지와 이전·다음 이동의 경계 상태를 확인합니다.

설치

Registry를 처음 사용한다면 기본 설정과 공통 스타일 설치 을 먼저 완료하세요.

npx shadcn@latest add @neumorphism-ui/pagination

공통 base를 한 번 설치한 뒤 CLI로 필요한 컴포넌트와 의존성을 추가합니다.

Registry JSON

사용법

PaginationContent와 PaginationItem 안에 페이지 링크를 두세요. 실제 주소를 제공하고 현재 페이지는 isActive로 표시하며 생략한 페이지에는 말줄임 표시를 사용합니다.

import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious } from "@/components/ui/pagination";

export default function Example() {
  return (
    <Pagination>
      <PaginationContent>
        <PaginationItem><PaginationPrevious href="?page=1" /></PaginationItem>
        <PaginationItem><PaginationLink href="?page=1">1</PaginationLink></PaginationItem>
        <PaginationItem><PaginationLink href="?page=2" isActive>2</PaginationLink></PaginationItem>
        <PaginationItem><PaginationNext href="?page=3" /></PaginationItem>
      </PaginationContent>
    </Pagination>
  );
}

API 레퍼런스

nav, ul, li, anchor의 시맨틱을 유지하는 조합형 pagination입니다. 활성 페이지, 이전·다음 링크, 축약 표시를 제공합니다.

컴포넌트속성타입기본값설명
Paginationaria-labelstring"pagination"pagination navigation 영역의 접근 가능한 이름입니다.
PaginationLinkhref필수string—대상 페이지의 실제 URL입니다.
PaginationLinkisActivebooleanfalse현재 페이지 스타일과 aria-current=page를 설정합니다.
PaginationPrevious / PaginationNextchildrenReact.ReactNode"Previous" / "Next"기본 이동 문구를 교체합니다.

접근성

  • 01

    각 페이지는 실제 href가 있는 링크여야 브라우저 탐색과 새 탭 열기를 유지합니다.

  • 02

    현재 페이지 하나에만 isActive를 지정해 aria-current=page를 설정합니다.

  • 03

    Previous와 Next에는 기본 aria-label이 있으며 지역화가 필요하면 덮어씁니다.