govuk_design_system_formbuilder 1.2.0b1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/govuk_design_system_formbuilder.rb +2 -1
- data/lib/govuk_design_system_formbuilder/base.rb +5 -0
- data/lib/govuk_design_system_formbuilder/builder.rb +205 -77
- data/lib/govuk_design_system_formbuilder/containers/check_boxes_fieldset.rb +12 -11
- data/lib/govuk_design_system_formbuilder/containers/fieldset.rb +32 -16
- data/lib/govuk_design_system_formbuilder/containers/radio_buttons_fieldset.rb +12 -11
- data/lib/govuk_design_system_formbuilder/elements/caption.rb +34 -0
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/collection.rb +11 -13
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb +17 -15
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box.rb +20 -27
- data/lib/govuk_design_system_formbuilder/elements/date.rb +23 -25
- data/lib/govuk_design_system_formbuilder/elements/error_message.rb +8 -7
- data/lib/govuk_design_system_formbuilder/elements/error_summary.rb +23 -26
- data/lib/govuk_design_system_formbuilder/elements/file.rb +18 -19
- data/lib/govuk_design_system_formbuilder/elements/hint.rb +1 -4
- data/lib/govuk_design_system_formbuilder/elements/label.rb +30 -19
- data/lib/govuk_design_system_formbuilder/elements/radios/collection.rb +26 -24
- data/lib/govuk_design_system_formbuilder/elements/radios/collection_radio_button.rb +13 -13
- data/lib/govuk_design_system_formbuilder/elements/radios/fieldset_radio_button.rb +15 -19
- data/lib/govuk_design_system_formbuilder/elements/select.rb +8 -18
- data/lib/govuk_design_system_formbuilder/elements/submit.rb +27 -23
- data/lib/govuk_design_system_formbuilder/elements/text_area.rb +17 -23
- data/lib/govuk_design_system_formbuilder/traits/caption.rb +23 -0
- data/lib/govuk_design_system_formbuilder/traits/input.rb +19 -27
- data/lib/govuk_design_system_formbuilder/traits/label.rb +12 -1
- data/lib/govuk_design_system_formbuilder/traits/localisation.rb +2 -0
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- metadata +21 -47
| @@ -3,7 +3,7 @@ module GOVUKDesignSystemFormBuilder | |
| 3 3 | 
             
                class Submit < Base
         | 
| 4 4 | 
             
                  using PrefixableArray
         | 
| 5 5 |  | 
| 6 | 
            -
                  def initialize(builder, text, warning:, secondary:, classes:, prevent_double_click:, validate:, &block)
         | 
| 6 | 
            +
                  def initialize(builder, text, warning:, secondary:, classes:, prevent_double_click:, validate:, disabled:, &block)
         | 
| 7 7 | 
             
                    fail ArgumentError, 'buttons can be warning or secondary' if warning && secondary
         | 
| 8 8 |  | 
| 9 9 | 
             
                    @builder              = builder
         | 
| @@ -13,29 +13,38 @@ module GOVUKDesignSystemFormBuilder | |
| 13 13 | 
             
                    @secondary            = secondary
         | 
| 14 14 | 
             
                    @classes              = classes
         | 
| 15 15 | 
             
                    @validate             = validate
         | 
| 16 | 
            +
                    @disabled             = disabled
         | 
| 16 17 | 
             
                    @block_content        = capture { block.call } if block_given?
         | 
| 17 18 | 
             
                  end
         | 
| 18 19 |  | 
| 19 20 | 
             
                  def html
         | 
| 20 | 
            -
                    safe_join(
         | 
| 21 | 
            -
                      [
         | 
| 22 | 
            -
                        @builder.submit(
         | 
| 23 | 
            -
                          @text,
         | 
| 24 | 
            -
                          class: %w(button).prefix(brand).push(
         | 
| 25 | 
            -
                            warning_class,
         | 
| 26 | 
            -
                            secondary_class,
         | 
| 27 | 
            -
                            @classes,
         | 
| 28 | 
            -
                            padding_class(@block_content.present?)
         | 
| 29 | 
            -
                          ).compact,
         | 
| 30 | 
            -
                          **extra_args
         | 
| 31 | 
            -
                        ),
         | 
| 32 | 
            -
                        @block_content
         | 
| 33 | 
            -
                      ]
         | 
| 34 | 
            -
                    )
         | 
| 21 | 
            +
                    safe_join([submit, @block_content])
         | 
| 35 22 | 
             
                  end
         | 
| 36 23 |  | 
| 37 24 | 
             
                private
         | 
| 38 25 |  | 
| 26 | 
            +
                  def submit
         | 
| 27 | 
            +
                    @builder.submit(@text, class: submit_classes, **submit_options)
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  def submit_classes
         | 
| 31 | 
            +
                    %w(button)
         | 
| 32 | 
            +
                      .prefix(brand)
         | 
| 33 | 
            +
                      .push(warning_class, secondary_class, disabled_class, @classes, padding_class(@block_content.present?))
         | 
| 34 | 
            +
                      .compact
         | 
| 35 | 
            +
                  end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  def submit_options
         | 
| 38 | 
            +
                    {
         | 
| 39 | 
            +
                      formnovalidate: !@validate,
         | 
| 40 | 
            +
                      disabled: @disabled,
         | 
| 41 | 
            +
                      data: {
         | 
| 42 | 
            +
                        module: %(#{brand}-button),
         | 
| 43 | 
            +
                        'prevent-double-click': @prevent_double_click
         | 
| 44 | 
            +
                      }.select { |_k, v| v.present? }
         | 
| 45 | 
            +
                    }
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 39 48 | 
             
                  def warning_class
         | 
| 40 49 | 
             
                    %(#{brand}-button--warning) if @warning
         | 
| 41 50 | 
             
                  end
         | 
| @@ -48,13 +57,8 @@ module GOVUKDesignSystemFormBuilder | |
| 48 57 | 
             
                    %(#{brand}-!-margin-right-1) if content_present
         | 
| 49 58 | 
             
                  end
         | 
| 50 59 |  | 
| 51 | 
            -
                  def  | 
| 52 | 
            -
                    {
         | 
| 53 | 
            -
                      formnovalidate: !@validate,
         | 
| 54 | 
            -
                      data: {
         | 
| 55 | 
            -
                        module: %(#{brand}-button), 'prevent-double-click' => @prevent_double_click
         | 
| 56 | 
            -
                      }.select { |_k, v| v.present? }
         | 
| 57 | 
            -
                    }
         | 
| 60 | 
            +
                  def disabled_class
         | 
| 61 | 
            +
                    %(#{brand}-button--disabled) if @disabled
         | 
| 58 62 | 
             
                  end
         | 
| 59 63 | 
             
                end
         | 
| 60 64 | 
             
              end
         | 
| @@ -8,12 +8,13 @@ module GOVUKDesignSystemFormBuilder | |
| 8 8 | 
             
                  include Traits::Label
         | 
| 9 9 | 
             
                  include Traits::Supplemental
         | 
| 10 10 |  | 
| 11 | 
            -
                  def initialize(builder, object_name, attribute_name, hint_text:, label:, rows:, max_words:, max_chars:, threshold:, ** | 
| 11 | 
            +
                  def initialize(builder, object_name, attribute_name, hint_text:, label:, caption:, rows:, max_words:, max_chars:, threshold:, **kwargs, &block)
         | 
| 12 12 | 
             
                    super(builder, object_name, attribute_name, &block)
         | 
| 13 13 |  | 
| 14 14 | 
             
                    @label      = label
         | 
| 15 | 
            +
                    @caption    = caption
         | 
| 15 16 | 
             
                    @hint_text  = hint_text
         | 
| 16 | 
            -
                    @ | 
| 17 | 
            +
                    @attributes = kwargs
         | 
| 17 18 | 
             
                    @max_words  = max_words
         | 
| 18 19 | 
             
                    @max_chars  = max_chars
         | 
| 19 20 | 
             
                    @threshold  = threshold
         | 
| @@ -23,39 +24,32 @@ module GOVUKDesignSystemFormBuilder | |
| 23 24 | 
             
                  def html
         | 
| 24 25 | 
             
                    Containers::CharacterCount.new(@builder, max_words: @max_words, max_chars: @max_chars, threshold: @threshold).html do
         | 
| 25 26 | 
             
                      Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
         | 
| 26 | 
            -
                        safe_join(
         | 
| 27 | 
            -
                          [
         | 
| 28 | 
            -
                            [
         | 
| 29 | 
            -
                              label_element,
         | 
| 30 | 
            -
                              supplemental_content,
         | 
| 31 | 
            -
                              hint_element,
         | 
| 32 | 
            -
                              error_element
         | 
| 33 | 
            -
                            ].map(&:html),
         | 
| 34 | 
            -
                            @builder.text_area(
         | 
| 35 | 
            -
                              @attribute_name,
         | 
| 36 | 
            -
                              id: field_id(link_errors: true),
         | 
| 37 | 
            -
                              class: govuk_textarea_classes,
         | 
| 38 | 
            -
                              aria: {
         | 
| 39 | 
            -
                                describedby: described_by(hint_id, error_id, supplemental_id, limit_description_id)
         | 
| 40 | 
            -
                              },
         | 
| 41 | 
            -
                              **@extra_args.merge(rows: @rows)
         | 
| 42 | 
            -
                            ),
         | 
| 43 | 
            -
                            limit_description
         | 
| 44 | 
            -
                          ].flatten.compact
         | 
| 45 | 
            -
                        )
         | 
| 27 | 
            +
                        safe_join([label_element, supplemental_content, hint_element, error_element, text_area, limit_description])
         | 
| 46 28 | 
             
                      end
         | 
| 47 29 | 
             
                    end
         | 
| 48 30 | 
             
                  end
         | 
| 49 31 |  | 
| 50 32 | 
             
                private
         | 
| 51 33 |  | 
| 52 | 
            -
                  def  | 
| 34 | 
            +
                  def text_area
         | 
| 35 | 
            +
                    @builder.text_area(@attribute_name, **text_area_options, **@attributes.merge(rows: @rows))
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                  def text_area_classes
         | 
| 53 39 | 
             
                    %w(textarea).prefix(brand).tap do |classes|
         | 
| 54 40 | 
             
                      classes.push(%(#{brand}-textarea--error)) if has_errors?
         | 
| 55 41 | 
             
                      classes.push(%(#{brand}-js-character-count)) if limit?
         | 
| 56 42 | 
             
                    end
         | 
| 57 43 | 
             
                  end
         | 
| 58 44 |  | 
| 45 | 
            +
                  def text_area_options
         | 
| 46 | 
            +
                    {
         | 
| 47 | 
            +
                      id: field_id(link_errors: true),
         | 
| 48 | 
            +
                      class: text_area_classes,
         | 
| 49 | 
            +
                      aria: { describedby: described_by(hint_id, error_id, supplemental_id, limit_description_id) },
         | 
| 50 | 
            +
                    }
         | 
| 51 | 
            +
                  end
         | 
| 52 | 
            +
             | 
| 59 53 | 
             
                  # Provides an id for use by the textual description of character and word limits.
         | 
| 60 54 | 
             
                  #
         | 
| 61 55 | 
             
                  # @note In order for the GOV.UK Frontend JavaScript to pick up this associated field
         | 
| @@ -0,0 +1,23 @@ | |
| 1 | 
            +
            module GOVUKDesignSystemFormBuilder
         | 
| 2 | 
            +
              module Traits
         | 
| 3 | 
            +
                module Caption
         | 
| 4 | 
            +
                private
         | 
| 5 | 
            +
             | 
| 6 | 
            +
                  def caption_element
         | 
| 7 | 
            +
                    @caption_element ||= Elements::Caption.new(@builder, @object_name, @attribute_name, **caption_options)
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def caption_options
         | 
| 11 | 
            +
                    { text: nil }.merge({ text: caption_text, size: caption_size }.compact)
         | 
| 12 | 
            +
                  end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                  def caption_text
         | 
| 15 | 
            +
                    @caption&.dig(:text)
         | 
| 16 | 
            +
                  end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                  def caption_size
         | 
| 19 | 
            +
                    @caption&.dig(:size)
         | 
| 20 | 
            +
                  end
         | 
| 21 | 
            +
                end
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
            end
         | 
| @@ -1,44 +1,36 @@ | |
| 1 1 | 
             
            module GOVUKDesignSystemFormBuilder
         | 
| 2 2 | 
             
              module Traits
         | 
| 3 3 | 
             
                module Input
         | 
| 4 | 
            -
                  def initialize(builder, object_name, attribute_name, hint_text:, label:, width:, ** | 
| 4 | 
            +
                  def initialize(builder, object_name, attribute_name, hint_text:, label:, caption:, width:, **kwargs, &block)
         | 
| 5 5 | 
             
                    super(builder, object_name, attribute_name, &block)
         | 
| 6 6 |  | 
| 7 | 
            -
                    @width | 
| 8 | 
            -
                    @ | 
| 9 | 
            -
                    @label | 
| 10 | 
            -
                    @ | 
| 7 | 
            +
                    @width      = width
         | 
| 8 | 
            +
                    @attributes = kwargs
         | 
| 9 | 
            +
                    @label      = label
         | 
| 10 | 
            +
                    @caption    = caption
         | 
| 11 | 
            +
                    @hint_text  = hint_text
         | 
| 11 12 | 
             
                  end
         | 
| 12 13 |  | 
| 13 14 | 
             
                  def html
         | 
| 14 15 | 
             
                    Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
         | 
| 15 | 
            -
                      safe_join(
         | 
| 16 | 
            -
                        [
         | 
| 17 | 
            -
                          label_element.html,
         | 
| 18 | 
            -
                          supplemental_content.html,
         | 
| 19 | 
            -
                          hint_element.html,
         | 
| 20 | 
            -
                          error_element.html,
         | 
| 21 | 
            -
                          @builder.send(
         | 
| 22 | 
            -
                            builder_method,
         | 
| 23 | 
            -
                            @attribute_name,
         | 
| 24 | 
            -
                            id: field_id(link_errors: true),
         | 
| 25 | 
            -
                            class: input_classes,
         | 
| 26 | 
            -
                            aria: {
         | 
| 27 | 
            -
                              describedby: described_by(
         | 
| 28 | 
            -
                                hint_id,
         | 
| 29 | 
            -
                                error_id,
         | 
| 30 | 
            -
                                supplemental_id
         | 
| 31 | 
            -
                              )
         | 
| 32 | 
            -
                            },
         | 
| 33 | 
            -
                            **@extra_args
         | 
| 34 | 
            -
                          )
         | 
| 35 | 
            -
                        ]
         | 
| 36 | 
            -
                      )
         | 
| 16 | 
            +
                      safe_join([label_element, supplemental_content, hint_element, error_element, input])
         | 
| 37 17 | 
             
                    end
         | 
| 38 18 | 
             
                  end
         | 
| 39 19 |  | 
| 40 20 | 
             
                private
         | 
| 41 21 |  | 
| 22 | 
            +
                  def input
         | 
| 23 | 
            +
                    @builder.send(builder_method, @attribute_name, **input_options.merge(@attributes))
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  def input_options
         | 
| 27 | 
            +
                    {
         | 
| 28 | 
            +
                      id: field_id(link_errors: true),
         | 
| 29 | 
            +
                      class: input_classes,
         | 
| 30 | 
            +
                      aria: { describedby: described_by(hint_id, error_id, supplemental_id) }
         | 
| 31 | 
            +
                    }
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
             | 
| 42 34 | 
             
                  def input_classes
         | 
| 43 35 | 
             
                    [%(#{brand}-input)].push(width_classes, error_classes).compact
         | 
| 44 36 | 
             
                  end
         | 
| @@ -4,7 +4,18 @@ module GOVUKDesignSystemFormBuilder | |
| 4 4 | 
             
                private
         | 
| 5 5 |  | 
| 6 6 | 
             
                  def label_element
         | 
| 7 | 
            -
                    @label_element ||= Elements::Label.new(@builder, @object_name, @attribute_name,  | 
| 7 | 
            +
                    @label_element ||= Elements::Label.new(@builder, @object_name, @attribute_name, caption: @caption, **label_options)
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                  def label_options
         | 
| 11 | 
            +
                    case @label
         | 
| 12 | 
            +
                    when Hash
         | 
| 13 | 
            +
                      @label
         | 
| 14 | 
            +
                    when Proc
         | 
| 15 | 
            +
                      { content: @label }
         | 
| 16 | 
            +
                    else
         | 
| 17 | 
            +
                      fail(ArgumentError, %(label must be a Proc or Hash))
         | 
| 18 | 
            +
                    end
         | 
| 8 19 | 
             
                  end
         | 
| 9 20 | 
             
                end
         | 
| 10 21 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: govuk_design_system_formbuilder
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.2. | 
| 4 | 
            +
              version: 1.2.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Peter Yates
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-06-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: actionview
         | 
| @@ -58,14 +58,14 @@ dependencies: | |
| 58 58 | 
             
                requirements:
         | 
| 59 59 | 
             
                - - '='
         | 
| 60 60 | 
             
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            -
                    version: 3. | 
| 61 | 
            +
                    version: 3.14.0
         | 
| 62 62 | 
             
              type: :development
         | 
| 63 63 | 
             
              prerelease: false
         | 
| 64 64 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 65 | 
             
                requirements:
         | 
| 66 66 | 
             
                - - '='
         | 
| 67 67 | 
             
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            -
                    version: 3. | 
| 68 | 
            +
                    version: 3.14.0
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: pry
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -84,22 +84,22 @@ dependencies: | |
| 84 84 | 
             
              name: pry-byebug
         | 
| 85 85 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 86 | 
             
                requirements:
         | 
| 87 | 
            -
                - - ">="
         | 
| 88 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            -
                    version: 3.9.0
         | 
| 90 87 | 
             
                - - "~>"
         | 
| 91 88 | 
             
                  - !ruby/object:Gem::Version
         | 
| 92 89 | 
             
                    version: '3.9'
         | 
| 90 | 
            +
                - - ">="
         | 
| 91 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 92 | 
            +
                    version: 3.9.0
         | 
| 93 93 | 
             
              type: :development
         | 
| 94 94 | 
             
              prerelease: false
         | 
| 95 95 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 96 96 | 
             
                requirements:
         | 
| 97 | 
            -
                - - ">="
         | 
| 98 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 99 | 
            -
                    version: 3.9.0
         | 
| 100 97 | 
             
                - - "~>"
         | 
| 101 98 | 
             
                  - !ruby/object:Gem::Version
         | 
| 102 99 | 
             
                    version: '3.9'
         | 
| 100 | 
            +
                - - ">="
         | 
| 101 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 102 | 
            +
                    version: 3.9.0
         | 
| 103 103 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 104 104 | 
             
              name: rspec-html-matchers
         | 
| 105 105 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -134,42 +134,14 @@ dependencies: | |
| 134 134 | 
             
                requirements:
         | 
| 135 135 | 
             
                - - "~>"
         | 
| 136 136 | 
             
                  - !ruby/object:Gem::Version
         | 
| 137 | 
            -
                    version: 0. | 
| 138 | 
            -
              type: :development
         | 
| 139 | 
            -
              prerelease: false
         | 
| 140 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 141 | 
            -
                requirements:
         | 
| 142 | 
            -
                - - "~>"
         | 
| 143 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 144 | 
            -
                    version: 0.17.1
         | 
| 145 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 146 | 
            -
              name: adsf
         | 
| 147 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 148 | 
            -
                requirements:
         | 
| 149 | 
            -
                - - "~>"
         | 
| 150 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 151 | 
            -
                    version: 1.4.2
         | 
| 137 | 
            +
                    version: 0.18.5
         | 
| 152 138 | 
             
              type: :development
         | 
| 153 139 | 
             
              prerelease: false
         | 
| 154 140 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 155 141 | 
             
                requirements:
         | 
| 156 142 | 
             
                - - "~>"
         | 
| 157 143 | 
             
                  - !ruby/object:Gem::Version
         | 
| 158 | 
            -
                    version:  | 
| 159 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 160 | 
            -
              name: adsf-live
         | 
| 161 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 162 | 
            -
                requirements:
         | 
| 163 | 
            -
                - - "~>"
         | 
| 164 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 165 | 
            -
                    version: 1.4.2
         | 
| 166 | 
            -
              type: :development
         | 
| 167 | 
            -
              prerelease: false
         | 
| 168 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 169 | 
            -
                requirements:
         | 
| 170 | 
            -
                - - "~>"
         | 
| 171 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 172 | 
            -
                    version: 1.4.2
         | 
| 144 | 
            +
                    version: 0.18.5
         | 
| 173 145 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 174 146 | 
             
              name: htmlbeautifier
         | 
| 175 147 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -204,14 +176,14 @@ dependencies: | |
| 204 176 | 
             
                requirements:
         | 
| 205 177 | 
             
                - - "~>"
         | 
| 206 178 | 
             
                  - !ruby/object:Gem::Version
         | 
| 207 | 
            -
                    version: 3. | 
| 179 | 
            +
                    version: 3.19.0
         | 
| 208 180 | 
             
              type: :development
         | 
| 209 181 | 
             
              prerelease: false
         | 
| 210 182 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 211 183 | 
             
                requirements:
         | 
| 212 184 | 
             
                - - "~>"
         | 
| 213 185 | 
             
                  - !ruby/object:Gem::Version
         | 
| 214 | 
            -
                    version: 3. | 
| 186 | 
            +
                    version: 3.19.0
         | 
| 215 187 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 216 188 | 
             
              name: rubypants
         | 
| 217 189 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -260,14 +232,14 @@ dependencies: | |
| 260 232 | 
             
                requirements:
         | 
| 261 233 | 
             
                - - "~>"
         | 
| 262 234 | 
             
                  - !ruby/object:Gem::Version
         | 
| 263 | 
            -
                    version: 4.0 | 
| 235 | 
            +
                    version: 4.1.0
         | 
| 264 236 | 
             
              type: :development
         | 
| 265 237 | 
             
              prerelease: false
         | 
| 266 238 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 267 239 | 
             
                requirements:
         | 
| 268 240 | 
             
                - - "~>"
         | 
| 269 241 | 
             
                  - !ruby/object:Gem::Version
         | 
| 270 | 
            -
                    version: 4.0 | 
| 242 | 
            +
                    version: 4.1.0
         | 
| 271 243 | 
             
            description: A Rails form builder that generates form inputs adhering to the GOV.UK
         | 
| 272 244 | 
             
              Design System
         | 
| 273 245 | 
             
            email:
         | 
| @@ -288,6 +260,7 @@ files: | |
| 288 260 | 
             
            - lib/govuk_design_system_formbuilder/containers/radio_buttons_fieldset.rb
         | 
| 289 261 | 
             
            - lib/govuk_design_system_formbuilder/containers/radios.rb
         | 
| 290 262 | 
             
            - lib/govuk_design_system_formbuilder/containers/supplemental.rb
         | 
| 263 | 
            +
            - lib/govuk_design_system_formbuilder/elements/caption.rb
         | 
| 291 264 | 
             
            - lib/govuk_design_system_formbuilder/elements/check_boxes/collection.rb
         | 
| 292 265 | 
             
            - lib/govuk_design_system_formbuilder/elements/check_boxes/collection_check_box.rb
         | 
| 293 266 | 
             
            - lib/govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box.rb
         | 
| @@ -310,6 +283,7 @@ files: | |
| 310 283 | 
             
            - lib/govuk_design_system_formbuilder/elements/select.rb
         | 
| 311 284 | 
             
            - lib/govuk_design_system_formbuilder/elements/submit.rb
         | 
| 312 285 | 
             
            - lib/govuk_design_system_formbuilder/elements/text_area.rb
         | 
| 286 | 
            +
            - lib/govuk_design_system_formbuilder/traits/caption.rb
         | 
| 313 287 | 
             
            - lib/govuk_design_system_formbuilder/traits/collection_item.rb
         | 
| 314 288 | 
             
            - lib/govuk_design_system_formbuilder/traits/conditional.rb
         | 
| 315 289 | 
             
            - lib/govuk_design_system_formbuilder/traits/error.rb
         | 
| @@ -339,11 +313,11 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 339 313 | 
             
                  version: '0'
         | 
| 340 314 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 341 315 | 
             
              requirements:
         | 
| 342 | 
            -
              - - " | 
| 316 | 
            +
              - - ">="
         | 
| 343 317 | 
             
                - !ruby/object:Gem::Version
         | 
| 344 | 
            -
                  version:  | 
| 318 | 
            +
                  version: '0'
         | 
| 345 319 | 
             
            requirements: []
         | 
| 346 | 
            -
            rubygems_version: 3. | 
| 320 | 
            +
            rubygems_version: 3.1.2
         | 
| 347 321 | 
             
            signing_key: 
         | 
| 348 322 | 
             
            specification_version: 4
         | 
| 349 323 | 
             
            summary: GOV.UK-compliant Rails form builder
         |