Shared/Section Heading

Section Heading

Encabezado de página y sección con variantes de tamaño (lg / sm), alineación, slot de breadcrumbs y botón de retroceso opcionales. Fiel al sistema de diseño Figma (nodo 382:3700).

Base — Large

Variante page-level estándar. CTAs alineados a la derecha de la fila del heading.

Inicio

Resumen de datos desde el 1 de enero al 5 de mayo del 2026.

Base — Large con overline

Muestra el label de content-type encima del heading cuando se pasa la prop contentType.

Módulo

Gestión de Obras

Administrá el avance, costos y equipos de cada obra desde un solo lugar.

Breadcrumbs — Large

Renderiza el slot de breadcrumbs encima de la fila del heading.

Detalle de Obra

Vista completa del estado, hitos y equipo de la obra seleccionada.

Base — Small

Variante compacta para sub-secciones dentro de una página. CTAs apilados debajo.

Hitos

Etapas clave registradas para esta obra.

Back — Small

Incluye un botón circular de retroceso a la izquierda del heading.

Editar Obra

Modificá los datos generales de la obra seleccionada.

Mínimo

Solo heading obligatorio; todas las demás props son opcionales.

Configuración

Props

Interfaz pública del componente SectionHeading.

PropTipoDefaultDescripción
headingstringTexto principal del heading. Requerido.
descriptionstringundefinedSubtítulo / descripción debajo del heading.
contentTypestringundefinedLabel overline encima del heading. Solo visible en type="base" + size="lg".
type"base" | "breadcrumbs" | "back""base"Variante de layout. base estándar, breadcrumbs con slot de migas, back con botón circular de retroceso.
size"lg" | "sm""lg"lg para encabezados de página con CTAs inline. sm para sub-secciones con CTAs apilados.
actionsReactNodeundefinedSlot de CTA — renderizá uno o más botones aquí.
breadcrumbsReactNodeundefinedSlot de breadcrumbs. Solo aplica con type="breadcrumbs".
onBack() => voidundefinedCallback del botón de retroceso. Solo aplica con type="back".
classNamestringundefinedClases Tailwind extra sobre el contenedor raíz.

Uso

Importá SectionHeading desde @repo/ui y pasale al menos el prop heading.

import { SectionHeading } from '@repo/ui';
import { Button } from '@repo/ui';
import { Download } from '@repo/icons';

// Variante page-level con CTAs
<SectionHeading
  heading="Inicio"
  description="Resumen de datos desde el 1 de enero al 5 de mayo del 2026."
  actions={
    <Button variant="outline">
      <Download className="size-4" />
      Exportar datos
    </Button>
  }
/>

// Con overline label
<SectionHeading
  heading="Gestión de Obras"
  contentType="Módulo"
  description="Administrá el avance, costos y equipos de cada obra."
/>

// Con breadcrumbs
<SectionHeading
  type="breadcrumbs"
  heading="Detalle de Obra"
  breadcrumbs={<MyBreadcrumbs />}
/>

// Sub-sección pequeña con botón de retroceso
<SectionHeading
  type="back"
  size="sm"
  heading="Editar Obra"
  onBack={() => router.back()}
/>