govuk_publishing_components 27.10.3 → 27.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/explicit-cross-domain-links.js +1 -1
  3. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +1 -0
  4. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  5. data/app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss +6 -4
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +232 -97
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_single-page-notification-button.scss +30 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_prefixed-transform.scss +5 -0
  9. data/app/models/govuk_publishing_components/shared_accessibility_criteria.rb +17 -0
  10. data/app/views/govuk_publishing_components/components/_input.html.erb +35 -22
  11. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +29 -41
  12. data/app/views/govuk_publishing_components/components/_search.html.erb +2 -1
  13. data/app/views/govuk_publishing_components/components/_single_page_notification_button.html.erb +23 -0
  14. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +4 -5
  15. data/app/views/govuk_publishing_components/components/docs/input.yml +10 -0
  16. data/app/views/govuk_publishing_components/components/docs/single_page_notification_button.yml +32 -0
  17. data/app/views/govuk_publishing_components/components/search/_search_icon.html.erb +5 -5
  18. data/config/locales/ar.yml +0 -3
  19. data/config/locales/az.yml +0 -3
  20. data/config/locales/be.yml +0 -3
  21. data/config/locales/bg.yml +0 -3
  22. data/config/locales/bn.yml +0 -3
  23. data/config/locales/cs.yml +0 -3
  24. data/config/locales/cy.yml +0 -3
  25. data/config/locales/da.yml +0 -3
  26. data/config/locales/de.yml +0 -3
  27. data/config/locales/dr.yml +0 -3
  28. data/config/locales/el.yml +0 -3
  29. data/config/locales/en.yml +7 -6
  30. data/config/locales/es-419.yml +0 -3
  31. data/config/locales/es.yml +0 -3
  32. data/config/locales/et.yml +0 -3
  33. data/config/locales/fa.yml +0 -3
  34. data/config/locales/fi.yml +0 -3
  35. data/config/locales/fr.yml +0 -3
  36. data/config/locales/gd.yml +0 -3
  37. data/config/locales/gu.yml +0 -3
  38. data/config/locales/he.yml +0 -3
  39. data/config/locales/hi.yml +0 -3
  40. data/config/locales/hr.yml +0 -3
  41. data/config/locales/hu.yml +0 -3
  42. data/config/locales/hy.yml +0 -3
  43. data/config/locales/id.yml +0 -3
  44. data/config/locales/is.yml +0 -3
  45. data/config/locales/it.yml +0 -3
  46. data/config/locales/ja.yml +0 -3
  47. data/config/locales/ka.yml +0 -3
  48. data/config/locales/kk.yml +0 -3
  49. data/config/locales/ko.yml +0 -3
  50. data/config/locales/lt.yml +0 -3
  51. data/config/locales/lv.yml +0 -3
  52. data/config/locales/ms.yml +0 -3
  53. data/config/locales/mt.yml +0 -3
  54. data/config/locales/nl.yml +0 -3
  55. data/config/locales/no.yml +0 -3
  56. data/config/locales/pa-pk.yml +0 -3
  57. data/config/locales/pa.yml +0 -3
  58. data/config/locales/pl.yml +0 -3
  59. data/config/locales/ps.yml +0 -3
  60. data/config/locales/pt.yml +0 -3
  61. data/config/locales/ro.yml +0 -3
  62. data/config/locales/ru.yml +0 -3
  63. data/config/locales/si.yml +0 -3
  64. data/config/locales/sk.yml +0 -3
  65. data/config/locales/sl.yml +0 -3
  66. data/config/locales/so.yml +0 -3
  67. data/config/locales/sq.yml +0 -3
  68. data/config/locales/sr.yml +0 -3
  69. data/config/locales/sv.yml +0 -3
  70. data/config/locales/sw.yml +0 -3
  71. data/config/locales/ta.yml +0 -3
  72. data/config/locales/th.yml +0 -3
  73. data/config/locales/tk.yml +0 -3
  74. data/config/locales/tr.yml +0 -3
  75. data/config/locales/uk.yml +0 -3
  76. data/config/locales/ur.yml +0 -3
  77. data/config/locales/uz.yml +0 -3
  78. data/config/locales/vi.yml +0 -3
  79. data/config/locales/zh-hk.yml +0 -3
  80. data/config/locales/zh-tw.yml +0 -3
  81. data/config/locales/zh.yml +0 -3
  82. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +11 -0
  83. data/lib/govuk_publishing_components/version.rb +1 -1
  84. data/lib/govuk_publishing_components.rb +0 -1
  85. data/node_modules/govuk-frontend/govuk/components/accordion/macro-options.json +2 -2
  86. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +3 -3
  87. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +3 -4
  88. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +9 -0
  89. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +6 -6
  90. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss +14 -0
  91. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +8 -8
  92. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +1 -1
  93. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +5 -5
  94. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +2 -1
  95. data/node_modules/govuk-frontend/govuk/components/details/macro-options.json +2 -2
  96. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +3 -3
  97. data/node_modules/govuk-frontend/govuk/components/fieldset/macro-options.json +1 -1
  98. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +1 -0
  99. data/node_modules/govuk-frontend/govuk/components/file-upload/macro-options.json +4 -4
  100. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +3 -0
  101. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +2 -2
  102. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +6 -6
  103. data/node_modules/govuk-frontend/govuk/components/hint/macro-options.json +1 -1
  104. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +7 -7
  105. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +1 -1
  106. data/node_modules/govuk-frontend/govuk/components/label/macro-options.json +1 -1
  107. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +13 -1
  108. data/node_modules/govuk-frontend/govuk/components/panel/macro-options.json +1 -1
  109. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss +14 -0
  110. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +8 -8
  111. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +3 -3
  112. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +2 -2
  113. data/node_modules/govuk-frontend/govuk/components/summary-list/macro-options.json +7 -7
  114. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +4 -4
  115. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +5 -5
  116. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +2 -2
  117. data/node_modules/govuk-frontend/govuk/helpers/_spacing.scss +22 -4
  118. data/node_modules/govuk-frontend/govuk/overrides/_all.scss +1 -0
  119. data/node_modules/govuk-frontend/govuk/overrides/_text-align.scss +20 -0
  120. data/node_modules/govuk-frontend/package.json +1 -1
  121. metadata +21 -17
  122. data/lib/govuk_publishing_components/presenters/brexit_cta_helper.rb +0 -33
@@ -166,9 +166,6 @@ ja:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ka:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ kk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ko:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ lt:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ lv:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ms:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ mt:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ nl:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ pa-pk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ pa:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ pl:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ps:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ pt:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ro:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ru:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ si:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sl:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ so:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sq:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sr:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sv:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ sw:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ta:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ th:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ tk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ tr:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ uk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ ur:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ uz:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ vi:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ zh-hk:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ zh-tw:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -166,9 +166,6 @@ zh:
166
166
  topical_events:
167
167
  topics:
168
168
  transition:
169
- hub_page_link_path:
170
- hub_page_link_text:
171
- hub_page_title:
172
169
  link_path:
173
170
  link_text:
174
171
  title:
@@ -179,6 +179,17 @@ module GovukPublishingComponents
179
179
  4ca8698b-4a24-45ff-baea-7633cc24b679
180
180
  ed73581f-9bf8-48b5-bb66-935581a255e3
181
181
  15f1c594-af1d-4f16-97cc-ad4d12017509
182
+ ] + brexit_hub_pages
183
+ end
184
+
185
+ # we don't want to show the standard Brexit sidebar nav on
186
+ # https://www.gov.uk/guidance/brexit-guidance-for-individuals-and-families or
187
+ # https://www.gov.uk/guidance/brexit-guidance-for-businesses
188
+ # as it might result in circular journeys
189
+ def brexit_hub_pages
190
+ %w[
191
+ 91cd6143-69d5-4f27-99ff-a52fb0d51c78
192
+ 6555e0bf-c270-4cf9-a0c5-d20b95fab7f1
182
193
  ]
183
194
  end
184
195
 
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "27.10.3".freeze
2
+ VERSION = "27.12.0".freeze
3
3
  end
@@ -8,7 +8,6 @@ require "govuk_publishing_components/presenters/shared_helper"
8
8
  require "govuk_publishing_components/presenters/attachment"
9
9
  require "govuk_publishing_components/presenters/breadcrumbs"
10
10
  require "govuk_publishing_components/presenters/breadcrumb_selector"
11
- require "govuk_publishing_components/presenters/brexit_cta_helper"
12
11
  require "govuk_publishing_components/presenters/button_helper"
13
12
  require "govuk_publishing_components/presenters/contextual_navigation"
14
13
  require "govuk_publishing_components/presenters/devolved_nations_helper"
@@ -3,13 +3,13 @@
3
3
  "name": "id",
4
4
  "type": "string",
5
5
  "required": true,
6
- "description": "Must be **unique** across the domain of your service (as the expanded state of individual instances of the component persists across page loads using [`sessionStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)). Used as an `id` in the HTML for the accordion as a whole, and also as a prefix for the `id`s of the section contents and the buttons that open them, so that those `id`s can be the target of `aria-labelledby` and `aria-control` attributes."
6
+ "description": "Must be unique across the domain of your service (as the expanded state of individual instances of the component persists across page loads using [`sessionStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)). Used as an `id` in the HTML for the accordion as a whole, and also as a prefix for the `id`s of the section contents and the buttons that open them, so that those `id`s can be the target of `aria-labelledby` and `aria-control` attributes."
7
7
  },
8
8
  {
9
9
  "name": "headingLevel",
10
10
  "type": "integer",
11
11
  "required": false,
12
- "description": "Heading level, from 1 to 6. Default is `2`."
12
+ "description": "Heading level, from `1` to `6`. Default is `2`."
13
13
  },
14
14
  {
15
15
  "name": "classes",
@@ -3,19 +3,19 @@
3
3
  "name": "text",
4
4
  "type": "string",
5
5
  "required": false,
6
- "description": "Text to use within the back link component. If `html` is provided, the `text` argument will be ignored. Defaults to \"Back\"."
6
+ "description": "Text to use within the back link component. If `html` is provided, the `text` argument will be ignored. Defaults to 'Back'."
7
7
  },
8
8
  {
9
9
  "name": "html",
10
10
  "type": "string",
11
11
  "required": false,
12
- "description": "HTML to use within the back link component. If `html` is provided, the `text` argument will be ignored. Defaults to \"Back\"."
12
+ "description": "HTML to use within the back link component. If `html` is provided, the `text` argument will be ignored. Defaults to 'Back'."
13
13
  },
14
14
  {
15
15
  "name": "href",
16
16
  "type": "string",
17
17
  "required": true,
18
- "description": "The value of the link href attribute."
18
+ "description": "The value of the link's `href` attribute."
19
19
  },
20
20
  {
21
21
  "name": "classes",
@@ -158,10 +158,6 @@
158
158
  cursor: default;
159
159
  }
160
160
 
161
- &:focus {
162
- outline: none;
163
- }
164
-
165
161
  &:active {
166
162
  top: 0;
167
163
  box-shadow: 0 $button-shadow-size 0 $govuk-button-shadow-colour; // s0
@@ -270,6 +266,9 @@
270
266
  -webkit-align-self: center;
271
267
  -ms-flex-item-align: center;
272
268
  align-self: center;
269
+ // Work around SVGs not inheriting color from parent in forced color mode
270
+ // (https://github.com/w3c/csswg-drafts/issues/6310)
271
+ forced-color-adjust: auto;
273
272
  }
274
273
 
275
274
  @if $govuk-use-legacy-font {
@@ -37,6 +37,15 @@
37
37
  "html": "<a href=\"/\" role=\"button\" draggable=\"false\" class=\"govuk-button govuk-button--disabled\" data-module=\"govuk-button\">\n Disabled link button\n</a>",
38
38
  "hidden": false
39
39
  },
40
+ {
41
+ "name": "start",
42
+ "options": {
43
+ "text": "Start now button",
44
+ "isStartButton": true
45
+ },
46
+ "html": "<button class=\"govuk-button govuk-button--start\" data-module=\"govuk-button\">\n Start now button\n <svg class=\"govuk-button__start-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"17.5\" height=\"19\" viewBox=\"0 0 33 40\" aria-hidden=\"true\" focusable=\"false\">\n <path fill=\"currentColor\" d=\"M0 0h13l20 20-20 20H0l20-20z\"/>\n </svg></button>",
47
+ "hidden": false
48
+ },
40
49
  {
41
50
  "name": "start link",
42
51
  "options": {
@@ -3,7 +3,7 @@
3
3
  "name": "id",
4
4
  "type": "string",
5
5
  "required": true,
6
- "description": "The id of the textarea."
6
+ "description": "The ID of the textarea."
7
7
  },
8
8
  {
9
9
  "name": "name",
@@ -66,13 +66,13 @@
66
66
  "name": "formGroup",
67
67
  "type": "object",
68
68
  "required": false,
69
- "description": "Options for the form-group wrapper",
69
+ "description": "Options for the form-group wrapper.",
70
70
  "params": [
71
71
  {
72
72
  "name": "classes",
73
73
  "type": "string",
74
74
  "required": false,
75
- "description": "Classes to add to the form group (for example to show error state for the whole group)"
75
+ "description": "Classes to add to the form group (for example to show error state for the whole group)."
76
76
  }
77
77
  ]
78
78
  },
@@ -92,19 +92,19 @@
92
92
  "name": "spellcheck",
93
93
  "type": "boolean",
94
94
  "required": false,
95
- "description": "Optional field to enable or disable the spellcheck attribute on the character count."
95
+ "description": "Optional field to enable or disable the `spellcheck` attribute on the character count."
96
96
  },
97
97
  {
98
98
  "name": "countMessage",
99
99
  "type": "object",
100
100
  "required": false,
101
- "description": "Options for the count message",
101
+ "description": "Options for the count message.",
102
102
  "params": [
103
103
  {
104
104
  "name": "classes",
105
105
  "type": "string",
106
106
  "required": false,
107
- "description": "Classes to add to the count message"
107
+ "description": "Classes to add to the count message."
108
108
  }
109
109
  ]
110
110
  }
@@ -127,6 +127,20 @@
127
127
  // Focused state
128
128
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
129
129
  border-width: 4px;
130
+
131
+ // When colours are overridden, the yellow box-shadow becomes invisible
132
+ // which means the focus state is less obvious. By adding a transparent
133
+ // outline, which becomes solid (text-coloured) in that context, we ensure
134
+ // the focus remains clearly visible.
135
+ outline: $govuk-focus-width solid transparent;
136
+ outline-offset: 1px;
137
+
138
+ // When in an explicit forced-color mode, we can use the Highlight system
139
+ // color for the outline to better match focus states of native controls
140
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
141
+ outline-color: Highlight;
142
+ }
143
+
130
144
  box-shadow: 0 0 0 $govuk-focus-width $govuk-focus-colour;
131
145
  }
132
146
 
@@ -30,13 +30,13 @@
30
30
  "name": "formGroup",
31
31
  "type": "object",
32
32
  "required": false,
33
- "description": "Options for the form-group wrapper",
33
+ "description": "Options for the form-group wrapper.",
34
34
  "params": [
35
35
  {
36
36
  "name": "classes",
37
37
  "type": "string",
38
38
  "required": false,
39
- "description": "Classes to add to the form group (for example to show error state for the whole group)"
39
+ "description": "Classes to add to the form group (for example to show error state for the whole group)."
40
40
  }
41
41
  ]
42
42
  },
@@ -74,7 +74,7 @@
74
74
  "name": "id",
75
75
  "type": "string",
76
76
  "required": false,
77
- "description": "Specific id attribute for the checkbox item. If omitted, then component global `idPrefix` option will be applied."
77
+ "description": "Specific ID attribute for the checkbox item. If omitted, then component global `idPrefix` option will be applied."
78
78
  },
79
79
  {
80
80
  "name": "name",
@@ -106,19 +106,19 @@
106
106
  "name": "divider",
107
107
  "type": "string",
108
108
  "required": false,
109
- "description": "Divider text to separate checkbox items, for example the text \"or\"."
109
+ "description": "Divider text to separate checkbox items, for example the text 'or'."
110
110
  },
111
111
  {
112
112
  "name": "checked",
113
113
  "type": "boolean",
114
114
  "required": false,
115
- "description": "If true, checkbox will be checked."
115
+ "description": "If `true`, checkbox will be checked."
116
116
  },
117
117
  {
118
118
  "name": "conditional",
119
119
  "type": "boolean",
120
120
  "required": false,
121
- "description": "If true, content provided will be revealed when the item is checked."
121
+ "description": "If `true`, content provided will be revealed when the item is checked."
122
122
  },
123
123
  {
124
124
  "name": "conditional.html",
@@ -130,13 +130,13 @@
130
130
  "name": "behaviour",
131
131
  "type": "string",
132
132
  "required": false,
133
- "description": "If set to `exclusive`, implements a \"None of these\" type behaviour via javascript when checkboxes are clicked"
133
+ "description": "If set to `exclusive`, implements a 'None of these' type behaviour via JavaScript when checkboxes are clicked."
134
134
  },
135
135
  {
136
136
  "name": "disabled",
137
137
  "type": "boolean",
138
138
  "required": false,
139
- "description": "If true, checkbox will be disabled."
139
+ "description": "If `true`, checkbox will be disabled."
140
140
  },
141
141
  {
142
142
  "name": "attributes",