govuk_admin_template 6.7.0 → 6.9.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: d4fc0dd6edbaa646b7bec8a7fdb6d339bca0ffefe933f031402af6a7496b63ed
4
- data.tar.gz: 3cd7238926adf16a7ca60141e2df86472d80863aa61b1d4df5f1846ff566f79e
3
+ metadata.gz: 6e75f271807c94207f7e9842d7ac03a4f5fc857533a8d2aeee7be6f0645e8d07
4
+ data.tar.gz: 9e75c7162d072ed39a29ce90cd7037ca3aad8b3890a11f4ab93e9f28939cd480
5
5
  SHA512:
6
- metadata.gz: c5e7e1fd8816003f5ce43ed1fbae13083d6a2aed54b0977674b228fd4d30650154d6562c7be601fb16475698980376561710b5a5ce28c4907982ec02f8ab4bde
7
- data.tar.gz: 8fc142625c840bf6bf7a0bab2bb5b408f2fbee99d68bf9036041bab23e5df3425942d006339019ad44a2a3130629d292a2c97f9717f1f84a3b55f50ac6bf32f3
6
+ metadata.gz: a11f7e71d2ec53e1f704714a5996478153077c9282c41850ee6256faa6a776bec444436824027d50a9cb1a2b3bcfb3703d52ccd799ac58c80de6118638a65758
7
+ data.tar.gz: 748d12a8f4319a5cbfd4c716336141b315088add35e5ce8d57b9d9e710a0e0b80c48ae204a657997fcf4db2bf6b35edc0f17bccf71162399719c492dddf867ab
data/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ # 6.9.0
2
+
3
+ * Rails 7 compatibility: use `Time#to_fs` instead of deprecated use of `Time#to_s`
4
+ * Bump minimum supported Rails version to 6
5
+ * Fix broken 'Crown Copyright' link in the layout template page footer
6
+
7
+ # 6.8.1
8
+
9
+ * Ensure labels have sufficient colour contrast
10
+
11
+ # 6.8.0
12
+
13
+ * Replace the development dependency govuk-lint with rubocop-govuk
14
+ * Fix colour contrast issues flagged by WAVE Web Accessibility Evaluation Tool
15
+ * Ensure govspeak guidance can be navigated to via keyboard tabbing
16
+
1
17
  # 6.7.0
2
18
 
3
19
  * Update bootstrap-sass dependency to 3.4.1 (from 3.3.5.1)
data/CSS.md CHANGED
@@ -9,20 +9,20 @@ CSS in the gem follows two conventions:
9
9
  ## Available helper classes
10
10
 
11
11
  Firstly, the admin styles are based on Bootstrap:
12
- * [Bootstrap CSS](http://getbootstrap.com/css/)
13
- * [Bootstrap Components](http://getbootstrap.com/components/)
12
+ * [Bootstrap CSS](https://getbootstrap.com/docs/3.4/css/)
13
+ * [Bootstrap Components](https://getbootstrap.com/docs/3.4/components/)
14
14
 
15
15
  For admin components, see the admin style guide (`/style-guide` in your app).
16
16
 
17
17
  ### Hide and show content
18
- [toggle.css.scss](app/assets/stylesheets/govuk_admin_template/_toggles.css.scss)
18
+ See: [toggles.scss](app/assets/stylesheets/govuk_admin_template/_toggles.scss)
19
19
 
20
20
  Class | Purpose
21
21
  ------ |--------
22
22
  `hide` | Hide content from all users, including screenreaders
23
23
  `if-no-js-hide` | Hide from users without Javascript
24
24
  `if-js-hide` | Hide from users with Javascript
25
- `rm` | [Hide visually](http://snook.ca/archives/html_and_css/hiding-content-for-accessibility) but keep available to screenreaders
25
+ `rm` | [Hide visually](https://snook.ca/archives/html_and_css/hiding-content-for-accessibility) but keep available to screenreaders
26
26
  `if-js-rm` | Hide visually from users with Javascript
27
27
 
28
28
  ### Margin helpers
@@ -35,7 +35,7 @@ Rather than creating a class purely to remove or add margins (many Bootstrap sty
35
35
 
36
36
  The mixins don’t include `!important` by default, but can be added as a parameter:
37
37
 
38
- ```sass
38
+ ```scss
39
39
  .class {
40
40
  @include add-top-margin;
41
41
  @include add-top-margin('!important');
@@ -61,7 +61,7 @@ Like the margin helpers, the padding classes include `!important` so they’ll a
61
61
  <h3 class="add-bottom-padding"></h3>
62
62
  ```
63
63
 
64
- ```sass
64
+ ```scss
65
65
  .class {
66
66
  @include add-top-padding;
67
67
  @include add-top-padding('!important');
@@ -105,7 +105,7 @@ Class | Purpose
105
105
  `inline-block` | Display inline-block
106
106
 
107
107
  ### Tables
108
- [tables.css.scss](app/assets/stylesheets/govuk_admin_template/_tables.css.scss)
108
+ See: [tables.scss](app/assets/stylesheets/govuk_admin_template/_tables.scss)
109
109
 
110
110
  Class | Purpose
111
111
  ------ |--------
@@ -114,7 +114,7 @@ Class | Purpose
114
114
 
115
115
  ### SASS Variables
116
116
 
117
- Along with Bootstrap’s many [mixins](https://github.com/twbs/bootstrap-sass/blob/master/vendor/assets/stylesheets/bootstrap/_mixins.scss) and [variables](http://getbootstrap.com/customize/#less-variables), the admin gem comes with [some of its own](app/assets/stylesheets/govuk_admin_template/_theme.css.scss).
117
+ Along with Bootstrap’s many [mixins](https://github.com/twbs/bootstrap-sass/blob/v3.4.1/assets/stylesheets/bootstrap/_mixins.scss) and [variables](https://github.com/twbs/bootstrap-sass/blob/v3.4.1/assets/stylesheets/bootstrap/_variables.scss), the admin gem comes with [some of its own](app/assets/stylesheets/govuk_admin_template/_theme.scss).
118
118
 
119
119
  Class | Purpose
120
120
  ------ |--------
data/JAVASCRIPT.md CHANGED
@@ -39,7 +39,7 @@ The simplest of modules looks like this:
39
39
 
40
40
  ## Writing modules
41
41
 
42
- Whilst this isn’t prescriptive, it helps if modules look and behave in a similar manner. Modules should live within your app’s `app\assets\javascripts\modules` directory.
42
+ Whilst this isn’t prescriptive, it helps if modules look and behave in a similar manner. Modules should live within your app’s `app/assets/javascripts/modules` directory.
43
43
 
44
44
  ### Use `js-` prefixed classes for interaction hooks
45
45
 
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ---
6
6
 
7
- Styles, scripts and templates wrapped up in a gem for getting up and running with [Bootstrap](http://getbootstrap.com) based backend admin apps.
7
+ Styles, scripts and templates wrapped up in a gem for getting up and running with [Bootstrap 3.4](https://getbootstrap.com/docs/3.4/) based backend admin apps.
8
8
 
9
9
  This gem provides (via a Rails engine):
10
10
  * jQuery
@@ -35,10 +35,10 @@ Firstly, include the gem in your Gemfile, pinned to the appropriate version and
35
35
 
36
36
  ```ruby
37
37
  # Gemfile
38
- gem 'govuk_admin_template', '~> 3.3'
38
+ gem 'govuk_admin_template', '~> 6.8'
39
39
  ```
40
40
 
41
- At the top of `application.scss` include the styles (this provides all the mixins and variables from the gem as well as from bootstrap — [bootstrap mixins](https://github.com/twbs/bootstrap-sass/blob/master/vendor/assets/stylesheets/bootstrap/_mixins.scss)):
41
+ At the top of `application.scss` include the styles (this provides all the mixins and variables from the gem as well as from bootstrap — [bootstrap mixins](https://github.com/twbs/bootstrap-sass/blob/v3.4.1/assets/stylesheets/bootstrap/_mixins.scss)):
42
42
  ```css
43
43
  /* application.scss */
44
44
  @import 'govuk_admin_template';
@@ -71,11 +71,13 @@ You will also need to include your styles and javascripts:
71
71
  Note that `jquery` and `jquery_ujs` are already imported by `govuk_admin_template`,
72
72
  so you should remove them from your `app/assets/javascripts/application.js`. This may
73
73
  cause your jasmine tests to fail, so you'll need to include `assets/govuk-admin-template.js`
74
- in your `spec/javascripts/support/jasmine.yml` like this:
74
+ in your `spec/support/jasmine-browser.json` like this:
75
75
 
76
- ```yaml
77
- src_files:
78
- - assets/govuk-admin-template.js
76
+ ```json
77
+ "srcFiles": [
78
+ "govuk-admin-template-*.js",
79
+ "application-*.js"
80
+ ]
79
81
  ```
80
82
 
81
83
  It is recommended that the style guide is also made available within your app at the route `/style-guide`. Add this to your `config/routes.rb` file:
@@ -87,7 +89,7 @@ if Rails.env.development?
87
89
  end
88
90
  ```
89
91
 
90
- The gem source includes a [dummy app](spec/dummy) configured to behave like an app using the gem. If you have the gem checked out it can be run from the `spec\dummy` directory using `rails s`.
92
+ The gem source includes a [dummy app](spec/dummy) configured to behave like an app using the gem. If you have the gem checked out it can be run from the `spec/dummy` directory using `rails s`.
91
93
 
92
94
  For Javascript usage, available modules and writing modules, see the [Javascript guide](JAVASCRIPT.md).
93
95
 
@@ -118,7 +120,7 @@ To use this configuration:
118
120
  0. Add an initializer in `config/initializers/simple_form.rb` containing the
119
121
  following:
120
122
 
121
- ```
123
+ ```ruby
122
124
  SimpleForm.setup do |config|
123
125
  GovukAdminTemplate.setup_simple_form(config)
124
126
  end
@@ -130,7 +132,7 @@ specific customisations are required.
130
132
 
131
133
  ### Content blocks
132
134
 
133
- The gem [uses nested layouts](http://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts) for customisation.
135
+ The gem [uses nested layouts](https://guides.rubyonrails.org/layouts_and_rendering.html#using-nested-layouts) for customisation.
134
136
 
135
137
  `content_for` | Description
136
138
  --------------- | -------------
@@ -164,19 +166,19 @@ The [gem includes](lib/govuk_admin_template/engine.rb) date and time formats whi
164
166
 
165
167
  ```ruby
166
168
  # 1 January 2013
167
- date.to_s(:govuk_date)
169
+ date.to_fs(:govuk_date)
168
170
 
169
171
  # 1:15pm, 1 January 2013
170
- time.to_s(:govuk_date)
172
+ time.to_fs(:govuk_date)
171
173
 
172
174
  # 1 Jan 2013
173
- date.to_s(:govuk_date_short)
175
+ date.to_fs(:govuk_date_short)
174
176
 
175
177
  # 1:15pm, 1 Jan 2013
176
- time.to_s(:govuk_date_short)
178
+ time.to_fs(:govuk_date_short)
177
179
 
178
180
  # 1:15pm
179
- time.to_s(:govuk_time)
181
+ time.to_fs(:govuk_time)
180
182
  ```
181
183
 
182
184
  ### Environment indicators
@@ -225,7 +227,7 @@ We support `:success`, `:info`, `:warning` and `:danger`:
225
227
 
226
228
  ![Flash types](docs/flash-types.png)
227
229
 
228
- In Rails 4, you can register your types to allow them to be used as arguments
230
+ You can register your types to allow them to be used as arguments
229
231
  to `redirect_to`.
230
232
 
231
233
  ```ruby
@@ -241,13 +243,15 @@ redirect_to :back, danger: "This didn't work."
241
243
 
242
244
  ## Development
243
245
 
244
- Clone the repository and run `bundle`.
246
+ 1. Clone the repository
247
+ 2. Run `bundle install`
248
+ 3. Run `yarn install`
245
249
 
246
250
  The source files are in the [app](app) directory. Unlike other GOVUK frontend gems, there is no compile step. The app directory is included in the gem and hooked in as a Rails engine.
247
251
 
248
252
  While developing it may be helpful to see how the gem will render. The dummy app at [spec/dummy](spec/dummy) is configured to act like an application using the gem and can be started from that directory using `rails s`. Changes will show immediately. The tests also run against this app.
249
253
 
250
- The dummy app’s rake tasks have been loaded into the gem’s task list under the namespace `dummy_app` for convenience.
254
+ The dummy app’s rake tasks have been loaded into the gem’s task list under the namespace `app` for convenience – e.g. `bundle exec rake app:assets:precompile`
251
255
 
252
256
  ### Running tests
253
257
 
@@ -261,13 +265,13 @@ Layout and nested layouts are tested using RSpec and Capybara:
261
265
  bundle exec rake spec
262
266
  ```
263
267
 
264
- Javascript is tested using Jasmine and the [Jasmine gem](https://github.com/pivotal/jasmine-gem). Tests can be run either in the browser or on the command line via the dummy app’s tasks:
268
+ Javascript is tested using Jasmine and [jasmine-browser-runner](https://jasmine.github.io/setup/browser.html). Tests can be run either in the browser or on the command line:
265
269
  ```sh
266
270
  # browser
267
- bundle exec rake dummy_app:jasmine
271
+ yarn run jasmine:browser
268
272
 
269
273
  # command line
270
- bundle exec rake dummy_app:jasmine:ci
274
+ yarn run jasmine:ci
271
275
  ```
272
276
 
273
277
  ## Publishing
@@ -276,13 +276,13 @@ a.list-group-item {
276
276
 
277
277
  .link-muted,
278
278
  .link-muted:visited {
279
- color: $gray-light;
279
+ color: $gray-dark;
280
280
  text-decoration: underline;
281
281
  }
282
282
 
283
283
  .link-muted:hover,
284
284
  .link-muted:focus {
285
- color: $gray;
285
+ color: #000;
286
286
  }
287
287
 
288
288
  .link-inherit,
@@ -304,7 +304,7 @@ a.list-group-item {
304
304
  font-size: 65%;
305
305
  font-weight: normal;
306
306
  line-height: 1.5;
307
- color: $gray-light;
307
+ color: $gray;
308
308
  display: block;
309
309
  }
310
310
 
@@ -360,7 +360,7 @@ a.list-group-item {
360
360
  }
361
361
 
362
362
  .no-content {
363
- color: lighten($gray-light, 20%); // Large text needs a lighter colour for balance
363
+ color: $gray;
364
364
  @extend %large-and-spaced;
365
365
  }
366
366
 
@@ -1,3 +1,7 @@
1
+ $black: #000;
2
+ $gray-dark: #444;
3
+ $blue: #1d70b8;
4
+
1
5
  /*
2
6
  Bootstrap 3.2 made gray-light darker for accessibility and contrast:
3
7
  https://github.com/twbs/bootstrap/releases/tag/v3.2.0
@@ -5,4 +9,41 @@
5
9
  This assumed gray-light was on a light background. We aren't always
6
10
  using it in that way. Reset to the original value #999.
7
11
  */
8
- $gray-light: lighten(#000, 60%);
12
+
13
+ $gray-light: lighten($black, 60%);
14
+
15
+ /*
16
+ Updates a bunch of copy that used to be gray to black for things like labels.
17
+ */
18
+ $text-color: $black;
19
+
20
+ /*
21
+ Updates the input to black so it contrasts with the light gray background.
22
+ */
23
+ $input-color: $black;
24
+
25
+ /*
26
+ Updates muted text to gray so it contrasts with the light gray background.
27
+ */
28
+ $text-muted: $gray-dark;
29
+
30
+ /*
31
+ Updates text in the breadcrumbs to use a darker gray to fix contrast issues.
32
+ */
33
+ $breadcrumb-active-color: $gray-dark;
34
+
35
+ /*
36
+ Updates the spans in headers to use a darker gray to fix contrast issues.
37
+ */
38
+ $headings-small-color: $gray-dark;
39
+
40
+ /*
41
+ Updates the disabled pagination links to use a darker gray to fix contrast issues.
42
+ */
43
+ $pagination-disabled-color: $gray-dark;
44
+
45
+ /*
46
+ Updates the default link to colour to a the same colour used in the
47
+ GOVUK design system. This fixes some contrast issues.
48
+ */
49
+ $link-color: $blue;
@@ -1,5 +1,18 @@
1
1
  @import 'govuk_admin_template/buttons'; // overrides bootstrap buttons
2
2
 
3
+ $govuk-tag-dark-grey: #383f43;
4
+ $govuk-tag-light-gray: #eeefef;
5
+ $govuk-tag-mid-blue: #1d70b8;
6
+ $govuk-tag-white: #fff;
7
+ $govuk-tag-dark-green: #005a30;
8
+ $govuk-tag-light-green: #cce2d8;
9
+ $govuk-tag-dark-blue: #144e81;
10
+ $govuk-tag-light-blue: #d2e2f1;
11
+ $govuk-tag-dark-yellow: #594d00;
12
+ $govuk-tag-light-yellow: #fff7bf;
13
+ $govuk-tag-dark-red: #942514;
14
+ $govuk-tag-light-red: #f6d7d2;
15
+
3
16
  /*
4
17
  The admin gem's navbar has a bottom margin, for correct spacing
5
18
  when the page-header class isn't used. To account for this reduce
@@ -19,8 +32,40 @@
19
32
  .lead {
20
33
  font-weight: normal;
21
34
  color: #555;
35
+ }
36
+
37
+ // Overrides the lables to use same colour scheme as the GOVUK design system
38
+
39
+ .label-default {
40
+ color: $govuk-tag-dark-grey;
41
+ background: $govuk-tag-light-gray;
42
+ }
43
+
44
+ .label-primary {
45
+ color: $govuk-tag-white;
46
+ background: $govuk-tag-mid-blue;
47
+ }
48
+
49
+ .label-success {
50
+ color: $govuk-tag-dark-green;
51
+ background: $govuk-tag-light-green;
52
+ }
53
+
54
+ .label-info {
55
+ color: $govuk-tag-dark-blue;
56
+ background: $govuk-tag-light-blue;
57
+ }
58
+
59
+ .label-warning {
60
+ color: $govuk-tag-dark-yellow;
61
+ background: $govuk-tag-light-yellow;
62
+ }
63
+
64
+ .label-danger {
65
+ color: $govuk-tag-dark-red;
66
+ background: $govuk-tag-light-red;
67
+ }
22
68
 
23
- &.text-muted {
24
- color: $gray-light;
25
- }
69
+ .label {
70
+ font-size: 80%;
26
71
  }
@@ -20,7 +20,7 @@
20
20
  font-size: 11px;
21
21
  font-weight: bold;
22
22
  line-height: $line-height-computed;
23
- color: $gray-light;
23
+ color: $gray;
24
24
  text-transform: uppercase;
25
25
  }
26
26
 
@@ -30,6 +30,11 @@
30
30
  }
31
31
  }
32
32
 
33
+ .nav-tabs .badge {
34
+ color: #fff;
35
+ background: #666;
36
+ }
37
+
33
38
  .nav-list > li > a,
34
39
  .nav-list .nav-header {
35
40
  margin-left: -15px;
@@ -116,3 +116,8 @@ header .navbar-header {
116
116
  background-color: $dev-color;
117
117
  color: #000;
118
118
  }
119
+
120
+ .sidebar-nav .badge {
121
+ color: #fff;
122
+ background: #666;
123
+ }
@@ -1,7 +1,7 @@
1
1
  module GovukAdminTemplate
2
2
  class StyleGuideController < ApplicationController
3
3
  def index
4
- @normal_link_href = "#{request.original_url}##{Time.now.utc.to_i}"
4
+ @normal_link_href = "#{request.original_url}##{Time.zone.now.utc.to_i}"
5
5
  @visited_link_href = request.original_url
6
6
  end
7
7
  end
@@ -5,7 +5,7 @@
5
5
  <h2>Formatting help</h2>
6
6
  <%= yield :format_specific_help %>
7
7
  <h3>
8
- <a data-toggle="collapse" data-target="#govspeak-headings">
8
+ <a data-toggle="collapse" href="#govspeak-headings">
9
9
  Headings
10
10
  </a>
11
11
  </h3>
@@ -18,7 +18,7 @@
18
18
  </div>
19
19
 
20
20
  <h3>
21
- <a data-toggle="collapse" data-target="#govspeak-links">
21
+ <a data-toggle="collapse" href="#govspeak-links">
22
22
  Links
23
23
  </a>
24
24
  </h3>
@@ -54,7 +54,7 @@
54
54
  </div>
55
55
 
56
56
  <h3>
57
- <a data-toggle="collapse" data-target="#govspeak-bullets">
57
+ <a data-toggle="collapse" href="#govspeak-bullets">
58
58
  Bullets
59
59
  </a>
60
60
  </h3>
@@ -67,7 +67,7 @@
67
67
  </div>
68
68
 
69
69
  <h3>
70
- <a data-toggle="collapse" data-target="#govspeak-numbered-list">
70
+ <a data-toggle="collapse" href="#govspeak-numbered-list">
71
71
  Numbered list
72
72
  </a>
73
73
  </h3>
@@ -81,7 +81,7 @@
81
81
  </div>
82
82
 
83
83
  <h3>
84
- <a data-toggle="collapse" data-target="#govspeak-priority-list">
84
+ <a data-toggle="collapse" href="#govspeak-priority-list">
85
85
  Priority list
86
86
  </a>
87
87
  </h3>
@@ -98,7 +98,7 @@
98
98
  </div>
99
99
 
100
100
  <h3>
101
- <a data-toggle="collapse" data-target="#govspeak-legislative-list">
101
+ <a data-toggle="collapse" href="#govspeak-legislative-list">
102
102
  Legislative list
103
103
  </a>
104
104
  </h3>
@@ -120,7 +120,7 @@
120
120
  </div>
121
121
 
122
122
  <h3>
123
- <a data-toggle="collapse" data-target="#govspeak-tables">
123
+ <a data-toggle="collapse" href="#govspeak-tables">
124
124
  Tables
125
125
  </a>
126
126
  </h3>
@@ -139,7 +139,7 @@
139
139
  </div>
140
140
 
141
141
  <h3>
142
- <a data-toggle="collapse" data-target="#govspeak-cta">
142
+ <a data-toggle="collapse" href="#govspeak-cta">
143
143
  Call to action
144
144
  </a>
145
145
  </h3>
@@ -150,21 +150,18 @@
150
150
  </div>
151
151
 
152
152
  <h3>
153
- <a data-toggle="collapse" data-target="#govspeak-abbreviations-and-acronyms">
153
+ <a data-toggle="collapse" href="#govspeak-abbreviations-and-acronyms">
154
154
  Abbreviations and acronyms
155
155
  </a>
156
156
  </h3>
157
157
  <div class="collapse" id="govspeak-abbreviations-and-acronyms">
158
- <pre>Example content containing DWP and EU acronyms.
159
-
160
- *[EU]: European Union
161
- *[DWP]: Department for Work and Pensions</pre>
158
+ <pre>*[DWP]: Department for Work and Pensions</pre>
162
159
  <p>Text found in content which matches what’s in the brackets <code>[ ]</code> (eg DWP), will have the full text (Department for Work and Pensions) available to screenreaders and when hovering: <abbr title="Department for Work and Pensions">DWP</abbr>. The markdown code will not be displayed.</p>
163
160
  <p>List abbreviation markdown at the end.</p>
164
161
  </div>
165
162
 
166
163
  <h3>
167
- <a data-toggle="collapse" data-target="#govspeak-blockquotes">
164
+ <a data-toggle="collapse" href="#govspeak-blockquotes">
168
165
  Blockquotes
169
166
  </a>
170
167
  </h3>
@@ -178,7 +175,7 @@
178
175
  </div>
179
176
 
180
177
  <h3>
181
- <a data-toggle="collapse" data-target="#govspeak-addresses">
178
+ <a data-toggle="collapse" href="#govspeak-addresses">
182
179
  Addresses
183
180
  </a>
184
181
  </h3>
@@ -192,7 +189,7 @@
192
189
  </div>
193
190
 
194
191
  <h3>
195
- <a data-toggle="collapse" data-target="#govspeak-footnotes">
192
+ <a data-toggle="collapse" href="#govspeak-footnotes">
196
193
  Footnotes
197
194
  </a>
198
195
  </h3>
@@ -6,10 +6,10 @@
6
6
  </h1>
7
7
  </div>
8
8
 
9
- <p class="lead">Admin app UIs are powered by <a href="http://getbootstrap.com/css/">bootstrap 3.3.2</a>, using <a href="https://github.com/twbs/bootstrap-sass/tree/v3.3.3">bootstrap SASS</a> v3.3.3 (<a href="https://github.com/twbs/bootstrap-sass/blob/v3.3.3/assets/stylesheets/bootstrap/_mixins.scss">mixins</a>), but maintaining bootstrap 2 button styles. This guide documents how we use bootstrap, where the apps have diverged from default styles and any custom styles needed to fill in the gaps.</p>
9
+ <p class="lead">Admin app UIs are powered by <a href="https://getbootstrap.com/docs/3.4/">Bootstrap 3.4</a>, using <a href="https://github.com/twbs/bootstrap-sass/tree/v3.4.1">Bootstrap SASS</a> v3.4.1 (<a href="https://github.com/twbs/bootstrap-sass/blob/v3.4.1/assets/stylesheets/bootstrap/_mixins.scss">mixins</a>), but maintaining Bootstrap 2 button styles. This guide documents how we use Bootstrap, where the apps have diverged from default styles and any custom styles needed to fill in the gaps.</p>
10
10
 
11
11
  <h2 id="grid">Grid</h2>
12
- <p class="lead">Apps use the <a href="http://getbootstrap.com/css/#grid">default bootstrap</a> <strong>12 column scaleable responsive grid</strong>.</p>
12
+ <p class="lead">Apps use the <a href="https://getbootstrap.com/docs/3.4/css/#grid">default bootstrap</a> <strong>12 column scaleable responsive grid</strong>.</p>
13
13
  <div class="row add-bottom-margin">
14
14
  <div class="grid-example col-md-2">col-md-2</div>
15
15
  <div class="grid-example col-md-4">col-md-4</div>
@@ -26,7 +26,7 @@
26
26
  <div class="row">
27
27
  <div class="col-md-6 lead">
28
28
  <p>
29
- Based on the <a href="http://govuk-elements.herokuapp.com/form-elements/#form-toggle-content">GOV.UK elements pattern</a>, ticking a checkbox or selecting a radio element can toggle the display of further content or fields.
29
+ Based on the <a href="https://govuk-elements.herokuapp.com/form-elements/#form-toggle-content">GOV.UK elements pattern</a>, ticking a checkbox or selecting a radio element can toggle the display of further content or fields.
30
30
  </p>
31
31
  <pre class="add-top-margin">&lt;div class=&quot;checkbox&quot; data-module=&quot;toggle-checkbox&quot;&gt;
32
32
  &lt;label&gt;
@@ -73,7 +73,7 @@
73
73
  <h3 id="forms-input-widths">Input widths</h3>
74
74
  <div class="row">
75
75
  <div class="col-md-6 lead">
76
- <p>Bootstrap 3 inputs always <a href="http://getbootstrap.com/css/#forms">extend to the size of their container</a>. The recommendation from Bootstrap is to wrap form elements with grid classes. Sometimes this isn’t suitable, for instance if a page isn’t using a grid.</p>
76
+ <p>Bootstrap 3 inputs always <a href="https://getbootstrap.com/docs/3.4/css/#forms">extend to the size of their container</a>. The recommendation from Bootstrap is to wrap form elements with grid classes. Sometimes this isn’t suitable, for instance if a page isn’t using a grid.</p>
77
77
  <p>The gem includes classes to restrict the width of inputs based on column sizes: <code>input-md-x</code> (1 — 11)</p>
78
78
  </div>
79
79
  <div class="col-md-6">
@@ -192,13 +192,13 @@
192
192
  <blockquote>
193
193
  <dl class="remove-bottom-margin">
194
194
  <dt class="add-label-margin"><code>:govuk_date</code></dt>
195
- <dd><%= halloween.to_s(:govuk_date) %><br />
196
- <%= halloween.to_time.to_s(:govuk_date) %></dd>
195
+ <dd><%= halloween.to_fs(:govuk_date) %><br />
196
+ <%= halloween.to_time.to_fs(:govuk_date) %></dd>
197
197
  <dt class="add-top-margin add-label-margin"><code>:govuk_date_short</code></dt>
198
- <dd><%= halloween.to_s(:govuk_date_short) %><br />
199
- <%= halloween.to_time.to_s(:govuk_date_short) %></dd>
198
+ <dd><%= halloween.to_fs(:govuk_date_short) %><br />
199
+ <%= halloween.to_time.to_fs(:govuk_date_short) %></dd>
200
200
  <dt class="add-top-margin add-label-margin"><code>:govuk_time</code></dt>
201
- <dd><%= halloween.to_time.to_s(:govuk_time) %></dd>
201
+ <dd><%= halloween.to_time.to_fs(:govuk_time) %></dd>
202
202
  </dl>
203
203
  </blockquote>
204
204
  </section>
@@ -261,7 +261,7 @@
261
261
  <h3 id="tables-filterable-tables">Filterable tables</h3>
262
262
  <div class="row">
263
263
  <div class="col-md-6 lead">
264
- <p>Using the <a href="https://github.com/alphagov/govuk_admin_template/blob/master/app/assets/javascripts/govuk-admin-template/modules/filterable_table.js">filterable-table module</a> and the <a href="https://github.com/alphagov/govuk_admin_template/tree/master/app/views/govuk_admin_template/_table_filter.html.erb">table_filter partial</a> any table can be filtered. The module performs a simple match against the content of each row, if there’s no match the row is hidden.</p>
264
+ <p>Using the <a href="https://github.com/alphagov/govuk_admin_template/blob/main/app/assets/javascripts/govuk-admin-template/modules/filterable_table.js">filterable-table module</a> and the <a href="https://github.com/alphagov/govuk_admin_template/blob/main/app/views/govuk_admin_template/_table_filter.html.erb">table_filter partial</a> any table can be filtered. The module performs a simple match against the content of each row, if there’s no match the row is hidden.</p>
265
265
  <p>If the class <code>js-open-on-submit</code> is added to a link within a row, then the first link visible with that class will be opened when the user hits <code>ENTER</code>.</p>
266
266
  <pre class="add-top-margin">&lt;table class="table table-bordered" data-module="filterable-table"&gt;
267
267
  &lt;thead&gt;
@@ -403,7 +403,7 @@
403
403
  <h2 id="nav-lists">Nav lists</h2>
404
404
  <div class="row">
405
405
  <p class="col-md-4 lead">
406
- <a href="http://stackoverflow.com/questions/18281636/what-replaces-nav-lists-in-bootstrap-3">Bootstrap 3 removed</a> the <code>nav-list</code> classes and <a href="http://getbootstrap.com/2.3.2/components.html#navs">design pattern</a>. For backwards compatibility these styles have been put back, but it’s advised to avoid this pattern.
406
+ <a href="https://stackoverflow.com/questions/18281636/what-replaces-nav-lists-in-bootstrap-3">Bootstrap 3 removed</a> the <code>nav-list</code> classes and <a href="https://getbootstrap.com/2.3.2/components.html#navs">design pattern</a>. For backwards compatibility these styles have been put back, but it’s advised to avoid this pattern.
407
407
  </p>
408
408
  <div class="col-md-4">
409
409
  <div class="well sidebar-nav">
@@ -101,7 +101,7 @@
101
101
  </main>
102
102
  <footer class="page-footer">
103
103
  <%= yield :footer_top %>
104
- <a class="inherit" href="http://www.nationalarchives.gov.uk/information-management/our-services/crown-copyright.htm">&copy; Crown Copyright</a>
104
+ <a class="inherit" href="https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/">&copy; Crown Copyright</a>
105
105
  <% if content_for?(:footer_version) %>
106
106
  <span class="pull-right">Version: <%= yield :footer_version %></span>
107
107
  <% end %>
data/config/routes.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  GovukAdminTemplate::Engine.routes.draw do
2
- root :to => 'govuk_admin_template/style_guide#index'
2
+ root to: "govuk_admin_template/style_guide#index"
3
3
  end
@@ -6,7 +6,7 @@ module GovukAdminTemplate
6
6
  module Config
7
7
  # Name of your application
8
8
  mattr_accessor :app_title
9
- @@app_title = "GOV.UK"
9
+ @app_title = "GOV.UK"
10
10
 
11
11
  # Show flash-messages
12
12
  # Default: false
@@ -1,37 +1,40 @@
1
1
  module GovukAdminTemplate
2
2
  class Engine < ::Rails::Engine
3
- require 'bootstrap-sass'
4
- require 'jquery-rails'
5
-
6
- initializer 'govuk_admin_template.assets.precompile' do |app|
7
- app.config.assets.precompile += %w(lte-ie8.js govuk-admin-template.js)
8
- app.config.assets.precompile += %w(govuk_admin_template/favicon-development.png govuk_admin_template/favicon-test.png govuk_admin_template/favicon-integration.png
9
- govuk_admin_template/favicon-preview.png govuk_admin_template/favicon-production.png govuk_admin_template/favicon.png)
10
-
3
+ require "bootstrap-sass"
4
+ require "jquery-rails"
5
+
6
+ initializer "govuk_admin_template.assets.precompile" do |app|
7
+ app.config.assets.precompile += %w[lte-ie8.js govuk-admin-template.js]
8
+ app.config.assets.precompile += %w[govuk_admin_template/favicon-development.png
9
+ govuk_admin_template/favicon-test.png
10
+ govuk_admin_template/favicon-integration.png
11
+ govuk_admin_template/favicon-preview.png
12
+ govuk_admin_template/favicon-production.png
13
+ govuk_admin_template/favicon.png]
11
14
  end
12
15
 
13
16
  # User friendly GOV.UK date formats, based on:
14
17
  # https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#dates
15
18
  # https://www.gov.uk/guidance/style-guide/a-to-z-of-gov-uk-style#times
16
- initializer 'govuk_admin_template.date_formats' do |app|
19
+ initializer "govuk_admin_template.date_formats" do |_app|
17
20
  # 1 January 2013
18
- Date::DATE_FORMATS[:govuk_date] = '%-e %B %Y'
21
+ Date::DATE_FORMATS[:govuk_date] = "%-e %B %Y"
19
22
 
20
23
  # 1 Jan 2013
21
- Date::DATE_FORMATS[:govuk_date_short] = '%-e %b %Y'
24
+ Date::DATE_FORMATS[:govuk_date_short] = "%-e %b %Y"
22
25
 
23
26
  # 1:15pm, 1 January 2013
24
- Time::DATE_FORMATS[:govuk_date] = '%-I:%M%P, %-e %B %Y'
27
+ Time::DATE_FORMATS[:govuk_date] = "%-I:%M%P, %-e %B %Y"
25
28
 
26
29
  # 1:15pm, 1 Jan 2013
27
- Time::DATE_FORMATS[:govuk_date_short] = '%-I:%M%P, %-e %b %Y'
30
+ Time::DATE_FORMATS[:govuk_date_short] = "%-I:%M%P, %-e %b %Y"
28
31
 
29
32
  # 1:15pm
30
- Time::DATE_FORMATS[:govuk_time] = '%-I:%M%P'
33
+ Time::DATE_FORMATS[:govuk_time] = "%-I:%M%P"
31
34
  end
32
35
 
33
36
  initializer "govuk_admin_template.view_helpers" do
34
- ActionView::Base.send :include, ViewHelpers
37
+ ActionView::Base.include ViewHelpers
35
38
  end
36
39
  end
37
40
  end
@@ -38,40 +38,40 @@ module GovukAdminTemplate
38
38
  b.use :error, wrap_with: { tag: :span, class: :error }
39
39
  end
40
40
 
41
- config.wrappers :bootstrap, tag: 'div', class: 'form-group', error_class: 'has-error' do |b|
41
+ config.wrappers :bootstrap, tag: "div", class: "form-group", error_class: "has-error" do |b|
42
42
  b.use :html5
43
43
  b.use :placeholder
44
- b.use :label, class: 'control-label'
45
- b.wrapper tag: 'div' do |ba|
44
+ b.use :label, class: "control-label"
45
+ b.wrapper tag: "div" do |ba|
46
46
  ba.use :input
47
- ba.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
48
- ba.use :hint, wrap_with: { tag: 'p', class: 'help-block' }
47
+ ba.use :error, wrap_with: { tag: "span", class: "help-inline" }
48
+ ba.use :hint, wrap_with: { tag: "p", class: "help-block" }
49
49
  end
50
50
  end
51
51
 
52
- config.wrappers :prepend, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
52
+ config.wrappers :prepend, tag: "div", class: "form-group", error_class: "has-error" do |b|
53
53
  b.use :html5
54
54
  b.use :placeholder
55
55
  b.use :label
56
- b.wrapper tag: 'div', class: 'controls' do |input|
57
- input.wrapper tag: 'div', class: 'input-prepend' do |prepend|
56
+ b.wrapper tag: "div", class: "controls" do |input|
57
+ input.wrapper tag: "div", class: "input-prepend" do |prepend|
58
58
  prepend.use :input
59
59
  end
60
- input.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
61
- input.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
60
+ input.use :hint, wrap_with: { tag: "span", class: "help-block" }
61
+ input.use :error, wrap_with: { tag: "span", class: "help-inline" }
62
62
  end
63
63
  end
64
64
 
65
- config.wrappers :append, tag: 'div', class: "form-group", error_class: 'has-error' do |b|
65
+ config.wrappers :append, tag: "div", class: "form-group", error_class: "has-error" do |b|
66
66
  b.use :html5
67
67
  b.use :placeholder
68
68
  b.use :label
69
- b.wrapper tag: 'div', class: 'controls' do |input|
70
- input.wrapper tag: 'div', class: 'input-append' do |append|
69
+ b.wrapper tag: "div", class: "controls" do |input|
70
+ input.wrapper tag: "div", class: "input-append" do |append|
71
71
  append.use :input
72
72
  end
73
- input.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
74
- input.use :error, wrap_with: { tag: 'span', class: 'help-inline' }
73
+ input.use :hint, wrap_with: { tag: "span", class: "help-block" }
74
+ input.use :error, wrap_with: { tag: "span", class: "help-inline" }
75
75
  end
76
76
  end
77
77
 
@@ -85,13 +85,13 @@ module GovukAdminTemplate
85
85
  config.boolean_style = :inline
86
86
 
87
87
  # Default class for buttons
88
- config.button_class = 'btn'
88
+ config.button_class = "btn"
89
89
 
90
90
  # Default tag used for error notification helper.
91
91
  config.error_notification_tag = :div
92
92
 
93
93
  # CSS class to add for error notification helper.
94
- config.error_notification_class = 'alert alert-danger'
94
+ config.error_notification_class = "alert alert-danger"
95
95
 
96
96
  # Tell browsers whether to use default HTML5 validations (novalidate option).
97
97
  # Default is enabled.
@@ -1,3 +1,3 @@
1
1
  module GovukAdminTemplate
2
- VERSION = "6.7.0".freeze
2
+ VERSION = "6.9.0".freeze
3
3
  end
@@ -5,7 +5,8 @@ module GovukAdminTemplate
5
5
 
6
6
  flash.each do |type, message|
7
7
  next unless type.to_sym.in?(%i[success info warning danger])
8
- html << content_tag(:div, message, class: "alert alert-#{type}")
8
+
9
+ html << tag.div(message, class: "alert alert-#{type}")
9
10
  end
10
11
 
11
12
  html.join.html_safe
@@ -8,11 +8,11 @@ module GovukAdminTemplate
8
8
  mattr_accessor :environment_style, :environment_label
9
9
 
10
10
  def self.environment_style
11
- @@environment_style || self.default_environment_style
11
+ @@environment_style || default_environment_style
12
12
  end
13
13
 
14
14
  def self.environment_label
15
- @@environment_label || self.environment_style.try(:titleize)
15
+ @@environment_label || environment_style.try(:titleize)
16
16
  end
17
17
 
18
18
  # In development we can't consistently set an environment
@@ -0,0 +1,4 @@
1
+ desc "Run Jasmine tests"
2
+ task jasmine: :environment do
3
+ sh "yarn run jasmine:ci"
4
+ end
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ desc "Lint files"
4
+ task "lint" => :environment do
5
+ sh "rubocop --format clang"
6
+ end
@@ -0,0 +1,52 @@
1
+ UNGUARDED_URL_USAGE = /\surl\(/.freeze
2
+ ABSOLUTE_ASSET_USAGE = /(?:image-path|image-url|asset-path|asset-url)\(["']\/assets/.freeze
3
+
4
+ namespace :sass do
5
+ desc "Check all SCSS for 404-creating problems, takes place of govuk-lint"
6
+ task check: :environment do
7
+ scss_files = File.expand_path(
8
+ "../../app/assets/stylesheets/**/*.scss", __dir__
9
+ )
10
+
11
+ matching_lines = Dir[scss_files].each_with_object([]) do |scss_file, matching|
12
+ File.readlines(scss_file).each_with_index do |line, number|
13
+ matching << "Unguarded url usage: #{scss_file}:#{number + 1}" if line =~ UNGUARDED_URL_USAGE
14
+ matching << "Absolute /assets usage: #{scss_file}:#{number + 1}" if line =~ ABSOLUTE_ASSET_USAGE
15
+ end
16
+ end
17
+
18
+ if matching_lines.any?
19
+ raise <<~MSG
20
+
21
+ One or more problems exist:
22
+
23
+ Unguarded url usage
24
+ -------------------
25
+
26
+ Do not use instances of url(...) to refer to images within this gem.
27
+ Prefer the SASS function image-url. Unguarded url references won't work in
28
+ Rails 4 and up due to MD5 hashes in asset filenames. Your asset will 404 in
29
+ production Rails 4 apps.
30
+
31
+ Absolute /assets usage
32
+ ----------------------
33
+
34
+ When using any of the image/asset helpers, don't refer to /assets absolutely.
35
+ For example,
36
+
37
+ image-url('/assets/govuk_admin_template/header-crown.png')
38
+
39
+ should instead be
40
+
41
+ image-url('govuk_admin_template/header-crown.png')
42
+
43
+ If Sprockets can't find the image on precompilation, it won't rewrite the
44
+ URL and will pass it through unaltered. This usually means it will 404.
45
+
46
+ Problems:
47
+ #{matching_lines.join("\n ")}
48
+
49
+ MSG
50
+ end
51
+ end
52
+ end
metadata CHANGED
@@ -1,87 +1,73 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_admin_template
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.7.0
4
+ version: 6.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-19 00:00:00.000000000 Z
11
+ date: 2022-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 3.2.0
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 3.2.0
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: bootstrap-sass
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '='
17
+ - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: 3.4.1
19
+ version: '3.4'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '='
24
+ - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: 3.4.1
26
+ version: '3.4'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: jquery-rails
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: 4.3.1
33
+ version: '4.3'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: 4.3.1
40
+ version: '4.3'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: plek
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: 2.1.0
47
+ version: '2.1'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: 2.1.0
54
+ version: '2.1'
69
55
  - !ruby/object:Gem::Dependency
70
- name: sass-rails
56
+ name: rails
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
- - - "~>"
59
+ - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '5'
76
- type: :development
61
+ version: '6'
62
+ type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
- - - "~>"
66
+ - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: '5'
68
+ version: '6'
83
69
  - !ruby/object:Gem::Dependency
84
- name: rspec-rails
70
+ name: capybara
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - "~>"
@@ -95,7 +81,7 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '3'
97
83
  - !ruby/object:Gem::Dependency
98
- name: capybara
84
+ name: rspec-rails
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
87
  - - "~>"
@@ -109,33 +95,33 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '3'
111
97
  - !ruby/object:Gem::Dependency
112
- name: jasmine
98
+ name: rubocop-govuk
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
- - - "~>"
101
+ - - '='
116
102
  - !ruby/object:Gem::Version
117
- version: '3'
103
+ version: 4.3.0
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
- - - "~>"
108
+ - - '='
123
109
  - !ruby/object:Gem::Version
124
- version: '3'
110
+ version: 4.3.0
125
111
  - !ruby/object:Gem::Dependency
126
- name: govuk-lint
112
+ name: sassc-rails
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - ">="
115
+ - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '0'
117
+ version: '2'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - ">="
122
+ - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '0'
124
+ version: '2'
139
125
  description: Styles, scripts and templates for GOV.UK admin applications
140
126
  email:
141
127
  - govuk-dev@digital.cabinet-office.gov.uk
@@ -198,6 +184,9 @@ files:
198
184
  - lib/govuk_admin_template/simple_form.rb
199
185
  - lib/govuk_admin_template/version.rb
200
186
  - lib/govuk_admin_template/view_helpers.rb
187
+ - lib/tasks/jasmine.rake
188
+ - lib/tasks/lint.rake
189
+ - lib/tasks/sass/check.rake
201
190
  homepage: https://github.com/alphagov/govuk_admin_template
202
191
  licenses: []
203
192
  metadata: {}
@@ -209,14 +198,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
198
  requirements:
210
199
  - - ">="
211
200
  - !ruby/object:Gem::Version
212
- version: 1.9.3
201
+ version: 2.7.2
213
202
  required_rubygems_version: !ruby/object:Gem::Requirement
214
203
  requirements:
215
204
  - - ">="
216
205
  - !ruby/object:Gem::Version
217
206
  version: '0'
218
207
  requirements: []
219
- rubygems_version: 3.0.1
208
+ rubygems_version: 3.3.9
220
209
  signing_key:
221
210
  specification_version: 4
222
211
  summary: Styles, scripts and templates for GOV.UK admin applications