- ~190 findings zerados: knip --fix (grafo corrigido: tests como entries, migrations como consumidores) + delecao guardada dos orfaos (git grep -w antes de deletar) + reparos manuais dos corpos arrow pendurados - pecas nao usadas do kit ui deletadas (PaginationLink/Next/Previous, familias Sidebar/Combobox/Sheet/Drawer/Dialog etc.) - shadcn add recoloca se precisar - acoes mortas removidas (updateCampaignDemandDetails*, *Record orfaos), schemas/tipos mortos (campaignDemandDetailsUpdateSchema, Contact do zod), helpers mortos - tipos de eleicao derivam direto das *_OPTIONS (consts intermediarias eliminadas) - knip.json: rules exports/types/enumMembers=error, duplicates=off (unicos hits: 6 aliases deliberados canUpdateX=canReadX); hints aplicados (payload.config entry redundante, ignores de tsx/sharp/playwright/payload-types desnecessarios) - ledger: linha P2 dos unused exports fechada
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
import * as React from 'react'
|
|
|
|
import { cn } from '@/lib/utils'
|
|
import { MoreHorizontalIcon } from 'lucide-react'
|
|
|
|
const Pagination = ({ className, ...props }: React.ComponentProps<'nav'>) => (
|
|
<nav
|
|
role="navigation"
|
|
aria-label="Paginação"
|
|
data-slot="pagination"
|
|
className={cn('mx-auto flex w-full justify-center', className)}
|
|
{...props}
|
|
/>
|
|
)
|
|
|
|
const PaginationContent = ({ className, ...props }: React.ComponentProps<'ul'>) => (
|
|
<ul
|
|
data-slot="pagination-content"
|
|
className={cn('flex items-center gap-0.5', className)}
|
|
{...props}
|
|
/>
|
|
)
|
|
|
|
const PaginationItem = ({ ...props }: React.ComponentProps<'li'>) => (
|
|
<li data-slot="pagination-item" {...props} />
|
|
)
|
|
|
|
const PaginationEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (
|
|
<span
|
|
aria-hidden
|
|
data-slot="pagination-ellipsis"
|
|
className={cn(
|
|
"flex size-8 items-center justify-center [&_svg:not([class*='size-'])]:size-4",
|
|
className,
|
|
)}
|
|
{...props}
|
|
>
|
|
<MoreHorizontalIcon />
|
|
<span className="sr-only">Mais páginas</span>
|
|
</span>
|
|
)
|
|
|
|
export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem }
|