ccs-frontend_helpers 3.3.0 → 3.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d1fa80ceef8aa7ff8905b9a3ffd11a2eb8a338329146ac6c141220377258e37e
4
- data.tar.gz: e782ba8e58c368c9ff4b5b9f12a7a0c7fb6acf8caded5dd57a8ea2b6ee569fdb
3
+ metadata.gz: 1bf265f14acc642010d47b175977bdffa353900061e2264145423e8bb03000c9
4
+ data.tar.gz: 1fc0369b330f35bbdfe8106c34e96fab791c59ffa796633fdfdc246095b6fdbb
5
5
  SHA512:
6
- metadata.gz: 8fd5a7bb71906c2207079dc4ef1ad2e7924e88521c74182471104d5deffa0269ba24252d76e6358265ebe669ed187d01b1b034a22b5ec5d77af54791a0080f97
7
- data.tar.gz: a95654fc983be39d868dd1044d38e870041293dc03d03fe8c49fb7998616789b559f2989338657f204075bdb60f5e359b464af4cf88c6b731223c99fc178faf0
6
+ metadata.gz: 12a68aa2aa3af988e6272c89b9d71d3dea4e745958f873c9dae96a16418ea3d6057b298e87952fc536744d3a63f3b3ab3f8e33a4ac378670a9acd9c838acdab1
7
+ data.tar.gz: 25d9bcb35a00bde3588ffae2a214d6d3c09970e2dd2c1cfdb04da7f3682b022b3ba6eb4e4daaba18303eab53ae5a7126bb16c68720d90bde5a9f901572201796
data/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [3.5.0] - 2026-02-02
11
+
12
+ ### Added
13
+
14
+ - Updated CCS Frontend to v2.5.0
15
+
16
+ ## [3.4.0] - 2026-01-19
17
+
18
+ ### Added
19
+
20
+ - Add support for Ruby v4.0
21
+ - Updated CCS Frontend to v2.4.0
22
+ - Updated GOV.UK Frontend to v5.14.0
23
+
10
24
  ## [3.3.0] - 2025-11-26
11
25
 
12
26
  ### Added
data/Gemfile CHANGED
@@ -16,11 +16,11 @@ gem 'simplecov', '~> 0.21'
16
16
  gem 'nokogiri-diff', '~> 0.3.0'
17
17
 
18
18
  # Gems for linting/formatting the package
19
- gem 'rubocop', '~> 1.81'
19
+ gem 'rubocop', '~> 1.84'
20
20
  gem 'rubocop-capybara', '~> 2.22'
21
21
  gem 'rubocop-rails', '~> 2.34'
22
22
  gem 'rubocop-rake', '~> 0.7'
23
- gem 'rubocop-rspec', '~> 3.8'
23
+ gem 'rubocop-rspec', '~> 3.9'
24
24
 
25
25
  # Gems for documenting the package
26
26
  gem 'yard', '~> 0.9'
data/Gemfile.lock CHANGED
@@ -1,37 +1,37 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ccs-frontend_helpers (3.3.0)
4
+ ccs-frontend_helpers (3.5.0)
5
5
  rails (>= 7.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- action_text-trix (2.1.15)
10
+ action_text-trix (2.1.16)
11
11
  railties
12
- actioncable (8.1.1)
13
- actionpack (= 8.1.1)
14
- activesupport (= 8.1.1)
12
+ actioncable (8.1.2)
13
+ actionpack (= 8.1.2)
14
+ activesupport (= 8.1.2)
15
15
  nio4r (~> 2.0)
16
16
  websocket-driver (>= 0.6.1)
17
17
  zeitwerk (~> 2.6)
18
- actionmailbox (8.1.1)
19
- actionpack (= 8.1.1)
20
- activejob (= 8.1.1)
21
- activerecord (= 8.1.1)
22
- activestorage (= 8.1.1)
23
- activesupport (= 8.1.1)
18
+ actionmailbox (8.1.2)
19
+ actionpack (= 8.1.2)
20
+ activejob (= 8.1.2)
21
+ activerecord (= 8.1.2)
22
+ activestorage (= 8.1.2)
23
+ activesupport (= 8.1.2)
24
24
  mail (>= 2.8.0)
25
- actionmailer (8.1.1)
26
- actionpack (= 8.1.1)
27
- actionview (= 8.1.1)
28
- activejob (= 8.1.1)
29
- activesupport (= 8.1.1)
25
+ actionmailer (8.1.2)
26
+ actionpack (= 8.1.2)
27
+ actionview (= 8.1.2)
28
+ activejob (= 8.1.2)
29
+ activesupport (= 8.1.2)
30
30
  mail (>= 2.8.0)
31
31
  rails-dom-testing (~> 2.2)
32
- actionpack (8.1.1)
33
- actionview (= 8.1.1)
34
- activesupport (= 8.1.1)
32
+ actionpack (8.1.2)
33
+ actionview (= 8.1.2)
34
+ activesupport (= 8.1.2)
35
35
  nokogiri (>= 1.8.5)
36
36
  rack (>= 2.2.4)
37
37
  rack-session (>= 1.0.1)
@@ -39,36 +39,36 @@ GEM
39
39
  rails-dom-testing (~> 2.2)
40
40
  rails-html-sanitizer (~> 1.6)
41
41
  useragent (~> 0.16)
42
- actiontext (8.1.1)
42
+ actiontext (8.1.2)
43
43
  action_text-trix (~> 2.1.15)
44
- actionpack (= 8.1.1)
45
- activerecord (= 8.1.1)
46
- activestorage (= 8.1.1)
47
- activesupport (= 8.1.1)
44
+ actionpack (= 8.1.2)
45
+ activerecord (= 8.1.2)
46
+ activestorage (= 8.1.2)
47
+ activesupport (= 8.1.2)
48
48
  globalid (>= 0.6.0)
49
49
  nokogiri (>= 1.8.5)
50
- actionview (8.1.1)
51
- activesupport (= 8.1.1)
50
+ actionview (8.1.2)
51
+ activesupport (= 8.1.2)
52
52
  builder (~> 3.1)
53
53
  erubi (~> 1.11)
54
54
  rails-dom-testing (~> 2.2)
55
55
  rails-html-sanitizer (~> 1.6)
56
- activejob (8.1.1)
57
- activesupport (= 8.1.1)
56
+ activejob (8.1.2)
57
+ activesupport (= 8.1.2)
58
58
  globalid (>= 0.3.6)
59
- activemodel (8.1.1)
60
- activesupport (= 8.1.1)
61
- activerecord (8.1.1)
62
- activemodel (= 8.1.1)
63
- activesupport (= 8.1.1)
59
+ activemodel (8.1.2)
60
+ activesupport (= 8.1.2)
61
+ activerecord (8.1.2)
62
+ activemodel (= 8.1.2)
63
+ activesupport (= 8.1.2)
64
64
  timeout (>= 0.4.0)
65
- activestorage (8.1.1)
66
- actionpack (= 8.1.1)
67
- activejob (= 8.1.1)
68
- activerecord (= 8.1.1)
69
- activesupport (= 8.1.1)
65
+ activestorage (8.1.2)
66
+ actionpack (= 8.1.2)
67
+ activejob (= 8.1.2)
68
+ activerecord (= 8.1.2)
69
+ activesupport (= 8.1.2)
70
70
  marcel (~> 1.0)
71
- activesupport (8.1.1)
71
+ activesupport (8.1.2)
72
72
  base64
73
73
  bigdecimal
74
74
  concurrent-ruby (~> 1.0, >= 1.3.1)
@@ -85,7 +85,7 @@ GEM
85
85
  public_suffix (>= 2.0.2, < 6.0)
86
86
  ast (2.4.3)
87
87
  base64 (0.3.0)
88
- bigdecimal (3.3.1)
88
+ bigdecimal (4.0.1)
89
89
  builder (3.3.0)
90
90
  capybara (3.40.0)
91
91
  addressable
@@ -96,29 +96,29 @@ GEM
96
96
  rack-test (>= 0.6.3)
97
97
  regexp_parser (>= 1.5, < 3.0)
98
98
  xpath (~> 3.2)
99
- concurrent-ruby (1.3.5)
100
- connection_pool (2.5.4)
99
+ concurrent-ruby (1.3.6)
100
+ connection_pool (3.0.2)
101
101
  crass (1.0.6)
102
- date (3.5.0)
102
+ date (3.5.1)
103
103
  diff-lcs (1.6.2)
104
104
  docile (1.4.0)
105
105
  drb (2.2.3)
106
- erb (5.1.3)
106
+ erb (6.0.1)
107
107
  erubi (1.13.1)
108
108
  globalid (1.3.0)
109
109
  activesupport (>= 6.1)
110
- i18n (1.14.7)
110
+ i18n (1.14.8)
111
111
  concurrent-ruby (~> 1.0)
112
- io-console (0.8.1)
113
- irb (1.15.3)
112
+ io-console (0.8.2)
113
+ irb (1.16.0)
114
114
  pp (>= 0.6.0)
115
115
  rdoc (>= 4.0.0)
116
116
  reline (>= 0.4.2)
117
- json (2.16.0)
117
+ json (2.18.0)
118
118
  language_server-protocol (3.17.0.5)
119
119
  lint_roller (1.1.0)
120
120
  logger (1.7.0)
121
- loofah (2.24.1)
121
+ loofah (2.25.0)
122
122
  crass (~> 1.0.2)
123
123
  nokogiri (>= 1.12.0)
124
124
  mail (2.9.0)
@@ -130,8 +130,9 @@ GEM
130
130
  marcel (1.1.0)
131
131
  matrix (0.4.2)
132
132
  mini_mime (1.1.5)
133
- minitest (5.26.2)
134
- net-imap (0.5.12)
133
+ minitest (6.0.1)
134
+ prism (~> 1.5)
135
+ net-imap (0.6.2)
135
136
  date
136
137
  net-protocol
137
138
  net-pop (0.1.2)
@@ -141,24 +142,24 @@ GEM
141
142
  net-smtp (0.5.1)
142
143
  net-protocol
143
144
  nio4r (2.7.5)
144
- nokogiri (1.18.10-arm64-darwin)
145
+ nokogiri (1.19.0-arm64-darwin)
145
146
  racc (~> 1.4)
146
- nokogiri (1.18.10-x86_64-darwin)
147
+ nokogiri (1.19.0-x86_64-darwin)
147
148
  racc (~> 1.4)
148
- nokogiri (1.18.10-x86_64-linux-gnu)
149
+ nokogiri (1.19.0-x86_64-linux-gnu)
149
150
  racc (~> 1.4)
150
151
  nokogiri-diff (0.3.0)
151
152
  nokogiri (~> 1.5)
152
153
  tdiff (~> 0.4)
153
154
  parallel (1.27.0)
154
- parser (3.3.10.0)
155
+ parser (3.3.10.1)
155
156
  ast (~> 2.4.1)
156
157
  racc
157
158
  pp (0.6.3)
158
159
  prettyprint
159
160
  prettyprint (0.2.0)
160
- prism (1.6.0)
161
- psych (5.2.6)
161
+ prism (1.9.0)
162
+ psych (5.3.1)
162
163
  date
163
164
  stringio
164
165
  public_suffix (5.0.4)
@@ -169,22 +170,22 @@ GEM
169
170
  rack (>= 3.0.0)
170
171
  rack-test (2.2.0)
171
172
  rack (>= 1.3)
172
- rackup (2.2.1)
173
+ rackup (2.3.1)
173
174
  rack (>= 3)
174
- rails (8.1.1)
175
- actioncable (= 8.1.1)
176
- actionmailbox (= 8.1.1)
177
- actionmailer (= 8.1.1)
178
- actionpack (= 8.1.1)
179
- actiontext (= 8.1.1)
180
- actionview (= 8.1.1)
181
- activejob (= 8.1.1)
182
- activemodel (= 8.1.1)
183
- activerecord (= 8.1.1)
184
- activestorage (= 8.1.1)
185
- activesupport (= 8.1.1)
175
+ rails (8.1.2)
176
+ actioncable (= 8.1.2)
177
+ actionmailbox (= 8.1.2)
178
+ actionmailer (= 8.1.2)
179
+ actionpack (= 8.1.2)
180
+ actiontext (= 8.1.2)
181
+ actionview (= 8.1.2)
182
+ activejob (= 8.1.2)
183
+ activemodel (= 8.1.2)
184
+ activerecord (= 8.1.2)
185
+ activestorage (= 8.1.2)
186
+ activesupport (= 8.1.2)
186
187
  bundler (>= 1.15.0)
187
- railties (= 8.1.1)
188
+ railties (= 8.1.2)
188
189
  rails-dom-testing (2.3.0)
189
190
  activesupport (>= 5.0.0)
190
191
  minitest
@@ -192,9 +193,9 @@ GEM
192
193
  rails-html-sanitizer (1.6.2)
193
194
  loofah (~> 2.21)
194
195
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
195
- railties (8.1.1)
196
- actionpack (= 8.1.1)
197
- activesupport (= 8.1.1)
196
+ railties (8.1.2)
197
+ actionpack (= 8.1.2)
198
+ activesupport (= 8.1.2)
198
199
  irb (~> 1.13)
199
200
  rackup (>= 1.0.0)
200
201
  rake (>= 12.2)
@@ -203,12 +204,12 @@ GEM
203
204
  zeitwerk (~> 2.6)
204
205
  rainbow (3.1.1)
205
206
  rake (13.3.1)
206
- rdoc (6.15.1)
207
+ rdoc (7.0.3)
207
208
  erb
208
209
  psych (>= 4.0.0)
209
210
  tsort
210
211
  regexp_parser (2.11.3)
211
- reline (0.6.2)
212
+ reline (0.6.3)
212
213
  io-console (~> 0.5)
213
214
  rspec (3.13.2)
214
215
  rspec-core (~> 3.13.0)
@@ -223,7 +224,7 @@ GEM
223
224
  diff-lcs (>= 1.2.0, < 2.0)
224
225
  rspec-support (~> 3.13.0)
225
226
  rspec-support (3.13.6)
226
- rubocop (1.81.7)
227
+ rubocop (1.84.0)
227
228
  json (~> 2.3)
228
229
  language_server-protocol (~> 3.17.0.2)
229
230
  lint_roller (~> 1.1.0)
@@ -231,16 +232,16 @@ GEM
231
232
  parser (>= 3.3.0.2)
232
233
  rainbow (>= 2.2.2, < 4.0)
233
234
  regexp_parser (>= 2.9.3, < 3.0)
234
- rubocop-ast (>= 1.47.1, < 2.0)
235
+ rubocop-ast (>= 1.49.0, < 2.0)
235
236
  ruby-progressbar (~> 1.7)
236
237
  unicode-display_width (>= 2.4.0, < 4.0)
237
- rubocop-ast (1.48.0)
238
+ rubocop-ast (1.49.0)
238
239
  parser (>= 3.3.7.2)
239
- prism (~> 1.4)
240
+ prism (~> 1.7)
240
241
  rubocop-capybara (2.22.1)
241
242
  lint_roller (~> 1.1)
242
243
  rubocop (~> 1.72, >= 1.72.1)
243
- rubocop-rails (2.34.0)
244
+ rubocop-rails (2.34.3)
244
245
  activesupport (>= 4.2.0)
245
246
  lint_roller (~> 1.1)
246
247
  rack (>= 1.1)
@@ -249,7 +250,7 @@ GEM
249
250
  rubocop-rake (0.7.1)
250
251
  lint_roller (~> 1.1)
251
252
  rubocop (>= 1.72.1)
252
- rubocop-rspec (3.8.0)
253
+ rubocop-rspec (3.9.0)
253
254
  lint_roller (~> 1.1)
254
255
  rubocop (~> 1.81)
255
256
  ruby-progressbar (1.13.0)
@@ -260,16 +261,16 @@ GEM
260
261
  simplecov_json_formatter (~> 0.1)
261
262
  simplecov-html (0.12.3)
262
263
  simplecov_json_formatter (0.1.4)
263
- stringio (3.1.7)
264
+ stringio (3.2.0)
264
265
  tdiff (0.4.0)
265
- thor (1.4.0)
266
- timeout (0.4.4)
266
+ thor (1.5.0)
267
+ timeout (0.6.0)
267
268
  tsort (0.2.0)
268
269
  tzinfo (2.0.6)
269
270
  concurrent-ruby (~> 1.0)
270
271
  unicode-display_width (3.2.0)
271
272
  unicode-emoji (~> 4.1)
272
- unicode-emoji (4.1.0)
273
+ unicode-emoji (4.2.0)
273
274
  uri (1.1.1)
274
275
  useragent (0.16.11)
275
276
  websocket-driver (0.8.0)
@@ -278,8 +279,8 @@ GEM
278
279
  websocket-extensions (0.1.5)
279
280
  xpath (3.2.0)
280
281
  nokogiri (~> 1.8)
281
- yard (0.9.37)
282
- zeitwerk (2.7.3)
282
+ yard (0.9.38)
283
+ zeitwerk (2.7.4)
283
284
 
284
285
  PLATFORMS
285
286
  arm64-darwin-24
@@ -297,11 +298,11 @@ DEPENDENCIES
297
298
  nokogiri-diff (~> 0.3.0)
298
299
  rake (~> 13.3)
299
300
  rspec (~> 3.13)
300
- rubocop (~> 1.81)
301
+ rubocop (~> 1.84)
301
302
  rubocop-capybara (~> 2.22)
302
303
  rubocop-rails (~> 2.34)
303
304
  rubocop-rake (~> 0.7)
304
- rubocop-rspec (~> 3.8)
305
+ rubocop-rspec (~> 3.9)
305
306
  simplecov (~> 0.21)
306
307
  yard (~> 0.9)
307
308
 
data/README.md CHANGED
@@ -14,6 +14,8 @@ The following table shows the version of CCS Frontend Helpers that you should us
14
14
 
15
15
  | CCS Frontend Helpers Version | Target GOV.UK Frontend Version | Target CCS Frontend Version |
16
16
  | ----------------------------- | ------------------------------ | --------------------------- |
17
+ | [3.5.0](https://github.com/Crown-Commercial-Service/ccs-frontend_helpers/releases/tag/v3.5.0) | [5.14.0](https://github.com/alphagov/govuk-frontend/releases/tag/v5.14.0) | [2.5.0](https://github.com/Crown-Commercial-Service/ccs-frontend-project/releases/tag/v2.5.0) |
18
+ | [3.4.0](https://github.com/Crown-Commercial-Service/ccs-frontend_helpers/releases/tag/v3.4.0) | [5.14.0](https://github.com/alphagov/govuk-frontend/releases/tag/v5.14.0) | [2.4.0](https://github.com/Crown-Commercial-Service/ccs-frontend-project/releases/tag/v2.4.0) |
17
19
  | [3.3.0](https://github.com/Crown-Commercial-Service/ccs-frontend_helpers/releases/tag/v3.3.0) | [5.13.0](https://github.com/alphagov/govuk-frontend/releases/tag/v5.13.0) | [2.3.0](https://github.com/Crown-Commercial-Service/ccs-frontend-project/releases/tag/v2.3.0) |
18
20
  | [3.2.0](https://github.com/Crown-Commercial-Service/ccs-frontend_helpers/releases/tag/v3.2.0) | [5.13.0](https://github.com/alphagov/govuk-frontend/releases/tag/v5.13.0) | [2.2.1](https://github.com/Crown-Commercial-Service/ccs-frontend-project/releases/tag/v2.2.1) |
19
21
  | [3.1.0](https://github.com/Crown-Commercial-Service/ccs-frontend_helpers/releases/tag/v3.1.0) | [5.13.0](https://github.com/alphagov/govuk-frontend/releases/tag/v5.13.0) | [2.1.0](https://github.com/Crown-Commercial-Service/ccs-frontend-project/releases/tag/v2.1.0) |
data/bun.lock CHANGED
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "lockfileVersion": 1,
3
+ "configVersion": 0,
3
4
  "workspaces": {
4
5
  "": {
5
6
  "devDependencies": {
6
- "ccs-frontend": "2.3.0",
7
- "govuk-frontend": "5.13.0",
7
+ "ccs-frontend": "2.5.0",
8
+ "govuk-frontend": "5.14.0",
8
9
  },
9
10
  },
10
11
  },
11
12
  "packages": {
12
- "ccs-frontend": ["ccs-frontend@2.3.0", "", { "peerDependencies": { "govuk-frontend": "^5.13.0", "jquery": "^3.x" } }, "sha512-eMrcqFDaH+bkEw1jZ7R3NsEGY+W1ClF6AzkKH09e5DM23Pq9WjT/M57fkvCtQkQynJTYZGNIyFT66gJmBdA+rA=="],
13
+ "ccs-frontend": ["ccs-frontend@2.5.0", "", { "peerDependencies": { "govuk-frontend": "^5.14.0", "jquery": "^4.x" } }, "sha512-RlHbYbuzkbEgAtWaLvptMGxKIJrxvjg6VtESLmAAjeW8NxxsErmQudTGrnX1ATsn5UdfH9/sEkmChpjJRikHpQ=="],
13
14
 
14
- "govuk-frontend": ["govuk-frontend@5.13.0", "", {}, "sha512-6N3pHelWN7wftdM6e4YEzZAfattapa1gnd+Al6d5PUbfTr9D+T2dnphpNpjX75CTEhihlQqlL0RDQ3WIfZ3PSg=="],
15
+ "govuk-frontend": ["govuk-frontend@5.14.0", "", {}, "sha512-MgfaXswIM6KpXS2T5gltEnzgVLgfM3UoE9+rYkhBiR0suaJ8Let31VZXQZqz9QhiPDbv28fW1nRjIyLujfZIBA=="],
15
16
 
16
17
  "jquery": ["jquery@3.7.1", "", {}, "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg=="],
17
18
  }
@@ -19,6 +19,7 @@ module CCS
19
19
 
20
20
  public
21
21
 
22
+ # @param use_gca_branding [Boolean] flag to use GCA branding in logo
22
23
  # @param options [Hash] options that will be used in customising the HTML
23
24
  #
24
25
  # @option options [String] :classes additional CSS classes for the header HTML
@@ -26,13 +27,13 @@ module CCS
26
27
  # @option options [String] :homepage_url URL of the homepage. Defaults to +/https://www.crowncommercial.gov.uk+
27
28
  # @option options [Hash] :attributes additional attributes that will added as part of the header HTML
28
29
 
29
- def initialize(**)
30
+ def initialize(use_gca_branding: nil, **)
30
31
  super
31
32
 
32
33
  @options[:container_classes] ||= 'govuk-width-container'
33
- @options[:homepage_url] ||= 'https://www.crowncommercial.gov.uk'
34
+ @options[:homepage_url] ||= (use_gca_branding ? 'https://www.gca.gov.uk' : 'https://www.crowncommercial.gov.uk')
34
35
 
35
- @logo = Logo.new(context: @context)
36
+ @logo = Logo.new(context: @context, use_gca_branding: use_gca_branding)
36
37
  end
37
38
 
38
39
  # Generates the HTML for the CCS Header component
@@ -7,9 +7,30 @@ module CCS
7
7
  #
8
8
  # This is used for generating the logo component from the
9
9
  # {https://github.com/Crown-Commercial-Service/ccs-frontend-project/tree/main/packages/ccs-frontend/src/ccs/components/logo CCS - Components - Logo}
10
+ #
11
+ # @!attribute [r] show_only_crown
12
+ # @return [Boolean] Flag to show only the crown part of the logo
13
+ # @!attribute [r] use_gca_branding
14
+ # @return [Boolean] Flag to use GCA branding in logo
10
15
 
11
16
  class Logo < Base
12
- # rubocop:disable Metrics/AbcSize
17
+ private
18
+
19
+ attr_reader :show_only_crown, :use_gca_branding
20
+
21
+ public
22
+
23
+ # @param show_only_crown [Boolean] flag to show only the crown part of the logo
24
+ # @param use_gca_branding [Boolean] flag to use GCA branding in logo
25
+
26
+ def initialize(show_only_crown: nil, use_gca_branding: nil, **)
27
+ super
28
+
29
+ @show_only_crown = show_only_crown
30
+ @use_gca_branding = use_gca_branding
31
+ end
32
+
33
+ # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
13
34
 
14
35
  # Generates the HTML for the CCS Logo.
15
36
  # Used in {CCS::Components::CCS::Header Header} and {CCS::Components::CCS::Footer Footer}
@@ -18,7 +39,7 @@ module CCS
18
39
 
19
40
  def render
20
41
  tag.span(class: 'ccs-logo') do
21
- if @options[:show_only_crown]
42
+ if show_only_crown
22
43
  concat(tag.svg(class: 'ccs-logo__svg', xmlns: 'http://www.w3.org/2000/svg', width: '132.22', height: '121', aria: { hidden: 'true' }, focusable: 'false', viewBox: '0 0 371.06668 339.57333') do
23
44
  concat(tag.g(transform: 'matrix(1.3333333,0,0,-1.3333333,0,339.57333)') do
24
45
  tag.g(transform: 'scale(0.34)') do
@@ -31,24 +52,36 @@ module CCS
31
52
  concat(tag.g(transform: 'matrix(1.3333333,0,0,-1.3333333,0,339.57333)') do
32
53
  tag.g(transform: 'scale(0.1)') do
33
54
  CCS_STACKED_LOGO_PATHS.each { |ccs_logo_path_attributes| concat(tag.path(**ccs_logo_path_attributes)) }
34
- concat(logo_stacked_text_graphic)
55
+ concat(use_gca_branding ? logo_stacked_text_graphic_gca : logo_stacked_text_graphic_ccs)
35
56
  end
36
57
  end)
37
58
  end)
38
- concat(tag.svg(class: 'ccs-logo__svg ccs-logo__svg--linear', xmlns: 'http://www.w3.org/2000/svg', width: '320', height: '48.5', aria: { hidden: 'true' }, focusable: 'false', viewBox: '0 0 899 137') do
39
- concat(tag.g(transform: 'matrix(1.3333333,0,0,-1.3333333,0,137)') do
40
- tag.g(transform: 'scale(0.1)') do
41
- CCS_LINEAR_LOGO_PATHS.each { |ccs_logo_path_attributes| concat(tag.path(**ccs_logo_path_attributes)) }
42
- concat(logo_linear_text_graphic)
43
- end
59
+ if use_gca_branding
60
+ concat(tag.svg(class: 'ccs-logo__svg ccs-logo__svg--linear', xmlns: 'http://www.w3.org/2000/svg', width: '378', height: '48.5', aria: { hidden: 'true' }, focusable: 'false', viewBox: '0 0 1061 137') do
61
+ concat(tag.g(transform: 'matrix(1.3333333,0,0,-1.3333333,0,137)') do
62
+ tag.g(transform: 'scale(0.1)') do
63
+ CCS_LINEAR_LOGO_PATHS.each { |ccs_logo_path_attributes| concat(tag.path(**ccs_logo_path_attributes)) }
64
+ concat(logo_linear_text_graphic_gca)
65
+ end
66
+ end)
44
67
  end)
45
- end)
46
- concat(tag.span('Crown Commercial Service', class: 'ccs-logo__text', hidden: true))
68
+ concat(tag.span('Government Commercial Agency', class: 'ccs-logo__text', hidden: true))
69
+ else
70
+ concat(tag.svg(class: 'ccs-logo__svg ccs-logo__svg--linear', xmlns: 'http://www.w3.org/2000/svg', width: '320', height: '48.5', aria: { hidden: 'true' }, focusable: 'false', viewBox: '0 0 899 137') do
71
+ concat(tag.g(transform: 'matrix(1.3333333,0,0,-1.3333333,0,137)') do
72
+ tag.g(transform: 'scale(0.1)') do
73
+ CCS_LINEAR_LOGO_PATHS.each { |ccs_logo_path_attributes| concat(tag.path(**ccs_logo_path_attributes)) }
74
+ concat(logo_linear_text_graphic_ccs)
75
+ end
76
+ end)
77
+ end)
78
+ concat(tag.span('Crown Commercial Service', class: 'ccs-logo__text', hidden: true))
79
+ end
47
80
  end
48
81
  end
49
82
  end
50
83
 
51
- # rubocop:enable Metrics/AbcSize
84
+ # rubocop:enable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
52
85
 
53
86
  # Array of the SVG paths for the CCS Logo
54
87
 
@@ -526,7 +559,7 @@ module CCS
526
559
 
527
560
  private
528
561
 
529
- def logo_stacked_text_graphic
562
+ def logo_stacked_text_graphic_ccs
530
563
  tag.g(transform: 'scale(10)') do
531
564
  tag.text(
532
565
  'xml:space': 'preserve',
@@ -540,7 +573,21 @@ module CCS
540
573
  end
541
574
  end
542
575
 
543
- def logo_linear_text_graphic
576
+ def logo_stacked_text_graphic_gca
577
+ tag.g(transform: 'scale(10)') do
578
+ tag.text(
579
+ 'xml:space': 'preserve',
580
+ transform: 'matrix(1,0,0,-1,20.3102,129.569)',
581
+ class: 'ccs-logo__text-graphic'
582
+ ) do
583
+ concat(tag.tspan('Government ', x: '0 35 62 85 110 125 149 188 212 237 250', y: '0', 'sodipodi:role': 'line'))
584
+ concat(tag.tspan('Commercial ', x: '0 33.314499 59.416096 99.105995 138.7959 163.4126 177.5981 201.77882 210.5835 234.9653 244.37253', y: '53', 'sodipodi:role': 'line'))
585
+ concat(tag.tspan('Agency ', x: '0 31.5 58 82.5 108 133.5', y: '106', 'sodipodi:role': 'line'))
586
+ end
587
+ end
588
+ end
589
+
590
+ def logo_linear_text_graphic_ccs
544
591
  tag.g(transform: 'scale(10)') do
545
592
  tag.text(
546
593
  'xml:space': 'preserve',
@@ -551,6 +598,18 @@ module CCS
551
598
  end
552
599
  end
553
600
  end
601
+
602
+ def logo_linear_text_graphic_gca
603
+ tag.g(transform: 'scale(10)') do
604
+ tag.text(
605
+ 'xml:space': 'preserve',
606
+ transform: 'matrix(1,0,0,-1,120,30)',
607
+ class: 'ccs-logo__text-graphic'
608
+ ) do
609
+ concat(tag.tspan('Government Commercial Agency', x: '0 35 62 85 110 125 149 188 212 237 250 260 293.314499 319.416096 359.105995 398.7959 423.4126 437.5981 461.77882 470.5835 494.9653 504.37253 515 546.5 573 597.5 623 648.5', y: '0', 'sodipodi:role': 'line'))
610
+ end
611
+ end
612
+ end
554
613
  end
555
614
  end
556
615
  end
@@ -67,8 +67,10 @@ module CCS
67
67
  concat(tag.div(class: 'govuk-footer__meta') do
68
68
  concat(tag.div(class: 'govuk-footer__meta-item govuk-footer__meta-item--grow') do
69
69
  concat(meta.render) if meta
70
- concat(footer_logo)
71
- concat(footer_content_licence)
70
+ unless options.key?(:content_licence) && options[:content_licence].nil?
71
+ concat(footer_logo)
72
+ concat(footer_content_licence)
73
+ end
72
74
  end)
73
75
  concat(footer_copyright)
74
76
  end)
@@ -87,7 +87,7 @@ module CCS
87
87
 
88
88
  pagination_item_class = form ? Item::Form : Item::Tag
89
89
 
90
- @pagination_items = pagination_items.map { |pagination_item| pagination_item[:ellipsis] ? Item::Ellipsis : pagination_item_class.new(form: form, context: context, **pagination_item) }
90
+ @pagination_items = pagination_items.compact_blank.map { |pagination_item| pagination_item[:ellipsis] ? Item::Ellipsis : pagination_item_class.new(form: form, context: context, **pagination_item) }
91
91
  end
92
92
  end
93
93
  end
@@ -56,6 +56,7 @@ module CCS
56
56
 
57
57
  menu_button[:aria] = { controls: @navigation[:id] }
58
58
  menu_button[:aria][:label] = menu_button[:label] if menu_button[:label] && menu_button[:label] != menu_button[:text]
59
+ menu_button[:aria][:hidden] = true
59
60
 
60
61
  @menu_button = menu_button
61
62
  @navigation[:links] = navigation[:items].map { |navigation_link| Link.new(context: context, **navigation_link) }
@@ -2,6 +2,6 @@
2
2
 
3
3
  module CCS
4
4
  module FrontendHelpers
5
- VERSION = '3.3.0'
5
+ VERSION = '3.5.0'
6
6
  end
7
7
  end
data/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "author": "CCS",
6
6
  "license": "MIT",
7
7
  "devDependencies": {
8
- "govuk-frontend": "5.13.0",
9
- "ccs-frontend": "2.3.0"
8
+ "govuk-frontend": "5.14.0",
9
+ "ccs-frontend": "2.5.0"
10
10
  }
11
11
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ccs-frontend_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Crown Commercial Service