govuk_admin_template 6.7.0 → 6.9.0

Sign up to get free protection for your applications and to get access to all the features.
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