Grupo de tres checkboxes sin marcar con labels en negro. Encabezado en negrita negro pregunta sobre preferencias de contacto, seguido de texto gris instructivo. Fondo blanco con borde gris claro delimitando el componente completo.
Grupo de dos checkboxes sin marcar con labels en negro. Encabezado en negrita negro pregunta sobre preferencias de contacto, seguido de texto gris instructivo. Fondo blanco con borde gris claro delimitando el componente completo.
Grupo de dos checkboxes sin marcar con labels en negro y texto de ayuda gris debajo de cada opción. Encabezado en negrita negro pregunta sobre preferencias de contacto. Fondo blanco con borde gris claro delimitando el componente completo, texto secundario en gris proporciona contexto adicional para cada checkbox.
Mostrar códigodel ejemplo: Con pistas en los items
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "hints-on-items",
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?",
"isPageHeading": true
}
},
"items": [
{
"name": "correo-electronico",
"id": "correo-electronico-a",
"value": "desy-correo-electronico",
"text": "Correo electrónico",
"hint": {
"text": "Asegúrate de que el correo no llega a la bandeja de spam."
}
},
{
"name": "correo-postal",
"id": "desy-correo-postal-a",
"value": "desy-correo-postal-a",
"text": "Correo postal",
"hint": {
"text": "Asegúrate de haber introducido la dirección postal correctamente."
}
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group"><!-- fieldset --><fieldset><legendclass="font-bold"><h1>
¿Cómo prefieres que te contactemos?
</h1></legend><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="correo-electronico-a"name="correo-electronico"type="checkbox"value="desy-correo-electronico"aria-describedby="correo-electronico-a-item-hint"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="correo-electronico-a">Correo electrónico</label><!-- /label --><!-- hint --><pid="correo-electronico-a-item-hint"class="block text-neutral-dark">Asegúrate de que el correo no llega a la bandeja de spam.</p><!-- /hint --></div></div></div><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="desy-correo-postal-a"name="correo-postal"type="checkbox"value="desy-correo-postal-a"aria-describedby="desy-correo-postal-a-item-hint"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="desy-correo-postal-a">Correo postal</label><!-- /label --><!-- hint --><pid="desy-correo-postal-a-item-hint"class="block text-neutral-dark">Asegúrate de haber introducido la dirección postal correctamente.</p><!-- /hint --></div></div></div></div></fieldset><!-- /fieldset --></div><!-- /checkboxes -->
Grupo de checkboxes con bordes grises claros separando cada opción. Encabezado en negro con texto de ayuda en rojo debajo. Checkboxes con cuadrados blancos de borde gris, labels en negro, texto de ayuda gris debajo de cada opción. Cuando se selecciona teléfono, aparece un campo de texto con label gris y borde gris.
Mostrar códigodel ejemplo: Con líneas divisorias
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "has-dividers",
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?"
}
},
"hint": {
"text": "Si lo deseas puedes seleccionar varios elementos."
},
"hasDividers": true,
"items": [
{
"name": "correo-electronico",
"id": "correo-electronico-b",
"value": "desy-correo-electronico",
"text": "Correo electrónico"
},
{
"name": "correo-postal",
"id": "desy-correo-postal-b",
"value": "desy-correo-postal-b",
"text": "Correo postal",
"hint": {
"text": "Asegúrate de haber introducido la dirección postal correctamente."
}
},
{
"name": "telefono",
"id": "telefono-b",
"value": "telefono",
"text": "Teléfono",
"checked": true,
"conditional": {
"html": "<!-- fieldset -->\n<fieldset>\n <legend class=\"mb-sm sr-only\">\n ¿Cuál es tu número de teléfono fijo?\n </legend>\n <div class=\"c-form-group\">\n <!-- input -->\n <div class=\"c-form-group\">\n <!-- label -->\n <label class=\"block\" for=\"telefono-1\">Número de teléfono fijo</label>\n <!-- /label -->\n <input class=\"c-input block mt-sm border-black rounded-sm font-semibold placeholder-neutral-dark focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base\" id=\"telefono-1\" name=\"telefono-name-1\" type=\"text\">\n </div>\n <!-- /input -->\n </div>\n </fieldset>\n<!-- /fieldset -->"
}
},
{
"name": "correo-postal",
"id": "desy-correo-postal-c",
"value": "desy-correo-postal-c",
"text": "Correo postal",
"hint": {
"text": "Asegúrate de haber introducido la dirección postal correctamente."
}
}
]
}) }}
Los parámetros classes nos permiten aplicar clases de Tailwind CSS a nuestro componente.
Descripción visual
Grupo de checkboxes con fondo azul claro en la primera opción. Título en negro arriba del grupo. Dos checkboxes con cuadrados blancos de borde gris, labels en negro, y texto de ayuda gris debajo de cada label. Sin bordes divisorios entre opciones.
Asegúrate de que el correo no llega a la bandeja de spam.
Asegúrate de haber introducido la dirección postal correctamente.
Mostrar códigodel ejemplo: Con clases de css aplicadas
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "classes",
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?"
}
},
"items": [
{
"name": "correo-electronico",
"id": "correo-electronico-c",
"value": "desy-correo-electronico",
"text": "Correo electrónico",
"hint": {
"text": "Asegúrate de que el correo no llega a la bandeja de spam."
},
"classes": "bg-primary-light"
},
{
"name": "correo-postal",
"id": "desy-correo-postal-d",
"value": "desy-correo-postal-d",
"text": "Correo postal",
"hint": {
"text": "Asegúrate de haber introducido la dirección postal correctamente."
},
"classes": "bg-neutral-lighter"
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group"><!-- fieldset --><fieldset><legendclass="font-bold">
¿Cómo prefieres que te contactemos?
</legend><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" bg-primary-light c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="correo-electronico-c"name="correo-electronico"type="checkbox"value="desy-correo-electronico"aria-describedby="correo-electronico-c-item-hint"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="correo-electronico-c">Correo electrónico</label><!-- /label --><!-- hint --><pid="correo-electronico-c-item-hint"class="block text-neutral-dark">Asegúrate de que el correo no llega a la bandeja de spam.</p><!-- /hint --></div></div></div><divclass=" bg-neutral-lighter c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="desy-correo-postal-d"name="correo-postal"type="checkbox"value="desy-correo-postal-d"aria-describedby="desy-correo-postal-d-item-hint"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="desy-correo-postal-d">Correo postal</label><!-- /label --><!-- hint --><pid="desy-correo-postal-d-item-hint"class="block text-neutral-dark">Asegúrate de haber introducido la dirección postal correctamente.</p><!-- /hint --></div></div></div></div></fieldset><!-- /fieldset --></div><!-- /checkboxes -->
Grupo de tres checkboxes sin bordes divisorios. Primer checkbox sin marcar con cuadrado blanco de borde gris y label negro. Segundo checkbox marcado con check verde y label negro. Tercer checkbox deshabilitado con cuadrado gris, label gris atenuado, sin posibilidad de interacción.
Fieldset con borde gris claro de 1px, encabezado grande en texto negro preguntando sobre preferencias de contacto. Tres checkboxes verticales sin marcar (Correo electrónico, Correo postal, Teléfono) con labels en texto negro. Mensaje de error en rojo arriba indicando que se debe seleccionar al menos una opción.
Si lo deseas puedes seleccionar varios elementos.
Error:Tienes que seleccionar al menos una opción. Soluciona el error.
Mostrar códigodel ejemplo: Con un legend del tamaño de un encabezado h2
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "medium-legend",
"name": "medium-legend",
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?",
"classes": "c-h2"
}
},
"hint": {
"text": "Si lo deseas puedes seleccionar varios elementos."
},
"errorMessage": {
"text": "Tienes que seleccionar al menos una opción. Soluciona el error."
},
"items": [
{
"value": "correo-electronico",
"text": "Correo electrónico"
},
{
"value": "correp-postal",
"text": "Correo postal"
},
{
"value": "telefono",
"text": "Teléfono"
}
]
}) }}
Usa este ejemplo si vas a escribir tú mismo un fieldset, rodeándolo. Recuerda que el uso de fieldset es necesario por accesibilidad.
Descripción visual
Grupo de tres checkboxes verticales sin borde contenedor, con título pequeño "sin fieldset" en gris oscuro arriba. Checkboxes sin marcar (Correo electrónico, Correo postal, Teléfono) con labels en texto negro, presentados en lista vertical sobre fondo blanco sin bordes delimitadores.
Con una sóla opción usando 'aria-describedby' en el input #
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Fieldset con borde gris claro de 1px, título descriptivo en texto negro sobre el uso de aria-describedby. Checkbox individual sin marcar con label "Acepto los" seguido de enlace azul subrayado "términos y condiciones". Mensaje de error en rojo arriba solicitando aceptar los términos.
Error:Por favor, debes aceptar los términos y condiciones. Soluciona el error.
Mostrar códigodel ejemplo: Con una sóla opción usando 'aria-describedby' en el input
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "describedby",
"name": "describedby",
"errorMessage": {
"text": "Por favor, debes aceptar los términos y condiciones. Soluciona el error."
},
"items": [
{
"value": "acepto",
"html": "Acepto los <a href='#' target='_blank' class='c-link' title='Se abre en ventana nueva del navegador'>términos y condiciones</a>"
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group c-form-group--error"><!-- error-message --><pid="describedby-error"class="block font-semibold text-alert-base"><spanclass="sr-only">Error:</span>Por favor, debes aceptar los términos y condiciones. Soluciona el error.
</p><!-- /error-message --><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="describedby"name="describedby"type="checkbox"value="acepto"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="describedby">Acepto los <ahref="#"target="_blank"class="c-link"title="Se abre en ventana nueva del navegador">términos y condiciones</a></label><!-- /label --></div></div></div></div></div><!-- /checkboxes -->
Con una sóla opción (y pista) usando 'aria-describedby' en el input #
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Checkbox sin marcar con borde rojo de 2px, acompañado de label en negro con texto secundario gris debajo. Fondo blanco, contenedor con borde gris claro. Mensaje de error en rojo encima del checkbox indica validación pendiente.
Error:Por favor, debes aceptar los términos y condiciones. Soluciona el error.
Puedes visualizarlos en ventana nueva del navegador
Mostrar códigodel ejemplo: Con una sóla opción (y pista) usando 'aria-describedby' en el input
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"name": "t-and-c-with-hint",
"errorMessage": {
"text": "Por favor, debes aceptar los términos y condiciones. Soluciona el error."
},
"items": [
{
"value": "acepto",
"html": "Acepto los <a href='#' target='_blank' class='c-link' title='Se abre en ventana nueva del navegador'>términos y condiciones</a>",
"hint": {
"text": "Puedes visualizarlos en ventana nueva del navegador"
}
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group c-form-group--error"><!-- error-message --><pid="t-and-c-with-hint-error"class="block font-semibold text-alert-base"><spanclass="sr-only">Error:</span>Por favor, debes aceptar los términos y condiciones. Soluciona el error.
</p><!-- /error-message --><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="t-and-c-with-hint"name="t-and-c-with-hint"type="checkbox"value="acepto"aria-describedby="t-and-c-with-hint-item-hint"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="t-and-c-with-hint">Acepto los <ahref="#"target="_blank"class="c-link"title="Se abre en ventana nueva del navegador">términos y condiciones</a></label><!-- /label --><!-- hint --><pid="t-and-c-with-hint-item-hint"class="block text-neutral-dark">Puedes visualizarlos en ventana nueva del navegador</p><!-- /hint --></div></div></div></div></div><!-- /checkboxes -->
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Grupo de tres checkboxes sin marcar con bordes rojos de 2px, labels en negro ("Correo electrónico", "Correo postal", "Teléfono"). Título de pregunta en negro arriba, mensaje de error en rojo debajo del título. Fondo blanco, contenedor con borde gris claro.
Error:Tienes que seleccionar al menos una opción. Soluciona el error.
Mostrar códigodel ejemplo: Con fieldset y mensaje de error
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"name": "colours",
"errorMessage": {
"text": "Tienes que seleccionar al menos una opción. Soluciona el error."
},
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?"
}
},
"items": [
{
"value": "correo-electronico",
"text": "Correo electrónico"
},
{
"value": "correo-postal",
"text": "Correo postal"
},
{
"value": "telefono",
"text": "Teléfono"
}
]
}) }}
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Grupo de tres checkboxes sin marcar con bordes rojos de 2px, labels en negro para cada opción de contacto. Pregunta en negro encima, mensaje de validación en rojo debajo de la pregunta. Fondo blanco, layout vertical con espaciado uniforme entre elementos.
Error:Tienes que seleccionar al menos una opción. Soluciona el error.
Mostrar códigodel ejemplo: Con mensaje de error
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "error-message",
"name": "error-message",
"errorMessage": {
"text": "Tienes que seleccionar al menos una opción. Soluciona el error."
},
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?"
}
},
"items": [
{
"value": "correo-electronico",
"text": "Correo electrónico"
},
{
"value": "correp-postal",
"text": "Correo postal"
},
{
"value": "telefono",
"text": "Teléfono"
}
]
}) }}
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Grupo de checkboxes con borde rojo de 2px y fondo blanco. El título principal aparece en negro, seguido de texto de error en rojo con enlace subrayado en rojo. Cada checkbox sin marcar tiene borde gris, con label en negro y texto descriptivo secundario en gris debajo de cada opción.
Error:Tienes que seleccionar al menos una opción. Soluciona el error.
Asegúrate de que nuestros correos no lleguen a la bandeja de spam.
Asegúrate de haber introducido correctamente tu dirección.
Sólo enviamos mensajes durante el día.
Mostrar códigodel ejemplo: Con mensaje de error y pistas en los items
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "error-and-hints",
"name": "error-and-hints",
"errorMessage": {
"text": "Tienes que seleccionar al menos una opción. Soluciona el error."
},
"fieldset": {
"legend": {
"text": "¿Cómo prefieres que te contactemos?"
}
},
"items": [
{
"value": "correo-electronico",
"text": "Correo electrónico",
"hint": {
"text": "Asegúrate de que nuestros correos no lleguen a la bandeja de spam."
}
},
{
"value": "correo-postal",
"text": "Correo postal",
"hint": {
"text": "Asegúrate de haber introducido correctamente tu dirección."
}
},
{
"value": "telefono",
"text": "Teléfono",
"hint": {
"text": "Sólo enviamos mensajes durante el día."
}
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group c-form-group--error"><!-- fieldset --><fieldsetaria-errormessage="error-and-hints-error"><legendclass="font-bold">
¿Cómo prefieres que te contactemos?
</legend><!-- error-message --><pid="error-and-hints-error"class="block font-semibold text-alert-base"><spanclass="sr-only">Error:</span>Tienes que seleccionar al menos una opción. Soluciona el error.
</p><!-- /error-message --><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="error-and-hints"name="error-and-hints"type="checkbox"value="correo-electronico"aria-describedby="error-and-hints-item-hint"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="error-and-hints">Correo electrónico</label><!-- /label --><!-- hint --><pid="error-and-hints-item-hint"class="block text-neutral-dark">Asegúrate de que nuestros correos no lleguen a la bandeja de spam.</p><!-- /hint --></div></div></div><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="error-and-hints-2"name="error-and-hints"type="checkbox"value="correo-postal"aria-describedby="error-and-hints-2-item-hint"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="error-and-hints-2">Correo postal</label><!-- /label --><!-- hint --><pid="error-and-hints-2-item-hint"class="block text-neutral-dark">Asegúrate de haber introducido correctamente tu dirección.</p><!-- /hint --></div></div></div><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="error-and-hints-3"name="error-and-hints"type="checkbox"value="telefono"aria-describedby="error-and-hints-3-item-hint"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="error-and-hints-3">Teléfono</label><!-- /label --><!-- hint --><pid="error-and-hints-3-item-hint"class="block text-neutral-dark">Sólo enviamos mensajes durante el día.</p><!-- /hint --></div></div></div></div></fieldset><!-- /fieldset --></div><!-- /checkboxes -->
Por accesibilidad, los mensajes de error deben incluir la palabra "error", para que no recaiga tan sólo en el color el hecho de que es un mensaje de error.
Descripción visual
Grupo de checkboxes con borde gris de 1px y fondo blanco. El título principal en negro va seguido de subtítulo en gris y párrafo con texto negro y fragmentos en rojo subrayado. Dos checkboxes sin marcar con borde gris, cada uno con label en negro seguido de múltiples líneas de texto descriptivo en gris que ocupan varios renglones.
Nullam id dolor id nibh ultricies vehicula ut id elit.
Error:Lorem ipsum dolor sit amet, consectetur adipiscing elit. Soluciona el error.
Mostrar códigodel ejemplo: Con un texto de item muy largo
Contenido
Nunjucks macro
{%from"components/checkboxes/_macro.checkboxes.njk" import componentCheckboxes %}{{ componentCheckboxes({
"idPrefix": "long-option",
"name": "long-option",
"hint": {
"text": "Nullam id dolor id nibh ultricies vehicula ut id elit."
},
"errorMessage": {
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Soluciona el error."
},
"fieldset": {
"legend": {
"text": "Maecenas faucibus mollis interdum?"
}
},
"items": [
{
"value": "nullam",
"text": "Nullam id dolor id nibh ultricies vehicula ut id elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas faucibus mollis interdum. Donec id elit non mi porta gravida at eget metus."
},
{
"value": "aenean",
"text": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Donec sed odio dui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum."
},
{
"value": "fusce",
"text": "Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Etiam porta sem malesuada magna mollis euismod. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. Sed posuere consectetur est at lobortis."
}
]
}) }}
HTML
<!-- checkboxes --><divclass="c-form-group c-form-group--error"><!-- fieldset --><fieldsetaria-describedby="long-option-hint"aria-errormessage="long-option-error"><legendclass="font-bold">
Maecenas faucibus mollis interdum?
</legend><!-- hint --><pid="long-option-hint"class="block text-neutral-dark">Nullam id dolor id nibh ultricies vehicula ut id elit.</p><!-- /hint --><!-- error-message --><pid="long-option-error"class="block font-semibold text-alert-base"><spanclass="sr-only">Error:</span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Soluciona el error.
</p><!-- /error-message --><divclass="c-checkboxes"data-module="c-checkboxes"><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="long-option"name="long-option"type="checkbox"value="nullam"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="long-option">Nullam id dolor id nibh ultricies vehicula ut id elit. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Maecenas faucibus mollis interdum. Donec id elit non mi porta gravida at eget metus.</label><!-- /label --></div></div></div><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="long-option-2"name="long-option"type="checkbox"value="aenean"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="long-option-2">Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Donec sed odio dui. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras mattis consectetur purus sit amet fermentum.</label><!-- /label --></div></div></div><divclass=" c-checkboxes__conditional-hidden"><divclass="relative flex items-start py-base"><divclass="flex items-center mx-sm"><inputclass="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:outline-black focus:outline-1 focus:outline-offset-2 focus:ring-3 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base"id="long-option-3"name="long-option"type="checkbox"value="fusce"aria-invalid="true"></div><divclass="pt-0.5 leading-5"><!-- label --><labelclass="block"for="long-option-3">Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Etiam porta sem malesuada magna mollis euismod. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Etiam porta sem malesuada magna mollis euismod. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui. Sed posuere consectetur est at lobortis.</label><!-- /label --></div></div></div></div></fieldset><!-- /fieldset --></div><!-- /checkboxes -->
El contenido de cada condicional es una agrupación, y como tal, se deben agrupar con una etiqueta <fieldset> o bien de una etiqueta <div> con role="group" que tenga un aria-label o aria-labelledby.
Descripción visual
Grupo de checkboxes con borde gris de 1px y fondo blanco. Título pregunta en negro encima de tres opciones verticales. Cada checkbox sin marcar tiene borde gris con label en negro alineado a la derecha, sin texto descriptivo adicional.
Mostrar códigodel ejemplo: Con items condicionales
Usa el parámetro 'checked': true para mostrar un item condicional seleccionado. El contenido de cada condicional es una agrupación, y como tal, se deben agrupar con una etiqueta <fieldset> o bien de una etiqueta <div> con role="group" que tenga un aria-label o aria-labelledby.
Descripción visual
Grupo de checkboxes con título en texto negro. Checkbox "Teléfono" marcado con checkmark blanco en fondo azul, revelando label "Número de teléfono fijo" en negro y campo de texto rectangular con borde gris. Checkboxes "Correo electrónico" y "Mensaje SMS" desmarcados con borde gris oscuro y fondo blanco.
Mostrar códigodel ejemplo: Con item condicional seleccionado
Con clases opcionales del form-group mostrando un error del grupo #
Descripción visual
Grupo de checkboxes con título en texto negro. Checkbox "Teléfono" marcado con checkmark blanco en fondo azul, revelando label "Número de teléfono móvil" en negro, texto de error en rojo, y campo de texto con borde rojo grueso. Checkboxes "Correo electrónico" y "Mensaje SMS" desmarcados con borde rojo.
Error:Este campo no puede estar vacío
Mostrar códigodel ejemplo: Con clases opcionales del form-group mostrando un error del grupo
Lista vertical de tres checkboxes sin marcar: cada checkbox tiene borde gris oscuro y fondo blanco. Labels en texto negro regular alineados a la derecha de cada checkbox. Espaciado compacto entre elementos.
Usando el parámetro 'isIndeterminate': true podemos crear un item del checkbox que tenga 3 estados: marcado, desmarcado o indeterminado. El estado indeterminado expresa que hay sólo algún item seleccionado pero no todos. Útil para selecciones múltiples.
Descripción visual
Checkbox de tamaño pequeño con borde gris oscuro de 1px y fondo blanco, conteniendo un guion horizontal gris en el centro indicando estado indeterminado. Label de texto negro normal alineado a la derecha del checkbox, leyendo "1 elemento seleccionado".
Usando los parámetros 'isIndeterminate': true y 'indeterminateChecked': true podemos marcar como estado indeterminado un item que sea de tipo indeterminado.
Descripción visual
Checkbox de tamaño pequeño con borde gris oscuro de 1px y fondo blanco, conteniendo un guion horizontal gris en el centro indicando estado indeterminado. Label de texto negro normal alineado a la derecha del checkbox, leyendo "1 elemento seleccionado".