govuk_publishing_components 32.1.0 → 35.0.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.
Files changed (496) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/app/assets/config/govuk_publishing_components_manifest.js +75 -1
  4. data/app/assets/images/govuk_publishing_components/icon-search.svg +3 -0
  5. data/app/assets/images/govuk_publishing_components/youtube-play-icon.png +0 -0
  6. data/app/assets/images/govuk_publishing_components/youtube-play-icon.svg +4 -0
  7. data/app/assets/javascripts/component_guide/accessibility-test.js +0 -1
  8. data/app/assets/javascripts/govuk_publishing_components/analytics/auto-scroll-tracker.js +2 -1
  9. data/app/assets/javascripts/govuk_publishing_components/analytics/linked-domains.js +135 -0
  10. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-auto-tracker.js +49 -0
  11. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +341 -27
  12. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-ecommerce-tracker.js +17 -92
  13. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +11 -23
  14. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js +121 -0
  15. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +86 -305
  16. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +13 -6
  17. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-schemas.js +31 -1
  18. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-smart-answer-results-tracker.js +57 -0
  19. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-specialist-link-tracker.js +131 -0
  20. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/init-ga4.js +9 -4
  21. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js +4 -2
  22. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +4 -0
  23. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +12 -1
  24. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +2 -2
  25. data/app/assets/javascripts/govuk_publishing_components/components/image-card.js +19 -0
  26. data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +2 -81
  27. data/app/assets/javascripts/govuk_publishing_components/components/single-page-notification-button.js +24 -8
  28. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +23 -1
  29. data/app/assets/javascripts/govuk_publishing_components/dependencies.js +13 -0
  30. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +3 -2
  31. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +1 -0
  32. data/app/assets/javascripts/govuk_publishing_components/load-analytics.js +116 -0
  33. data/app/assets/javascripts/govuk_publishing_components/modules.js +7 -2
  34. data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +140 -191
  35. data/app/assets/stylesheets/govuk_publishing_components/_individual_component_support.scss +10 -0
  36. data/app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss +29 -0
  37. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +2 -0
  38. data/app/assets/stylesheets/govuk_publishing_components/components/_attachment.scss +2 -0
  39. data/app/assets/stylesheets/govuk_publishing_components/components/_back-link.scss +1 -0
  40. data/app/assets/stylesheets/govuk_publishing_components/components/_big-number.scss +4 -5
  41. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +1 -0
  42. data/app/assets/stylesheets/govuk_publishing_components/components/_button.scss +12 -0
  43. data/app/assets/stylesheets/govuk_publishing_components/components/_cards.scss +20 -0
  44. data/app/assets/stylesheets/govuk_publishing_components/components/_character-count.scss +1 -0
  45. data/app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss +1 -0
  46. data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +21 -0
  47. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-guidance.scss +2 -0
  48. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +2 -0
  49. data/app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss +7 -0
  50. data/app/assets/stylesheets/govuk_publishing_components/components/_date-input.scss +1 -0
  51. data/app/assets/stylesheets/govuk_publishing_components/components/_details.scss +1 -0
  52. data/app/assets/stylesheets/govuk_publishing_components/components/_devolved-nations.scss +2 -0
  53. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +8 -0
  54. data/app/assets/stylesheets/govuk_publishing_components/components/_emergency-banner.scss +8 -0
  55. data/app/assets/stylesheets/govuk_publishing_components/components/_error-alert.scss +2 -0
  56. data/app/assets/stylesheets/govuk_publishing_components/components/_error-message.scss +1 -0
  57. data/app/assets/stylesheets/govuk_publishing_components/components/_error-summary.scss +1 -0
  58. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +17 -19
  59. data/app/assets/stylesheets/govuk_publishing_components/components/_fieldset.scss +1 -0
  60. data/app/assets/stylesheets/govuk_publishing_components/components/_file-upload.scss +1 -0
  61. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +10 -0
  62. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak.scss +85 -0
  63. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +2 -0
  64. data/app/assets/stylesheets/govuk_publishing_components/components/_hint.scss +1 -0
  65. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +85 -6
  66. data/app/assets/stylesheets/govuk_publishing_components/components/_input.scss +6 -6
  67. data/app/assets/stylesheets/govuk_publishing_components/components/_inset-text.scss +1 -0
  68. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +2 -0
  69. data/app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss +2 -0
  70. data/app/assets/stylesheets/govuk_publishing_components/components/_label.scss +1 -0
  71. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +1 -0
  72. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-for-public.scss +2 -0
  73. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +253 -483
  74. data/app/assets/stylesheets/govuk_publishing_components/components/_lead-paragraph.scss +2 -0
  75. data/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss +2 -0
  76. data/app/assets/stylesheets/govuk_publishing_components/components/_modal-dialogue.scss +2 -0
  77. data/app/assets/stylesheets/govuk_publishing_components/components/_notice.scss +1 -0
  78. data/app/assets/stylesheets/govuk_publishing_components/components/_organisation-logo.scss +2 -0
  79. data/app/assets/stylesheets/govuk_publishing_components/components/_panel.scss +1 -0
  80. data/app/assets/stylesheets/govuk_publishing_components/components/_phase-banner.scss +1 -0
  81. data/app/assets/stylesheets/govuk_publishing_components/components/_previous-and-next-navigation.scss +1 -0
  82. data/app/assets/stylesheets/govuk_publishing_components/components/_print-link.scss +2 -0
  83. data/app/assets/stylesheets/govuk_publishing_components/components/_radio.scss +1 -0
  84. data/app/assets/stylesheets/govuk_publishing_components/components/_related-navigation.scss +2 -0
  85. data/app/assets/stylesheets/govuk_publishing_components/components/_reorderable-list.scss +2 -0
  86. data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +2 -7
  87. data/app/assets/stylesheets/govuk_publishing_components/components/_select.scss +1 -0
  88. data/app/assets/stylesheets/govuk_publishing_components/components/_share-links.scss +2 -0
  89. data/app/assets/stylesheets/govuk_publishing_components/components/_show-password.scss +2 -0
  90. data/app/assets/stylesheets/govuk_publishing_components/components/_signup-link.scss +2 -0
  91. data/app/assets/stylesheets/govuk_publishing_components/components/_single-page-notification-button.scss +2 -0
  92. data/app/assets/stylesheets/govuk_publishing_components/components/_skip-link.scss +1 -0
  93. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +17 -0
  94. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +2 -0
  95. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +8 -0
  96. data/app/assets/stylesheets/govuk_publishing_components/components/_subscription-links.scss +2 -1
  97. data/app/assets/stylesheets/govuk_publishing_components/components/_success-alert.scss +1 -0
  98. data/app/assets/stylesheets/govuk_publishing_components/components/_summary-list.scss +1 -0
  99. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +1 -0
  100. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +1 -0
  101. data/app/assets/stylesheets/govuk_publishing_components/components/_textarea.scss +17 -0
  102. data/app/assets/stylesheets/govuk_publishing_components/components/_title.scss +12 -0
  103. data/app/assets/stylesheets/govuk_publishing_components/components/_translation-nav.scss +2 -0
  104. data/app/assets/stylesheets/govuk_publishing_components/components/_warning-text.scss +1 -0
  105. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +26 -9
  106. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_tables.scss +12 -0
  107. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_brand-colours.scss +2 -2
  108. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_contents-list-helper.scss +0 -1
  109. data/app/controllers/govuk_publishing_components/application_controller.rb +0 -13
  110. data/app/controllers/govuk_publishing_components/audit_controller.rb +1 -1
  111. data/app/controllers/govuk_publishing_components/component_guide_controller.rb +6 -9
  112. data/app/models/govuk_publishing_components/audit_applications.rb +10 -19
  113. data/app/models/govuk_publishing_components/audit_comparer.rb +29 -24
  114. data/app/models/govuk_publishing_components/audit_components.rb +157 -82
  115. data/app/models/govuk_publishing_components/component_doc.rb +14 -0
  116. data/app/models/govuk_publishing_components/component_wrapper_helper_options.rb +15 -0
  117. data/app/views/govuk_publishing_components/audit/_applications.html.erb +3 -3
  118. data/app/views/govuk_publishing_components/audit/_component_contents.html.erb +47 -39
  119. data/app/views/govuk_publishing_components/audit/_components.html.erb +47 -2
  120. data/app/views/govuk_publishing_components/component_guide/_application_stylesheet.html.erb +0 -3
  121. data/app/views/govuk_publishing_components/component_guide/index.html.erb +0 -7
  122. data/app/views/govuk_publishing_components/component_guide/show.html.erb +21 -6
  123. data/app/views/govuk_publishing_components/components/_accordion.html.erb +30 -36
  124. data/app/views/govuk_publishing_components/components/_action_link.html.erb +7 -2
  125. data/app/views/govuk_publishing_components/components/_attachment.html.erb +2 -0
  126. data/app/views/govuk_publishing_components/components/_attachment_link.html.erb +2 -0
  127. data/app/views/govuk_publishing_components/components/_back_link.html.erb +2 -0
  128. data/app/views/govuk_publishing_components/components/_big_number.html.erb +3 -1
  129. data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +8 -2
  130. data/app/views/govuk_publishing_components/components/_button.html.erb +2 -0
  131. data/app/views/govuk_publishing_components/components/_cards.html.erb +6 -4
  132. data/app/views/govuk_publishing_components/components/_character_count.html.erb +2 -0
  133. data/app/views/govuk_publishing_components/components/_checkboxes.html.erb +6 -2
  134. data/app/views/govuk_publishing_components/components/_contents_list.html.erb +11 -15
  135. data/app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb +7 -4
  136. data/app/views/govuk_publishing_components/components/_contextual_footer.html.erb +2 -0
  137. data/app/views/govuk_publishing_components/components/_contextual_guidance.html.erb +2 -0
  138. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +13 -6
  139. data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +12 -6
  140. data/app/views/govuk_publishing_components/components/_date_input.html.erb +2 -0
  141. data/app/views/govuk_publishing_components/components/_details.html.erb +5 -1
  142. data/app/views/govuk_publishing_components/components/_devolved_nations.html.erb +2 -0
  143. data/app/views/govuk_publishing_components/components/_document_list.html.erb +3 -0
  144. data/app/views/govuk_publishing_components/components/_emergency_banner.html.erb +2 -0
  145. data/app/views/govuk_publishing_components/components/_error_alert.html.erb +2 -0
  146. data/app/views/govuk_publishing_components/components/_error_message.html.erb +4 -1
  147. data/app/views/govuk_publishing_components/components/_error_summary.html.erb +29 -26
  148. data/app/views/govuk_publishing_components/components/_feedback.html.erb +2 -0
  149. data/app/views/govuk_publishing_components/components/_fieldset.html.erb +2 -0
  150. data/app/views/govuk_publishing_components/components/_file_upload.html.erb +2 -0
  151. data/app/views/govuk_publishing_components/components/_google_tag_manager_script.html.erb +2 -2
  152. data/app/views/govuk_publishing_components/components/_govspeak.html.erb +1 -0
  153. data/app/views/govuk_publishing_components/components/_govspeak_html_publication.html.erb +2 -0
  154. data/app/views/govuk_publishing_components/components/_heading.html.erb +2 -0
  155. data/app/views/govuk_publishing_components/components/_hint.html.erb +4 -1
  156. data/app/views/govuk_publishing_components/components/_image_card.html.erb +17 -12
  157. data/app/views/govuk_publishing_components/components/_input.html.erb +10 -2
  158. data/app/views/govuk_publishing_components/components/_inset_text.html.erb +2 -0
  159. data/app/views/govuk_publishing_components/components/_intervention.html.erb +2 -0
  160. data/app/views/govuk_publishing_components/components/_inverse_header.html.erb +2 -0
  161. data/app/views/govuk_publishing_components/components/_label.html.erb +7 -3
  162. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +2 -0
  163. data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +8 -5
  164. data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +8 -3
  165. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +2 -0
  166. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +238 -267
  167. data/app/views/govuk_publishing_components/components/_lead_paragraph.html.erb +2 -0
  168. data/app/views/govuk_publishing_components/components/_metadata.html.erb +2 -0
  169. data/app/views/govuk_publishing_components/components/_modal_dialogue.html.erb +2 -0
  170. data/app/views/govuk_publishing_components/components/_notice.html.erb +2 -0
  171. data/app/views/govuk_publishing_components/components/_organisation_logo.html.erb +2 -0
  172. data/app/views/govuk_publishing_components/components/_panel.html.erb +2 -0
  173. data/app/views/govuk_publishing_components/components/_phase_banner.html.erb +3 -1
  174. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +6 -1
  175. data/app/views/govuk_publishing_components/components/_print_link.html.erb +2 -0
  176. data/app/views/govuk_publishing_components/components/_radio.html.erb +2 -0
  177. data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +16 -6
  178. data/app/views/govuk_publishing_components/components/_reorderable_list.html.erb +2 -0
  179. data/app/views/govuk_publishing_components/components/_search.html.erb +2 -0
  180. data/app/views/govuk_publishing_components/components/_select.html.erb +2 -0
  181. data/app/views/govuk_publishing_components/components/_share_links.html.erb +13 -13
  182. data/app/views/govuk_publishing_components/components/_show_password.html.erb +2 -0
  183. data/app/views/govuk_publishing_components/components/_signup_link.html.erb +2 -0
  184. data/app/views/govuk_publishing_components/components/_single_page_notification_button.html.erb +8 -2
  185. data/app/views/govuk_publishing_components/components/_skip_link.html.erb +2 -0
  186. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +8 -1
  187. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +12 -2
  188. data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +21 -8
  189. data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +3 -1
  190. data/app/views/govuk_publishing_components/components/_success_alert.html.erb +2 -0
  191. data/app/views/govuk_publishing_components/components/_summary_list.html.erb +2 -0
  192. data/app/views/govuk_publishing_components/components/_table.html.erb +3 -1
  193. data/app/views/govuk_publishing_components/components/_tabs.html.erb +22 -2
  194. data/app/views/govuk_publishing_components/components/_textarea.html.erb +12 -2
  195. data/app/views/govuk_publishing_components/components/_title.html.erb +2 -0
  196. data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +2 -0
  197. data/app/views/govuk_publishing_components/components/_warning_text.html.erb +2 -0
  198. data/app/views/govuk_publishing_components/components/contextual_sidebar/_ukraine_cta.html.erb +16 -6
  199. data/app/views/govuk_publishing_components/components/docs/accordion.yml +16 -3
  200. data/app/views/govuk_publishing_components/components/docs/action_link.yml +1 -0
  201. data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +2 -1
  202. data/app/views/govuk_publishing_components/components/docs/button.yml +10 -0
  203. data/app/views/govuk_publishing_components/components/docs/cards.yml +1 -0
  204. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +1 -0
  205. data/app/views/govuk_publishing_components/components/docs/contents_list.yml +1 -12
  206. data/app/views/govuk_publishing_components/components/docs/contextual_breadcrumbs.yml +13 -0
  207. data/app/views/govuk_publishing_components/components/docs/contextual_footer.yml +43 -0
  208. data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +65 -0
  209. data/app/views/govuk_publishing_components/components/docs/details.yml +17 -0
  210. data/app/views/govuk_publishing_components/components/docs/document_list.yml +18 -1
  211. data/app/views/govuk_publishing_components/components/docs/emergency_banner.yml +3 -1
  212. data/app/views/govuk_publishing_components/components/docs/error_message.yml +13 -0
  213. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +22 -1
  214. data/app/views/govuk_publishing_components/components/docs/hint.yml +6 -0
  215. data/app/views/govuk_publishing_components/components/docs/image_card.yml +24 -1
  216. data/app/views/govuk_publishing_components/components/docs/input.yml +32 -0
  217. data/app/views/govuk_publishing_components/components/docs/intervention.yml +2 -1
  218. data/app/views/govuk_publishing_components/components/docs/label.yml +17 -0
  219. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +1 -0
  220. data/app/views/govuk_publishing_components/components/docs/previous_and_next_navigation.yml +2 -0
  221. data/app/views/govuk_publishing_components/components/docs/related_navigation.yml +47 -0
  222. data/app/views/govuk_publishing_components/components/docs/share_links.yml +59 -30
  223. data/app/views/govuk_publishing_components/components/docs/single_page_notification_button.yml +16 -1
  224. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav.yml +54 -0
  225. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav_header.yml +6 -0
  226. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav_related.yml +10 -0
  227. data/app/views/govuk_publishing_components/components/docs/tabs.yml +15 -0
  228. data/app/views/govuk_publishing_components/components/docs/textarea.yml +31 -0
  229. data/app/views/govuk_publishing_components/components/docs/translation_nav.yml +2 -0
  230. data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +3 -3
  231. data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +1 -1
  232. data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +4 -5
  233. data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +4 -2
  234. data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +36 -16
  235. data/app/views/layouts/govuk_publishing_components/application.html.erb +3 -4
  236. data/config/locales/ar.yml +14 -14
  237. data/config/locales/az.yml +15 -14
  238. data/config/locales/be.yml +14 -14
  239. data/config/locales/bg.yml +14 -14
  240. data/config/locales/bn.yml +14 -14
  241. data/config/locales/cs.yml +14 -14
  242. data/config/locales/cy.yml +14 -14
  243. data/config/locales/da.yml +14 -14
  244. data/config/locales/de.yml +14 -14
  245. data/config/locales/dr.yml +14 -14
  246. data/config/locales/el.yml +14 -14
  247. data/config/locales/en.yml +21 -28
  248. data/config/locales/es-419.yml +14 -14
  249. data/config/locales/es.yml +14 -14
  250. data/config/locales/et.yml +14 -14
  251. data/config/locales/fa.yml +15 -14
  252. data/config/locales/fi.yml +14 -14
  253. data/config/locales/fr.yml +14 -14
  254. data/config/locales/gd.yml +14 -14
  255. data/config/locales/gu.yml +14 -14
  256. data/config/locales/he.yml +14 -14
  257. data/config/locales/hi.yml +14 -14
  258. data/config/locales/hr.yml +14 -14
  259. data/config/locales/hu.yml +14 -14
  260. data/config/locales/hy.yml +14 -14
  261. data/config/locales/id.yml +14 -14
  262. data/config/locales/is.yml +14 -14
  263. data/config/locales/it.yml +14 -14
  264. data/config/locales/ja.yml +14 -14
  265. data/config/locales/ka.yml +14 -14
  266. data/config/locales/kk.yml +14 -14
  267. data/config/locales/ko.yml +14 -14
  268. data/config/locales/lt.yml +14 -14
  269. data/config/locales/lv.yml +14 -14
  270. data/config/locales/ms.yml +14 -14
  271. data/config/locales/mt.yml +14 -14
  272. data/config/locales/nl.yml +14 -14
  273. data/config/locales/no.yml +14 -14
  274. data/config/locales/pa-pk.yml +14 -14
  275. data/config/locales/pa.yml +14 -14
  276. data/config/locales/pl.yml +14 -14
  277. data/config/locales/ps.yml +14 -14
  278. data/config/locales/pt.yml +14 -14
  279. data/config/locales/ro.yml +14 -14
  280. data/config/locales/ru.yml +14 -14
  281. data/config/locales/si.yml +14 -14
  282. data/config/locales/sk.yml +14 -14
  283. data/config/locales/sl.yml +14 -14
  284. data/config/locales/so.yml +14 -14
  285. data/config/locales/sq.yml +14 -14
  286. data/config/locales/sr.yml +14 -14
  287. data/config/locales/sv.yml +14 -14
  288. data/config/locales/sw.yml +14 -14
  289. data/config/locales/ta.yml +14 -14
  290. data/config/locales/th.yml +14 -14
  291. data/config/locales/tk.yml +14 -14
  292. data/config/locales/tr.yml +14 -14
  293. data/config/locales/uk.yml +14 -14
  294. data/config/locales/ur.yml +14 -14
  295. data/config/locales/uz.yml +14 -14
  296. data/config/locales/vi.yml +14 -14
  297. data/config/locales/zh-hk.yml +14 -14
  298. data/config/locales/zh-tw.yml +14 -14
  299. data/config/locales/zh.yml +14 -14
  300. data/lib/govuk_publishing_components/app_helpers/asset_helper.rb +86 -0
  301. data/lib/govuk_publishing_components/config.rb +3 -3
  302. data/lib/govuk_publishing_components/presenters/accordion_helper.rb +38 -0
  303. data/lib/govuk_publishing_components/presenters/breadcrumb_selector.rb +3 -2
  304. data/lib/govuk_publishing_components/presenters/{breadcrumbs.rb → breadcrumbs_helper.rb} +8 -0
  305. data/lib/govuk_publishing_components/presenters/button_helper.rb +9 -2
  306. data/lib/govuk_publishing_components/presenters/component_wrapper_helper.rb +95 -0
  307. data/lib/govuk_publishing_components/presenters/image_card_helper.rb +65 -2
  308. data/lib/govuk_publishing_components/presenters/page_with_step_by_step_navigation.rb +3 -2
  309. data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +16 -7
  310. data/lib/govuk_publishing_components/presenters/single_page_notification_button_helper.rb +43 -2
  311. data/lib/govuk_publishing_components/presenters/step_by_step_nav_helper.rb +16 -0
  312. data/lib/govuk_publishing_components/railtie.rb +7 -0
  313. data/lib/govuk_publishing_components/version.rb +1 -1
  314. data/lib/govuk_publishing_components.rb +6 -1
  315. data/node_modules/axe-core/README.md +1 -1
  316. data/node_modules/axe-core/axe.d.ts +76 -24
  317. data/node_modules/axe-core/axe.js +9200 -9059
  318. data/node_modules/axe-core/axe.min.js +3 -3
  319. data/node_modules/axe-core/package.json +29 -29
  320. data/node_modules/axe-core/sri-history.json +20 -0
  321. data/node_modules/govuk-frontend/README.md +1 -2
  322. data/node_modules/govuk-frontend/govuk/all.js +4035 -2673
  323. data/node_modules/govuk-frontend/govuk/all.js.map +1 -0
  324. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js +71 -0
  325. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js.map +1 -0
  326. data/node_modules/govuk-frontend/govuk/common/index.js +180 -0
  327. data/node_modules/govuk-frontend/govuk/common/index.js.map +1 -0
  328. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js +376 -0
  329. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js.map +1 -0
  330. data/node_modules/govuk-frontend/govuk/common.js +173 -30
  331. data/node_modules/govuk-frontend/govuk/common.js.map +1 -0
  332. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -1
  333. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +23 -4
  334. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +2116 -983
  335. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js.map +1 -0
  336. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +54 -22
  337. data/node_modules/govuk-frontend/govuk/components/accordion/macro-options.json +36 -0
  338. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +8 -2
  339. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +19 -19
  340. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +12 -12
  341. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss +21 -10
  342. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +22 -22
  343. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +23 -5
  344. data/node_modules/govuk-frontend/govuk/components/button/button.js +958 -690
  345. data/node_modules/govuk-frontend/govuk/components/button/button.js.map +1 -0
  346. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +85 -66
  347. data/node_modules/govuk-frontend/govuk/components/button/template.njk +1 -1
  348. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss +9 -0
  349. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +2083 -1161
  350. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js.map +1 -0
  351. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +112 -36
  352. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +42 -0
  353. data/node_modules/govuk-frontend/govuk/components/character-count/template.njk +27 -3
  354. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +1155 -1119
  355. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js.map +1 -0
  356. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +96 -93
  357. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +46 -46
  358. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +1 -1
  359. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +50 -50
  360. data/node_modules/govuk-frontend/govuk/components/details/details.js +797 -766
  361. data/node_modules/govuk-frontend/govuk/components/details/details.js.map +1 -0
  362. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +20 -20
  363. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +20 -20
  364. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +1089 -814
  365. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js.map +1 -0
  366. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +44 -35
  367. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +25 -21
  368. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +51 -39
  369. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +26 -26
  370. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +1 -1
  371. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +46 -46
  372. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +2 -2
  373. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +6 -0
  374. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +93 -38
  375. data/node_modules/govuk-frontend/govuk/components/header/header.js +646 -992
  376. data/node_modules/govuk-frontend/govuk/components/header/header.js.map +1 -0
  377. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +8 -2
  378. data/node_modules/govuk-frontend/govuk/components/header/template.njk +4 -2
  379. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +12 -12
  380. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +80 -80
  381. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +12 -12
  382. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +34 -34
  383. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +56 -46
  384. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +790 -532
  385. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js.map +1 -0
  386. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +1 -1
  387. data/node_modules/govuk-frontend/govuk/components/pagination/_index.scss +10 -7
  388. data/node_modules/govuk-frontend/govuk/components/pagination/fixtures.json +94 -26
  389. data/node_modules/govuk-frontend/govuk/components/pagination/template.njk +1 -1
  390. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +18 -18
  391. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +14 -14
  392. data/node_modules/govuk-frontend/govuk/components/phase-banner/macro-options.json +1 -1
  393. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +94 -91
  394. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +1110 -1079
  395. data/node_modules/govuk-frontend/govuk/components/radios/radios.js.map +1 -0
  396. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +32 -32
  397. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +22 -20
  398. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +1017 -1008
  399. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js.map +1 -0
  400. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +107 -0
  401. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +345 -50
  402. data/node_modules/govuk-frontend/govuk/components/summary-list/macro-options.json +110 -0
  403. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +72 -28
  404. data/node_modules/govuk-frontend/govuk/components/table/_index.scss +1 -1
  405. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +40 -40
  406. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +29 -29
  407. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +1389 -1233
  408. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js.map +1 -0
  409. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +28 -28
  410. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +34 -34
  411. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +14 -14
  412. data/node_modules/govuk-frontend/govuk/core/_section-break.scss +1 -1
  413. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +2 -2
  414. data/node_modules/govuk-frontend/govuk/helpers/_focused.scss +5 -0
  415. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +6 -6
  416. data/node_modules/govuk-frontend/govuk/i18n.js +389 -0
  417. data/node_modules/govuk-frontend/govuk/i18n.js.map +1 -0
  418. data/node_modules/govuk-frontend/govuk/macros/i18n.njk +15 -0
  419. data/node_modules/govuk-frontend/govuk/settings/_all.scss +1 -0
  420. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +12 -0
  421. data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss +26 -0
  422. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +5 -5
  423. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +23 -0
  424. data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss +12 -0
  425. data/node_modules/govuk-frontend/govuk/settings/_warnings.scss +53 -0
  426. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +20 -6
  427. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +242 -241
  428. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js.map +1 -0
  429. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js +22 -0
  430. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js.map +1 -0
  431. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +17 -16
  432. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js.map +1 -0
  433. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +547 -546
  434. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js.map +1 -0
  435. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +37 -36
  436. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js.map +1 -0
  437. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js +301 -0
  438. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js.map +1 -0
  439. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +21 -20
  440. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js.map +1 -0
  441. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +198 -197
  442. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js.map +1 -0
  443. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +198 -197
  444. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js.map +1 -0
  445. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +106 -105
  446. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js.map +1 -0
  447. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +400 -399
  448. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js.map +1 -0
  449. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +239 -238
  450. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js.map +1 -0
  451. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +72 -71
  452. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js.map +1 -0
  453. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js +22 -0
  454. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js.map +1 -0
  455. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +17 -16
  456. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js.map +1 -0
  457. data/node_modules/govuk-frontend/govuk-esm/all.mjs +52 -29
  458. data/node_modules/govuk-frontend/govuk-esm/common/closest-attribute-value.mjs +15 -0
  459. data/node_modules/govuk-frontend/govuk-esm/common/index.mjs +166 -0
  460. data/node_modules/govuk-frontend/govuk-esm/common/normalise-dataset.mjs +60 -0
  461. data/node_modules/govuk-frontend/govuk-esm/common.mjs +6 -28
  462. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +238 -85
  463. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs +73 -34
  464. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs +329 -124
  465. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs +32 -20
  466. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +41 -20
  467. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs +60 -14
  468. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +9 -2
  469. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs +33 -4
  470. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs +18 -11
  471. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs +15 -7
  472. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs +171 -38
  473. data/node_modules/govuk-frontend/govuk-esm/i18n.mjs +378 -0
  474. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Date/now.mjs +13 -0
  475. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/dataset.mjs +68 -0
  476. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/String/prototype/trim.mjs +13 -0
  477. data/node_modules/govuk-frontend/govuk-prototype-kit/init.js +7 -0
  478. data/node_modules/govuk-frontend/govuk-prototype-kit/init.scss +12 -0
  479. data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +138 -7
  480. data/node_modules/govuk-frontend/package.json +1 -1
  481. metadata +70 -19
  482. data/app/assets/stylesheets/component_guide/print.scss +0 -1
  483. data/app/assets/stylesheets/govuk_publishing_components/_all_components_print.scss +0 -18
  484. data/app/assets/stylesheets/govuk_publishing_components/components/print/_accordion.scss +0 -28
  485. data/app/assets/stylesheets/govuk_publishing_components/components/print/_button.scss +0 -8
  486. data/app/assets/stylesheets/govuk_publishing_components/components/print/_cards.scss +0 -4
  487. data/app/assets/stylesheets/govuk_publishing_components/components/print/_contents-list.scss +0 -19
  488. data/app/assets/stylesheets/govuk_publishing_components/components/print/_emergency-banner.scss +0 -3
  489. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak-html-publication.scss +0 -5
  490. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +0 -80
  491. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-super-navigation-header.scss +0 -3
  492. data/app/assets/stylesheets/govuk_publishing_components/components/print/_organisation-logo.scss +0 -7
  493. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -7
  494. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav.scss +0 -116
  495. data/app/assets/stylesheets/govuk_publishing_components/components/print/_textarea.scss +0 -13
  496. data/app/assets/stylesheets/govuk_publishing_components/components/print/_title.scss +0 -7
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-lead-paragraph {
2
4
  @include govuk-text-colour;
3
5
  @include govuk-font(24);
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-metadata {
2
4
  @include govuk-text-colour;
3
5
  @include govuk-font(16);
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  $govuk-modal-margin: govuk-spacing(6);
2
4
  $govuk-modal-close-button-size: 44px;
3
5
  $govuk-modal-z-index: 1000;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/notification-banner/notification-banner";
2
3
 
3
4
  .gem-c-notice {
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  // Default logo corresponds with the "medium stacked" Whitehall equivalent
2
4
  .gem-c-organisation-logo {
3
5
  font-size: 13px;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/panel/panel";
2
3
 
3
4
  .gem-c-panel__prepend {
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/phase-banner/phase-banner";
2
3
 
3
4
  .gem-c-phase-banner {
@@ -1 +1,2 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/pagination/pagination";
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  $gem-c-print-link-background-width: 16px;
2
4
  $gem-c-print-link-background-height: 18px;
3
5
 
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/radios/radios";
2
3
 
3
4
  .gem-c-radio__heading-text {
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-related-navigation {
2
4
  @include govuk-text-colour;
3
5
  border-top: 2px solid govuk-colour("blue");
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-reorderable-list {
2
4
  @include govuk-font(19, bold);
3
5
 
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  $input-size: 40px;
2
4
  $large-input-size: 50px;
3
5
 
@@ -97,13 +99,6 @@ $large-input-size: 50px;
97
99
  }
98
100
  }
99
101
 
100
- @include govuk-compatibility(govuk_template) {
101
- // ultra specific rule overrides focus styling from govuk_template
102
- #global-header .gem-c-search__input[type="search"]:focus { // stylelint-disable selector-max-id
103
- @extend %gem-c-search-input-focus;
104
- }
105
- }
106
-
107
102
  @mixin icon-positioning($container-size) {
108
103
  $icon-dimension: 20px;
109
104
  $icon-position: ($container-size - $icon-dimension) / 2;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/select/select";
2
3
 
3
4
  .gem-c-select__select--full-width {
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  $share-button-width: 30px;
2
4
  $share-button-height: 30px;
3
5
 
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-show-password__input-wrapper {
2
4
  display: table; // IE fallback
3
5
  display: flex;
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-signup-link__link {
2
4
  @include govuk-font($size: 19);
3
5
  }
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-single-page-notification-button__submit {
2
4
  padding: govuk-spacing(2);
3
5
  margin: govuk-spacing(0);
@@ -1 +1,2 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/skip-link/skip-link";
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-step-nav-header {
2
4
  @include govuk-font(24, $weight: bold);
3
5
  @include govuk-text-colour;
@@ -17,3 +19,18 @@
17
19
  @include govuk-font(19, $weight: bold);
18
20
  display: block;
19
21
  }
22
+
23
+ @include govuk-media-query($media-type: print) {
24
+ .gem-c-step-nav-header {
25
+ padding: 0 0 govuk-spacing(4) 0;
26
+ background: none;
27
+ }
28
+
29
+ .gem-c-step-nav-header__part-of {
30
+ display: block;
31
+ }
32
+
33
+ .gem-c-step-nav-header__title {
34
+ @include govuk-font(24, $weight: bold);
35
+ }
36
+ }
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-step-nav-related {
2
4
  @include govuk-text-colour;
3
5
  border-top: 2px solid govuk-colour("blue");
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  $stroke-width: 1px;
2
4
  $number-circle-size: 30px;
3
5
  $number-circle-size-large: 35px;
@@ -532,3 +534,9 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
532
534
  content: " \2013\00a0"; // dash followed by  
533
535
  }
534
536
  }
537
+
538
+ @include govuk-media-query($media-type: print) {
539
+ .gem-c-step-nav__panel {
540
+ display: block !important; // stylelint-disable-line declaration-no-important
541
+ }
542
+ }
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-subscription-links {
2
4
  @include govuk-text-colour;
3
5
  @include govuk-font(19, $weight: bold);
@@ -123,7 +125,6 @@
123
125
  .gem-c-subscription-links__item--link {
124
126
  padding: govuk-spacing(2) govuk-spacing(2) govuk-spacing(2) 0;
125
127
  border: 1px solid transparent;
126
- border-bottom: 1px solid govuk-colour("dark-grey", $legacy: "grey-1");
127
128
 
128
129
  &:focus {
129
130
  border-bottom-color: transparent;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/notification-banner/notification-banner";
2
3
 
3
4
  .gem-c-success-alert__message {
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/summary-list/summary-list";
2
3
 
3
4
  .gem-c-summary-list {
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/table/table";
2
3
 
3
4
  $table-border-width: 1px;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/tabs/tabs";
2
3
 
3
4
  .js-enabled {
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/textarea/textarea";
2
3
 
3
4
  .gem-c-textarea {
@@ -9,3 +10,19 @@
9
10
  }
10
11
  }
11
12
  }
13
+
14
+ @include govuk-media-query($media-type: print) {
15
+ .gem-c-textarea {
16
+ .gem-c-label,
17
+ .gem-c-error-message,
18
+ .govuk-hint,
19
+ .govuk-character-count__message {
20
+ display: block;
21
+ }
22
+
23
+ .govuk-textarea {
24
+ width: 400px;
25
+ height: 40px;
26
+ }
27
+ }
28
+ }
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-title--inverse {
2
4
  color: govuk-colour("white");
3
5
 
@@ -28,3 +30,13 @@
28
30
  .gem-c-title__text {
29
31
  margin: 0;
30
32
  }
33
+
34
+ @include govuk-media-query($media-type: print) {
35
+ .gem-c-title__context {
36
+ margin: 0;
37
+ }
38
+
39
+ .gem-c-title__text {
40
+ margin-top: 0;
41
+ }
42
+ }
@@ -1,3 +1,5 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
1
3
  .gem-c-translation-nav {
2
4
  @include responsive-top-margin;
3
5
  @include govuk-text-colour;
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk/components/warning-text/warning-text";
2
3
 
3
4
  .gem-c-warning-text .govuk-warning-text__text {
@@ -3,21 +3,38 @@
3
3
  .steps {
4
4
  padding-left: 0;
5
5
  margin-left: 0;
6
- overflow: hidden;
7
6
 
8
7
  > li {
9
- background-position: 0 .87em;
10
- background-repeat: no-repeat;
11
- list-style-type: decimal;
8
+ list-style-type: none;
12
9
  margin-left: 0;
13
10
  padding: .75em 0 .75em 2.5em;
11
+ position: relative;
12
+
13
+ // IE doesn't render this correctly with this element as display:block
14
+ // (it leaves a space for the :before pseudo element) by setting to
15
+ // display inline block and a width of 100% it works correctly.
16
+ display: inline-block;
17
+ width: 100%;
18
+ box-sizing: border-box;
19
+
20
+ &:before {
21
+ background-color: govuk-colour("black");
22
+ border-radius: 50%;
23
+ color: govuk-colour("white");
24
+ float: left;
25
+ font-size: 80%;
26
+ height: 1.75em;
27
+ left: .3em;
28
+ line-height: 1.75em;
29
+ position: absolute;
30
+ text-align: center;
31
+ top: .9em;
32
+ width: 1.75em;
33
+ }
14
34
 
15
35
  @for $i from 1 through 30 {
16
- &:nth-child(#{$i}) {
17
- background-image: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 250' preserveAspectRatio='xMinYMin meet'%3E%3Cg%3E%3Ccircle r='50%25' cx='50%25' cy='50%25' class='circle-back'%3E%3C/circle%3E%3Ctext x='50%25' y='50%25' text-anchor='middle' dy='0.3em' font-family='nta,arial,sans-serif' font-size='8rem' fill='%23ffffff'%3E#{$i}%3C/text%3E%3C/g%3E%3C/svg%3E ");
18
- background-repeat: no-repeat;
19
- background-position: .2em .7em;
20
- background-size: 1.4em 1.4em;
36
+ &:nth-child(#{$i}):before {
37
+ content: "#{$i}";
21
38
  }
22
39
  }
23
40
  }
@@ -41,5 +41,17 @@
41
41
  td small {
42
42
  font-size: 1em;
43
43
  }
44
+
45
+ .cell-text-left {
46
+ text-align: left;
47
+ }
48
+
49
+ .cell-text-center {
50
+ text-align: center;
51
+ }
52
+
53
+ .cell-text-right {
54
+ text-align: right;
55
+ }
44
56
  }
45
57
  }
@@ -57,12 +57,12 @@
57
57
 
58
58
  .brand--prime-ministers-office-10-downing-street {
59
59
  .brand__color {
60
- color: govuk-colour("bright-purple");
60
+ color: govuk-colour("black");
61
61
 
62
62
  &:link,
63
63
  &:visited,
64
64
  &:active {
65
- color: govuk-colour("bright-purple");
65
+ color: govuk-colour("black");
66
66
  }
67
67
 
68
68
  &:hover,
@@ -1,4 +1,3 @@
1
- // Contents list helper is used in both print and screen stylesheets
2
1
  .gem-c-contents-list__list-item--numbered {
3
2
  .gem-c-contents-list__link {
4
3
  display: table;
@@ -5,19 +5,6 @@ module GovukPublishingComponents
5
5
  before_action :set_x_frame_options_header
6
6
  before_action :set_disable_slimmer_header
7
7
 
8
- if defined? content_security_policy
9
- content_security_policy do |p|
10
- # don't do anything if the app doesn't have a content security policy
11
- next unless p.directives.any?
12
-
13
- # Unfortunately the axe core script uses a dependency that uses eval
14
- # see: https://github.com/dequelabs/axe-core/issues/1175
15
- # Thus all components shown by govuk_publishing_components need this
16
- # enabled
17
- p.script_src(*p.script_src, :unsafe_eval)
18
- end
19
- end
20
-
21
8
  private
22
9
 
23
10
  def set_x_frame_options_header
@@ -34,7 +34,7 @@ module GovukPublishingComponents
34
34
  @in_application = false
35
35
  @in_application = true unless ENV["MAIN_COMPONENT_GUIDE"]
36
36
 
37
- components = AuditComponents.new(gem_path, false)
37
+ components = AuditComponents.new(gem_path)
38
38
  applications = analyse_applications(host_dir, application_dirs)
39
39
  compared_data = AuditComparer.new(components.data, applications)
40
40
 
@@ -10,8 +10,7 @@ module GovukPublishingComponents
10
10
  @component_docs = component_docs.all
11
11
  @gem_component_docs = gem_component_docs.all
12
12
  @components_in_use_docs = components_in_use_docs.used_in_this_app
13
- @components_in_use_sass = components_in_use_sass(false)
14
- @components_in_use_print_sass = components_in_use_sass(true)
13
+ @components_in_use_sass = components_in_use_sass
15
14
  @components_in_use_js = components_in_use_js
16
15
  end
17
16
 
@@ -44,15 +43,14 @@ module GovukPublishingComponents
44
43
  end
45
44
  end
46
45
 
47
- def components_in_use_sass(print_styles)
48
- print_path = "print/" if print_styles
46
+ def components_in_use_sass
49
47
  additional_files = "@import 'govuk_publishing_components/govuk_frontend_support';\n"
50
- additional_files << "@import 'govuk_publishing_components/component_support';\n" unless print_styles
48
+ additional_files << "@import 'govuk_publishing_components/component_support';\n"
51
49
 
52
50
  components = find_all_partials_in(components_in_use)
53
51
 
54
52
  components.map { |component|
55
- "@import 'govuk_publishing_components/components/#{print_path}#{component.gsub('_', '-')}';" if component_has_sass_file(component.gsub("_", "-"), print_styles)
53
+ "@import 'govuk_publishing_components/components/#{component.gsub('_', '-')}';" if component_has_sass_file(component.gsub("_", "-"))
56
54
  }.compact.uniq.sort.join("\n").squeeze("\n").prepend(additional_files)
57
55
  end
58
56
 
@@ -128,9 +126,8 @@ module GovukPublishingComponents
128
126
  extra_components.flatten.uniq.sort
129
127
  end
130
128
 
131
- def component_has_sass_file(component, print_styles)
132
- print_path = "print/" if print_styles
133
- Pathname.new(@component_gem_path + "/app/assets/stylesheets/govuk_publishing_components/components/#{print_path}_#{component}.scss").exist?
129
+ def component_has_sass_file(component)
130
+ Pathname.new(@component_gem_path + "/app/assets/stylesheets/govuk_publishing_components/components/_#{component}.scss").exist?
134
131
  end
135
132
 
136
133
  def component_has_js_file(component)
@@ -21,16 +21,12 @@ module GovukPublishingComponents
21
21
  @find_all_stylesheets = /@import ["']{1}govuk_publishing_components\/all_components/
22
22
  find_stylesheets = /(?<=@import ["']{1}govuk_publishing_components\/components\/)(?!print\/)+[a-zA-Z_-]+(?=['"])/
23
23
 
24
- @find_all_print_stylesheets = /@import ["']{1}govuk_publishing_components\/all_components_print/
25
- find_print_stylesheets = /(?<=@import ["']{1}govuk_publishing_components\/components\/print\/)[a-zA-Z_-]+(?=['"])/
26
-
27
24
  @find_all_javascripts = /\/\/ *= require govuk_publishing_components\/all_components/
28
25
  find_javascripts = /(?<=require govuk_publishing_components\/components\/)[a-zA-Z_-]+/
29
26
 
30
- components_in_templates = find_components(templates, find_components, "templates", true) || []
31
- components_in_stylesheets = find_components(stylesheets, find_stylesheets, "stylesheets", false) || []
32
- components_in_print_stylesheets = find_components(stylesheets, find_print_stylesheets, "print_stylesheets", false) || []
33
- components_in_javascripts = find_components(javascripts, find_javascripts, "javascripts", false) || []
27
+ components_in_templates = find_components(templates, find_components, "template", true) || []
28
+ components_in_stylesheets = find_components(stylesheets, find_stylesheets, "stylesheet", false) || []
29
+ components_in_javascripts = find_components(javascripts, find_javascripts, "javascript", false) || []
34
30
 
35
31
  ruby_paths = %w[/app/helpers/ /app/presenters/ /lib/]
36
32
  components_in_ruby = []
@@ -41,19 +37,15 @@ module GovukPublishingComponents
41
37
 
42
38
  components_found = [
43
39
  {
44
- location: "templates",
40
+ location: "template",
45
41
  components: components_in_templates,
46
42
  },
47
43
  {
48
- location: "stylesheets",
44
+ location: "stylesheet",
49
45
  components: components_in_stylesheets,
50
46
  },
51
47
  {
52
- location: "print_stylesheets",
53
- components: components_in_print_stylesheets,
54
- },
55
- {
56
- location: "javascripts",
48
+ location: "javascript",
57
49
  components: components_in_javascripts,
58
50
  },
59
51
  {
@@ -97,9 +89,9 @@ module GovukPublishingComponents
97
89
  components_found << find_match(find, src, type)
98
90
  end
99
91
 
100
- get_helper_references(file, src) if %w[ruby templates].include?(type)
92
+ get_helper_references(file, src) if %w[ruby template].include?(type)
101
93
 
102
- if type == "javascripts"
94
+ if type == "javascript"
103
95
  jquery_references = find_code_references(file, src, /\$\(/)
104
96
  @jquery_references << jquery_references if jquery_references
105
97
  else
@@ -130,9 +122,8 @@ module GovukPublishingComponents
130
122
  # looks for components in the given src of a file
131
123
  # returns an array of component names or an empty array
132
124
  def find_match(find, src, type)
133
- return %w[all] if src.match(@find_all_stylesheets) && type == "stylesheets"
134
- return %w[all] if src.match(@find_all_print_stylesheets) && type == "print_stylesheets"
135
- return %w[all] if src.match(@find_all_javascripts) && type == "javascripts"
125
+ return %w[all] if src.match(@find_all_stylesheets) && type == "stylesheet"
126
+ return %w[all] if src.match(@find_all_javascripts) && type == "javascript"
136
127
 
137
128
  matches = src.scan(find)
138
129
  return [] unless matches.any?
@@ -40,7 +40,7 @@ module GovukPublishingComponents
40
40
  end
41
41
 
42
42
  # turn static data into an object so locations can be easily referenced
43
- # should give object of form { "templates" => [], "stylesheets" => [] }
43
+ # should give object of form { "template" => [], "stylesheet" => [] }
44
44
  def clean_static(data)
45
45
  Hash[data[:components_found].map { |d| [d[:location], d[:components]] }]
46
46
  end
@@ -55,14 +55,12 @@ module GovukPublishingComponents
55
55
  results.each do |result|
56
56
  if result[:application_found]
57
57
  application_uses_static = @applications_using_static.include?(result[:name])
58
- templates = result[:components_found].find { |c| c[:location] == "templates" }
59
- stylesheets = result[:components_found].find { |c| c[:location] == "stylesheets" }
60
- print_stylesheets = result[:components_found].find { |c| c[:location] == "print_stylesheets" }
61
- javascripts = result[:components_found].find { |c| c[:location] == "javascripts" }
58
+ templates = result[:components_found].find { |c| c[:location] == "template" }
59
+ stylesheets = result[:components_found].find { |c| c[:location] == "stylesheet" }
60
+ javascripts = result[:components_found].find { |c| c[:location] == "javascript" }
62
61
  ruby = result[:components_found].find { |c| c[:location] == "ruby" }
63
62
 
64
63
  @all_stylesheets = true if stylesheets[:components].include?("all")
65
- @all_print_stylesheets = true if print_stylesheets[:components].include?("all")
66
64
  @all_javascripts = true if javascripts[:components].include?("all")
67
65
 
68
66
  templates[:components] = include_any_components_within_components(templates[:components])
@@ -77,24 +75,20 @@ module GovukPublishingComponents
77
75
 
78
76
  summary = [
79
77
  {
80
- name: "Components in templates",
81
- value: templates[:components].flatten.uniq.sort.join(", "),
78
+ name: "In templates",
79
+ value: templates[:components],
82
80
  },
83
81
  {
84
- name: "Components in stylesheets",
85
- value: stylesheets[:components].join(", "),
82
+ name: "In stylesheets",
83
+ value: stylesheets[:components],
86
84
  },
87
85
  {
88
- name: "Components in print stylesheets",
89
- value: print_stylesheets[:components].join(", "),
86
+ name: "In javascripts",
87
+ value: javascripts[:components],
90
88
  },
91
89
  {
92
- name: "Components in javascripts",
93
- value: javascripts[:components].join(", "),
94
- },
95
- {
96
- name: "Components in ruby",
97
- value: ruby[:components].join(", "),
90
+ name: "In ruby",
91
+ value: ruby[:components],
98
92
  },
99
93
  ]
100
94
 
@@ -145,7 +139,7 @@ module GovukPublishingComponents
145
139
 
146
140
  second_group.each do |second|
147
141
  second_location = second[:location]
148
- second_location = "code" if %w[templates ruby].include?(second_location)
142
+ second_location = "code" if %w[template ruby].include?(second_location)
149
143
  # subtract one group from the other, leaving only those not in both
150
144
  in_current = find_missing(second[:components].clone, first[:components].clone)
151
145
 
@@ -153,7 +147,18 @@ module GovukPublishingComponents
153
147
 
154
148
  # now we have a list of 'missing' component assets, check the gem to see if that asset exists
155
149
  in_current.each do |component|
156
- asset_in_gem = @gem_data.include?("component_#{second_location}".to_sym) && @gem_data["component_#{second_location}".to_sym].include?(component)
150
+ component_assets = @gem_data[:component_file_details].select { |c| c[:name] == component }
151
+ if !component_assets.empty?
152
+ component_assets = component_assets[0]
153
+ asset_in_gem = if second_location == "code"
154
+ component_assets["template_exists".to_sym]
155
+ else
156
+ component_assets["#{second_location}_exists".to_sym]
157
+ end
158
+ else
159
+ asset_in_gem = false
160
+ end
161
+
157
162
  check_static = @static_data && second_location != "code"
158
163
  asset_in_static = asset_already_in_static(second_location, component) if check_static
159
164
  raise_warning = asset_in_gem && !asset_in_static
@@ -177,7 +182,7 @@ module GovukPublishingComponents
177
182
  warnings = []
178
183
 
179
184
  locations.each do |location|
180
- next if location[:location] == "templates" || location[:location] == "ruby"
185
+ next if location[:location] == "template" || location[:location] == "ruby"
181
186
 
182
187
  location[:components].each do |component|
183
188
  raise_warning = asset_already_in_static(location[:location], component)
@@ -191,14 +196,14 @@ module GovukPublishingComponents
191
196
  def warn_about_missing_assets(components)
192
197
  warnings = []
193
198
 
194
- code = components.select { |c| c[:location] == "templates" || c[:location] == "ruby" }
199
+ code = components.select { |c| c[:location] == "template" || c[:location] == "ruby" }
195
200
  code = [
196
201
  {
197
202
  location: "code",
198
203
  components: code.map { |c| c[:components] }.flatten.uniq.sort,
199
204
  },
200
205
  ]
201
- assets = components.select { |c| c[:location] == "stylesheets" || c[:location] == "print_stylesheets" || c[:location] == "javascripts" }
206
+ assets = components.select { |c| c[:location] == "stylesheet" || c[:location] == "javascript" }
202
207
 
203
208
  warnings << find_missing_items(code, assets)
204
209
  warnings << find_missing_items(assets, code)
@@ -252,7 +257,7 @@ module GovukPublishingComponents
252
257
  results = []
253
258
  found_something = false
254
259
 
255
- @gem_data[:component_listing].each do |component|
260
+ @gem_data[:component_file_details].each do |component|
256
261
  component_name = component[:name]
257
262
  locations = []
258
263