Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}
{{ componentInputGroup({
"id": "datos-errors",
"fieldset": {
"legend": {
"text": "Datos del solicitante"
}
},
"hint": {
"text": "Necesitamos tus datos para identificarte posteriormente."
},
"errorMessage": {
"text": "El campo Nombre y el campo Apellidos no pueden estar vacíos."
},
"items": [
{
"isSelect": true,
"name": "titulo",
"label": {
"text": "Titulo"
},
"formGroup": {
"classes": "mr-base"
},
"classes": "w-20",
"selectItems": [
{
"value": 1,
"text": "Sr.",
"selected": true
},
{
"value": 2,
"text": "Sra."
}
]
},
{
"name": "nombre",
"label": {
"text": "Nombre"
},
"formGroup": {
"classes": "mr-base"
},
"classes": "w-full lg:w-40 border-alert-base ring-2 ring-alert-base",
"attributes": {
"aria-describedby": "datos-errors-hint datos-errors-error",
"aria-errormessage": "datos-errors-error",
"aria-invalid": "true"
}
},
{
"name": "apellidos",
"label": {
"text": "Apellidos"
},
"classes": "w-full lg:w-40 border-alert-base ring-2 ring-alert-base",
"attributes": {
"aria-describedby": "datos-errors-hint datos-errors-error",
"aria-errormessage": "datos-errors-error",
"aria-invalid": "true"
}
}
]
}) }}
HTML
<div class="c-form-group c-form-group--error">
<fieldset role="group" aria-describedby="datos-errors-hint">
<legend class="font-bold">
Datos del solicitante
</legend>
<p id="datos-errors-hint" class="block text-neutral-dark">Necesitamos tus datos para identificarte posteriormente.</p>
<p id="datos-errors-error" class="block font-semibold text-alert-base">
<span class="sr-only">Error:</span>El campo Nombre y el campo Apellidos no pueden estar vacíos.
</p>
<div class="flex" id="datos-errors">
<div class="c-form-group mr-base">
<label class="block" for="datos-errors-titulo">Titulo</label>
<select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded-sm font-semibold focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base mb-0 w-20" id="datos-errors-titulo" name="titulo">
<option value="1" selected>Sr.</option>
<option value="2">Sra.</option>
</select>
</div>
<div class="c-form-group mr-base">
<label class="block" for="datos-errors-nombre">Nombre</label>
<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 mb-0 w-full lg:w-40 border-alert-base ring-2 ring-alert-base" id="datos-errors-nombre" name="nombre" type="text" aria-describedby="datos-errors-hint datos-errors-error" aria-errormessage="datos-errors-error" aria-invalid="true">
</div>
<div class="c-form-group">
<label class="block" for="datos-errors-apellidos">Apellidos</label>
<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 mb-0 w-full lg:w-40 border-alert-base ring-2 ring-alert-base" id="datos-errors-apellidos" name="apellidos" type="text" aria-describedby="datos-errors-hint datos-errors-error" aria-errormessage="datos-errors-error" aria-invalid="true">
</div>
</div>
</fieldset>
</div>