// SkeletonTableFooter.tsx /** Skeleton del footer de paginación, imita DataTablePagination */ export function SkeletonDataTableFooter({ pageIndex = 0, pageSize = 10, totalItems = 0, }: { pageIndex?: number; // 0-based pageSize?: number; totalItems?: number; }) { // Cálculo de rango (1-based visual) const start = totalItems > 0 ? pageIndex * pageSize + 1 : 0; const end = totalItems > 0 ? Math.min(start + pageSize - 1, totalItems) : 0; return (
{/* Izquierda: rango visible */}
{/* Texto real + shimmer leve para coherencia visual */} {`Mostrando ${start}–${end} de ${totalItems} registros`} {/* 'Filas por página' + trigger del select simulado */}
Filas por página
{/* Derecha: controles de paginación simulados */}
{/* Primera */}
{/* Anterior */}
{/* Indicador de página */}
{/* Siguiente */}
{/* Última */}
Loading pagination…
); }