Sha256: c8dca639ee59a52da16d2625bc240c4bc3482449ad08b797ce766b1413e1aa3b

Contents?: true

Size: 732 Bytes

Versions: 1

Compression:

Stored size: 732 Bytes

Contents

module GOVUKDesignSystemFormBuilder
  module Containers
    class FormGroup < Base
      def initialize(builder, object_name, attribute_name, classes: nil, **kwargs)
        super(builder, object_name, attribute_name)

        @classes       = classes
        @extra_options = kwargs
      end

      def html
        tag.div(class: classes, **@extra_options) { yield }
      end

    private

      def classes
        [form_group_class, error_class, custom_classes].flatten.compact
      end

      def form_group_class
        %(#{brand}-form-group)
      end

      def error_class
        %(#{brand}-form-group--error) if has_errors?
      end

      def custom_classes
        Array.wrap(@classes)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
govuk_design_system_formbuilder-2.0.0b1 lib/govuk_design_system_formbuilder/containers/form_group.rb