crown_marketplace_utils 0.1.0.beta.1 → 0.1.0.beta.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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +0 -1
  3. data/.rubocop.yml +14 -0
  4. data/Gemfile +0 -4
  5. data/Gemfile.lock +45 -29
  6. data/README.md +44 -1
  7. data/crown_marketplace_utils.gemspec +11 -8
  8. data/lib/crown_marketplace_utils/gov_uk_helper/breadcrumbs.rb +76 -0
  9. data/lib/crown_marketplace_utils/gov_uk_helper/button.rb +130 -0
  10. data/lib/crown_marketplace_utils/gov_uk_helper/details.rb +14 -8
  11. data/lib/crown_marketplace_utils/gov_uk_helper/error_message.rb +18 -11
  12. data/lib/crown_marketplace_utils/gov_uk_helper/field/character_count.rb +193 -0
  13. data/lib/crown_marketplace_utils/gov_uk_helper/field/checkboxes.rb +209 -0
  14. data/lib/crown_marketplace_utils/gov_uk_helper/field/input.rb +160 -0
  15. data/lib/crown_marketplace_utils/gov_uk_helper/field/radios.rb +205 -0
  16. data/lib/crown_marketplace_utils/gov_uk_helper/field/select.rb +166 -0
  17. data/lib/crown_marketplace_utils/gov_uk_helper/field/textarea.rb +127 -0
  18. data/lib/crown_marketplace_utils/gov_uk_helper/field.rb +263 -0
  19. data/lib/crown_marketplace_utils/gov_uk_helper/fieldset.rb +75 -0
  20. data/lib/crown_marketplace_utils/gov_uk_helper/form_group.rb +60 -0
  21. data/lib/crown_marketplace_utils/gov_uk_helper/header.rb +172 -0
  22. data/lib/crown_marketplace_utils/gov_uk_helper/hint.rb +12 -6
  23. data/lib/crown_marketplace_utils/gov_uk_helper/label.rb +97 -0
  24. data/lib/crown_marketplace_utils/gov_uk_helper/notification_banner.rb +139 -0
  25. data/lib/crown_marketplace_utils/gov_uk_helper/pagination.rb +214 -0
  26. data/lib/crown_marketplace_utils/gov_uk_helper/step_by_step_navigation.rb +225 -0
  27. data/lib/crown_marketplace_utils/gov_uk_helper/tag.rb +39 -0
  28. data/lib/crown_marketplace_utils/gov_uk_helper.rb +37 -2
  29. data/lib/crown_marketplace_utils/version.rb +1 -1
  30. data/lib/crown_marketplace_utils.rb +6 -1
  31. metadata +75 -31
  32. data/lib/crown_marketplace_utils/engine.rb +0 -11
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'action_view'
4
+
5
+ module CrownMarketplaceUtils
6
+ module GovUkHelper
7
+ # = GOV.UK Tag
8
+ #
9
+ # This helper is used for generating the tag component from the
10
+ # {https://design-system.service.gov.uk/components/tag GDS - Components - Tag}
11
+
12
+ module Tag
13
+ include ActionView::Context
14
+ include ActionView::Helpers::TagHelper
15
+
16
+ # Generates the HTML for the GOV.UK Tag component
17
+ #
18
+ # @param text [String] the text for the tag
19
+ # @param colour [String] optional colour for the tag,
20
+ # see {https://design-system.service.gov.uk/components/tag/#additional-colours Tag - Additional colours}
21
+ # for available colours in GOV.UK Frontend
22
+ # @param govuk_tag_options [Hash] options that will be used in customising the HTML
23
+ #
24
+ # @option govuk_tag_options [String] :classes additional CSS classes for the tag HTML
25
+ # @option govuk_tag_options [Hash] :attributes ({}) any additional attributes that will added as part of the HTML
26
+ #
27
+ # @return [ActiveSupport::SafeBuffer] the HTML for the GOV.UK Tag
28
+ # which can then be rendered on the page
29
+
30
+ def govuk_tag(text, colour = nil, **govuk_tag_options)
31
+ govuk_tag_classes = ['govuk-tag']
32
+ govuk_tag_classes << "govuk-tag--#{colour}" if colour
33
+ govuk_tag_classes << govuk_tag_options[:classes]
34
+
35
+ tag.strong(text, class: govuk_tag_classes, **(govuk_tag_options[:attributes] || {}))
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,15 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'gov_uk_helper/error_message'
3
+ require_relative 'gov_uk_helper/breadcrumbs'
4
+ require_relative 'gov_uk_helper/button'
4
5
  require_relative 'gov_uk_helper/details'
6
+ require_relative 'gov_uk_helper/error_message'
7
+ require_relative 'gov_uk_helper/field'
8
+ require_relative 'gov_uk_helper/field/character_count'
9
+ require_relative 'gov_uk_helper/field/checkboxes'
10
+ require_relative 'gov_uk_helper/field/input'
11
+ require_relative 'gov_uk_helper/field/select'
12
+ require_relative 'gov_uk_helper/field/textarea'
13
+ require_relative 'gov_uk_helper/field/radios'
14
+ require_relative 'gov_uk_helper/fieldset'
15
+ require_relative 'gov_uk_helper/form_group'
16
+ require_relative 'gov_uk_helper/header'
5
17
  require_relative 'gov_uk_helper/hint'
18
+ require_relative 'gov_uk_helper/label'
19
+ require_relative 'gov_uk_helper/notification_banner'
20
+ require_relative 'gov_uk_helper/pagination'
21
+ require_relative 'gov_uk_helper/step_by_step_navigation'
22
+ require_relative 'gov_uk_helper/tag'
6
23
 
7
24
  module CrownMarketplaceUtils
8
- # This module loads in all the GOV.UK Helper methods
25
+ # This module loads in all the GOV.UK Helper methods.
26
+ # These are a collection of view helpers to help render GOV.UK components
9
27
 
10
28
  module GovUkHelper
29
+ include Breadcrumbs
30
+ include Button
11
31
  include Details
12
32
  include ErrorMessage
33
+ include Field
34
+ include Field::CharacterCount
35
+ include Field::Checkboxes
36
+ include Field::Input
37
+ include Field::Radios
38
+ include Field::Select
39
+ include Field::Textarea
40
+ include Fieldset
41
+ include FormGroup
42
+ include Header
13
43
  include Hint
44
+ include Label
45
+ include NotificationBanner
46
+ include Pagination
47
+ include StepByStepNavigation
48
+ include Tag
14
49
  end
15
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CrownMarketplaceUtils
4
- VERSION = '0.1.0.beta.1'
4
+ VERSION = '0.1.0.beta.3'
5
5
  end
@@ -1,9 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'crown_marketplace_utils/gov_uk_helper'
4
- require 'crown_marketplace_utils/engine'
5
4
 
6
5
  require_relative 'crown_marketplace_utils/version'
7
6
 
7
+ # = Crown Marketplace Utilities
8
+ #
9
+ # The Crown Marketplace Utilities module contains code that is used in both Crown Marketplace projects.
10
+ # This includes:
11
+ # - view helpers to render GOV.UK components
12
+
8
13
  module CrownMarketplaceUtils
9
14
  end
metadata CHANGED
@@ -1,127 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crown_marketplace_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.beta.1
4
+ version: 0.1.0.beta.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - tim-s-ccs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-10-19 00:00:00.000000000 Z
11
+ date: 2022-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: actionview
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
19
+ version: '6.0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '6.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: capybara
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.38.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.38.0
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: rails
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '0'
61
+ version: '6.0'
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '0'
68
+ version: '6.0'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: rspec
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
- version: '3.2'
75
+ version: '3.12'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - "~>"
53
81
  - !ruby/object:Gem::Version
54
- version: '3.2'
82
+ version: '3.12'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: rubocop
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - ">="
87
+ - - "~>"
60
88
  - !ruby/object:Gem::Version
61
- version: '0'
89
+ version: '1.36'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - ">="
94
+ - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '0'
96
+ version: '1.36'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rubocop-rails
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - ">="
101
+ - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '0'
103
+ version: '2.16'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - ">="
108
+ - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '0'
110
+ version: '2.16'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rubocop-rake
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - ">="
115
+ - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '0'
117
+ version: '0.6'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - ">="
122
+ - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '0'
124
+ version: '0.6'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: rubocop-rspec
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
- - - ">="
129
+ - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '0'
131
+ version: '2.13'
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
- - - ">="
136
+ - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '0'
138
+ version: '2.13'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: yard
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
- - - ">="
143
+ - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: '0'
145
+ version: '0.9'
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - ">="
150
+ - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: '0'
152
+ version: '0.9'
125
153
  description: A Gem containing shared code for the CCS Crown Marketplace projects,
126
154
  for example view helpers
127
155
  email:
@@ -140,11 +168,27 @@ files:
140
168
  - Rakefile
141
169
  - crown_marketplace_utils.gemspec
142
170
  - lib/crown_marketplace_utils.rb
143
- - lib/crown_marketplace_utils/engine.rb
144
171
  - lib/crown_marketplace_utils/gov_uk_helper.rb
172
+ - lib/crown_marketplace_utils/gov_uk_helper/breadcrumbs.rb
173
+ - lib/crown_marketplace_utils/gov_uk_helper/button.rb
145
174
  - lib/crown_marketplace_utils/gov_uk_helper/details.rb
146
175
  - lib/crown_marketplace_utils/gov_uk_helper/error_message.rb
176
+ - lib/crown_marketplace_utils/gov_uk_helper/field.rb
177
+ - lib/crown_marketplace_utils/gov_uk_helper/field/character_count.rb
178
+ - lib/crown_marketplace_utils/gov_uk_helper/field/checkboxes.rb
179
+ - lib/crown_marketplace_utils/gov_uk_helper/field/input.rb
180
+ - lib/crown_marketplace_utils/gov_uk_helper/field/radios.rb
181
+ - lib/crown_marketplace_utils/gov_uk_helper/field/select.rb
182
+ - lib/crown_marketplace_utils/gov_uk_helper/field/textarea.rb
183
+ - lib/crown_marketplace_utils/gov_uk_helper/fieldset.rb
184
+ - lib/crown_marketplace_utils/gov_uk_helper/form_group.rb
185
+ - lib/crown_marketplace_utils/gov_uk_helper/header.rb
147
186
  - lib/crown_marketplace_utils/gov_uk_helper/hint.rb
187
+ - lib/crown_marketplace_utils/gov_uk_helper/label.rb
188
+ - lib/crown_marketplace_utils/gov_uk_helper/notification_banner.rb
189
+ - lib/crown_marketplace_utils/gov_uk_helper/pagination.rb
190
+ - lib/crown_marketplace_utils/gov_uk_helper/step_by_step_navigation.rb
191
+ - lib/crown_marketplace_utils/gov_uk_helper/tag.rb
148
192
  - lib/crown_marketplace_utils/version.rb
149
193
  - sig/crown_marketplace_utils.rbs
150
194
  homepage: https://github.com/tim-s-ccs/crown_marketplace_utils
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rails/engine'
4
-
5
- module CrownMarketplaceUtils
6
- class Engine < ::Rails::Engine
7
- initializer 'crown_marketplace_utils.engine' do |_app|
8
- ActiveSupport.on_load(:action_view) { include CrownMarketplaceUtils::GovUkHelper }
9
- end
10
- end
11
- end