govuk_design_system_formbuilder 5.8.0 → 5.9.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad7c00fcf3b429ccacc8997294dd3d60597cb22cd4e9f67b830daaf87e501542
4
- data.tar.gz: 2224ac93440305bdda8210cec9c30e23cdebc5a49e08d3baeb8b6febe1771707
3
+ metadata.gz: 220007e1838a0002e83876f9d4b2d45cfe7aed0b3f7c80ef44eb1ff3a7cab100
4
+ data.tar.gz: a5c93a76a65e111e217d8ac2cf8c57054d461bcc5b9776c60f3eb974fefca621
5
5
  SHA512:
6
- metadata.gz: 3cdb113fc898475f36c8feee0f16e7c394b9941b2a3548c786eef9ca78a7ed6b0deecbdf823d3fafb26c47353b37f5ee977357e954ae570c30a582887f95347e
7
- data.tar.gz: 1b2864fb835a646426cfd7f935793c87c7b69f61348af3ea590252b8b749a54076cc646e8edfb70f8257eafe2544266f8e9c59cb2204dfa4238584c4900db727
6
+ metadata.gz: cc8d47220c227fe61856188a716c47babfe4cd94106ab142ccbb23ea3ddbf0a84709609b7d2cd6f3b9604e068bd325fc7133628619bb9f530960ac5822543199
7
+ data.tar.gz: 0a3934c4286b9b2d89e704c43eafab7bbdde74c083f2b12649c1306b0c33d6a7522be275af03d94d4da03370de50101b34cb4866c09182a9366992fea5e5162a
data/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  [![Gem](https://img.shields.io/gem/dt/govuk_design_system_formbuilder?logo=rubygems)](https://rubygems.org/gems/govuk_design_system_formbuilder)
7
7
  [![Test Coverage](https://api.codeclimate.com/v1/badges/110136fb22341d3ba646/test_coverage)](https://codeclimate.com/github/x-govuk/govuk-form-builder/test_coverage)
8
8
  [![GitHub license](https://img.shields.io/github/license/x-govuk/govuk-form-builder)](https://github.com/x-govuk/govuk-form-builder/blob/main/LICENSE)
9
- [![GOV.UK Design System version](https://img.shields.io/badge/GOV.UK%20Design%20System-5.8.0-brightgreen)](https://design-system.service.gov.uk)
9
+ [![GOV.UK Design System version](https://img.shields.io/badge/GOV.UK%20Design%20System-5.9.0-brightgreen)](https://design-system.service.gov.uk)
10
10
  [![Rails](https://img.shields.io/badge/Rails-7.1.5%20%E2%95%B1%207.2.2%20%E2%95%B1%208.0.1-E16D6D)](https://weblog.rubyonrails.org/releases/)
11
11
  [![Ruby](https://img.shields.io/badge/Ruby-3.2.6%20%20%E2%95%B1%203.3.6%20%20%E2%95%B1%203.4.1-E16D6D)](https://www.ruby-lang.org/en/downloads/)
12
12
 
@@ -1046,6 +1046,7 @@ module GOVUKDesignSystemFormBuilder
1046
1046
  # @option kwargs [Hash] kwargs additional arguments are applied as attributes to the +input+ element
1047
1047
  # @param form_group [Hash] configures the form group
1048
1048
  # @option form_group kwargs [Hash] additional attributes added to the form group
1049
+ # @param javascript [Boolean] Configures whether to add HTML for the javascript-enhanced version of the component
1049
1050
  # @param block [Block] arbitrary HTML that will be rendered between the hint and the input
1050
1051
  #
1051
1052
  # @example A photo upload field with file type specifier and injected content
@@ -1064,8 +1065,8 @@ module GOVUKDesignSystemFormBuilder
1064
1065
  # @note Remember to set +multipart: true+ when creating a form with file
1065
1066
  # uploads, {https://guides.rubyonrails.org/form_helpers.html#uploading-files see
1066
1067
  # the Rails documentation} for more information
1067
- def govuk_file_field(attribute_name, label: {}, caption: {}, hint: {}, form_group: {}, **kwargs, &block)
1068
- Elements::File.new(self, object_name, attribute_name, label:, caption:, hint:, form_group:, **kwargs, &block).html
1068
+ def govuk_file_field(attribute_name, label: {}, caption: {}, hint: {}, form_group: {}, javascript: false, **kwargs, &block)
1069
+ Elements::File.new(self, object_name, attribute_name, label:, caption:, hint:, form_group:, javascript:, **kwargs, &block).html
1069
1070
  end
1070
1071
  end
1071
1072
  end
@@ -10,7 +10,7 @@ module GOVUKDesignSystemFormBuilder
10
10
  include Traits::HTMLAttributes
11
11
  include Traits::HTMLClasses
12
12
 
13
- def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, **kwargs, &block)
13
+ def initialize(builder, object_name, attribute_name, hint:, label:, caption:, form_group:, javascript:, **kwargs, &block)
14
14
  super(builder, object_name, attribute_name, &block)
15
15
 
16
16
  @label = label
@@ -18,20 +18,29 @@ module GOVUKDesignSystemFormBuilder
18
18
  @hint = hint
19
19
  @html_attributes = kwargs
20
20
  @form_group = form_group
21
+ @javascript = javascript
21
22
  end
22
23
 
23
24
  def html
24
25
  Containers::FormGroup.new(*bound, **@form_group).html do
25
- safe_join([label_element, supplemental_content, hint_element, error_element, file])
26
+ safe_join([label_element, supplemental_content, hint_element, error_element, file_html])
26
27
  end
27
28
  end
28
29
 
29
30
  private
30
31
 
32
+ def file_html
33
+ @javascript ? file_with_javascript_markup : file
34
+ end
35
+
31
36
  def file
32
37
  @builder.file_field(@attribute_name, attributes(@html_attributes))
33
38
  end
34
39
 
40
+ def file_with_javascript_markup
41
+ tag.div(class: "#{brand}-drop-zone", data: { module: "#{brand}-file-upload" }) { file }
42
+ end
43
+
35
44
  def options
36
45
  {
37
46
  id: field_id(link_errors: true),
@@ -1,3 +1,3 @@
1
1
  module GOVUKDesignSystemFormBuilder
2
- VERSION = '5.8.0'.freeze
2
+ VERSION = '5.9.0'.freeze
3
3
  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: 5.8.0
4
+ version: 5.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Yates
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-12 00:00:00.000000000 Z
11
+ date: 2025-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: html-attributes-utils
@@ -383,7 +383,7 @@ metadata:
383
383
  homepage_uri: https://govuk-form-builder.netlify.app
384
384
  source_code_uri: https://github.com/x-govuk/govuk-form-builder
385
385
  github_repo: https://github.com/x-govuk/govuk-form-builder
386
- post_install_message:
386
+ post_install_message:
387
387
  rdoc_options: []
388
388
  require_paths:
389
389
  - lib
@@ -399,7 +399,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
399
399
  version: '0'
400
400
  requirements: []
401
401
  rubygems_version: 3.3.27
402
- signing_key:
402
+ signing_key:
403
403
  specification_version: 4
404
404
  summary: GOV.UK Form Builder for Ryby on Rails
405
405
  test_files: []