Todos los cambios están guardados
Estado en línea.
Patrón canónico de estado en línea para todos los consumidores.
Verlo por niveles
Primero el componente, después la variación de marca y finalmente su uso dentro de una página.
Guardado localmente; falta sincronizar
Todos los cambios están guardados
Ver y copiar el código de este render
<p class="ui-sample" data-inline-status="true" data-tone="success" role="status"><span aria-hidden="true">✓</span> Todos los cambios están guardados</p>Variaciones por marca y sitio
Cada cambio visible declara su autoridad; lo que permanece canónico no se vuelve a inventar en el producto.
Compañía de Innovación de Santiago
Autoridad: CONSTITUTION.md + LOGOS-CANONICOS.mdTodos los cambios están guardados
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
COCHID
Autoridad: core-style/DECISIONES.md M15 y LOGOS-CANONICOS.mdGuardado localmente; falta sincronizar
Cambia en esta marca
- Cuadrado azul y namebrand de tres líneas
- Azul COCHID en selección, capas y series
Permanece canónico
- Estructura y semántica comunes
- Fuentes, unidades y alternativa tabular
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
- Estado en línea no tiene una implementación vigente demostrada; sus ejemplos son material candidato.
- Cambio propuesto
- Publicar en r19 el contrato de Estado en línea para Patrón canónico de estado en línea para todos los consumidores.
- Qué ocurre si respondes No
- Estado en línea queda fuera de r19 y sus ejemplos siguen sólo como evidencia pendiente de reformulación.
Preparando comparación histórica…
Antes / r19
La comparación convierte una regla abstracta en una diferencia visible y verificable.
Todos los cambios están guardados
- Usa HTML semántico, foco visible y estados explícitos.
- Conserva contenido útil a 320 px y sin JavaScript.
- No agregues sombras, radios ni franjas laterales decorativas.
- No uses color, placeholder o icono como única explicación.
Responsive
La misma anatomía debe conservar lectura, foco y acciones sin cortar contenido ni crear scroll horizontal en la página.
Todos los cambios están guardados
Guardado localmente; falta sincronizar
Cobertura
| Dimensión | Contrato |
|---|---|
| Propietario canónico | Sistema de diseño CIS · core/core-style |
| Consumidores | Todos los consumidores |
| Dependencias | HTML nativo, ARIA sólo cuando aporta |
| Estado | candidato |
Evidencia de adopción
Patrón propuesto. 0 implementaciones observadas en 0 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 propuesto |
| Implementaciones | 0 implementaciones observadas |
| Repositorios | Ningún repositorio observado |
| 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 |
|---|
| información |
| advertencia |
| error |
| éxito |
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.
<p class="ui-sample" data-inline-status="true" data-tone="success" role="status"><span aria-hidden="true">✓</span> Todos los cambios están guardados</p>Código TAILWIND
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
<p class="ui-sample border border-slate-300 bg-white p-4 text-slate-950" data-inline-status="true" data-tone="success" role="status"><span aria-hidden="true">✓</span> Todos los cambios están guardados</p>Código REACT
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
/** Estado que se informa; define el símbolo que acompaña al texto. */
export type InlineStatusTone = "info" | "success" | "warning" | "error";
export interface InlineStatusProps {
/** `success` (✓), `warning` (△), `error` (!) o `info` (i). */
tone?: InlineStatusTone;
/** Texto del estado; debe decirlo completo, sin depender del símbolo. */
label?: string;
className?: string;
}
const INLINE_STATUS_SYMBOLS: Record<InlineStatusTone, string> = {
info: "i",
success: "✓",
warning: "△",
error: "!",
};
/**
* Estado en una línea junto al contenido que describe, como el guardado de un documento o la sincronización de un formulario.
*
* Usa `role="status"`. El símbolo cambia con el tono y va con `aria-hidden`: el texto dice el estado. El tono queda en `data-tone`.
*
* @example <InlineStatus tone="success" label="Todos los cambios están guardados" />
* @example <InlineStatus tone="warning" label="Guardado localmente; falta sincronizar" />
*/
export function InlineStatus({ tone = "success", label = "Todos los cambios están guardados", className }: InlineStatusProps) {
return (
<p className={className} data-inline-status data-tone={tone} role="status">
<span aria-hidden="true">{INLINE_STATUS_SYMBOLS[tone]}</span>{label ? ` ${label}` : null}
</p>
);
}