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,53 +1,34 @@
1
1
  <%
2
+ add_gem_component_stylesheet("accordion")
3
+
2
4
  local_assigns[:margin_bottom] ||= 6
3
5
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
6
+ accordion_helper = GovukPublishingComponents::Presenters::AccordionHelper.new()
4
7
 
5
8
  id ||= "default-id-#{SecureRandom.hex(4)}"
6
9
  items ||= []
7
10
  anchor_navigation ||= false
8
11
  track_show_all_clicks ||= false
9
12
  track_sections ||= false
10
-
11
- accordion_classes = %w(gem-c-accordion govuk-accordion)
12
- accordion_classes << (shared_helper.get_margin_bottom)
13
-
14
- translations = {
15
- show_text: "components.accordion.show",
16
- hide_text: "components.accordion.hide",
17
- show_all_text: "components.accordion.show_all",
18
- hide_all_text: "components.accordion.hide_all",
19
- this_section_visually_hidden: "components.accordion.this_section_visually_hidden",
20
- }
21
-
22
- locales = {}
23
-
24
- data_attributes ||= {}
25
- ((data_attributes[:module] ||= "") << " " << "govuk-accordion gem-accordion").strip!
26
- data_attributes[:anchor_navigation] = anchor_navigation
27
- data_attributes[:track_show_all_clicks] = track_show_all_clicks
28
- data_attributes[:track_sections] = track_sections
29
-
13
+ ga4_tracking ||= false
30
14
  data_attributes_show_all ||= nil
31
- data_attributes[:show_all_attributes] = data_attributes_show_all if data_attributes_show_all
32
-
33
- translations.each do |key, translation|
34
- locales[key] = shared_helper.t_locale(translation)
35
- data_attributes[key] = t(translation)
36
- end
37
15
 
38
- unique_locales = locales.values.uniq
39
-
40
- if unique_locales.length > 1
41
- data_attributes[:locale] = locales
42
- else
43
- if unique_locales[0] != I18n.locale
44
- data_attributes[:locale] = unique_locales[0]
45
- end
46
- end
16
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
17
+ component_helper.set_id(id)
18
+ component_helper.add_class("gem-c-accordion govuk-accordion")
19
+ component_helper.add_class(shared_helper.get_margin_bottom)
47
20
 
21
+ component_helper.add_data_attribute({ module: "govuk-accordion gem-accordion" })
22
+ component_helper.add_data_attribute({ module: "ga4-event-tracker" }) if ga4_tracking
23
+ component_helper.add_data_attribute({ ga4_expandable: "" }) if ga4_tracking
24
+ component_helper.add_data_attribute({ anchor_navigation: anchor_navigation }) if anchor_navigation
25
+ component_helper.add_data_attribute({ track_show_all_clicks: track_show_all_clicks }) if track_show_all_clicks
26
+ component_helper.add_data_attribute({ track_sections: track_sections }) if track_sections
27
+ component_helper.add_data_attribute({ show_all_attributes: data_attributes_show_all }) if data_attributes_show_all
28
+ component_helper.add_data_attribute(accordion_helper.apply_translations)
48
29
  %>
49
30
  <% if items.any? %>
50
- <%= tag.div(class: accordion_classes, id: id, data: data_attributes) do %>
31
+ <%= tag.div(**component_helper.all_attributes) do %>
51
32
  <% items.each_with_index do |item, i| %>
52
33
  <%
53
34
  # The GOVUK Frontend JavaScript for this component
@@ -57,6 +38,19 @@
57
38
 
58
39
  item[:data_attributes] ||= nil
59
40
 
41
+ if ga4_tracking
42
+ item[:data_attributes] ||= {}
43
+ item[:data_attributes][:ga4_event] = {
44
+ event_name: "select_content",
45
+ type: "accordion",
46
+ text: item[:heading][:text],
47
+ index: {
48
+ index_section: index,
49
+ index_section_count: items.length,
50
+ },
51
+ }.to_json
52
+ end
53
+
60
54
  section_classes = %w(govuk-accordion__section)
61
55
  section_classes << 'govuk-accordion__section--expanded' if item[:expanded]
62
56
 
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("action-link")
3
+
2
4
  local_assigns[:margin_bottom] ||= 0
3
5
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
4
6
 
@@ -41,9 +43,12 @@
41
43
  link_classes << shared_helper.classes if classes
42
44
  link_classes << "govuk-link--inverse" if light_text
43
45
  link_classes << shared_helper.get_heading_size(font_size, 'm') if font_size
46
+
47
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
48
+ component_helper.add_class(css_classes.join(" "))
44
49
  %>
45
50
  <% if text.present? %>
46
- <div class="<%= css_classes.join(' ') %>">
51
+ <%= tag.div(**component_helper.all_attributes) do %>
47
52
  <% contents = capture do %>
48
53
  <span class="gem-c-action-link__link-wrapper">
49
54
  <% main_text = capture do %>
@@ -78,5 +83,5 @@
78
83
  <% else %>
79
84
  <%= contents %>
80
85
  <% end %>
81
- </div>
86
+ <% end %>
82
87
  <% end %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("attachment")
3
+
2
4
  attachment = GovukPublishingComponents::Presenters::AttachmentHelper.new(attachment)
3
5
  target ||= "_self"
4
6
  hide_opendocument_metadata ||= false
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("attachment-link")
3
+
2
4
  attachment = GovukPublishingComponents::Presenters::AttachmentHelper.new(attachment)
3
5
  target ||= nil
4
6
  data_attributes ||= {}
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("back-link")
3
+
2
4
  text ||= t('components.back_link.back')
3
5
  data_attributes ||= nil
4
6
  %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("big-number")
3
+
2
4
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
3
5
  big_number_helper = GovukPublishingComponents::Presenters::BigNumberHelper.new(local_assigns)
4
6
 
@@ -34,7 +36,7 @@
34
36
  </span>
35
37
  <% end %>
36
38
  <% end %>
37
-
39
+
38
40
  <%= tag.div class: classes, aria: aria do %>
39
41
  <% unless href.nil? %>
40
42
  <%= link_to big_number_value, href, class: "govuk-link gem-c-big-number__link", data: data_attributes %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("breadcrumbs")
3
+
2
4
  border ||= false
3
5
  breadcrumbs ||= []
4
6
  collapse_on_mobile ||= false
@@ -10,13 +12,17 @@
10
12
  classes << "govuk-breadcrumbs--collapse-on-mobile" if collapse_on_mobile
11
13
  classes << "gem-c-breadcrumbs--inverse" if inverse
12
14
  classes << "gem-c-breadcrumbs--border-bottom" if border == "bottom"
15
+
16
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
17
+ component_helper.add_class(classes.join(" "))
18
+ component_helper.add_data_attribute({ module: "gem-track-click ga4-link-tracker" })
13
19
  %>
14
20
 
15
21
  <script type="application/ld+json">
16
22
  <%= raw JSON.pretty_generate(breadcrumb_presenter.structured_data) %>
17
23
  </script>
18
24
 
19
- <div class="<%= classes.join(" ") %>" data-module="gem-track-click">
25
+ <%= tag.div(**component_helper.all_attributes) do %>
20
26
  <ol class="govuk-breadcrumbs__list">
21
27
  <% breadcrumbs.each_with_index do |crumb, index| %>
22
28
  <% breadcrumb = GovukPublishingComponents::Presenters::Breadcrumb.new(crumb, index) %>
@@ -34,4 +40,4 @@
34
40
  </li>
35
41
  <% end %>
36
42
  </ol>
37
- </div>
43
+ <% end %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("button")
3
+
2
4
  # button_helper.css_classes generates "gem-c-button"
3
5
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
4
6
  local_assigns[:classes] = shared_helper.classes
@@ -1,18 +1,20 @@
1
1
  <%
2
+ add_gem_component_stylesheet("cards")
3
+
2
4
  heading ||= nil
3
5
  items ||= nil
4
6
  sub_heading_level ||= 3
5
7
  two_column_layout ||= false
6
- local_assigns ||= nil
7
- data_attributes ||= nil
8
8
 
9
9
  ul_classes = %w[gem-c-cards__list]
10
10
  ul_classes << 'gem-c-cards__list--two-column-desktop' if two_column_layout
11
11
 
12
12
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
13
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
14
+ component_helper.add_class("gem-c-cards")
13
15
  %>
14
16
  <% if items.present? %>
15
- <div class="gem-c-cards">
17
+ <%= tag.div(**component_helper.all_attributes) do %>
16
18
  <% if heading %>
17
19
  <%= content_tag(shared_helper.get_heading_level, class: "gem-c-cards__heading govuk-heading-m") do %>
18
20
  <%= heading %>
@@ -47,5 +49,5 @@
47
49
  </li>
48
50
  <% end %>
49
51
  <% end %>
50
- </div>
52
+ <% end %>
51
53
  <% end %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("character-count")
3
+
2
4
  id ||= "character-count-#{SecureRandom.hex(4)}"
3
5
  maxlength ||= nil
4
6
  maxwords ||= nil
@@ -1,10 +1,14 @@
1
1
  <%
2
- # cb_helper.css_classes generates "gem-c-checkboxes"
2
+ add_gem_component_stylesheet("checkboxes")
3
3
  cb_helper = GovukPublishingComponents::Presenters::CheckboxesHelper.new(local_assigns)
4
4
  id = cb_helper.id
5
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
6
+ component_helper.set_id(id)
7
+ component_helper.add_class(cb_helper.css_classes.join(" ")) # cb_helper.css_classes generates "gem-c-checkboxes"
8
+ component_helper.add_data_attribute({ module: "gem-checkboxes govuk-checkboxes" })
5
9
  %>
6
10
 
7
- <%= tag.div id: id, class: cb_helper.css_classes, data: { module: "gem-checkboxes govuk-checkboxes" } do %>
11
+ <%= tag.div(**component_helper.all_attributes) do %>
8
12
  <% if cb_helper.should_have_fieldset %>
9
13
  <% if cb_helper.heading_markup %>
10
14
  <%= tag.fieldset class: "govuk-fieldset", "aria-describedby": cb_helper.fieldset_describedby do %>
@@ -1,30 +1,26 @@
1
1
  <%-
2
+ add_gem_component_stylesheet("contents-list")
3
+
2
4
  cl_helper = GovukPublishingComponents::Presenters::ContentsListHelper.new(local_assigns)
3
5
  underline_links ||= false
4
- aria_label ||= t("components.contents_list.contents")
5
6
  format_numbers ||= false
6
7
  brand ||= false
7
8
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
8
9
  title_fallback = t("components.contents_list.contents", locale: I18n.locale, fallback: false, default: "en")
9
10
  classes = %w[gem-c-contents-list]
10
- classes << brand_helper.brand_class
11
- link_classes = %w[
12
- gem-c-contents-list__link
13
- govuk-link
14
- ]
11
+ link_classes = %w[gem-c-contents-list__link govuk-link]
15
12
  link_classes << brand_helper.color_class
16
13
  link_classes << "govuk-link--no-underline" unless underline_links
14
+
15
+ local_assigns[:aria] ||= {}
16
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
17
+ component_helper.add_class("gem-c-contents-list #{brand_helper.brand_class}")
18
+ component_helper.add_data_attribute({ module: "gem-track-click" })
19
+ component_helper.add_aria_attribute({ label: t("components.contents_list.contents") }) unless local_assigns[:aria][:label]
20
+ component_helper.add_role("navigation")
17
21
  -%>
18
22
  <% if cl_helper.contents.any? %>
19
- <%= content_tag(
20
- :nav,
21
- class: classes,
22
- "aria-label": aria_label,
23
- role: "navigation",
24
- data: {
25
- module: "gem-track-click"
26
- }
27
- ) do %>
23
+ <%= tag.nav(**component_helper.all_attributes) do %>
28
24
  <%= content_tag(
29
25
  :h2, {class: "gem-c-contents-list__title"}.merge(
30
26
  title_fallback == "en" ? {:lang => "en",} : {}
@@ -1,7 +1,10 @@
1
- <% prioritise_taxon_breadcrumbs ||= false %>
2
- <% breadcrumb_selector = GovukPublishingComponents::Presenters::BreadcrumbSelector.new(content_item, request, prioritise_taxon_breadcrumbs) %>
3
- <% inverse ||= false %>
4
- <% collapse_on_mobile ||= true unless local_assigns[:collapse_on_mobile].eql?(false) %>
1
+ <%
2
+ ga4_tracking ||= false
3
+ prioritise_taxon_breadcrumbs ||= false
4
+ breadcrumb_selector = GovukPublishingComponents::Presenters::BreadcrumbSelector.new(content_item, request, prioritise_taxon_breadcrumbs, ga4_tracking)
5
+ inverse ||= false
6
+ collapse_on_mobile ||= true unless local_assigns[:collapse_on_mobile].eql?(false)
7
+ %>
5
8
 
6
9
  <div class="gem-c-contextual-breadcrumbs">
7
10
  <% if breadcrumb_selector.step_by_step %>
@@ -1,10 +1,12 @@
1
1
  <% navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request) %>
2
+ <% ga4_tracking ||= false %>
2
3
 
3
4
  <% unless navigation.content_tagged_to_current_step_by_step? %>
4
5
  <div class="gem-c-contextual-footer">
5
6
  <%# Rendering related navigation because no step by step list %>
6
7
  <%= render 'govuk_publishing_components/components/related_navigation',
7
8
  content_item: content_item,
9
+ ga4_tracking: ga4_tracking,
8
10
  context: :footer %>
9
11
  </div>
10
12
  <% end %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("contextual-guidance")
3
+
2
4
  id ||= nil
3
5
  title ||= nil
4
6
  content ||= nil
@@ -1,10 +1,16 @@
1
- <% navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request) %>
2
- <% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
1
+ <%
2
+ add_gem_component_stylesheet("contextual-sidebar")
3
+
4
+ ga4_tracking ||= false
5
+ request.query_parameters[:ga4_tracking] = ga4_tracking
6
+ navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request)
7
+ shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
8
+ %>
3
9
 
4
10
  <div class="gem-c-contextual-sidebar">
5
11
  <% if navigation.content_tagged_to_a_reasonable_number_of_step_by_steps? %>
6
12
  <%# Rendering step by step related items because there are a few but not too many of them %>
7
- <%= render 'govuk_publishing_components/components/step_by_step_nav_related', links: navigation.step_nav_helper.related_links %>
13
+ <%= render 'govuk_publishing_components/components/step_by_step_nav_related', links: navigation.step_nav_helper.related_links, ga4_tracking: ga4_tracking %>
8
14
  <% end %>
9
15
 
10
16
  <% if navigation.content_tagged_to_current_step_by_step? %>
@@ -12,7 +18,7 @@
12
18
  <%= render 'govuk_publishing_components/components/step_by_step_nav', navigation.step_nav_helper.sidebar %>
13
19
  <% else %>
14
20
  <%# Rendering related navigation sidebar because no step by step list %>
15
- <%= render 'govuk_publishing_components/components/related_navigation', content_item: content_item, context: :sidebar %>
21
+ <%= render 'govuk_publishing_components/components/related_navigation', content_item: content_item, context: :sidebar, ga4_tracking: ga4_tracking %>
16
22
  <% end %>
17
23
 
18
24
  <% if navigation.content_tagged_to_other_step_by_steps? %>
@@ -20,11 +26,12 @@
20
26
  <%= render 'govuk_publishing_components/components/step_by_step_nav_related', {
21
27
  pretitle: t("components.contextual_sidebar.pretitle"),
22
28
  links: navigation.step_nav_helper.also_part_of_step_nav,
23
- always_display_as_list: true
29
+ always_display_as_list: true,
30
+ ga4_tracking: ga4_tracking
24
31
  } %>
25
32
  <% end %>
26
33
 
27
34
  <% if navigation.show_ukraine_cta? %>
28
- <%= render 'govuk_publishing_components/components/contextual_sidebar/ukraine_cta', content_item: content_item %>
35
+ <%= render 'govuk_publishing_components/components/contextual_sidebar/ukraine_cta', content_item: content_item, ga4_tracking: ga4_tracking %>
29
36
  <% end %>
30
37
  </div>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("cookie-banner")
3
+
2
4
  id ||= 'global-cookie-message'
3
5
  title ||= t("components.cookie_banner.title")
4
6
  text ||= t("components.cookie_banner.text")
@@ -14,9 +16,9 @@
14
16
  text = raw(text)
15
17
 
16
18
  cookie_preferences_href ||= "/help/cookies"
17
- confirmation_message ||= raw(t("components.cookie_banner.confirmation_message_html",
19
+ confirmation_message ||= raw(t("components.cookie_banner.confirmation_message.html",
18
20
  link: link_to(
19
- t("components.cookie_banner.confirmation_message_link"),
21
+ t("components.cookie_banner.confirmation_message.link"),
20
22
  cookie_preferences_href,
21
23
  class: "govuk-link",
22
24
  data: {
@@ -29,8 +31,8 @@
29
31
  css_classes = %w(gem-c-cookie-banner govuk-clearfix)
30
32
  css_classes << "gem-c-cookie-banner--services" if services_cookies
31
33
  %>
32
- <div id="<%= id %>" class="<%= css_classes.join(' ') %>" data-module="cookie-banner" role="region" aria-label="cookie banner" data-nosnippet>
33
- <div class="govuk-cookie-banner js-banner-wrapper" role="region" aria-label="<%= title %>">
34
+ <div id="<%= id %>" class="<%= css_classes.join(' ') %>" data-module="cookie-banner" data-nosnippet role="region" aria-label="<%= title %>">
35
+ <div class="govuk-cookie-banner js-banner-wrapper">
34
36
  <div class="gem-c-cookie-banner__message govuk-cookie-banner__message govuk-width-container">
35
37
  <div class="govuk-grid-row">
36
38
  <div class="govuk-grid-column-two-thirds">
@@ -79,13 +81,17 @@
79
81
  "track-action": "Cookie banner rejected",
80
82
  }
81
83
  } %>
82
- <a class="govuk-link" href="<%= cookie_preferences_href %>">View cookies</a>
84
+ <a class="govuk-link" href="<%= cookie_preferences_href %>"><%= t("components.cookie_banner.buttons.view_cookies") %></a>
83
85
  </div>
84
86
  <% end %>
85
87
  </div>
86
88
  </div>
87
89
  <div class="gem-c-cookie-banner__confirmation govuk-width-container" tabindex="-1" hidden>
88
- <p class="gem-c-cookie-banner__confirmation-message" role="alert"><%= confirmation_message %></p>
90
+ <p class="gem-c-cookie-banner__confirmation-message" role="alert">
91
+ <span class="gem-c-cookie-banner__confirmation-message__accepted" hidden><%= t("components.cookie_banner.confirmation_message.accepted") %>. </span>
92
+ <span class="gem-c-cookie-banner__confirmation-message__rejected" hidden><%= t("components.cookie_banner.confirmation_message.rejected") %>. </span>
93
+ <%= confirmation_message %>
94
+ </p>
89
95
  <div class="govuk-button-group">
90
96
  <button class="gem-c-cookie-banner__hide-button govuk-button" data-hide-cookie-banner="true" data-module="gem-track-click" data-track-category="cookieBanner" data-track-action="Hide cookie banner"><%= t("components.cookie_banner.hide") %></button>
91
97
  </div>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("date-input")
3
+
2
4
  id ||= "input-#{SecureRandom.hex(4)}"
3
5
  name ||= nil
4
6
  items ||= [
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("details")
3
+
2
4
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
3
5
 
4
6
  open ||= nil
@@ -11,9 +13,11 @@
11
13
 
12
14
  data_attributes ||= {}
13
15
  data_attributes[:details_track_click] = ''
16
+
17
+ summary_aria_attributes ||= {}
14
18
  %>
15
19
  <%= tag.details class: css_classes, data: details_data_attributes, open: open do %>
16
- <%= tag.summary class: "govuk-details__summary", data: data_attributes do %>
20
+ <%= tag.summary class: "govuk-details__summary", data: data_attributes, aria: summary_aria_attributes do %>
17
21
  <span class="govuk-details__summary-text">
18
22
  <%= title %>
19
23
  </span>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("devolved-nations")
3
+
2
4
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
3
5
  devolved_nations_helper = GovukPublishingComponents::Presenters::DevolvedNationsHelper.new(local_assigns)
4
6
 
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("document-list")
3
+
2
4
  items ||= []
3
5
 
4
6
  classes = "gem-c-document-list"
@@ -6,6 +8,7 @@
6
8
  classes << " gem-c-document-list--bottom-margin" if local_assigns[:margin_bottom]
7
9
  classes << " gem-c-document-list--no-underline" if local_assigns[:remove_underline]
8
10
  classes << " gem-c-document-list--no-top-border" if local_assigns[:remove_top_border]
11
+ classes << " gem-c-document-list--no-top-border-first-child" if local_assigns[:remove_top_border_from_first_child]
9
12
 
10
13
  within_multitype_list ||= false
11
14
  within_multitype_list_class = " gem-c-document-list__multi-list" if within_multitype_list
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("emergency-banner")
3
+
2
4
  heading ||= ""
3
5
  short_description ||= nil
4
6
  link ||= nil
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("error-alert")
3
+
2
4
  id ||= nil
3
5
  description ||= nil
4
6
  data_attributes ||= {}
@@ -1,15 +1,18 @@
1
1
  <%
2
+ add_gem_component_stylesheet("error-message")
3
+
2
4
  id ||= "error-message-#{SecureRandom.hex(4)}"
3
5
  classes ||= ''
4
6
  css_classes = %w( gem-c-error-message govuk-error-message )
5
7
  css_classes << classes if classes
6
8
  items ||= []
9
+ right_to_left ||= false
7
10
 
8
11
  if items.any?
9
12
  errors = items.map { |item| capture { item[:text] } }
10
13
  text = raw(errors.join("<br />"))
11
14
  end
12
15
  %>
13
- <%= tag.p id: id, class: css_classes do %>
16
+ <%= tag.p id: id, class: css_classes, dir: right_to_left ? "rtl" : nil do %>
14
17
  <span class="govuk-visually-hidden">Error:</span> <%= text %>
15
18
  <% end %>
@@ -1,10 +1,11 @@
1
1
  <%
2
+ add_gem_component_stylesheet("error-summary")
3
+
2
4
  id ||= "error-summary-#{SecureRandom.hex(4)}"
3
5
  title ||= false
4
6
  description ||= false
5
7
  data_attributes ||= {}
6
8
  items ||= []
7
- title_id ||= "error-summary-title-#{SecureRandom.hex(4)}"
8
9
  if items.empty? && !title
9
10
  raise ArgumentError, "The error_summary component needs at least one item or a title in order to render."
10
11
  end
@@ -12,33 +13,35 @@
12
13
  <%= tag.div(
13
14
  class: "gem-c-error-summary govuk-error-summary",
14
15
  data: { module: "govuk-error-summary" }.merge(data_attributes),
15
- aria: { labelledby: title_id },
16
- role: "alert",
17
16
  id: id,
18
17
  ) do %>
19
- <% if title %>
20
- <h2 class="govuk-error-summary__title" id="<%= title_id %>">
21
- <%= title %>
22
- </h2>
23
- <% end %>
24
- <div class="govuk-error-summary__body">
25
- <% if description %>
26
- <p><%= description %></p>
18
+ <%= tag.div(
19
+ role: "alert",
20
+ ) do %>
21
+ <% if title %>
22
+ <h2 class="govuk-error-summary__title">
23
+ <%= title %>
24
+ </h2>
27
25
  <% end %>
28
- <% if items.present? %>
29
- <ul class="govuk-list govuk-error-summary__list">
30
- <% items.each_with_index do |item, index| %>
31
- <li class="gem-c-error-summary__list-item">
32
- <% if item[:href] %>
33
- <%= link_to item[:text], item[:href], target: item[:target], data: item[:data_attributes] %>
34
- <% else %>
35
- <%= tag.span data: item[:data_attributes] do %>
36
- <%= item[:text] %>
26
+ <div class="govuk-error-summary__body">
27
+ <% if description %>
28
+ <p><%= description %></p>
29
+ <% end %>
30
+ <% if items.present? %>
31
+ <ul class="govuk-list govuk-error-summary__list">
32
+ <% items.each_with_index do |item, index| %>
33
+ <li class="gem-c-error-summary__list-item">
34
+ <% if item[:href] %>
35
+ <%= link_to item[:text], item[:href], target: item[:target], data: item[:data_attributes] %>
36
+ <% else %>
37
+ <%= tag.span data: item[:data_attributes] do %>
38
+ <%= item[:text] %>
39
+ <% end %>
37
40
  <% end %>
38
- <% end %>
39
- </li>
40
- <% end %>
41
- </ul>
42
- <% end %>
43
- </div>
41
+ </li>
42
+ <% end %>
43
+ </ul>
44
+ <% end %>
45
+ </div>
46
+ <% end %>
44
47
  <% end %>
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("feedback")
3
+
2
4
  def utf_encode(element)
3
5
  element.is_a?(String) ? element.encode : element
4
6
  end
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("fieldset")
3
+
2
4
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
3
5
 
4
6
  text = text || yield
@@ -1,4 +1,6 @@
1
1
  <%
2
+ add_gem_component_stylesheet("file-upload")
3
+
2
4
  id ||= "file-upload-#{SecureRandom.hex(4)}"
3
5
  value ||= nil
4
6
  accept ||= nil
@@ -7,7 +7,7 @@
7
7
  gtm_attributes << "gtm_preview=" + gtm_preview if gtm_preview
8
8
  gtm_attributes = gtm_attributes.join('&')
9
9
  %>
10
- <script>
10
+ <%= javascript_tag nonce: true do -%>
11
11
  var doNotTrack = ( navigator.doNotTrack === '1' || navigator.doNotTrack === 'yes' || navigator.msDoNotTrack === '1' || window.doNotTrack === '1' )
12
12
  if (!doNotTrack) {
13
13
  (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
@@ -16,4 +16,4 @@ if (!doNotTrack) {
16
16
  'https://www.googletagmanager.com/gtm.js?id='+i+dl+'&<%= raw gtm_attributes %>';f.parentNode.insertBefore(j,f);
17
17
  })(window,document,'script','dataLayer','<%= gtm_id %>');
18
18
  }
19
- </script>
19
+ <% end -%>
@@ -1,4 +1,5 @@
1
1
  <%
2
+ add_gem_component_stylesheet("govspeak")
2
3
  inverse ||= false
3
4
  direction_class = "direction-#{direction}" if local_assigns.include?(:direction)
4
5
  disable_youtube_expansions = local_assigns.fetch(:disable_youtube_expansions) if local_assigns.include?(:disable_youtube_expansions)