Administración pública y servicios públicos · Nuevo recurso

Sistema de diseño Ripple.

Explora los roles de color reales de Ripple, su escala de espaciado de 14 pasos y sus referencias tipográficas adaptables mediante una cronología completa de taller con divulgación progresiva, progreso y enfoque del teclado en el siguiente paso.

Guía de OpenDesign6 capítulos35 entradas de referenciaGuía de aplicación original
01

Vista previa de la interfaz del sistema de diseño Ripple

Lee las notas de preparación, indica que estás listo y pasa directamente al siguiente paso pendiente.

Prepara un taller mediante una cronología de tres etapasAbrir ejemplo completo
Implementación original completa de HTML/CSS/JavaScript con los valores documentados de Ripple; alternativa Arial, sin entorno de ejecución nativo de Ripple. · Referencia de implementación
02

Referencia de diseño del sistema de diseño Ripple

Documentación publicada del diseño de Ripple verificada para este estudio: roles de color predeterminados, espaciado, pares de tamaño e interlineado tipográficos y colores de foco. Son referencias de diseño, no una afirmación de que se incluya una versión nativa de Ripple.

Roles de color publicados

Fuente
Nombre / ReglaValor / ConfiguraciónUso
--rpl-clr-primary#0052C2 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-primary-alt#003174 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-accent#0095EC Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-accent-alt#E6F5FD Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-neutral-0#FFFFFF Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-neutral-100#F5F5F5 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-neutral-200#E6E6E6 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-neutral-700#333333 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-neutral-800#1A1A1A Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-type-default#1A1A1A Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-link#0052C2 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.
--rpl-clr-link-visited#9F46B1 Paleta predeterminada documentada de Ripple; los valores del tema pueden variar. Al aplicar un tema, conserva el nombre del rol.

Escala de espaciado publicada

Fuente
Nombre / ReglaValor / ConfiguraciónUso
--rpl-sp-14pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-28pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-312pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-416pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-520pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-624pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-728pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-832pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-940pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-1048pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-1156pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-1264pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-1380pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.
--rpl-sp-14120pxPaso de espaciado documentado. Los pasos posteriores no se obtienen multiplicando el índice por cuatro.

Roles tipográficos y alternativa

Fuente
Nombre / ReglaValor / ConfiguraciónUso
rpl-type-font-familyVIC, Arial, Helvetica, sans-serifPares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.
rpl-type-h132/36px small · 56/60px large · 700Pares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.
rpl-type-h224/32px small · 32/40px large · 700Pares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.
rpl-type-h320/28px small · 24/32px large · 700Pares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.
rpl-type-p16/24pxPares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.
rpl-type-p-small14/20pxPares de tamaño e interlineado de los roles tipográficos publicados. El ejemplo independiente usa la alternativa Arial documentada, no la fuente VIC.

Contraste del foco

Fuente
Nombre / ReglaValor / ConfiguraciónUso
--rpl-clr-focus#FF9E1B Colores de foco publicados. El ejemplo implementa su propio CSS de foco en lugar de importar las clases de utilidad de Ripple.
--rpl-clr-focus-contrast#1A1A1A Colores de foco publicados. El ejemplo implementa su propio CSS de foco en lugar de importar las clases de utilidad de Ripple.
--rpl-clr-dark#1A1A1A Colores de foco publicados. El ejemplo implementa su propio CSS de foco en lugar de importar las clases de utilidad de Ripple.
03

Guía completa del sistema de diseño Ripple

Una guía práctica para elegir, aplicar y revisar este sistema en una interfaz real.

DESIGN-ripple-victoria.md

Orientación completa, un punto de partida para la implementación y enlaces al código fuente.

Descargar la guía

Fundamentos y alcance del entorno de ejecución del sistema de diseño Ripple

Distingue las referencias de diseño del entorno de ejecución de componentes

La referencia describe el sistema de diseño publicado de Ripple. La cronología del taller es una interpretación original y completa de HTML, CSS y JavaScript basada en valores seleccionados. No ejecuta componentes Vue de Ripple, no usa un espejo de paquetes sin documentar ni afirma ser un servicio del Gobierno de Victoria. Este límite se muestra en la vista previa y se mantiene en el código fuente descargable.

De esta guía de OpenDesign

Elige deliberadamente la integración nativa

Ripple publica una ruta de paquetes orientada a Vue y otra que solo incluye estilos mediante su paquete principal. La instalación oficial requiere acceso a GitHub Packages. La ruta de solo estilos sigue dejando el marcado y el comportamiento en manos de la aplicación. Para integrar esa distribución, sigue las instrucciones oficiales de acceso enlazadas y fija la versión que elijas; el estudio independiente de abajo no requiere autenticación ni instalación de paquetes.

Roles de color y foco de teclado del sistema de diseño Ripple

Mantén diferenciados la marca y el contenido

El encabezado de la cronología usa el valor primario más oscuro, el borde usa el color de acento y el texto de lectura usa el rol de texto neutro. En el código fuente proporcionado, corresponden a variables distintas de CSS. El panel de estado original usa la superficie de acento pálido. La referencia incluye tanto los nombres de los roles como sus valores, para que un cambio de tema futuro pueda actualizar la relación prevista en lugar de un conjunto de valores hexadecimales sin conexión entre sí.

Haz que el foco de teclado se distinga a simple vista

El foco es naranja con contenido oscuro, no otro tono del azul predeterminado. La regla de foco original para botones y resúmenes cambia su superficie y dibuja un contorno oscuro. El foco de las casillas de verificación conserva un contorno. Esta es una implementación del enfoque de colores de foco publicado, no una afirmación de que el ejemplo importe las utilidades de foco nativas de Ripple ni de que garantice la accesibilidad en todos los temas posibles.

Espaciado y tipografía adaptable del sistema de diseño Ripple

Usa la secuencia de espaciado real

El código fuente usa los pasos con nombre de 8, 16, 24, 32 y 48px para marcar el ritmo de lectura. La referencia completa también registra pasos mayores; la secuencia deja de ser un simple múltiplo del índice, por lo que rpl-sp-9 es 40px, no 36px. El espacio entre columnas de la cuadrícula y el relleno de las secciones comparten deliberadamente valores de la escala, aunque cumplen funciones distintas en el diseño.

Deja claros los límites de uso de fuentes

Ripple documenta VIC con Arial y Helvetica como alternativas. Este estudio no incluye ningún archivo de fuente VIC y usa Arial explícitamente. El encabezado cambia de 32/36px a 56/60px en el punto de ruptura de 992px del ejemplo, mientras que el texto del cuerpo mantiene 16/24px. Estos valores de tamaño e interlineado son referencias documentadas; la composición de la cronología es original y no debe describirse como un componente nativo idéntico píxel por píxel.

Contenido de la cronología y divulgación progresiva del sistema de diseño Ripple

Asigna una función distinta a cada etapa

La primera etapa define la decisión, la segunda prepara la participación y la tercera registra una acción. Las etiquetas de tiempo relativo indican la secuencia sin inventar plazos gubernamentales ni compromisos de servicio. Cada etapa tiene un resumen breve que permanece visible y notas de preparación adicionales en un elemento details nativo. La secuencia sigue siendo una lista ordenada, aunque sus marcadores visuales sean personalizados.

  • El tiempo relativo describe la secuencia del taller.
  • Los resúmenes visibles comunican el propósito de cada etapa.
  • Las notas desplegables incluyen información secundaria.
  • La preparación se indica mediante una casilla de verificación explícita.

No confundas leer con estar preparado

Progreso, enfoque del siguiente paso y restablecimiento del sistema de diseño Ripple

Determina la siguiente acción a partir del estado actual

Ir al siguiente paso pendiente busca la primera etapa sin marcar, despliega sus notas y enfoca su casilla. No omite una etapa solo porque el lector ya la haya abierto. Cuando se marcan las tres casillas, el botón para ir al siguiente paso se desactiva y el estado indica que todos los pasos de preparación están listos. Si se desmarca un elemento, la acción vuelve a estar disponible.

Restablece juntos todos los estados relacionados

Restablecer desmarca las tres casillas, cierra las notas, actualiza el elemento de progreso y devuelve el foco a la primera casilla. No deja un aviso de tarea completada ni da a entender que se ha eliminado un registro remoto. En este estudio local, el estado se mantiene intencionadamente en la memoria, y la explicación visible indica que no se guarda ni se envía.

Código fuente completo y verificación del sistema de diseño Ripple

Ejecuta el estudio independiente

Guarda el documento completo proporcionado como index.html y sirve su directorio. Incluye sus propios tokens, marcado, contenido de ejemplo legible y código de interacción, por lo que no requiere recursos externos en tiempo de ejecución ni solicitudes de fuentes. Consulta los enlaces de referencia para revisar las API nativas de Ripple, las opciones de publicación y los recursos de marca autorizados antes de crear un servicio real.

  1. Guarda el ejemplo completo de HTML como index.html.
  2. Sirve el directorio localmente.
  3. Prueba con el teclado el enfoque del siguiente paso, la finalización y el restablecimiento.
  4. Para una integración nativa independiente de Ripple, usa el acceso oficial a los paquetes y fija las versiones.

Verifica toda la transición de estado

Marca como listo el primer elemento, usa la acción para ir al siguiente paso y verifica que el foco pase a la segunda casilla y que sus notas estén desplegadas. Completa todos los elementos y confirma que la acción para ir al siguiente paso se desactive; después, desmarca un elemento y verifica que vuelva a estar disponible. Restablece y comprueba el progreso y los paneles desplegables. En una pantalla de ancho reducido, el panel de estado aparece debajo de la línea de tiempo y todos los controles siguen disponibles.

Ejemplos de componentes del sistema de diseño Ripple

index.html — línea de tiempo completa del taller

Todos los valores de tokens, estilos adaptables, contenido, progreso y comportamiento del foco en un único documento ejecutable.

HTML
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Workshop planning timeline</title><style>
:root{--rpl-clr-primary:#0052c2;--rpl-clr-primary-alt:#003174;--rpl-clr-accent:#0095ec;--rpl-clr-accent-alt:#e6f5fd;--rpl-clr-type-default:#1a1a1a;--rpl-clr-neutral-0:#fff;--rpl-clr-neutral-100:#f5f5f5;--rpl-clr-neutral-200:#e6e6e6;--rpl-clr-focus:#ff9e1b;--rpl-clr-focus-contrast:#1a1a1a;--rpl-sp-2:8px;--rpl-sp-4:16px;--rpl-sp-6:24px;--rpl-sp-8:32px;--rpl-sp-10:48px;--rpl-type-font-family:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--rpl-clr-neutral-0);color:var(--rpl-clr-type-default);font:16px/1.5 var(--rpl-type-font-family)}main{max-width:1160px;margin:auto;padding:var(--rpl-sp-8)}header{background:var(--rpl-clr-primary-alt);color:white;padding:var(--rpl-sp-8);border-bottom:8px solid var(--rpl-clr-accent)}.eyebrow{font-size:12px;letter-spacing:.08em;font-weight:700}h1{font-size:32px;line-height:36px;margin:16px 0;max-width:20ch}header p:last-child{max-width:65ch;margin-bottom:0}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:var(--rpl-sp-10);margin-top:var(--rpl-sp-8)}h2{font-size:24px;line-height:32px;margin:0 0 16px}h3{font-size:20px;line-height:28px;margin:0}.timeline{list-style:none;margin:0;padding:0 0 0 24px;border-left:2px solid var(--rpl-clr-primary);}.timeline>li{position:relative;padding:0 0 32px 8px}.timeline>li:before{content:'';position:absolute;width:14px;height:14px;background:var(--rpl-clr-primary);border:3px solid white;outline:2px solid var(--rpl-clr-primary);border-radius:50%;left:-32px;top:6px}.when{font-size:14px;font-weight:700;color:var(--rpl-clr-primary);margin:0 0 8px}.timeline p{margin:8px 0 16px}.timeline label{display:flex;align-items:flex-start;gap:8px;font-weight:700}.timeline input{width:20px;height:20px;flex-shrink:0;margin:2px 0;accent-color:var(--rpl-clr-primary)}details{background:var(--rpl-clr-neutral-100);margin:16px 0;padding:16px}summary{font-weight:700;cursor:pointer}details ul{padding-left:24px}.progress{background:var(--rpl-clr-accent-alt);padding:24px;align-self:start;border-top:4px solid var(--rpl-clr-primary)}progress{width:100%;height:16px;accent-color:var(--rpl-clr-primary)}button{font:700 16px/24px var(--rpl-type-font-family);padding:12px 16px;cursor:pointer;border:2px solid var(--rpl-clr-primary);background:var(--rpl-clr-primary);color:white;text-align:left;max-width:100%}button:hover{background:var(--rpl-clr-primary-alt)}.secondary{color:var(--rpl-clr-primary);background:white;margin-top:16px}button:disabled{cursor:default;opacity:.6}.progress button{width:100%;margin-top:16px}button:focus-visible,summary:focus-visible{outline:3px solid var(--rpl-clr-focus-contrast);outline-offset:2px;background:var(--rpl-clr-focus);color:var(--rpl-clr-focus-contrast);border-radius:0}input:focus-visible{outline:3px solid var(--rpl-clr-focus);outline-offset:3px}.note{font-size:14px;border-top:1px solid var(--rpl-clr-neutral-200);padding-top:24px;margin-top:8px;max-width:80ch}[hidden]{display:none!important}@media(min-width:992px){h1{font-size:56px;line-height:60px}h2{font-size:32px;line-height:40px}}@media(max-width:760px){main{padding:20px}header{padding:24px}.layout{grid-template-columns:1fr;gap:24px}.eyebrow{overflow-wrap:anywhere}}
</style></head><body><main><header><p class="eyebrow">OpenDesign · Workshop practice</p><h1>Make room for a useful conversation</h1><p>A short planning timeline for a team workshop. Mark what is ready and jump to the next unfinished step.</p></header><div class="layout"><section aria-labelledby="plan-heading"><h2 id="plan-heading">Your preparation timeline</h2><ol class="timeline">
<li><p class="when">One week before</p><h3>Define the decision</h3><p>Agree on the question the workshop should answer and the people who need to take part.</p><details><summary>Preparation notes</summary><ul><li>Write a one-sentence outcome.</li><li>Invite people with different perspectives on the decision.</li><li>Explain what is already decided and what is still open.</li></ul></details><label><input type="checkbox" data-step="0">The purpose and invitations are ready</label></li>
<li><p class="when">Two days before</p><h3>Prepare for participation</h3><p>Share a short agenda and offer a way to contribute before the session.</p><details><summary>Preparation notes</summary><ul><li>Send readable material in advance.</li><li>Check access needs and remote participation.</li><li>Choose someone to capture decisions.</li></ul></details><label><input type="checkbox" data-step="1">The agenda and access arrangements are ready</label></li>
<li><p class="when">On the day</p><h3>Leave with a next step</h3><p>Close with a clear decision, an owner and a date to review what happens next.</p><details><summary>Preparation notes</summary><ul><li>Leave time to compare different views.</li><li>Record unanswered questions separately.</li><li>Read back the agreed action before closing.</li></ul></details><label><input type="checkbox" data-step="2">The action and follow-up are recorded</label></li>
</ol></section><aside class="progress" aria-labelledby="progress-heading"><h2 id="progress-heading">Preparation status</h2><p id="count" role="status">0 of 3 steps ready</p><progress max="3" value="0" aria-label="Preparation progress"></progress><p id="next-note">Next: Define the decision</p><button id="next" type="button">Go to next unfinished step</button><button class="secondary" id="reset" type="button">Reset checklist</button></aside></div><p class="note">An original OpenDesign HTML/CSS study using published Ripple color, spacing and type values. It uses Arial, Ripple’s documented fallback, and does not run the Ripple Vue components or supply the VIC font. The checklist stays in this page and is not saved or sent.</p></main><script>
const checks=[...document.querySelectorAll('[data-step]')],names=['Define the decision','Prepare for participation','Leave with a next step'];const next=document.querySelector('#next');
function update(){let count=checks.filter(c=>c.checked).length,first=checks.findIndex(c=>!c.checked);document.querySelector('#count').textContent=`${count} of 3 steps ready`;document.querySelector('progress').value=count;document.querySelector('#next-note').textContent=first<0?'All three preparation steps are ready.':'Next: '+names[first];next.disabled=first<0;}
checks.forEach(c=>c.addEventListener('change',update));next.addEventListener('click',()=>{let check=checks.find(c=>!c.checked);if(check){check.closest('li').querySelector('details').open=true;check.focus();}});document.querySelector('#reset').addEventListener('click',()=>{checks.forEach(c=>c.checked=false);document.querySelectorAll('details').forEach(d=>d.open=false);update();checks[0].focus();});update();
</script></body></html>

Referencia de código

  • Este es código de aplicación original, no el código fuente de un componente Vue de Ripple.
  • No se necesita ningún recurso externo en tiempo de ejecución, solicitud de fuentes, cuenta ni envío de datos.
04

Configuración del agente de IA del sistema de diseño Ripple

Punto de partida para la implementación

Este comando sirve la interpretación independiente. Para usar Ripple de forma nativa, sigue las instrucciones oficiales de acceso a GitHub Packages y la configuración de Vue o solo de estilos que se indican en Fuentes.

sh
# Save the complete example as index.html in an empty directory.
python3 -m http.server 8000
# Open http://localhost:8000/

Una instrucción para tu proyecto

Instrucción para el agente
Crea la línea de tiempo completa y original del taller a partir del documento proporcionado. Conserva los valores de rol y espaciado documentados de Ripple, la alternativa explícita Arial, los estados diferenciados de lectura y preparación, el enfoque del siguiente paso pendiente, la finalización y el restablecimiento completo. Identifica el resultado como una interpretación de HTML/CSS, no como una implementación nativa de Vue de Ripple.
05

Fuentes y alcance del sistema de diseño Ripple

Una interpretación de OpenDesign con HTML/CSS que utiliza valores de diseño publicados de Ripple y la alternativa Arial documentada. Esta vista previa no ejecuta componentes Vue de Ripple ni incluye recursos de la fuente VIC.