Input-group

Parámetros Nunjucks del componente: "Input-group". Versión: 12.0.1

Los parámetros de Nunjucks para este componente están dentro de la siguiente etiqueta code en formato yaml.

        {"val":"params:\n- name: id\n  type: string\n  required: true\n  description: This is used for the main component and to compose id attribute for each item.\n- name: namePrefix\n  type: string\n  required: false\n  description: Optional prefix. This is used to prefix each `item.name` using `-`.\n- name: items\n  type: array\n  required: true\n  description: An array of input objects with name, value and classes.\n  params:\n  - name: id\n    type: string\n    required: false\n    description: Item-specific id. If provided, it will be used instead of the generated id.\n  - name: type\n    type: string\n    required: false\n    description: Type of input control to render. Defaults to \"text\".\n  - name: inputmode\n    type: string\n    require: false\n    description: Optional value for [inputmode](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).\n  - name: value\n    type: string\n    required: false\n    description: If provided, it will be used as the initial value of the input.\n  - name: name\n    type: string\n    required: true\n    description: Item-specific name attribute.\n  - name: label\n    type: object\n    required: true\n    description: Label text or HTML by specifying value for either text or html keys.\n    isComponent: true\n  - name: formGroup\n    type: object\n    required: false\n    description: Options for the form-group wrapper\n    params:\n    - name: classes\n      type: string\n      required: false\n      description: Classes to add to the form group.\n  - name: autocomplete\n    type: string\n    required: false\n    description: Attribute to [identify input purpose](https://www.w3.org/WAI/WCAG21/Understanding/identify-input-purpose.html), for instance \"postal-code\" or \"username\". See [autofill](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill) for full list of attributes that can be used.\n  - name: pattern\n    type: string\n    required: false\n    description: Attribute to [provide a regular expression pattern](https://www.w3.org/TR/html51/sec-forms.html#the-pattern-attribute), used to match allowed character combinations for the input value.\n  - name: placeholder\n    type: string\n    required: false\n    description: Placeholder text\n  - name: disabled\n    type: boolean\n    required: false\n    description: If true, input will be disabled.\n  - name: classes\n    type: string\n    required: false\n    description: Classes to add to date input item.\n  - name: attributes\n    type: object\n    required: false\n    description: HTML attributes (for example data attributes) to add to the date input tag.\n  - name: isSelect\n    type: boolean\n    required: false\n    description: If true, renders a select instead of an input\n  - name: selectItems\n    type: array\n    required: false\n    description: An array of select objects with name, value and classes.\n  - name: divider\n    type: object\n    required: false\n    description: Divider item that separates items.\n    - name: text\n      type: string\n      required: true\n      description: If `html` is set, this is not required. Text to use within the divider. If `html` is provided, the `text` argument will be ignored.\n    - name: html\n      type: string\n      required: true\n      description: If `text` is set, this is not required. HTML to use within the divider. If `html` is provided, the `text` argument will be ignored.\n- name: hint\n  type: object\n  required: false\n  description: Options for the hint component.\n  isComponent: true\n- name: errorMessage\n  type: object\n  required: false\n  description: Options for the error message component. The error message component will not display if you use a falsy value for `errorMessage`, for example `false` or `null`.\n  isComponent: true\n- name: formGroup\n  type: object\n  required: false\n  description: Options for the form-group wrapper\n  params:\n  - name: classes\n    type: string\n    required: false\n    description: Classes to add to the form group (e.g. to show error state for the whole group) defaults to `flex`.\n- name: fieldset\n  type: object\n  required: false\n  description: Options for the fieldset component (e.g. legend).\n  isComponent: true\n- name: classes\n  type: string\n  required: false\n  description: Classes to add to the date-input container.\n- name: attributes\n  type: object\n  required: false\n  description: HTML attributes (for example data attributes) to add to the date-input container.","length":4385}
      

Por defecto

Ejemplo: "Por defecto", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset role="group">
    <legend class="font-bold">
      Documento de identidad
    </legend>
    <div class="flex" id="doc-identidad-1">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="doc-identidad-1-tipo-doc">Tipo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-full lg:w-auto" id="doc-identidad-1-tipo-doc" name="doc-identidad-tipo-doc">
          <option value="1" selected>NIF</option>
          <option value="2">Pasaporte</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="doc-identidad-1-num-doc">Número</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-64" id="doc-identidad-1-num-doc" name="doc-identidad-num-doc" type="text" placeholder="Ej: 28999876V">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Por defecto", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-1",
  "namePrefix": "doc-identidad",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad"
    }
  },
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-full lg:w-auto",
      "label": {
        "text": "Tipo"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}
Documento de identidad
Mostrar códigodel ejemplo: Por defecto

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-1",
  "namePrefix": "doc-identidad",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad"
    }
  },
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-full lg:w-auto",
      "label": {
        "text": "Tipo"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}

Con pista

Ejemplo: "Con pista", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset role="group" aria-describedby="doc-identidad-2-hint">
    <legend class="font-bold">
      Documento de identidad
    </legend>
    <!-- hint -->
    <p id="doc-identidad-2-hint" class="block text-neutral-dark">Selecciona tu tipo de documento e introduce el número de documento sin espacios</p>
    <!-- /hint -->
    <div class="flex" id="doc-identidad-2">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="doc-identidad-2-tipo-doc">Tipo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-full lg:w-auto" id="doc-identidad-2-tipo-doc" name="doc-identidad-tipo-doc">
          <option value="1" selected>NIF</option>
          <option value="2">Pasaporte</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="doc-identidad-2-num-doc">Número</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-64" id="doc-identidad-2-num-doc" name="doc-identidad-num-doc" type="text" placeholder="Ej: 28999876V">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con pista", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-2",
  "namePrefix": "doc-identidad",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad"
    }
  },
  "hint": {
    "text": "Selecciona tu tipo de documento e introduce el número de documento sin espacios"
  },
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-full lg:w-auto",
      "label": {
        "text": "Tipo"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}
Documento de identidad

Selecciona tu tipo de documento e introduce el número de documento sin espacios

Mostrar códigodel ejemplo: Con pista

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-2",
  "namePrefix": "doc-identidad",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad"
    }
  },
  "hint": {
    "text": "Selecciona tu tipo de documento e introduce el número de documento sin espacios"
  },
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-full lg:w-auto",
      "label": {
        "text": "Tipo"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}

Con divisor

Ejemplo: "Con divisor", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset role="group">
    <legend class="font-bold">
      Introduce cantidad
    </legend>
    <div class="flex" id="with-divider">
      <div class="self-end mb-xl mr-base" role="separator">
        <p>
          Desde:
        </p>
      </div>
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block sr-only" for="with-divider-num-doc-A">Cantidad inicio</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-64" id="with-divider-num-doc-A" name="with-divider-num-doc-A" type="text" placeholder="Ej: 0">
      </div>
      <!-- /input -->
      <div class="self-end mb-xl mx-base" role="separator">
        <p>
          hasta:
        </p>
      </div>
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block sr-only" for="with-divider-num-doc-B">Cantidad final</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-64" id="with-divider-num-doc-B" name="with-divider-num-doc-B" type="text" placeholder="Ej: 600">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con divisor", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "with-divider",
  "namePrefix": "with-divider",
  "fieldset": {
    "legend": {
      "text": "Introduce cantidad"
    }
  },
  "items": [
    {
      "divider": {
        "text": "Desde:",
        "classes": "self-end mb-xl mr-base"
      }
    },
    {
      "name": "num-doc-A",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Cantidad inicio",
        "classes": "sr-only"
      },
      "placeholder": "Ej: 0"
    },
    {
      "divider": {
        "text": "hasta:",
        "classes": "self-end mb-xl mx-base"
      }
    },
    {
      "name": "num-doc-B",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Cantidad final",
        "classes": "sr-only"
      },
      "placeholder": "Ej: 600"
    }
  ]
}) }}
Introduce cantidad
Mostrar códigodel ejemplo: Con divisor

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "with-divider",
  "namePrefix": "with-divider",
  "fieldset": {
    "legend": {
      "text": "Introduce cantidad"
    }
  },
  "items": [
    {
      "divider": {
        "text": "Desde:",
        "classes": "self-end mb-xl mr-base"
      }
    },
    {
      "name": "num-doc-A",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Cantidad inicio",
        "classes": "sr-only"
      },
      "placeholder": "Ej: 0"
    },
    {
      "divider": {
        "text": "hasta:",
        "classes": "self-end mb-xl mx-base"
      }
    },
    {
      "name": "num-doc-B",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Cantidad final",
        "classes": "sr-only"
      },
      "placeholder": "Ej: 600"
    }
  ]
}) }}

Con errores

Ejemplo: "Con errores", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group c-form-group--error">
  <!-- fieldset -->
  <fieldset role="group" aria-describedby="datos-errors-hint datos-errors-error">
    <legend class="font-bold">
      Datos del solicitante
    </legend>
    <!-- hint -->
    <p id="datos-errors-hint" class="block text-neutral-dark">Necesitamos tus datos para identificarte posteriormente.</p>
    <!-- /hint -->
    <!-- error-message -->
    <p id="datos-errors-error" class="block font-semibold text-alert-base">
      <span class="sr-only">Error:</span>Error: Estos campos no pueden estar vacíos
    </p>
    <!-- /error-message -->
    <div class="flex" id="datos-errors">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-errors-titulo">Titulo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-errors-nombre">Nombre</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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>
      <!-- /input -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="datos-errors-apellidos">Apellidos</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con errores", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% 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": "Error: Estos campos 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"
      }
    }
  ]
}) }}
Datos del solicitante

Necesitamos tus datos para identificarte posteriormente.

Error:Error: Estos campos no pueden estar vacíos

Mostrar códigodel ejemplo: Con errores

Contenido

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": "Error: Estos campos 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"
      }
    }
  ]
}) }}

Con error en el nombre

Ejemplo: "Con error en el nombre", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group c-form-group--error">
  <!-- fieldset -->
  <fieldset role="group" aria-describedby="datos-error-nombre-a-hint datos-error-nombre-a-error">
    <legend class="font-bold">
      Datos del solicitante
    </legend>
    <!-- hint -->
    <p id="datos-error-nombre-a-hint" class="block text-neutral-dark">Necesitamos tus datos para identificarte posteriormente.</p>
    <!-- /hint -->
    <!-- error-message -->
    <p id="datos-error-nombre-a-error" class="block font-semibold text-alert-base">
      <span class="sr-only">Error:</span>Error: Estos campos no pueden estar vacíos
    </p>
    <!-- /error-message -->
    <div class="flex" id="datos-error-nombre-a">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-error-nombre-a-titulo">Titulo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-error-nombre-a-titulo" name="titulo">
          <option value="1" selected>Sr.</option>
          <option value="2">Sra.</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-error-nombre-a-nombre">Nombre</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-error-nombre-a-nombre" name="nombre" type="text" aria-describedby="datos-error-nombre-a-hint datos-error-nombre-a-error" aria-errormessage="datos-error-nombre-a-error" aria-invalid="true">
      </div>
      <!-- /input -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="datos-error-nombre-a-apellidos">Apellidos</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-error-nombre-a-apellidos" name="apellidos" type="text">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con error en el nombre", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-error-nombre-a",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "hint": {
    "text": "Necesitamos tus datos para identificarte posteriormente."
  },
  "errorMessage": {
    "text": "Error: Estos campos 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-error-nombre-a-hint datos-error-nombre-a-error",
        "aria-errormessage": "datos-error-nombre-a-error",
        "aria-invalid": "true"
      }
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto"
    }
  ]
}) }}
Datos del solicitante

Necesitamos tus datos para identificarte posteriormente.

Error:Error: Estos campos no pueden estar vacíos

Mostrar códigodel ejemplo: Con error en el nombre

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-error-nombre-a",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "hint": {
    "text": "Necesitamos tus datos para identificarte posteriormente."
  },
  "errorMessage": {
    "text": "Error: Estos campos 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-error-nombre-a-hint datos-error-nombre-a-error",
        "aria-errormessage": "datos-error-nombre-a-error",
        "aria-invalid": "true"
      }
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto"
    }
  ]
}) }}

Con error en los apellidos

Ejemplo: "Con error en los apellidos", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group c-form-group--error">
  <!-- fieldset -->
  <fieldset role="group" aria-describedby="datos-error-nombre-b-hint datos-error-nombre-b-error">
    <legend class="font-bold">
      Datos del solicitante
    </legend>
    <!-- hint -->
    <p id="datos-error-nombre-b-hint" class="block text-neutral-dark">Necesitamos tus datos para identificarte posteriormente.</p>
    <!-- /hint -->
    <!-- error-message -->
    <p id="datos-error-nombre-b-error" class="block font-semibold text-alert-base">
      <span class="sr-only">Error:</span>Error: Estos campos no pueden estar vacíos
    </p>
    <!-- /error-message -->
    <div class="flex" id="datos-error-nombre-b">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-error-nombre-b-titulo">Titulo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-error-nombre-b-titulo" name="titulo">
          <option value="1" selected>Sr.</option>
          <option value="2">Sra.</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-error-nombre-b-nombre">Nombre</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-error-nombre-b-nombre" name="nombre" type="text">
      </div>
      <!-- /input -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="datos-error-nombre-b-apellidos">Apellidos</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-error-nombre-b-apellidos" name="apellidos" type="text" aria-describedby="datos-error-nombre-b-hint datos-error-nombre-b-error" aria-errormessage="datos-error-nombre-b-error" aria-invalid="true">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con error en los apellidos", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-error-nombre-b",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "hint": {
    "text": "Necesitamos tus datos para identificarte posteriormente."
  },
  "errorMessage": {
    "text": "Error: Estos campos 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-auto"
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-40 border-alert-base ring-2 ring-alert-base",
      "attributes": {
        "aria-describedby": "datos-error-nombre-b-hint datos-error-nombre-b-error",
        "aria-errormessage": "datos-error-nombre-b-error",
        "aria-invalid": "true"
      }
    }
  ]
}) }}
Datos del solicitante

Necesitamos tus datos para identificarte posteriormente.

Error:Error: Estos campos no pueden estar vacíos

Mostrar códigodel ejemplo: Con error en los apellidos

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-error-nombre-b",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "hint": {
    "text": "Necesitamos tus datos para identificarte posteriormente."
  },
  "errorMessage": {
    "text": "Error: Estos campos 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-auto"
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-40 border-alert-base ring-2 ring-alert-base",
      "attributes": {
        "aria-describedby": "datos-error-nombre-b-hint datos-error-nombre-b-error",
        "aria-errormessage": "datos-error-nombre-b-error",
        "aria-invalid": "true"
      }
    }
  ]
}) }}

Con clases de form-group opcionales y más clases

Ejemplo: "Con clases de form-group opcionales y más clases", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group p-base bg-primary-light">
  <!-- fieldset -->
  <fieldset role="group">
    <legend class="c-h2">
      Documento de identidad
    </legend>
    <div class="grid grid-cols-2 gap-lg" id="doc-identidad-classes">
      <!-- select -->
      <div class="c-form-group lg:border-r lg:border-neutral-base mb-0">
        <!-- label -->
        <label class="block text-sm" for="doc-identidad-classes-tipo-doc">Tipo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-full lg:w-40" id="doc-identidad-classes-tipo-doc" name="doc-identidad-classes-tipo-doc">
          <option value="1" selected>NIF</option>
          <option value="2">Pasaporte</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block text-sm" for="doc-identidad-classes-num-doc">Número</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-64" id="doc-identidad-classes-num-doc" name="doc-identidad-classes-num-doc" type="text" placeholder="Ej: 28999876V">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con clases de form-group opcionales y más clases", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-classes",
  "namePrefix": "doc-identidad-classes",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad",
      "classes": "c-h2"
    }
  },
  "formGroup": {
    "classes": "p-base bg-primary-light"
  },
  "classes": "grid grid-cols-2 gap-lg",
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "lg:border-r lg:border-neutral-base mb-0"
      },
      "classes": "w-full lg:w-40",
      "label": {
        "text": "Tipo",
        "classes": "text-sm"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número",
        "classes": "text-sm"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}
Documento de identidad
Mostrar códigodel ejemplo: Con clases de form-group opcionales y más clases

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "doc-identidad-classes",
  "namePrefix": "doc-identidad-classes",
  "fieldset": {
    "legend": {
      "text": "Documento de identidad",
      "classes": "c-h2"
    }
  },
  "formGroup": {
    "classes": "p-base bg-primary-light"
  },
  "classes": "grid grid-cols-2 gap-lg",
  "items": [
    {
      "name": "tipo-doc",
      "formGroup": {
        "classes": "lg:border-r lg:border-neutral-base mb-0"
      },
      "classes": "w-full lg:w-40",
      "label": {
        "text": "Tipo",
        "classes": "text-sm"
      },
      "isSelect": true,
      "selectItems": [
        {
          "value": 1,
          "text": "NIF",
          "selected": true
        },
        {
          "value": 2,
          "text": "Pasaporte"
        }
      ]
    },
    {
      "name": "num-doc",
      "classes": "w-full lg:w-64",
      "label": {
        "text": "Número",
        "classes": "text-sm"
      },
      "placeholder": "Ej: 28999876V"
    }
  ]
}) }}

Con autocompletado

Usa el parámetro autocomplete

Ejemplo: "Con autocompletado", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset role="group">
    <legend class="font-bold">
      Datos del solicitante
    </legend>
    <div class="flex" id="datos-autocomplete">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-autocomplete-titulo">Titulo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-autocomplete-titulo" name="titulo">
          <option value="1" selected>Sr.</option>
          <option value="2">Sra.</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-autocomplete-nombre">Nombre</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-autocomplete-nombre" name="nombre" type="text" autocomplete="given-name">
      </div>
      <!-- /input -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="datos-autocomplete-apellidos">Apellidos</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-autocomplete-apellidos" name="apellidos" type="text" autocomplete="family-name">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con autocompletado", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-autocomplete",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "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-auto",
      "autocomplete": "given-name"
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto",
      "autocomplete": "family-name"
    }
  ]
}) }}
Datos del solicitante
Mostrar códigodel ejemplo: Con autocompletado

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-autocomplete",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "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-auto",
      "autocomplete": "given-name"
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto",
      "autocomplete": "family-name"
    }
  ]
}) }}

Con atributos de input

Ejemplo: "Con atributos de input", de código HTML, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Para compilar el css del siguiente código deberás instalar Tailwind CSS y usar el archivo tailwind.config.js del proyecto: desy-html.

Para que funcione el comportamiento del siguiente código deberás importar el archivo index.js y todos los archivos javascript de la carpeta /src/js y /src/js/aria del proyecto: desy-html.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

<!-- input-group -->
<div class="c-form-group">
  <!-- fieldset -->
  <fieldset role="group">
    <legend class="font-bold">
      Datos del solicitante
    </legend>
    <div class="flex" id="datos-attributes">
      <!-- select -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-attributes-titulo">Titulo</label>
        <!-- /label -->
        <select class="c-select block mt-sm transition duration-150 ease-in-out border-black rounded 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-attributes-titulo" name="titulo" data-title="titulo">
          <option value="1" selected>Sr.</option>
          <option value="2">Sra.</option>
        </select>
      </div>
      <!-- /select -->
      <!-- input -->
      <div class="c-form-group mr-base">
        <!-- label -->
        <label class="block" for="datos-attributes-nombre">Nombre</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-attributes-nombre" name="nombre" type="text" data-name="nombre">
      </div>
      <!-- /input -->
      <!-- input -->
      <div class="c-form-group">
        <!-- label -->
        <label class="block" for="datos-attributes-apellidos">Apellidos</label>
        <!-- /label -->
        <input class="c-input block mt-sm border-black rounded 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-auto" id="datos-attributes-apellidos" name="apellidos" type="text" data-surname="apellidos">
      </div>
      <!-- /input -->
    </div>
  </fieldset>
  <!-- /fieldset -->
</div>
<!-- /input-group -->
          

Ejemplo: "Con atributos de input", de código Nunjucks, para maquetar el componente: "Input Group", versión: 12.0.1, del sistema de diseño DESY

Pegar en la página: pagina-prueba.html del proyecto: desy-html-starter.

Usar sólo el código que está dentro de la siguiente etiqueta <code>.

{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-attributes",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "items": [
    {
      "isSelect": true,
      "name": "titulo",
      "label": {
        "text": "Titulo"
      },
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-20",
      "attributes": {
        "data-title": "titulo"
      },
      "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-auto",
      "attributes": {
        "data-name": "nombre"
      }
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto",
      "attributes": {
        "data-surname": "apellidos"
      }
    }
  ]
}) }}
Datos del solicitante
Mostrar códigodel ejemplo: Con atributos de input

Contenido

Nunjucks macro
{% from "components/input-group/_macro.input-group.njk" import componentInputGroup %}

{{ componentInputGroup({
  "id": "datos-attributes",
  "fieldset": {
    "legend": {
      "text": "Datos del solicitante"
    }
  },
  "items": [
    {
      "isSelect": true,
      "name": "titulo",
      "label": {
        "text": "Titulo"
      },
      "formGroup": {
        "classes": "mr-base"
      },
      "classes": "w-20",
      "attributes": {
        "data-title": "titulo"
      },
      "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-auto",
      "attributes": {
        "data-name": "nombre"
      }
    },
    {
      "name": "apellidos",
      "label": {
        "text": "Apellidos"
      },
      "classes": "w-full lg:w-auto",
      "attributes": {
        "data-surname": "apellidos"
      }
    }
  ]
}) }}