Sha256: c92c3cc2082b0eee0e39f00c0db26fa6d5213b93bb3ab4cc9deead3b5239fa65

Contents?: true

Size: 1.03 KB

Versions: 12

Compression:

Stored size: 1.03 KB

Contents

module GOVUKDesignSystemFormBuilder
  module Elements
    class Hint < Base
      include Traits::Hint
      include Traits::Localisation

      def initialize(builder, object_name, attribute_name, text, value = nil, radio: false, checkbox: false)
        super(builder, object_name, attribute_name)

        @value          = value
        @hint_text      = hint_text(text)
        @radio_class    = radio_class(radio)
        @checkbox_class = checkbox_class(checkbox)
      end

      def html
        return nil if @hint_text.blank?

        tag.span(@hint_text, class: hint_classes, id: hint_id)
      end

    private

      def hint_text(supplied)
        [
          supplied.presence,
          localised_text(:hint)
        ].compact.first
      end

      def hint_classes
        %w(govuk-hint).push(@radio_class, @checkbox_class).compact
      end

      def radio_class(radio)
        radio ? 'govuk-radios__hint' : nil
      end

      def checkbox_class(checkbox)
        checkbox ? 'govuk-checkboxes__hint' : nil
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-1.1.11 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.10 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.9 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.8 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.7 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.6 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.5 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.4 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.3 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.2 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.1 lib/govuk_design_system_formbuilder/elements/hint.rb
govuk_design_system_formbuilder-1.1.0 lib/govuk_design_system_formbuilder/elements/hint.rb