govuk_design_system_formbuilder 2.7.0 → 2.7.1
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 +1 -1
- data/lib/govuk_design_system_formbuilder.rb +7 -0
- data/lib/govuk_design_system_formbuilder/builder.rb +16 -1
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box.rb +9 -2
- data/lib/govuk_design_system_formbuilder/elements/inputs/number.rb +2 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/password.rb +2 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/phone.rb +2 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/text.rb +2 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/url.rb +2 -0
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 710ba81f8f737d55dd18626c24a9353862d9b53886127a064e5dc10ddf6fd750
|
4
|
+
data.tar.gz: e82e7198bf059a97d9b0cb9ce0659133b8082dfac2e71c7c37fc4ff3ff1e38fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd1fee6e4db64215afaa4ceb8083138ee01f11407137cf5885bf8823e0e86cf34ef27e7178118e2a10fe82eef82ce22163d7cef6e1f8f953e5356dde0de1fe96
|
7
|
+
data.tar.gz: c5b20b72db3dd9598fe20e3c42527b715cca82d936bd53a9255b7033fff6620fd631e74f3072d5092852b838be89ebb4dd3b04d567c711a17d6a909e52a0eed3
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
[](https://codeclimate.com/github/DFE-Digital/govuk_design_system_formbuilder/test_coverage)
|
8
8
|
[](https://dependabot.com)
|
9
9
|
[](https://github.com/DFE-Digital/govuk_design_system_formbuilder/blob/master/LICENSE)
|
10
|
-
[](https://design-system.service.gov.uk)
|
11
11
|
[](https://www.ruby-lang.org/en/downloads/)
|
12
12
|
[](https://weblog.rubyonrails.org/releases/)
|
13
13
|
|
@@ -27,6 +27,12 @@ module GOVUKDesignSystemFormBuilder
|
|
27
27
|
# * +:default_submit_button_text+ sets the value assigned to +govuk_submit+,
|
28
28
|
# defaults to 'Continue'.
|
29
29
|
#
|
30
|
+
# * +:default_radio_divider_text+ sets the text automatically added to the
|
31
|
+
# radio button divider, defaults to 'or'
|
32
|
+
#
|
33
|
+
# * +:default_check_box_divider_text+ sets the text automatically added to the
|
34
|
+
# checkbox divider, defaults to 'or'
|
35
|
+
#
|
30
36
|
# * +:default_submit_button_text+ sets the text used to divide the last radio
|
31
37
|
# button in radio button fieldsets. As per the GOV.UK Design System spec,
|
32
38
|
# it defaults to 'or'.
|
@@ -65,6 +71,7 @@ module GOVUKDesignSystemFormBuilder
|
|
65
71
|
default_caption_size: 'm',
|
66
72
|
default_submit_button_text: 'Continue',
|
67
73
|
default_radio_divider_text: 'or',
|
74
|
+
default_check_box_divider_text: 'or',
|
68
75
|
default_error_summary_title: 'There is a problem',
|
69
76
|
default_error_summary_error_order_method: nil,
|
70
77
|
default_collection_check_boxes_include_hidden: true,
|
@@ -813,6 +813,8 @@ module GOVUKDesignSystemFormBuilder
|
|
813
813
|
# @option label hidden [Boolean] control the visability of the label. Hidden labels will stil be read by screenreaders
|
814
814
|
# @option label kwargs [Hash] additional arguments are applied as attributes on the +label+ element
|
815
815
|
# @param multiple [Boolean] controls whether the check box is part of a collection or represents a single attribute
|
816
|
+
# @param exclusive [Boolean] sets the checkbox so that when checked none of its siblings can be too. Usually
|
817
|
+
# used for the 'None of these apply to me' option found beneath a {#govuk_check_box_divider}.
|
816
818
|
# @option kwargs [Hash] kwargs additional arguments are applied as attributes to the +input+ element
|
817
819
|
# @param block [Block] any HTML passed in will form the contents of the fieldset
|
818
820
|
# @return [ActiveSupport::SafeBuffer] HTML output
|
@@ -825,7 +827,7 @@ module GOVUKDesignSystemFormBuilder
|
|
825
827
|
# label: { text: 'Do you agree with our terms and conditions?' },
|
826
828
|
# hint: { text: 'You will not be able to proceed unless you do' }
|
827
829
|
#
|
828
|
-
def govuk_check_box(attribute_name, value, unchecked_value = false, hint: {}, label: {}, link_errors: false, multiple: true, **kwargs, &block)
|
830
|
+
def govuk_check_box(attribute_name, value, unchecked_value = false, hint: {}, label: {}, link_errors: false, multiple: true, exclusive: false, **kwargs, &block)
|
829
831
|
Elements::CheckBoxes::FieldsetCheckBox.new(
|
830
832
|
self,
|
831
833
|
object_name,
|
@@ -836,11 +838,24 @@ module GOVUKDesignSystemFormBuilder
|
|
836
838
|
label: label,
|
837
839
|
link_errors: link_errors,
|
838
840
|
multiple: multiple,
|
841
|
+
exclusive: exclusive,
|
839
842
|
**kwargs,
|
840
843
|
&block
|
841
844
|
).html
|
842
845
|
end
|
843
846
|
|
847
|
+
# Inserts a text divider into a list of check boxes
|
848
|
+
#
|
849
|
+
# @param text [String] The divider text
|
850
|
+
# @note This should only be used from within a {#govuk_check_boxes_fieldset}
|
851
|
+
# @see https://design-system.service.gov.uk/components/checkboxes/#add-an-option-for-none- GOV.UK check boxes with a text divider
|
852
|
+
# @return [ActiveSupport::SafeBuffer] HTML output
|
853
|
+
# @example A custom divider
|
854
|
+
# = govuk_check_box_divider 'On the other hand'
|
855
|
+
def govuk_check_box_divider(text = config.default_check_box_divider_text)
|
856
|
+
tag.div(text, class: %w(govuk-checkboxes__divider))
|
857
|
+
end
|
858
|
+
|
844
859
|
# Generates a submit button, green by default
|
845
860
|
#
|
846
861
|
# @param text [String,Proc] the button text. When a +Proc+ is provided its contents will be rendered within the button element
|
@@ -7,7 +7,7 @@ module GOVUKDesignSystemFormBuilder
|
|
7
7
|
include Traits::HTMLAttributes
|
8
8
|
include Traits::FieldsetItem
|
9
9
|
|
10
|
-
def initialize(builder, object_name, attribute_name, value, unchecked_value, label:, hint:, link_errors:, multiple:, **kwargs, &block)
|
10
|
+
def initialize(builder, object_name, attribute_name, value, unchecked_value, label:, hint:, link_errors:, multiple:, exclusive:, **kwargs, &block)
|
11
11
|
super(builder, object_name, attribute_name)
|
12
12
|
|
13
13
|
@value = value
|
@@ -17,6 +17,7 @@ module GOVUKDesignSystemFormBuilder
|
|
17
17
|
@multiple = multiple
|
18
18
|
@link_errors = link_errors
|
19
19
|
@html_attributes = kwargs
|
20
|
+
@exclusive = exclusive
|
20
21
|
|
21
22
|
conditional_content(&block)
|
22
23
|
end
|
@@ -28,12 +29,18 @@ module GOVUKDesignSystemFormBuilder
|
|
28
29
|
end
|
29
30
|
|
30
31
|
def input
|
31
|
-
@builder.check_box(@attribute_name, attributes(@html_attributes), @value, @unchecked_value)
|
32
|
+
@builder.check_box(@attribute_name, attributes(@html_attributes.deep_merge(exclusive_options)), @value, @unchecked_value)
|
32
33
|
end
|
33
34
|
|
34
35
|
def fieldset_options
|
35
36
|
{ checkbox: true }
|
36
37
|
end
|
38
|
+
|
39
|
+
def exclusive_options
|
40
|
+
return {} unless @exclusive
|
41
|
+
|
42
|
+
{ data: { behaviour: 'exclusive' } }
|
43
|
+
end
|
37
44
|
end
|
38
45
|
end
|
39
46
|
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: 2.7.
|
4
|
+
version: 2.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Yates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: deep_merge
|