Sha256: 63ba0a8be24439dd675e590872f0f13a5585ef42827ffe9f0cdd60fbb378b0fd
Contents?: true
Size: 868 Bytes
Versions: 5
Compression:
Stored size: 868 Bytes
Contents
module GOVUKDesignSystemFormBuilder module Elements class Caption < Base include Traits::Localisation def initialize(builder, object_name, attribute_name, text:, size: nil) super(builder, object_name, attribute_name) @text = text(text) @size_class = size_class(size) end def html return nil if @text.blank? tag.span(@text, class: @size_class) end private def text(override) override || localised_text(:caption) end def size_class(size) case size || config.default_caption_size when 'xl' then %(#{brand}-caption-xl) when 'l' then %(#{brand}-caption-l) when 'm' then %(#{brand}-caption-m) else fail ArgumentError, "invalid size '#{size}', must be xl, l or m" end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems