govuk_design_system_formbuilder 1.1.3 → 1.1.4
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/lib/govuk_design_system_formbuilder/builder.rb +14 -6
- data/lib/govuk_design_system_formbuilder/containers/check_boxes.rb +3 -1
- data/lib/govuk_design_system_formbuilder/containers/check_boxes_fieldset.rb +3 -2
- data/lib/govuk_design_system_formbuilder/containers/radio_buttons_fieldset.rb +3 -2
- data/lib/govuk_design_system_formbuilder/containers/radios.rb +3 -1
- data/lib/govuk_design_system_formbuilder/elements/check_boxes/collection.rb +3 -2
- data/lib/govuk_design_system_formbuilder/elements/radios/collection.rb +3 -2
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16ae05f4dde6930029fd81d58059802deb3c8e70692c8dd121c23c18994f4a4e
|
4
|
+
data.tar.gz: 79593ec5cb79765f9b42842c91093324da8f268db7d5d77393b716688217b5b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 985674a13a6bd7cfe67213ea2447b3476dd6a4859b5cbac4566d3492e45d719aec8aa00ace8936cf701652396c81e1efac73b80948bceab98f02095a7edaa29c
|
7
|
+
data.tar.gz: fb2dbc8270bc4849683e5888bb29e83ce5f3bf609c91da13af778e5ae3142f8e8a86a70162d3ec458f76990ee71ddaa47daf338013938472dfb00660f6a1ff6f
|
@@ -238,6 +238,7 @@ module GOVUKDesignSystemFormBuilder
|
|
238
238
|
# @param inline [Boolean] controls whether the radio buttons are displayed inline or not
|
239
239
|
# @param small [Boolean] controls whether small radio buttons are used instead of regular-sized ones
|
240
240
|
# @param bold_labels [Boolean] controls whether the radio button labels are bold
|
241
|
+
# @param classes [String] Classes to add to the radio button container.
|
241
242
|
# @option legend text [String] the fieldset legend's text content
|
242
243
|
# @option legend size [String] the size of the fieldset legend font, can be +xl+, +l+, +m+ or +s+
|
243
244
|
# @option legend tag [Symbol,String] the tag used for the fieldset's header, defaults to +h1+, defaults to +h1+
|
@@ -258,7 +259,7 @@ module GOVUKDesignSystemFormBuilder
|
|
258
259
|
# legend: { text: 'Pick your favourite colour', size: 'm' },
|
259
260
|
# hint_text: 'If you cannot find the exact match choose something close',
|
260
261
|
# inline: false
|
261
|
-
def govuk_collection_radio_buttons(attribute_name, collection, value_method, text_method, hint_method = nil, hint_text: nil, legend: {}, inline: false, small: false, bold_labels: false, &block)
|
262
|
+
def govuk_collection_radio_buttons(attribute_name, collection, value_method, text_method, hint_method = nil, hint_text: nil, legend: {}, inline: false, small: false, bold_labels: false, classes: nil, &block)
|
262
263
|
Elements::Radios::Collection.new(
|
263
264
|
self,
|
264
265
|
object_name,
|
@@ -272,6 +273,7 @@ module GOVUKDesignSystemFormBuilder
|
|
272
273
|
inline: inline,
|
273
274
|
small: small,
|
274
275
|
bold_labels: bold_labels,
|
276
|
+
classes: classes,
|
275
277
|
&block
|
276
278
|
).html
|
277
279
|
end
|
@@ -289,6 +291,7 @@ module GOVUKDesignSystemFormBuilder
|
|
289
291
|
# @option legend size [String] the size of the fieldset legend font, can be +xl+, +l+, +m+ or +s+
|
290
292
|
# @option legend tag [Symbol,String] the tag used for the fieldset's header, defaults to +h1+
|
291
293
|
# @param block [Block] a block of HTML that will be used to populate the fieldset
|
294
|
+
# @param classes [String] Classes to add to the radio button container.
|
292
295
|
# @see https://design-system.service.gov.uk/components/radios/ GOV.UK Radios
|
293
296
|
# @return [ActiveSupport::SafeBuffer] HTML output
|
294
297
|
#
|
@@ -300,8 +303,8 @@ module GOVUKDesignSystemFormBuilder
|
|
300
303
|
# = f.govuk_radio_divider
|
301
304
|
# = f.govuk_radio_button :favourite_colour, :yellow, label: { text: 'Yellow' }
|
302
305
|
#
|
303
|
-
def govuk_radio_buttons_fieldset(attribute_name, hint_text: nil, legend: {}, inline: false, small: false, &block)
|
304
|
-
Containers::RadioButtonsFieldset.new(self, object_name, attribute_name, hint_text: hint_text, legend: legend, inline: inline, small: small, &block).html
|
306
|
+
def govuk_radio_buttons_fieldset(attribute_name, hint_text: nil, legend: {}, inline: false, small: false, classes: nil, &block)
|
307
|
+
Containers::RadioButtonsFieldset.new(self, object_name, attribute_name, hint_text: hint_text, legend: legend, inline: inline, small: small, classes: classes, &block).html
|
305
308
|
end
|
306
309
|
|
307
310
|
# Generates a radio button
|
@@ -350,6 +353,7 @@ module GOVUKDesignSystemFormBuilder
|
|
350
353
|
# When a +Proc+ is provided it must take a single argument that is a single member of the collection
|
351
354
|
# @param hint_text [String] The content of the fieldset hint. No hint will be injected if left +nil+
|
352
355
|
# @param small [Boolean] controls whether small check boxes are used instead of regular-sized ones
|
356
|
+
# @param classes [String] Classes to add to the checkbox container.
|
353
357
|
# @param legend [Hash] options for configuring the legend
|
354
358
|
# @option legend text [String] the fieldset legend's text content
|
355
359
|
# @option legend size [String] the size of the fieldset legend font, can be +xl+, +l+, +m+ or +s+
|
@@ -371,8 +375,9 @@ module GOVUKDesignSystemFormBuilder
|
|
371
375
|
# :description,
|
372
376
|
# legend: { text: 'What do you want in your sandwich?', size: 'm' },
|
373
377
|
# hint_text: "If it isn't listed here, tough luck",
|
374
|
-
# inline: false
|
375
|
-
|
378
|
+
# inline: false,
|
379
|
+
# classes: 'app-overflow-scroll',
|
380
|
+
def govuk_collection_check_boxes(attribute_name, collection, value_method, text_method, hint_method = nil, hint_text: nil, legend: {}, small: false, classes: nil, &block)
|
376
381
|
Elements::CheckBoxes::Collection.new(
|
377
382
|
self,
|
378
383
|
object_name,
|
@@ -384,6 +389,7 @@ module GOVUKDesignSystemFormBuilder
|
|
384
389
|
hint_text: hint_text,
|
385
390
|
legend: legend,
|
386
391
|
small: small,
|
392
|
+
classes: classes,
|
387
393
|
&block
|
388
394
|
).html
|
389
395
|
end
|
@@ -397,6 +403,7 @@ module GOVUKDesignSystemFormBuilder
|
|
397
403
|
# @option legend text [String] the fieldset legend's text content
|
398
404
|
# @option legend size [String] the size of the fieldset legend font, can be +xl+, +l+, +m+ or +s+
|
399
405
|
# @option legend tag [Symbol,String] the tag used for the fieldset's header, defaults to +h1+
|
406
|
+
# @param classes [String] Classes to add to the checkbox container.
|
400
407
|
# @param block [Block] a block of HTML that will be used to populate the fieldset
|
401
408
|
# @return [ActiveSupport::SafeBuffer] HTML output
|
402
409
|
#
|
@@ -406,7 +413,7 @@ module GOVUKDesignSystemFormBuilder
|
|
406
413
|
# = f.govuk_check_box :desired_filling, :cheese, label: { text: 'Cheese' }, link_errors: true
|
407
414
|
# = f.govuk_check_box :desired_filling, :tomato, label: { text: 'Tomato' }
|
408
415
|
#
|
409
|
-
def govuk_check_boxes_fieldset(attribute_name, legend: {}, hint_text: {}, small: false, &block)
|
416
|
+
def govuk_check_boxes_fieldset(attribute_name, legend: {}, hint_text: {}, small: false, classes: nil, &block)
|
410
417
|
Containers::CheckBoxesFieldset.new(
|
411
418
|
self,
|
412
419
|
object_name,
|
@@ -414,6 +421,7 @@ module GOVUKDesignSystemFormBuilder
|
|
414
421
|
hint_text: hint_text,
|
415
422
|
legend: legend,
|
416
423
|
small: small,
|
424
|
+
classes: classes,
|
417
425
|
&block
|
418
426
|
).html
|
419
427
|
end
|
@@ -1,9 +1,10 @@
|
|
1
1
|
module GOVUKDesignSystemFormBuilder
|
2
2
|
module Containers
|
3
3
|
class CheckBoxes < Base
|
4
|
-
def initialize(builder, small:)
|
4
|
+
def initialize(builder, small:, classes: nil)
|
5
5
|
@builder = builder
|
6
6
|
@small = small
|
7
|
+
@classes = classes
|
7
8
|
end
|
8
9
|
|
9
10
|
def html
|
@@ -17,6 +18,7 @@ module GOVUKDesignSystemFormBuilder
|
|
17
18
|
def check_boxes_classes
|
18
19
|
%w(govuk-checkboxes).tap do |c|
|
19
20
|
c.push('govuk-checkboxes--small') if @small
|
21
|
+
c.push(@classes) if @classes
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -4,12 +4,13 @@ module GOVUKDesignSystemFormBuilder
|
|
4
4
|
include Traits::Error
|
5
5
|
include Traits::Hint
|
6
6
|
|
7
|
-
def initialize(builder, object_name, attribute_name, hint_text:, legend:, small:, &block)
|
7
|
+
def initialize(builder, object_name, attribute_name, hint_text:, legend:, small:, classes:, &block)
|
8
8
|
super(builder, object_name, attribute_name, &block)
|
9
9
|
|
10
10
|
@legend = legend
|
11
11
|
@hint_text = hint_text
|
12
12
|
@small = small
|
13
|
+
@classes = classes
|
13
14
|
@block_content = capture { block.call }
|
14
15
|
end
|
15
16
|
|
@@ -20,7 +21,7 @@ module GOVUKDesignSystemFormBuilder
|
|
20
21
|
[
|
21
22
|
hint_element.html,
|
22
23
|
error_element.html,
|
23
|
-
Containers::CheckBoxes.new(@builder, small: @small).html do
|
24
|
+
Containers::CheckBoxes.new(@builder, small: @small, classes: @classes).html do
|
24
25
|
@block_content
|
25
26
|
end
|
26
27
|
]
|
@@ -4,13 +4,14 @@ module GOVUKDesignSystemFormBuilder
|
|
4
4
|
include Traits::Hint
|
5
5
|
include Traits::Error
|
6
6
|
|
7
|
-
def initialize(builder, object_name, attribute_name, hint_text:, legend:, inline:, small:, &block)
|
7
|
+
def initialize(builder, object_name, attribute_name, hint_text:, legend:, inline:, small:, classes:, &block)
|
8
8
|
super(builder, object_name, attribute_name)
|
9
9
|
|
10
10
|
@inline = inline
|
11
11
|
@small = small
|
12
12
|
@legend = legend
|
13
13
|
@hint_text = hint_text
|
14
|
+
@classes = classes
|
14
15
|
@block_content = capture { block.call }
|
15
16
|
end
|
16
17
|
|
@@ -21,7 +22,7 @@ module GOVUKDesignSystemFormBuilder
|
|
21
22
|
[
|
22
23
|
hint_element.html,
|
23
24
|
error_element.html,
|
24
|
-
Containers::Radios.new(@builder, inline: @inline, small: @small).html do
|
25
|
+
Containers::Radios.new(@builder, inline: @inline, small: @small, classes: @classes).html do
|
25
26
|
@block_content
|
26
27
|
end
|
27
28
|
]
|
@@ -3,10 +3,11 @@ module GOVUKDesignSystemFormBuilder
|
|
3
3
|
class Radios < Base
|
4
4
|
include Traits::Hint
|
5
5
|
|
6
|
-
def initialize(builder, inline:, small:)
|
6
|
+
def initialize(builder, inline:, small:, classes:)
|
7
7
|
@builder = builder
|
8
8
|
@inline = inline
|
9
9
|
@small = small
|
10
|
+
@classes = classes
|
10
11
|
end
|
11
12
|
|
12
13
|
def html
|
@@ -21,6 +22,7 @@ module GOVUKDesignSystemFormBuilder
|
|
21
22
|
%w(govuk-radios).tap do |c|
|
22
23
|
c.push('govuk-radios--inline') if @inline
|
23
24
|
c.push('govuk-radios--small') if @small
|
25
|
+
c.push(@classes) if @classes
|
24
26
|
end
|
25
27
|
end
|
26
28
|
end
|
@@ -6,7 +6,7 @@ module GOVUKDesignSystemFormBuilder
|
|
6
6
|
include Traits::Hint
|
7
7
|
include Traits::Supplemental
|
8
8
|
|
9
|
-
def initialize(builder, object_name, attribute_name, collection, value_method:, text_method:, hint_method: nil, hint_text:, legend:, small:, &block)
|
9
|
+
def initialize(builder, object_name, attribute_name, collection, value_method:, text_method:, hint_method: nil, hint_text:, legend:, small:, classes:, &block)
|
10
10
|
super(builder, object_name, attribute_name, &block)
|
11
11
|
|
12
12
|
@collection = collection
|
@@ -16,6 +16,7 @@ module GOVUKDesignSystemFormBuilder
|
|
16
16
|
@small = small
|
17
17
|
@legend = legend
|
18
18
|
@hint_text = hint_text
|
19
|
+
@classes = classes
|
19
20
|
end
|
20
21
|
|
21
22
|
def html
|
@@ -26,7 +27,7 @@ module GOVUKDesignSystemFormBuilder
|
|
26
27
|
hint_element.html,
|
27
28
|
error_element.html,
|
28
29
|
supplemental_content.html,
|
29
|
-
Containers::CheckBoxes.new(@builder, small: @small).html do
|
30
|
+
Containers::CheckBoxes.new(@builder, small: @small, classes: @classes).html do
|
30
31
|
build_collection
|
31
32
|
end
|
32
33
|
]
|
@@ -6,7 +6,7 @@ module GOVUKDesignSystemFormBuilder
|
|
6
6
|
include Traits::Hint
|
7
7
|
include Traits::Supplemental
|
8
8
|
|
9
|
-
def initialize(builder, object_name, attribute_name, collection, value_method:, text_method:, hint_method:, hint_text:, legend:, inline:, small:, bold_labels:, &block)
|
9
|
+
def initialize(builder, object_name, attribute_name, collection, value_method:, text_method:, hint_method:, hint_text:, legend:, inline:, small:, bold_labels:, classes:, &block)
|
10
10
|
super(builder, object_name, attribute_name, &block)
|
11
11
|
|
12
12
|
@collection = collection
|
@@ -17,6 +17,7 @@ module GOVUKDesignSystemFormBuilder
|
|
17
17
|
@small = small
|
18
18
|
@legend = legend
|
19
19
|
@hint_text = hint_text
|
20
|
+
@classes = classes
|
20
21
|
@bold_labels = hint_method.present? || bold_labels
|
21
22
|
end
|
22
23
|
|
@@ -28,7 +29,7 @@ module GOVUKDesignSystemFormBuilder
|
|
28
29
|
hint_element.html,
|
29
30
|
error_element.html,
|
30
31
|
supplemental_content.html,
|
31
|
-
Containers::Radios.new(@builder, inline: @inline, small: @small).html do
|
32
|
+
Containers::Radios.new(@builder, inline: @inline, small: @small, classes: @classes).html do
|
32
33
|
safe_join(build_collection)
|
33
34
|
end
|
34
35
|
]
|
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.1.
|
4
|
+
version: 1.1.4
|
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-01
|
11
|
+
date: 2020-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -204,14 +204,14 @@ dependencies:
|
|
204
204
|
requirements:
|
205
205
|
- - "~>"
|
206
206
|
- !ruby/object:Gem::Version
|
207
|
-
version: 3.
|
207
|
+
version: 3.15.0
|
208
208
|
type: :development
|
209
209
|
prerelease: false
|
210
210
|
version_requirements: !ruby/object:Gem::Requirement
|
211
211
|
requirements:
|
212
212
|
- - "~>"
|
213
213
|
- !ruby/object:Gem::Version
|
214
|
-
version: 3.
|
214
|
+
version: 3.15.0
|
215
215
|
- !ruby/object:Gem::Dependency
|
216
216
|
name: rubypants
|
217
217
|
requirement: !ruby/object:Gem::Requirement
|