Pagination
Basic
// Package pagination holds the site's example gsx components for
// ui/pagination.
package pagination
import "github.com/gsxhq/gsxui/ui"
// Basic renders a realistic prev/1/2/3/ellipsis/next trail with page 2
// active — the same shape as shadcn's own pagination-demo.tsx.
component Basic() {
<ui.Pagination>
<ui.PaginationContent>
<ui.PaginationItem>
<ui.PaginationPrevious href="#"/>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#">1</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" isActive>2</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#">3</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationEllipsis/>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationNext href="#"/>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="xs">xs</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="sm">sm</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="lg">lg</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="icon-xs" aria-label="Icon extra small">x</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="icon-sm" aria-label="Icon small">s</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" size="icon-lg" aria-label="Icon large">l</ui.PaginationLink>
</ui.PaginationItem>
</ui.PaginationContent>
</ui.Pagination>
}
RTL
package pagination
import "github.com/gsxhq/gsxui/ui"
// Rtl mirrors Basic's prev/1/2/3/ellipsis/next trail wrapped in dir="rtl".
// Page numbers keep Latin digits — shadcn's own convention — while the
// prev/next chevrons flip via rtl:rotate-180 and the trail itself reads
// right-to-left.
component Rtl() {
<div dir="rtl">
<ui.Pagination>
<ui.PaginationContent>
<ui.PaginationItem>
<ui.PaginationPrevious href="#"/>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#">1</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#" isActive>2</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationLink href="#">3</ui.PaginationLink>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationEllipsis/>
</ui.PaginationItem>
<ui.PaginationItem>
<ui.PaginationNext href="#"/>
</ui.PaginationItem>
</ui.PaginationContent>
</ui.Pagination>
</div>
}