% described_by = local_assigns[:described_by] || "" date_input_items = local_assigns[:items] || [ { name: "day", classes: "govuk-input--width-2" }, { name: "month", classes: "govuk-input--width-2" }, { name: "year", classes: "govuk-input--width-4" } ] %> <% date_input = capture do %> <% if local_assigns[:hint] %> <% hint_id = "#{local_assigns[:id]}-hint" described_by = described_by.present? ? "#{described_by} #{hint_id}" : hint_id %> <%= govukHint( id: hint_id, text: local_assigns[:hint].try(:[], :text) ) %> <% end %> <% if local_assigns[:errorMessage] %> <% error_id = "#{local_assigns[:id]}-error" described_by = described_by.blank? ? error_id : "#{described_by} #{error_id}" error_attributes = (local_assigns[:errorMessage][:attributes] || {}).merge(id: error_id) %> <%= govukErrorMessage({ id: error_id, classes: local_assigns[:errorMessage][:classes], attributes: error_attributes, html: local_assigns[:errorMessage][:html], text: local_assigns[:errorMessage][:text], visuallyHiddenText: local_assigns[:errorMessage][:visuallyHiddenText] }) %> <% end %> <% input_classes = class_names( "govuk-date-input", local_assigns[:classes] ) input_attributes = { class: input_classes, id: local_assigns[:id] }.merge(local_assigns[:attributes] || {}) %> <%= tag.div(**input_attributes) do %> <% date_input_items.each do |item| %>