govuk_elements_rails 3.1.0 → 3.1.2

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
  SHA1:
3
- metadata.gz: 0c11c3760410ddee2a303ad32a80c8538ad6d354
4
- data.tar.gz: 853ddbed025168693a3af55e7c97c59989e3aeab
3
+ metadata.gz: 1fe448dff48a121e14b22cae56969c1ddf6a9608
4
+ data.tar.gz: d0c986e531c847009d9c26e278c0b6b2c3820d5d
5
5
  SHA512:
6
- metadata.gz: cb6f9bea9029e360e7fe77b6750f76c02d0d3ca8b2ba7bf1e94ef4c69ac15a8509499a1c7f8880ae737e3360fe3104cdb7c7c92087c561083602b09ab8d9e071
7
- data.tar.gz: c8f62df813a18975d9f3a5805edb9769afccfe92eae7d67647472573b74474bce471a4bbfbb67cc92392bd0cab17f7a52cd578ddb87d5053f6cb565cdbab5e7e
6
+ metadata.gz: 8949b9bff5367d93db1385a3899e36218ba9cc7f56aa2e948d4acf6bb273018e29eb0ae58444c105ebc2c6aca760565e49ef543078d933eb514a6b93b49a8552
7
+ data.tar.gz: 23906c51650e39fa1ed82cd7f0f8dcda267460789f6360019093abde781a8e32e59eef2a0770ffc43d885b6172933f35ec293a617e75efa6ac361df383210479
data/README.md CHANGED
@@ -183,7 +183,7 @@ To add a javascript file to gem, create new symlink to `govuk_elements` file, li
183
183
  ```sh
184
184
  cd vendor/assets/javascripts/
185
185
  ls -l
186
- ln -s ../../../govuk_elements/public/javascripts/vendor/details.polyfill.js .
186
+ ln -s ../../../govuk_elements/assets/javascripts/govuk/details.polyfill.js .
187
187
  ls -l
188
188
  cd ../../..
189
189
  git add vendor/javascripts/details.polyfill.js
@@ -200,11 +200,6 @@ rake gem
200
200
  If you're happy all's ok, you can create a branch and commit:
201
201
 
202
202
  ```sh
203
- cd govuk_elements
204
- tag_sha=`git rev-parse HEAD`
205
- echo $tag_sha
206
- cd ..
207
-
208
203
  branch_name="update-$latest_tag"
209
204
  echo $branch_name
210
205
  git branch $branch_name
@@ -216,7 +211,7 @@ git add govuk_elements
216
211
 
217
212
  commit_msg="Upgrade to govuk_elements $latest_tag"
218
213
  commit_msg2="See govuk_elements $latest_tag changelog for details:"
219
- commit_msg3="https://github.com/alphagov/govuk_elements/blob/$tag_sha/CHANGELOG.md"
214
+ commit_msg3="https://github.com/alphagov/govuk_elements/blob/$latest_tag/packages/govuk-elements-sass/CHANGELOG.md"
220
215
 
221
216
  echo $commit_msg
222
217
  echo $commit_msg2
@@ -201,10 +201,12 @@ p,
201
201
  &:link,
202
202
  &:visited,
203
203
  &:hover,
204
+ a#{&}:focus,
204
205
  &:active {
205
206
  color: $black;
206
207
  }
207
208
 
209
+
208
210
  text-decoration: none;
209
211
  border-bottom: 1px solid $black;
210
212
 
@@ -234,7 +236,6 @@ p,
234
236
  }
235
237
 
236
238
  }
237
-
238
239
  // Code styles
239
240
  .code {
240
241
  color: $text-colour;
@@ -14,8 +14,10 @@
14
14
  @include media(desktop) {
15
15
  padding-bottom: $gutter * 3;
16
16
  }
17
- // Pressing enter when focus is on the skiplink sets focus on the #content area
18
- // Remove the blue outline
17
+
18
+ // DEPRECATED: Tabindex on #content
19
+ // https://github.com/alphagov/govuk_elements/pull/534
20
+ // We no longer recommend using tabindex on #content
19
21
  outline: none;
20
22
  }
21
23
 
@@ -15,7 +15,7 @@ table {
15
15
  border-bottom: 1px solid $border-colour;
16
16
  }
17
17
 
18
- th {
18
+ thead th {
19
19
  font-weight: 700;
20
20
  }
21
21
 
@@ -88,6 +88,7 @@
88
88
  border: solid;
89
89
  border-width: 0 0 5px 5px;
90
90
  background: transparent;
91
+ border-top-color: transparent;
91
92
  width: 17px;
92
93
  height: 7px;
93
94
  position: absolute;
@@ -116,8 +117,13 @@
116
117
  }
117
118
 
118
119
  // Disabled state
120
+ input:disabled {
121
+ cursor: default;
122
+ }
123
+
119
124
  input:disabled + label {
120
125
  @include opacity(0.5);
126
+ cursor: default;
121
127
  }
122
128
 
123
129
  &:last-child,
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_elements_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
- - Rob McKinnon
8
- - Government Digital Service
7
+ - GOV.UK Design System Team (Government Digital Service)
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2017-07-13 00:00:00.000000000 Z
11
+ date: 2017-10-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rails
@@ -54,10 +53,10 @@ dependencies:
54
53
  - !ruby/object:Gem::Version
55
54
  version: 6.0.2
56
55
  description: |-
57
- A gem wrapper around govuk_elements v3.1.0
58
- that pulls stylesheet and javascript files into a Rails app. Changelog: https://github.com/alphagov/govuk_elements/blob/7a860c7274fd83484ba42eefe1575e72aefaf55d
56
+ A gem wrapper around govuk_elements v3.1.2
57
+ that pulls stylesheet and javascript files into a Rails app. Changelog: https://github.com/alphagov/govuk_elements/blob/85644af5e31e9a28be3c8325978c258334a47764
59
58
  /CHANGELOG.md
60
- email: robin.whittleton@digital.cabinet-office.gov.uk
59
+ email: design-system-developers@digital.cabinet-office.gov.uk
61
60
  executables: []
62
61
  extensions: []
63
62
  extra_rdoc_files:
@@ -67,7 +66,6 @@ files:
67
66
  - README.md
68
67
  - lib/govuk_elements_rails.rb
69
68
  - lib/govuk_elements_rails/engine.rb
70
- - vendor/assets/javascripts/details.polyfill.js
71
69
  - vendor/assets/stylesheets/_govuk-elements.scss
72
70
  - vendor/assets/stylesheets/elements/_breadcrumbs.scss
73
71
  - vendor/assets/stylesheets/elements/_buttons.scss
@@ -110,7 +108,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
108
  version: '0'
111
109
  requirements: []
112
110
  rubyforge_project:
113
- rubygems_version: 2.6.10
111
+ rubygems_version: 2.6.12
114
112
  signing_key:
115
113
  specification_version: 4
116
114
  summary: A gem wrapper around http://github.com/alphagov/govuk_elements that pulls
@@ -1,217 +0,0 @@
1
- // <details> polyfill
2
- // http://caniuse.com/#feat=details
3
-
4
- // FF Support for HTML5's <details> and <summary>
5
- // https://bugzilla.mozilla.org/show_bug.cgi?id=591737
6
-
7
- // http://www.sitepoint.com/fixing-the-details-element/
8
-
9
- ;(function () {
10
- 'use strict'
11
-
12
- var NATIVE_DETAILS = typeof document.createElement('details').open === 'boolean'
13
- var KEY_ENTER = 13
14
- var KEY_SPACE = 32
15
-
16
- // Add event construct for modern browsers or IE
17
- // which fires the callback with a pre-converted target reference
18
- function addEvent (node, type, callback) {
19
- if (node.addEventListener) {
20
- node.addEventListener(type, function (e) {
21
- callback(e, e.target)
22
- }, false)
23
- } else if (node.attachEvent) {
24
- node.attachEvent('on' + type, function (e) {
25
- callback(e, e.srcElement)
26
- })
27
- }
28
- }
29
-
30
- // Cross-browser character code / key pressed
31
- function charCode (e) {
32
- return (typeof e.which === 'number') ? e.which : e.keyCode
33
- }
34
-
35
- // Cross-browser preventing default action
36
- function preventDefault (e) {
37
- if (e.preventDefault) {
38
- e.preventDefault()
39
- } else {
40
- e.returnValue = false
41
- }
42
- }
43
-
44
- // Handle cross-modal click events
45
- function addClickEvent (node, callback) {
46
- addEvent(node, 'keypress', function (e, target) {
47
- // When the key gets pressed - check if it is enter or space
48
- if (charCode(e) === KEY_ENTER || charCode(e) === KEY_SPACE) {
49
- if (target.nodeName.toLowerCase() === 'summary') {
50
- // Prevent space from scrolling the page
51
- // and enter from submitting a form
52
- preventDefault(e)
53
- // Click to let the click event do all the necessary action
54
- if (target.click) {
55
- target.click()
56
- } else {
57
- // except Safari 5.1 and under don't support .click() here
58
- callback(e, target)
59
- }
60
- }
61
- }
62
- })
63
-
64
- // Prevent keyup to prevent clicking twice in Firefox when using space key
65
- addEvent(node, 'keyup', function (e, target) {
66
- if (charCode(e) === KEY_SPACE) {
67
- if (target.nodeName === 'SUMMARY') {
68
- preventDefault(e)
69
- }
70
- }
71
- })
72
-
73
- addEvent(node, 'click', function (e, target) {
74
- callback(e, target)
75
- })
76
- }
77
-
78
- // Get the nearest ancestor element of a node that matches a given tag name
79
- function getAncestor (node, match) {
80
- do {
81
- if (!node || node.nodeName.toLowerCase() === match) {
82
- break
83
- }
84
- node = node.parentNode
85
- } while (node)
86
-
87
- return node
88
- }
89
-
90
- // Create a started flag so we can prevent the initialisation
91
- // function firing from both DOMContentLoaded and window.onload
92
- var started = false
93
-
94
- // Initialisation function
95
- function addDetailsPolyfill (list) {
96
- // If this has already happened, just return
97
- // else set the flag so it doesn't happen again
98
- if (started) {
99
- return
100
- }
101
- started = true
102
-
103
- // Get the collection of details elements, but if that's empty
104
- // then we don't need to bother with the rest of the scripting
105
- if ((list = document.getElementsByTagName('details')).length === 0) {
106
- return
107
- }
108
-
109
- // else iterate through them to apply their initial state
110
- var n = list.length
111
- var i = 0
112
- for (i; i < n; i++) {
113
- var details = list[i]
114
-
115
- // Save shortcuts to the inner summary and content elements
116
- details.__summary = details.getElementsByTagName('summary').item(0)
117
- details.__content = details.getElementsByTagName('div').item(0)
118
-
119
- // If the content doesn't have an ID, assign it one now
120
- // which we'll need for the summary's aria-controls assignment
121
- if (!details.__content.id) {
122
- details.__content.id = 'details-content-' + i
123
- }
124
-
125
- // Add ARIA role="group" to details
126
- details.setAttribute('role', 'group')
127
-
128
- // Add role=button to summary
129
- details.__summary.setAttribute('role', 'button')
130
-
131
- // Add aria-controls
132
- details.__summary.setAttribute('aria-controls', details.__content.id)
133
-
134
- // Set tabIndex so the summary is keyboard accessible for non-native elements
135
- // http://www.saliences.com/browserBugs/tabIndex.html
136
- if (!NATIVE_DETAILS) {
137
- details.__summary.tabIndex = 0
138
- }
139
-
140
- // Detect initial open state
141
- var openAttr = details.getAttribute('open') !== null
142
- if (openAttr === true) {
143
- details.__summary.setAttribute('aria-expanded', 'true')
144
- details.__content.setAttribute('aria-hidden', 'false')
145
- } else {
146
- details.__summary.setAttribute('aria-expanded', 'false')
147
- details.__content.setAttribute('aria-hidden', 'true')
148
- if (!NATIVE_DETAILS) {
149
- details.__content.style.display = 'none'
150
- }
151
- }
152
-
153
- // Create a circular reference from the summary back to its
154
- // parent details element, for convenience in the click handler
155
- details.__summary.__details = details
156
-
157
- // If this is not a native implementation, create an arrow
158
- // inside the summary
159
- if (!NATIVE_DETAILS) {
160
- var twisty = document.createElement('i')
161
-
162
- if (openAttr === true) {
163
- twisty.className = 'arrow arrow-open'
164
- twisty.appendChild(document.createTextNode('\u25bc'))
165
- } else {
166
- twisty.className = 'arrow arrow-closed'
167
- twisty.appendChild(document.createTextNode('\u25ba'))
168
- }
169
-
170
- details.__summary.__twisty = details.__summary.insertBefore(twisty, details.__summary.firstChild)
171
- details.__summary.__twisty.setAttribute('aria-hidden', 'true')
172
- }
173
- }
174
-
175
- // Define a statechange function that updates aria-expanded and style.display
176
- // Also update the arrow position
177
- function statechange (summary) {
178
- var expanded = summary.__details.__summary.getAttribute('aria-expanded') === 'true'
179
- var hidden = summary.__details.__content.getAttribute('aria-hidden') === 'true'
180
-
181
- summary.__details.__summary.setAttribute('aria-expanded', (expanded ? 'false' : 'true'))
182
- summary.__details.__content.setAttribute('aria-hidden', (hidden ? 'false' : 'true'))
183
-
184
- if (!NATIVE_DETAILS) {
185
- summary.__details.__content.style.display = (expanded ? 'none' : '')
186
-
187
- var hasOpenAttr = summary.__details.getAttribute('open') !== null
188
- if (!hasOpenAttr) {
189
- summary.__details.setAttribute('open', 'open')
190
- } else {
191
- summary.__details.removeAttribute('open')
192
- }
193
- }
194
-
195
- if (summary.__twisty) {
196
- summary.__twisty.firstChild.nodeValue = (expanded ? '\u25ba' : '\u25bc')
197
- summary.__twisty.setAttribute('class', (expanded ? 'arrow arrow-closed' : 'arrow arrow-open'))
198
- }
199
-
200
- return true
201
- }
202
-
203
- // Bind a click event to handle summary elements
204
- addClickEvent(document, function (e, summary) {
205
- if (!(summary = getAncestor(summary, 'summary'))) {
206
- return true
207
- }
208
- return statechange(summary)
209
- })
210
- }
211
-
212
- // Bind two load events for modern and older browsers
213
- // If the first one fires it will set a flag to block the second one
214
- // but if it's not supported then the second one will fire
215
- addEvent(document, 'DOMContentLoaded', addDetailsPolyfill)
216
- addEvent(window, 'load', addDetailsPolyfill)
217
- })()