govuk_design_system_formbuilder 0.7.2 → 0.7.3
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 +9 -0
- data/lib/govuk_design_system_formbuilder/base.rb +23 -7
- data/lib/govuk_design_system_formbuilder/builder.rb +43 -13
- data/lib/govuk_design_system_formbuilder/containers/character_count.rb +7 -2
- data/lib/govuk_design_system_formbuilder/containers/fieldset.rb +1 -1
- data/lib/govuk_design_system_formbuilder/elements/date.rb +7 -2
- data/lib/govuk_design_system_formbuilder/elements/error_summary.rb +68 -0
- data/lib/govuk_design_system_formbuilder/elements/input.rb +3 -3
- data/lib/govuk_design_system_formbuilder/elements/text_area.rb +3 -2
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- data/lib/govuk_design_system_formbuilder.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c247c34794b087d27148758c3f540b38e241afbf42d7a4692b0043bd950518d
|
4
|
+
data.tar.gz: 8644e39ebe2339b34b41feea5c73f3de67888d4b89dc847a3ba332233cf163b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 770f26c8ccddb0704b9e7f366cb122bc670ceec87e7e556d8a38dc9a55b1340c92aa6558dddb6224133efed153f72da1c659c0570994c6975e45d730042cd916
|
7
|
+
data.tar.gz: 498191263c697030b558bf5cfdec236c68ff4f77d66ee0285423489b123e3720e4f83c1eab87f8f124a9c9adf2489cbf524d6d132bc0e1e3701b9b90f80d3a39
|
data/README.md
CHANGED
@@ -47,6 +47,15 @@ Now we can get started! 🎉
|
|
47
47
|
|
48
48
|
= f.govuk_number_field :age, label: { text: 'Age' }
|
49
49
|
|
50
|
+
= f.govuk_collection_select :department_id,
|
51
|
+
@departments,
|
52
|
+
:id,
|
53
|
+
:name,
|
54
|
+
:description,
|
55
|
+
label: { text: 'Which department do you work for?' },
|
56
|
+
hint_text: "If you don't know ask your manager" }
|
57
|
+
|
58
|
+
|
50
59
|
= f.submit 'Away we go!'
|
51
60
|
```
|
52
61
|
|
@@ -13,17 +13,21 @@ module GOVUKDesignSystemFormBuilder
|
|
13
13
|
def hint_id
|
14
14
|
return nil unless @hint_text.present?
|
15
15
|
|
16
|
-
|
16
|
+
build_id('hint')
|
17
17
|
end
|
18
18
|
|
19
19
|
def error_id
|
20
20
|
return nil unless has_errors?
|
21
21
|
|
22
|
-
|
22
|
+
build_id('error')
|
23
23
|
end
|
24
24
|
|
25
25
|
def conditional_id
|
26
|
-
|
26
|
+
build_id('conditional')
|
27
|
+
end
|
28
|
+
|
29
|
+
def attribute_descriptor
|
30
|
+
build_id(nil, '_', '-')
|
27
31
|
end
|
28
32
|
|
29
33
|
def has_errors?
|
@@ -31,10 +35,6 @@ module GOVUKDesignSystemFormBuilder
|
|
31
35
|
@builder.object.errors.messages.keys.include?(@attribute_name)
|
32
36
|
end
|
33
37
|
|
34
|
-
def attribute_descriptor
|
35
|
-
[@object_name, @attribute_name, @value].compact.join('_').parameterize
|
36
|
-
end
|
37
|
-
|
38
38
|
def attribute_identifier
|
39
39
|
"%<object_name>s[%<attribute_name>s]" % {
|
40
40
|
object_name: @object_name,
|
@@ -46,7 +46,23 @@ module GOVUKDesignSystemFormBuilder
|
|
46
46
|
conditional = @builder.content_tag('div', class: conditional_classes, id: conditional_id) do
|
47
47
|
@builder.capture { block.call }
|
48
48
|
end
|
49
|
+
|
49
50
|
return conditional, conditional_id
|
50
51
|
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def build_id(id_type, delimiter = '-', replace = '_', override_attribute_name: nil)
|
56
|
+
[
|
57
|
+
@object_name,
|
58
|
+
(override_attribute_name || @attribute_name),
|
59
|
+
@value,
|
60
|
+
id_type
|
61
|
+
]
|
62
|
+
.compact
|
63
|
+
.join(delimiter)
|
64
|
+
.parameterize
|
65
|
+
.tr(replace, delimiter)
|
66
|
+
end
|
51
67
|
end
|
52
68
|
end
|
@@ -4,6 +4,8 @@ module GOVUKDesignSystemFormBuilder
|
|
4
4
|
#
|
5
5
|
# @param attribute_name [Symbol] The name of the attribute
|
6
6
|
# @param hint_text [String] The content of the hint. No hint will be injected if left +nil+
|
7
|
+
# @param width [Integer,String] sets the width of the input, can be +2+, +3+ +4+, +5+, +10+ or +20+ characters
|
8
|
+
# or +one-quarter+, +one-third+, +one-half+, +two-thirds+ or +full+ width of the container
|
7
9
|
# @param [Hash] label configures the associated label
|
8
10
|
# @option label text [String] the label text
|
9
11
|
# @option label size [String] the size of the label font, can be +large+, +medium+, +regular+ or +small+
|
@@ -18,14 +20,16 @@ module GOVUKDesignSystemFormBuilder
|
|
18
20
|
# hint_text: 'It says it on your birth certificate',
|
19
21
|
# required: true,
|
20
22
|
# placeholder: 'Ralph Wiggum'
|
21
|
-
def govuk_text_field(attribute_name, hint_text: nil, label: {}, **args)
|
22
|
-
Elements::Input.new(self, object_name, attribute_name, attribute_type: :text, hint_text: hint_text, label: label, **args).html
|
23
|
+
def govuk_text_field(attribute_name, hint_text: nil, label: {}, width: 'full', **args)
|
24
|
+
Elements::Input.new(self, object_name, attribute_name, attribute_type: :text, hint_text: hint_text, label: label, width: width, **args).html
|
23
25
|
end
|
24
26
|
|
25
27
|
# Generates a input of type +tel+
|
26
28
|
#
|
27
29
|
# @param attribute_name [Symbol] The name of the attribute
|
28
30
|
# @param hint_text [String] The content of the hint. No hint will be injected if left +nil+
|
31
|
+
# @param width [Integer,String] sets the width of the input, can be +2+, +3+ +4+, +5+, +10+ or +20+ characters
|
32
|
+
# or +one-quarter+, +one-third+, +one-half+, +two-thirds+ or +full+ width of the container
|
29
33
|
# @param [Hash] label configures the associated label
|
30
34
|
# @option label text [String] the label text
|
31
35
|
# @option label size [String] the size of the label font, can be +large+, +medium+, +regular+ or +small+
|
@@ -41,14 +45,16 @@ module GOVUKDesignSystemFormBuilder
|
|
41
45
|
# hint_text: 'Include the dialling code',
|
42
46
|
# required: true,
|
43
47
|
# placeholder: '0123 456 789'
|
44
|
-
def govuk_phone_field(attribute_name, hint_text: nil, label: {}, **args)
|
45
|
-
Elements::Input.new(self, object_name, attribute_name, attribute_type: :phone, hint_text: hint_text, label: label, **args).html
|
48
|
+
def govuk_phone_field(attribute_name, hint_text: nil, label: {}, width: 'full', **args)
|
49
|
+
Elements::Input.new(self, object_name, attribute_name, attribute_type: :phone, hint_text: hint_text, label: label, width: width, **args).html
|
46
50
|
end
|
47
51
|
|
48
52
|
# Generates a input of type +email+
|
49
53
|
#
|
50
54
|
# @param attribute_name [Symbol] The name of the attribute
|
51
55
|
# @param hint_text [String] The content of the hint. No hint will be injected if left +nil+
|
56
|
+
# @param width [Integer,String] sets the width of the input, can be +2+, +3+ +4+, +5+, +10+ or +20+ characters
|
57
|
+
# or +one-quarter+, +one-third+, +one-half+, +two-thirds+ or +full+ width of the container
|
52
58
|
# @param [Hash] label configures the associated label
|
53
59
|
# @option label text [String] the label text
|
54
60
|
# @option label size [String] the size of the label font, can be +large+, +medium+, +regular+ or +small+
|
@@ -62,14 +68,16 @@ module GOVUKDesignSystemFormBuilder
|
|
62
68
|
# = f.govuk_email_field :email_address,
|
63
69
|
# label: { text: 'Enter your email address' },
|
64
70
|
# placeholder: 'ralph.wiggum@springfield.edu'
|
65
|
-
def govuk_email_field(attribute_name, hint_text: nil, label: {}, **args)
|
66
|
-
Elements::Input.new(self, object_name, attribute_name, attribute_type: :email, hint_text: hint_text, label: label, **args).html
|
71
|
+
def govuk_email_field(attribute_name, hint_text: nil, label: {}, width: 'full', **args)
|
72
|
+
Elements::Input.new(self, object_name, attribute_name, attribute_type: :email, hint_text: hint_text, label: label, width: width, **args).html
|
67
73
|
end
|
68
74
|
|
69
75
|
# Generates a input of type +url+
|
70
76
|
#
|
71
77
|
# @param attribute_name [Symbol] The name of the attribute
|
72
78
|
# @param hint_text [String] The content of the hint. No hint will be injected if left +nil+
|
79
|
+
# @param width [Integer,String] sets the width of the input, can be +2+, +3+ +4+, +5+, +10+ or +20+ characters
|
80
|
+
# or +one-quarter+, +one-third+, +one-half+, +two-thirds+ or +full+ width of the container
|
73
81
|
# @param [Hash] label configures the associated label
|
74
82
|
# @option label text [String] the label text
|
75
83
|
# @option label size [String] the size of the label font, can be +large+, +medium+, +regular+ or +small+
|
@@ -83,14 +91,16 @@ module GOVUKDesignSystemFormBuilder
|
|
83
91
|
# label: { text: 'Enter your favourite website' },
|
84
92
|
# placeholder: 'https://www.gov.uk',
|
85
93
|
# autocomplete: 'url'
|
86
|
-
def govuk_url_field(attribute_name, hint_text: nil, label: {}, **args)
|
87
|
-
Elements::Input.new(self, object_name, attribute_name, attribute_type: :url, hint_text: hint_text, label: label, **args).html
|
94
|
+
def govuk_url_field(attribute_name, hint_text: nil, label: {}, width: 'full', **args)
|
95
|
+
Elements::Input.new(self, object_name, attribute_name, attribute_type: :url, hint_text: hint_text, label: label, width: width, **args).html
|
88
96
|
end
|
89
97
|
|
90
98
|
# Generates a input of type +number+
|
91
99
|
#
|
92
100
|
# @param attribute_name [Symbol] The name of the attribute
|
93
101
|
# @param hint_text [String] The content of the hint. No hint will be injected if left +nil+
|
102
|
+
# @param width [Integer,String] sets the width of the input, can be +2+, +3+ +4+, +5+, +10+ or +20+ characters
|
103
|
+
# or +one-quarter+, +one-third+, +one-half+, +two-thirds+ or +full+ width of the container
|
94
104
|
# @param [Hash] label configures the associated label
|
95
105
|
# @option label text [String] the label text
|
96
106
|
# @option label size [String] the size of the label font, can be +large+, +medium+, +regular+ or +small+
|
@@ -106,11 +116,10 @@ module GOVUKDesignSystemFormBuilder
|
|
106
116
|
# min: 80,
|
107
117
|
# max: 150,
|
108
118
|
# step: 5
|
109
|
-
def govuk_number_field(attribute_name, hint_text: nil, label: {}, **args)
|
110
|
-
Elements::Input.new(self, object_name, attribute_name, attribute_type: :number, hint_text: hint_text, label: label, **args).html
|
119
|
+
def govuk_number_field(attribute_name, hint_text: nil, label: {}, width: 'full', **args)
|
120
|
+
Elements::Input.new(self, object_name, attribute_name, attribute_type: :number, hint_text: hint_text, label: label, width: width, **args).html
|
111
121
|
end
|
112
122
|
|
113
|
-
|
114
123
|
# Generates a +textarea+ element with a label, optional hint. Also offers
|
115
124
|
# the ability to add the GOV.UK character and word counting components
|
116
125
|
# automatically
|
@@ -123,6 +132,8 @@ module GOVUKDesignSystemFormBuilder
|
|
123
132
|
# @option label weight [String] the weight of the label font, can be +bold+ or +regular+
|
124
133
|
# @param max_words [Integer] adds the GOV.UK max word count
|
125
134
|
# @param max_chars [Integer] adds the GOV.UK max characters count
|
135
|
+
# @param threshold [Integer] only show the {max_words} and {max_chars} warnings once a threshold (percentage) is reached
|
136
|
+
# @param rows [Integer] sets the initial number of rows
|
126
137
|
# @option args [Hash] args additional arguments are applied as attributes to the +textarea+ element
|
127
138
|
# @return [ActiveSupport::SafeBuffer] HTML output
|
128
139
|
# @see https://design-system.service.gov.uk/components/character-count GOV.UK character count component
|
@@ -134,8 +145,8 @@ module GOVUKDesignSystemFormBuilder
|
|
134
145
|
# label: { text: 'Tell us about your work history' },
|
135
146
|
# rows: 8,
|
136
147
|
# max_words: 300
|
137
|
-
def govuk_text_area(attribute_name, hint_text: nil, label: {}, max_words: nil, max_chars: nil, rows: 5, **args)
|
138
|
-
Elements::TextArea.new(self, object_name, attribute_name, hint_text: hint_text, label: label, max_words: max_words, max_chars: max_chars, rows: rows, **args).html
|
148
|
+
def govuk_text_area(attribute_name, hint_text: nil, label: {}, max_words: nil, max_chars: nil, rows: 5, threshold: nil, **args)
|
149
|
+
Elements::TextArea.new(self, object_name, attribute_name, hint_text: hint_text, label: label, max_words: max_words, max_chars: max_chars, rows: rows, threshold: threshold, **args).html
|
139
150
|
end
|
140
151
|
|
141
152
|
# Generates a +select+ element containing +option+ for each member in the provided collection
|
@@ -411,5 +422,24 @@ module GOVUKDesignSystemFormBuilder
|
|
411
422
|
def govuk_date_field(attribute_name, hint_text: nil, legend: {}, date_of_birth: false, &block)
|
412
423
|
Elements::Date.new(self, object_name, attribute_name, hint_text: hint_text, legend: legend, date_of_birth: date_of_birth, &block).html
|
413
424
|
end
|
425
|
+
|
426
|
+
# Generates a summary of errors in the form, each linking to the corresponding
|
427
|
+
# part of the form that contains the error
|
428
|
+
#
|
429
|
+
# @param title [String] the error summary heading
|
430
|
+
#
|
431
|
+
# @todo Currently the summary anchors link to the inline error messages themselves rather to
|
432
|
+
# the accompanying input. More work is required to improve this and it needs to be
|
433
|
+
# handled in a less-generic manner. For example, we can't link to a specific radio button
|
434
|
+
# if one hasn't been chosen but we should link to a {#govuk_text_field} if one has been left
|
435
|
+
# blank
|
436
|
+
#
|
437
|
+
# @example An error summary with a custom title
|
438
|
+
# = f.govuk_error_summary 'Uh-oh, spaghettios'
|
439
|
+
#
|
440
|
+
# @see https://design-system.service.gov.uk/components/error-summary/ GOV.UK error summary
|
441
|
+
def govuk_error_summary(title = 'There is a problem')
|
442
|
+
Elements::ErrorSummary.new(self, object_name, title).html
|
443
|
+
end
|
414
444
|
end
|
415
445
|
end
|
@@ -1,11 +1,12 @@
|
|
1
1
|
module GOVUKDesignSystemFormBuilder
|
2
2
|
module Containers
|
3
3
|
class CharacterCount < Base
|
4
|
-
def initialize(builder, max_words:, max_chars:)
|
4
|
+
def initialize(builder, max_words:, max_chars:, threshold:)
|
5
5
|
@builder = builder
|
6
6
|
fail ArgumentError, 'limit can be words or chars' if max_words && max_chars
|
7
7
|
@max_words = max_words
|
8
8
|
@max_chars = max_chars
|
9
|
+
@threshold = threshold
|
9
10
|
end
|
10
11
|
|
11
12
|
def html
|
@@ -14,7 +15,7 @@ module GOVUKDesignSystemFormBuilder
|
|
14
15
|
@builder.content_tag(
|
15
16
|
'div',
|
16
17
|
class: 'govuk-character-count',
|
17
|
-
data: { module: 'character-count' }.merge(limit)
|
18
|
+
data: { module: 'character-count' }.merge(**limit, **threshold).compact
|
18
19
|
) do
|
19
20
|
yield
|
20
21
|
end
|
@@ -30,6 +31,10 @@ module GOVUKDesignSystemFormBuilder
|
|
30
31
|
end
|
31
32
|
end
|
32
33
|
|
34
|
+
def threshold
|
35
|
+
{ threshold: @threshold }
|
36
|
+
end
|
37
|
+
|
33
38
|
def limit?
|
34
39
|
@max_words || @max_chars
|
35
40
|
end
|
@@ -13,12 +13,14 @@ module GOVUKDesignSystemFormBuilder
|
|
13
13
|
|
14
14
|
def html
|
15
15
|
hint_element = Elements::Hint.new(@builder, @object_name, @attribute_name, @hint_text)
|
16
|
+
error_element = Elements::ErrorMessage.new(@builder, @object_name, @attribute_name)
|
16
17
|
|
17
18
|
Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
|
18
|
-
Containers::Fieldset.new(@builder, @object_name, @attribute_name, legend: @legend, described_by: hint_element.hint_id).html do
|
19
|
+
Containers::Fieldset.new(@builder, @object_name, @attribute_name, legend: @legend, described_by: [error_element.error_id, hint_element.hint_id]).html do
|
19
20
|
@builder.safe_join(
|
20
21
|
[
|
21
22
|
hint_element.html,
|
23
|
+
error_element.html,
|
22
24
|
@block_content,
|
23
25
|
@builder.content_tag('div', class: 'govuk-date-input') do
|
24
26
|
@builder.safe_join(
|
@@ -69,7 +71,10 @@ module GOVUKDesignSystemFormBuilder
|
|
69
71
|
end
|
70
72
|
|
71
73
|
def date_input_classes(width)
|
72
|
-
%w(govuk-input govuk-date-input__input).
|
74
|
+
%w(govuk-input govuk-date-input__input).tap do |classes|
|
75
|
+
classes.push("govuk-input--width-#{width}")
|
76
|
+
classes.push("govuk-input--error") if has_errors?
|
77
|
+
end
|
73
78
|
end
|
74
79
|
|
75
80
|
def date_input_label_classes
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module GOVUKDesignSystemFormBuilder
|
2
|
+
module Elements
|
3
|
+
class ErrorSummary < GOVUKDesignSystemFormBuilder::Base
|
4
|
+
def initialize(builder, object_name, title)
|
5
|
+
@builder = builder
|
6
|
+
@object_name = object_name
|
7
|
+
@title = title
|
8
|
+
end
|
9
|
+
|
10
|
+
def html
|
11
|
+
return nil unless object_has_errors?
|
12
|
+
|
13
|
+
@builder.content_tag('div', class: 'govuk-error-summary', **error_summary_attributes) do
|
14
|
+
@builder.safe_join(
|
15
|
+
[
|
16
|
+
@builder.tag.h2(@title, id: error_summary_title_id, class: 'govuk-error-summary__title'),
|
17
|
+
@builder.content_tag('div', class: 'govuk-error-summary__body') do
|
18
|
+
@builder.content_tag('ul', class: 'govuk-list govuk-error-summary__list') do
|
19
|
+
@builder.safe_join(
|
20
|
+
@builder.object.errors.messages.map do |attribute, messages|
|
21
|
+
error_list_item(attribute, messages)
|
22
|
+
end
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
]
|
27
|
+
)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def error_list_item(attribute, messages)
|
34
|
+
@builder.content_tag('li') do
|
35
|
+
@builder.tag.a(
|
36
|
+
messages.join(', '),
|
37
|
+
href: ['#', error_id(attribute)].join
|
38
|
+
)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def error_id(attribute)
|
43
|
+
build_id('error', override_attribute_name: attribute)
|
44
|
+
end
|
45
|
+
|
46
|
+
def error_summary_title_id
|
47
|
+
'error-summary-title'
|
48
|
+
end
|
49
|
+
|
50
|
+
def object_has_errors?
|
51
|
+
@builder.object.invalid?
|
52
|
+
end
|
53
|
+
|
54
|
+
def error_summary_attributes
|
55
|
+
{
|
56
|
+
tabindex: -1,
|
57
|
+
role: 'alert',
|
58
|
+
data: {
|
59
|
+
module: 'error-summary'
|
60
|
+
},
|
61
|
+
aria: {
|
62
|
+
labelledby: error_summary_title_id
|
63
|
+
}
|
64
|
+
}
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module GOVUKDesignSystemFormBuilder
|
2
2
|
module Elements
|
3
3
|
class Input < GOVUKDesignSystemFormBuilder::Base
|
4
|
-
def initialize(builder, object_name, attribute_name, attribute_type:, hint_text:, label:, **extra_args)
|
4
|
+
def initialize(builder, object_name, attribute_name, attribute_type:, hint_text:, label:, width:, **extra_args)
|
5
5
|
super(builder, object_name, attribute_name)
|
6
6
|
|
7
|
-
@
|
8
|
-
@
|
7
|
+
@width = width
|
8
|
+
@extra_args = extra_args
|
9
9
|
@builder_method = [attribute_type, 'field'].join('_')
|
10
10
|
@label = label
|
11
11
|
@hint_text = hint_text
|
@@ -1,13 +1,14 @@
|
|
1
1
|
module GOVUKDesignSystemFormBuilder
|
2
2
|
module Elements
|
3
3
|
class TextArea < Base
|
4
|
-
def initialize(builder, object_name, attribute_name, hint_text:, label:, rows:, max_words:, max_chars:, **extra_args)
|
4
|
+
def initialize(builder, object_name, attribute_name, hint_text:, label:, rows:, max_words:, max_chars:, threshold:, **extra_args)
|
5
5
|
super(builder, object_name, attribute_name)
|
6
6
|
@label = label
|
7
7
|
@hint_text = hint_text
|
8
8
|
@extra_args = extra_args
|
9
9
|
@max_words = max_words
|
10
10
|
@max_chars = max_chars
|
11
|
+
@threshold = threshold
|
11
12
|
@rows = rows
|
12
13
|
end
|
13
14
|
|
@@ -16,7 +17,7 @@ module GOVUKDesignSystemFormBuilder
|
|
16
17
|
label_element = Elements::Label.new(@builder, @object_name, @attribute_name, @label)
|
17
18
|
error_element = Elements::ErrorMessage.new(@builder, @object_name, @attribute_name)
|
18
19
|
|
19
|
-
Containers::CharacterCount.new(@builder, max_words: @max_words, max_chars: @max_chars).html do
|
20
|
+
Containers::CharacterCount.new(@builder, max_words: @max_words, max_chars: @max_chars, threshold: @threshold).html do
|
20
21
|
Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
|
21
22
|
@builder.safe_join(
|
22
23
|
[
|
@@ -12,6 +12,7 @@ require 'govuk_design_system_formbuilder/elements/check_boxes/collection_check_b
|
|
12
12
|
require 'govuk_design_system_formbuilder/elements/check_boxes/label'
|
13
13
|
require 'govuk_design_system_formbuilder/elements/check_boxes/hint'
|
14
14
|
require 'govuk_design_system_formbuilder/elements/error_message'
|
15
|
+
require 'govuk_design_system_formbuilder/elements/error_summary'
|
15
16
|
require 'govuk_design_system_formbuilder/elements/submit'
|
16
17
|
require 'govuk_design_system_formbuilder/elements/text_area'
|
17
18
|
|
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: 0.7.
|
4
|
+
version: 0.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Yates
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -143,6 +143,7 @@ files:
|
|
143
143
|
- lib/govuk_design_system_formbuilder/elements/check_boxes/label.rb
|
144
144
|
- lib/govuk_design_system_formbuilder/elements/date.rb
|
145
145
|
- lib/govuk_design_system_formbuilder/elements/error_message.rb
|
146
|
+
- lib/govuk_design_system_formbuilder/elements/error_summary.rb
|
146
147
|
- lib/govuk_design_system_formbuilder/elements/hint.rb
|
147
148
|
- lib/govuk_design_system_formbuilder/elements/input.rb
|
148
149
|
- lib/govuk_design_system_formbuilder/elements/label.rb
|