Sha256: e9d87f42cdce5e84e0a84ff4c51d7da51c6c6a64d26134f18c8b74af99dd13e7

Contents?: true

Size: 1.61 KB

Versions: 12

Compression:

Stored size: 1.61 KB

Contents

<%
  id ||= "input-#{SecureRandom.hex(4)}"
  value ||= nil
  type ||= "text"
  describedby ||= false
  data ||= nil

  label ||= nil
  hint ||= nil
  error_message ||= nil
  autofocus ||= nil
  tabindex ||= nil
  hint_id = "hint-#{SecureRandom.hex(4)}" if hint
  error_message_id = "error-message-#{SecureRandom.hex(4)}" if error_message

  css_classes = %w(gem-c-input govuk-input)
  css_classes << "govuk-input--error" if error_message
  form_group_css_classes = %w(govuk-form-group)
  form_group_css_classes << "govuk-form-group--error" if error_message

  aria_described_by ||= nil
  if hint || error_message || describedby
    aria_described_by = []
    aria_described_by << hint_id if hint
    aria_described_by << error_message_id if error_message
    aria_described_by << describedby if describedby
    aria_described_by = aria_described_by.join(" ")
  end

%>

<%= content_tag :div, class: form_group_css_classes do %>
  <% if label %>
    <%= render "govuk_publishing_components/components/label", {
      html_for: id
    }.merge(label.symbolize_keys) %>
  <% end %>

  <% if hint %>
    <%= render "govuk_publishing_components/components/hint", {
      id: hint_id,
      text: hint
    } %>
  <% end %>

  <% if error_message %>
    <%= render "govuk_publishing_components/components/error_message", {
      id: error_message_id,
      text: error_message
    } %>
  <% end %>

  <%= tag.input name: name,
      value: value,
      class: css_classes,
      id: id,
      type: type,
      data: data,
      tabindex: tabindex,
      autofocus: autofocus,
      aria: {
        describedby: aria_described_by
      }
  %>
<% end %>

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
govuk_publishing_components-12.7.1 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.7.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.6.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.5.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.4.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.3.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.2.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.1.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.0.1 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-12.0.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-11.2.0 app/views/govuk_publishing_components/components/_input.html.erb
govuk_publishing_components-11.1.0 app/views/govuk_publishing_components/components/_input.html.erb