Sha256: cd6daa42a4e33adb1b0bd728609c4e6478016f87148c2fe21762feae4f805ede
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
module GOVUKDesignSystemFormBuilder module Elements class Hint < Base using PrefixableArray 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(hint).prefix(brand).push(@radio_class, @checkbox_class).compact end def radio_class(radio) radio ? %(#{brand}-radios__hint) : nil end def checkbox_class(checkbox) checkbox ? %(#{brand}-checkboxes__hint) : nil end end end end
Version data entries
3 entries across 3 versions & 1 rubygems