{% from 'govuk/components/input/macro.njk' import govukInput %}

{% set fieldErrors = params.casaErrors[params.name] %}

{# Generate validation data- attributes #}
{% set mergedAttributes = params.attributes or {} %}
{% if fieldErrors %}
  {% set mergedAttributes = mergeObjects(mergedAttributes, {
    'data-validation': {fn: params.name, va: fieldErrors[0].validator} | dump
  }) %}
{% endif %}

{# Merge parameters #}
{% set mergedParams = mergeObjects(params, {
  id: params.id if params.id else 'f-' + params.name,
  attributes: mergedAttributes,
  errorMessage: {
    text: t(params.casaErrors[params.name][0].inline, params.casaErrors[params.name][0].variables),
    attributes: {
      'data-ga-question': params.label.text or params.label.html | striptags
    } if params.casaWithAnalytics else {}
  } if params.casaErrors[params.name].length
}) %}

{{ govukInput(mergedParams) }}
