- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
Historial de versiones.
Patrón canónico de historial de versiones para firmas y documentos, scribe, medicamentos y editorial sebastián.
Verlo por niveles
Primero el componente, después la variación de marca y finalmente su uso dentro de una página.
- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
- Se actualizó el precio de la cláusula segunda.
- Se creó el borrador.
- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
Ver y copiar el código de este render
<section class="ui-sample ui-document" data-version-history="true"><header><strong>Historial de versiones</strong><span>v3</span></header><ol><li><time dateTime="2026-08-25T17:20:00-04:00">v3 · 25 ago 17:20</time> Se corrigió la cláusula cuarta.</li><li><time dateTime="2026-08-25T16:48:00-04:00">v2 · 25 ago 16:48</time> Se agregó el anexo de datos.</li></ol><a href="#comparar">Comparar versiones</a></section>Variaciones por marca y sitio
Cada cambio visible declara su autoridad; lo que permanece canónico no se vuelve a inventar en el producto.
Firmas y Documentos
Autoridad: Feedback de revisión r14 + cis.document.v1- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
Cambia en esta marca
- Nombre completo con espacios y color café
- Densidad documental y metadatos de autoridad
Permanece canónico
- Firma, digest, versión y recibo no son decoración
- Chrome, foco y controles canónicos
Compañía de Innovación de Santiago
Autoridad: CONSTITUTION.md + LOGOS-CANONICOS.md- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
- Se actualizó el precio de la cláusula segunda.
- Se creó el borrador.
Cambia en esta marca
- Navegación y contenido propios del servicio
- Acento reservado para acciones y datos
Permanece canónico
- Mark CIS y namebrand de tres líneas
- IBM Plex Sans, foco, espaciado y anatomía
Comparación histórica recuperable
Compara la propuesta con cortes reales del repositorio. La ausencia de una muestra se declara y nunca se reconstruye de memoria.
- Estado actual
- Historial de versiones tiene 2 implementaciones observadas en 1 repositorios: cochid/cochid-scribe.
- Cambio propuesto
- Publicar en r19 el contrato de Historial de versiones para Patrón canónico de historial de versiones para firmas y documentos, scribe, medicamentos y editorial sebastián.
- Qué ocurre si respondes No
- No se adopta el contrato r19 de Historial de versiones; las 2 implementaciones observadas permanecen sin migración.
Preparando comparación histórica…
Antes / r19
La comparación convierte una regla abstracta en una diferencia visible y verificable.
- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
- Muestra versión, estado, partes y representación verificable.
- Conserva historial, firma y digest fuera del puro tratamiento visual.
- No presentes un borrador como firmado o vigente.
- No alteres la autoridad del contrato documental desde Style.
Responsive
La misma anatomía debe conservar lectura, foco y acciones sin cortar contenido ni crear scroll horizontal en la página.
- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
- Se corrigió la cláusula cuarta.
- Se agregó el anexo de datos.
- Se actualizó el precio de la cláusula segunda.
- Se creó el borrador.
Cobertura
| Dimensión | Contrato |
|---|---|
| Propietario canónico | Sistema de diseño CIS y Firmas y Documentos · core/core-style |
| Consumidores | Firmas y Documentos, Scribe, Medicamentos y Editorial Sebastián |
| Dependencias | contrato documental, representaciones versionadas |
| Estado | candidato |
Evidencia de adopción
Patrón observado. 2 implementaciones observadas en 1 repositorios.
La observación demuestra uso existente; la aceptación canónica sigue dependiendo de esta ficha y de su propietario.
| Dato | Resultado |
|---|---|
| Clasificación | Patrón observado |
| Implementaciones | 2 implementaciones observadas |
| Repositorios | cochid/cochid-scribe |
| Snapshot | kit/componentes/componentes-observados.json |
Consumidores observados
El inventario conserva repositorio, archivo fuente y criterio de asociación. Observar una implementación no la convierte automáticamente en canónica.
Estados
| Estado requerido |
|---|
| borrador |
| en revisión |
| firmado |
| archivado |
Accesibilidad
- Conserva nombre accesible, orden de lectura y foco visible.
- Funciona a 320 px, con zoom de 200% y texto largo.
- El color nunca es la única señal de estado o acción.
- El contenido esencial permanece disponible sin JavaScript.
Código HTML
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
<section class="ui-sample ui-document" data-version-history="true"><header><strong>Historial de versiones</strong><span>v3</span></header><ol><li><time dateTime="2026-08-25T17:20:00-04:00">v3 · 25 ago 17:20</time> Se corrigió la cláusula cuarta.</li><li><time dateTime="2026-08-25T16:48:00-04:00">v2 · 25 ago 16:48</time> Se agregó el anexo de datos.</li></ol><a href="#comparar">Comparar versiones</a></section>Código TAILWIND
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
<section class="ui-sample ui-document border border-slate-300 bg-white p-4 text-slate-950 grid gap-3" data-version-history="true"><header class="flex flex-wrap items-center justify-between gap-3"><strong>Historial de versiones</strong><span>v3</span></header><ol class="grid gap-2"><li><time dateTime="2026-08-25T17:20:00-04:00">v3 · 25 ago 17:20</time> Se corrigió la cláusula cuarta.</li><li><time dateTime="2026-08-25T16:48:00-04:00">v2 · 25 ago 16:48</time> Se agregó el anexo de datos.</li></ol><a class="underline underline-offset-4" href="#comparar">Comparar versiones</a></section>Código REACT
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
export interface VersionHistoryItem {
/** Versión que dejó el cambio («v3»). */
version: string;
/** Fecha u hora visible del cambio («25 ago 17:20»); vacía muestra sólo la versión. */
time?: string;
/** Fecha y hora del cambio en ISO 8601 (atributo `dateTime`). */
dateTime: string;
/** Qué cambió, en una oración; vacío muestra sólo la versión y la hora. */
description: string;
}
export interface VersionHistoryProps {
title?: string;
/** Versión vigente, junto al título; vacía la oculta. */
version?: string;
/** Cambios del más reciente al más antiguo. */
items?: VersionHistoryItem[];
/** Destino de la comparación de versiones; vacío oculta el enlace. */
href?: string;
/** Texto del enlace a la comparación; vacío oculta el enlace. */
linkLabel?: string;
className?: string;
}
const VERSION_HISTORY_ITEMS: VersionHistoryItem[] = [
{ version: "v3", time: "25 ago 17:20", dateTime: "2026-08-25T17:20:00-04:00", description: "Se corrigió la cláusula cuarta." },
{ version: "v2", time: "25 ago 16:48", dateTime: "2026-08-25T16:48:00-04:00", description: "Se agregó el anexo de datos." },
];
/**
* Historial de versiones de un documento con la versión vigente y cada cambio con su versión, hora y descripción; se usa en el panel del documento para revisar qué cambió y comparar versiones.
*
* @example <VersionHistory version="v4" items={[{ version: "v4", time: "25 ago 17:20", dateTime: "2026-08-25T17:20:00-04:00", description: "Se corrigió la cláusula cuarta." }, { version: "v3", time: "25 ago 16:48", dateTime: "2026-08-25T16:48:00-04:00", description: "Se agregó el anexo de datos." }]} href="/documentos/FYD-184/comparar" linkLabel="Comparar v3 con v4" />
*/
export function VersionHistory({
title = "Historial de versiones",
version = "v3",
items = VERSION_HISTORY_ITEMS,
href = "#comparar",
linkLabel = "Comparar versiones",
className,
}: VersionHistoryProps) {
return (
<section className={["ui-document", className].filter(Boolean).join(" ")} data-version-history>
<header>
<strong>{title}</strong>
{version ? <span>{version}</span> : null}
</header>
{items.length ? (
<ol>
{items.map((item, i) => (
<li key={`${item.dateTime}-${i}`}>
<time dateTime={item.dateTime}>{item.time ? `${item.version} · ${item.time}` : item.version}</time>
{item.description ? ` ${item.description}` : null}
</li>
))}
</ol>
) : null}
{href && linkLabel ? <a href={href}>{linkLabel}</a> : null}
</section>
);
}