Sha256: efa83eca302913fbe9a332b517c432a4e30c81cea493c3e365862826b6496602

Contents?: true

Size: 986 Bytes

Versions: 27

Compression:

Stored size: 986 Bytes

Contents

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

      def initialize(builder, object_name, attribute_name, text: nil, size: config.default_caption_size, **kwargs)
        super(builder, object_name, attribute_name)

        @text            = text(text)
        @size_class      = size_class(size)
        @html_attributes = kwargs
      end

      def html
        return unless active?

        tag.span(@text, class: @size_class, **@html_attributes)
      end

    private

      def active?
        @text.present?
      end

      def text(override)
        override || localised_text(:caption)
      end

      def size_class(size)
        case 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

27 entries across 27 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-3.1.2 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.1.1 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.1.0 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.3 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.3b1 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.2 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.1 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.0 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.0b2 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-3.0.0b1 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.8.0 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.6 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.5 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.4 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.3 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.2 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.1 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.7.0 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.6.0 lib/govuk_design_system_formbuilder/elements/caption.rb
govuk_design_system_formbuilder-2.6.0b1 lib/govuk_design_system_formbuilder/elements/caption.rb