govuk_design_system_formbuilder 1.1.0.beta.2 → 1.1.0.beta.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/govuk_design_system_formbuilder.rb +3 -48
- data/lib/govuk_design_system_formbuilder/elements/inputs/email.rb +6 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/number.rb +6 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/phone.rb +6 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/text.rb +6 -0
- data/lib/govuk_design_system_formbuilder/elements/inputs/url.rb +6 -0
- data/lib/govuk_design_system_formbuilder/traits/input.rb +77 -0
- data/lib/govuk_design_system_formbuilder/version.rb +1 -1
- metadata +3 -3
- data/lib/govuk_design_system_formbuilder/elements/inputs/base.rb +0 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98afc3753ec1c0f03ef8e1f50ecb102a2c36bd8b9ebe1b466990509bceaf1106
|
4
|
+
data.tar.gz: 1c52249b0568bd1bce3f0af95406850d97e5952b035ebc62afd404cf0c219296
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 92aae919b678bc4bf92b58964a2e10f96fbc3a1aab1f6b56da3a30b09ef909fd7e7d6ac56bda9dfb010a3ac9f04f94443a4b5cb8775511d184d7b311603725f7
|
7
|
+
data.tar.gz: c5dbd6977e7a4996d169e77874fcb87d8e952a0bb2dc8c95cd4a06ff2a0cdc59ad5b3dd1cf5844197f5c778d2c08a04992b7bba63772ff1e3f4e633a7774e773
|
@@ -1,53 +1,8 @@
|
|
1
1
|
require 'active_support/configurable'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
require
|
6
|
-
require 'govuk_design_system_formbuilder/traits/hint'
|
7
|
-
require 'govuk_design_system_formbuilder/traits/label'
|
8
|
-
require 'govuk_design_system_formbuilder/traits/localisation'
|
9
|
-
require 'govuk_design_system_formbuilder/traits/supplemental'
|
10
|
-
|
11
|
-
require 'govuk_design_system_formbuilder/version'
|
12
|
-
require 'govuk_design_system_formbuilder/builder'
|
13
|
-
require 'govuk_design_system_formbuilder/base'
|
14
|
-
|
15
|
-
require 'govuk_design_system_formbuilder/elements/hint'
|
16
|
-
require 'govuk_design_system_formbuilder/elements/label'
|
17
|
-
require 'govuk_design_system_formbuilder/elements/date'
|
18
|
-
require 'govuk_design_system_formbuilder/elements/select'
|
19
|
-
require 'govuk_design_system_formbuilder/elements/submit'
|
20
|
-
require 'govuk_design_system_formbuilder/elements/text_area'
|
21
|
-
require 'govuk_design_system_formbuilder/elements/file'
|
22
|
-
|
23
|
-
require 'govuk_design_system_formbuilder/elements/inputs/base'
|
24
|
-
require 'govuk_design_system_formbuilder/elements/inputs/email'
|
25
|
-
require 'govuk_design_system_formbuilder/elements/inputs/number'
|
26
|
-
require 'govuk_design_system_formbuilder/elements/inputs/phone'
|
27
|
-
require 'govuk_design_system_formbuilder/elements/inputs/text'
|
28
|
-
require 'govuk_design_system_formbuilder/elements/inputs/url'
|
29
|
-
|
30
|
-
require 'govuk_design_system_formbuilder/elements/radios/collection'
|
31
|
-
require 'govuk_design_system_formbuilder/elements/radios/collection_radio_button'
|
32
|
-
require 'govuk_design_system_formbuilder/elements/radios/fieldset_radio_button'
|
33
|
-
|
34
|
-
require 'govuk_design_system_formbuilder/elements/check_boxes/collection'
|
35
|
-
require 'govuk_design_system_formbuilder/elements/check_boxes/collection_check_box'
|
36
|
-
require 'govuk_design_system_formbuilder/elements/check_boxes/fieldset_check_box'
|
37
|
-
require 'govuk_design_system_formbuilder/elements/check_boxes/label'
|
38
|
-
require 'govuk_design_system_formbuilder/elements/check_boxes/hint'
|
39
|
-
|
40
|
-
require 'govuk_design_system_formbuilder/elements/error_message'
|
41
|
-
require 'govuk_design_system_formbuilder/elements/error_summary'
|
42
|
-
|
43
|
-
require 'govuk_design_system_formbuilder/containers/check_boxes_fieldset'
|
44
|
-
require 'govuk_design_system_formbuilder/containers/form_group'
|
45
|
-
require 'govuk_design_system_formbuilder/containers/fieldset'
|
46
|
-
require 'govuk_design_system_formbuilder/containers/radios'
|
47
|
-
require 'govuk_design_system_formbuilder/containers/radio_buttons_fieldset'
|
48
|
-
require 'govuk_design_system_formbuilder/containers/check_boxes'
|
49
|
-
require 'govuk_design_system_formbuilder/containers/character_count'
|
50
|
-
require 'govuk_design_system_formbuilder/containers/supplemental'
|
3
|
+
[%w(traits *.rb), %w(*.rb), %w(elements ** *.rb), %w(containers ** *.rb)]
|
4
|
+
.flat_map { |matcher| Dir.glob(File.join(__dir__, 'govuk_design_system_formbuilder', *matcher)) }
|
5
|
+
.each { |file| require file }
|
51
6
|
|
52
7
|
module GOVUKDesignSystemFormBuilder
|
53
8
|
include ActiveSupport::Configurable
|
@@ -2,6 +2,12 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Elements
|
3
3
|
module Inputs
|
4
4
|
class Email < Base
|
5
|
+
include Traits::Input
|
6
|
+
include Traits::Error
|
7
|
+
include Traits::Hint
|
8
|
+
include Traits::Label
|
9
|
+
include Traits::Supplemental
|
10
|
+
|
5
11
|
def builder_method
|
6
12
|
:email_field
|
7
13
|
end
|
@@ -2,6 +2,12 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Elements
|
3
3
|
module Inputs
|
4
4
|
class Number < Base
|
5
|
+
include Traits::Input
|
6
|
+
include Traits::Error
|
7
|
+
include Traits::Hint
|
8
|
+
include Traits::Label
|
9
|
+
include Traits::Supplemental
|
10
|
+
|
5
11
|
def builder_method
|
6
12
|
:number_field
|
7
13
|
end
|
@@ -2,6 +2,12 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Elements
|
3
3
|
module Inputs
|
4
4
|
class Phone < Base
|
5
|
+
include Traits::Input
|
6
|
+
include Traits::Error
|
7
|
+
include Traits::Hint
|
8
|
+
include Traits::Label
|
9
|
+
include Traits::Supplemental
|
10
|
+
|
5
11
|
def builder_method
|
6
12
|
:phone_field
|
7
13
|
end
|
@@ -2,6 +2,12 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Elements
|
3
3
|
module Inputs
|
4
4
|
class Text < Base
|
5
|
+
include Traits::Input
|
6
|
+
include Traits::Error
|
7
|
+
include Traits::Hint
|
8
|
+
include Traits::Label
|
9
|
+
include Traits::Supplemental
|
10
|
+
|
5
11
|
def builder_method
|
6
12
|
:text_field
|
7
13
|
end
|
@@ -2,6 +2,12 @@ module GOVUKDesignSystemFormBuilder
|
|
2
2
|
module Elements
|
3
3
|
module Inputs
|
4
4
|
class URL < Base
|
5
|
+
include Traits::Input
|
6
|
+
include Traits::Error
|
7
|
+
include Traits::Hint
|
8
|
+
include Traits::Label
|
9
|
+
include Traits::Supplemental
|
10
|
+
|
5
11
|
def builder_method
|
6
12
|
:url_field
|
7
13
|
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
module GOVUKDesignSystemFormBuilder
|
2
|
+
module Traits
|
3
|
+
module Input
|
4
|
+
def initialize(builder, object_name, attribute_name, hint_text:, label:, width:, **extra_args, &block)
|
5
|
+
super(builder, object_name, attribute_name, &block)
|
6
|
+
|
7
|
+
@width = width
|
8
|
+
@extra_args = extra_args
|
9
|
+
@label = label
|
10
|
+
@hint_text = hint_text
|
11
|
+
end
|
12
|
+
|
13
|
+
def html
|
14
|
+
Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
|
15
|
+
safe_join(
|
16
|
+
[
|
17
|
+
label_element.html,
|
18
|
+
hint_element.html,
|
19
|
+
supplemental_content.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
|
+
)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def input_classes
|
43
|
+
%w(govuk-input).push(width_classes, error_classes).compact
|
44
|
+
end
|
45
|
+
|
46
|
+
def error_classes
|
47
|
+
'govuk-input--error' if has_errors?
|
48
|
+
end
|
49
|
+
|
50
|
+
def width_classes
|
51
|
+
return if @width.blank?
|
52
|
+
|
53
|
+
case @width
|
54
|
+
when nil then nil
|
55
|
+
|
56
|
+
# fixed (character) widths
|
57
|
+
when 20 then 'govuk-input--width-20'
|
58
|
+
when 10 then 'govuk-input--width-10'
|
59
|
+
when 5 then 'govuk-input--width-5'
|
60
|
+
when 4 then 'govuk-input--width-4'
|
61
|
+
when 3 then 'govuk-input--width-3'
|
62
|
+
when 2 then 'govuk-input--width-2'
|
63
|
+
|
64
|
+
# fluid widths
|
65
|
+
when 'full' then 'govuk-!-width-full'
|
66
|
+
when 'three-quarters' then 'govuk-!-width-three-quarters'
|
67
|
+
when 'two-thirds' then 'govuk-!-width-two-thirds'
|
68
|
+
when 'one-half' then 'govuk-!-width-one-half'
|
69
|
+
when 'one-third' then 'govuk-!-width-one-third'
|
70
|
+
when 'one-quarter' then 'govuk-!-width-one-quarter'
|
71
|
+
|
72
|
+
else fail(ArgumentError, "invalid width '#{@width}'")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
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.1.0.beta.
|
4
|
+
version: 1.1.0.beta.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-12-
|
11
|
+
date: 2019-12-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionview
|
@@ -284,7 +284,6 @@ files:
|
|
284
284
|
- lib/govuk_design_system_formbuilder/elements/error_summary.rb
|
285
285
|
- lib/govuk_design_system_formbuilder/elements/file.rb
|
286
286
|
- lib/govuk_design_system_formbuilder/elements/hint.rb
|
287
|
-
- lib/govuk_design_system_formbuilder/elements/inputs/base.rb
|
288
287
|
- lib/govuk_design_system_formbuilder/elements/inputs/email.rb
|
289
288
|
- lib/govuk_design_system_formbuilder/elements/inputs/number.rb
|
290
289
|
- lib/govuk_design_system_formbuilder/elements/inputs/phone.rb
|
@@ -301,6 +300,7 @@ files:
|
|
301
300
|
- lib/govuk_design_system_formbuilder/traits/conditional.rb
|
302
301
|
- lib/govuk_design_system_formbuilder/traits/error.rb
|
303
302
|
- lib/govuk_design_system_formbuilder/traits/hint.rb
|
303
|
+
- lib/govuk_design_system_formbuilder/traits/input.rb
|
304
304
|
- lib/govuk_design_system_formbuilder/traits/label.rb
|
305
305
|
- lib/govuk_design_system_formbuilder/traits/localisation.rb
|
306
306
|
- lib/govuk_design_system_formbuilder/traits/supplemental.rb
|
@@ -1,84 +0,0 @@
|
|
1
|
-
module GOVUKDesignSystemFormBuilder
|
2
|
-
module Elements
|
3
|
-
module Inputs
|
4
|
-
class Base < GOVUKDesignSystemFormBuilder::Base
|
5
|
-
include Traits::Error
|
6
|
-
include Traits::Hint
|
7
|
-
include Traits::Label
|
8
|
-
include Traits::Supplemental
|
9
|
-
|
10
|
-
def initialize(builder, object_name, attribute_name, hint_text:, label:, width:, **extra_args, &block)
|
11
|
-
super(builder, object_name, attribute_name, &block)
|
12
|
-
|
13
|
-
@width = width
|
14
|
-
@extra_args = extra_args
|
15
|
-
@label = label
|
16
|
-
@hint_text = hint_text
|
17
|
-
end
|
18
|
-
|
19
|
-
def html
|
20
|
-
Containers::FormGroup.new(@builder, @object_name, @attribute_name).html do
|
21
|
-
safe_join(
|
22
|
-
[
|
23
|
-
label_element.html,
|
24
|
-
hint_element.html,
|
25
|
-
supplemental_content.html,
|
26
|
-
error_element.html,
|
27
|
-
@builder.send(
|
28
|
-
builder_method,
|
29
|
-
@attribute_name,
|
30
|
-
id: field_id(link_errors: true),
|
31
|
-
class: input_classes,
|
32
|
-
aria: {
|
33
|
-
describedby: described_by(
|
34
|
-
hint_id,
|
35
|
-
error_id,
|
36
|
-
supplemental_id
|
37
|
-
)
|
38
|
-
},
|
39
|
-
**@extra_args
|
40
|
-
)
|
41
|
-
]
|
42
|
-
)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
private
|
47
|
-
|
48
|
-
def input_classes
|
49
|
-
%w(govuk-input).push(width_classes, error_classes).compact
|
50
|
-
end
|
51
|
-
|
52
|
-
def error_classes
|
53
|
-
'govuk-input--error' if has_errors?
|
54
|
-
end
|
55
|
-
|
56
|
-
def width_classes
|
57
|
-
return if @width.blank?
|
58
|
-
|
59
|
-
case @width
|
60
|
-
when nil then nil
|
61
|
-
|
62
|
-
# fixed (character) widths
|
63
|
-
when 20 then 'govuk-input--width-20'
|
64
|
-
when 10 then 'govuk-input--width-10'
|
65
|
-
when 5 then 'govuk-input--width-5'
|
66
|
-
when 4 then 'govuk-input--width-4'
|
67
|
-
when 3 then 'govuk-input--width-3'
|
68
|
-
when 2 then 'govuk-input--width-2'
|
69
|
-
|
70
|
-
# fluid widths
|
71
|
-
when 'full' then 'govuk-!-width-full'
|
72
|
-
when 'three-quarters' then 'govuk-!-width-three-quarters'
|
73
|
-
when 'two-thirds' then 'govuk-!-width-two-thirds'
|
74
|
-
when 'one-half' then 'govuk-!-width-one-half'
|
75
|
-
when 'one-third' then 'govuk-!-width-one-third'
|
76
|
-
when 'one-quarter' then 'govuk-!-width-one-quarter'
|
77
|
-
|
78
|
-
else fail(ArgumentError, "invalid width '#{@width}'")
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
83
|
-
end
|
84
|
-
end
|