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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification-banner.js","sources":["../../../../src/govuk/common/index.mjs","../../../../src/govuk/vendor/polyfills/Object/defineProperty.mjs","../../../../src/govuk/vendor/polyfills/Document.mjs","../../../../src/govuk/vendor/polyfills/Element.mjs","../../../../src/govuk/vendor/polyfills/Element/prototype/dataset.mjs","../../../../src/govuk/vendor/polyfills/String/prototype/trim.mjs","../../../../src/govuk/common/normalise-dataset.mjs","../../../../src/govuk/vendor/polyfills/Window.mjs","../../../../src/govuk/vendor/polyfills/Event.mjs","../../../../src/govuk/components/notification-banner/notification-banner.mjs"],"sourcesContent":["/**\n * Common helpers which do not require polyfill.\n *\n * IMPORTANT: If a helper require a polyfill, please isolate it in its own module\n * so that the polyfill can be properly tree-shaken and does not burden\n * the components that do not need that helper\n *\n * @module common/index\n */\n\n/**\n * TODO: Ideally this would be a NodeList.prototype.forEach polyfill\n * This seems to fail in IE8, requires more investigation.\n * See: https://github.com/imagitama/nodelist-foreach-polyfill\n *\n * @param {NodeListOf<Element>} nodes - NodeList from querySelectorAll()\n * @param {nodeListIterator} callback - Callback function to run for each node\n * @returns {void}\n */\nexport function nodeListForEach (nodes, callback) {\n if (window.NodeList.prototype.forEach) {\n return nodes.forEach(callback)\n }\n for (var i = 0; i < nodes.length; i++) {\n callback.call(window, nodes[i], i, nodes)\n }\n}\n\n/**\n * Used to generate a unique string, allows multiple instances of the component\n * without them conflicting with each other.\n * https://stackoverflow.com/a/8809472\n *\n * @returns {string} Unique ID\n */\nexport function generateUniqueID () {\n var d = new Date().getTime()\n if (typeof window.performance !== 'undefined' && typeof window.performance.now === 'function') {\n d += window.performance.now() // use high-precision timer if available\n }\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0\n d = Math.floor(d / 16)\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)\n })\n}\n\n/**\n * Config flattening function\n *\n * Takes any number of objects, flattens them into namespaced key-value pairs,\n * (e.g. {'i18n.showSection': 'Show section'}) and combines them together, with\n * greatest priority on the LAST item passed in.\n *\n * @returns {Object<string, unknown>} A flattened object of key-value pairs.\n */\nexport function mergeConfigs (/* configObject1, configObject2, ...configObjects */) {\n /**\n * Function to take nested objects and flatten them to a dot-separated keyed\n * object. Doing this means we don't need to do any deep/recursive merging of\n * each of our objects, nor transform our dataset from a flat list into a\n * nested object.\n *\n * @param {Object<string, unknown>} configObject - Deeply nested object\n * @returns {Object<string, unknown>} Flattened object with dot-separated keys\n */\n var flattenObject = function (configObject) {\n // Prepare an empty return object\n var flattenedObject = {}\n\n /**\n * Our flattening function, this is called recursively for each level of\n * depth in the object. At each level we prepend the previous level names to\n * the key using `prefix`.\n *\n * @param {Partial<Object<string, unknown>>} obj - Object to flatten\n * @param {string} [prefix] - Optional dot-separated prefix\n */\n var flattenLoop = function (obj, prefix) {\n // Loop through keys...\n for (var key in obj) {\n // Check to see if this is a prototypical key/value,\n // if it is, skip it.\n if (!Object.prototype.hasOwnProperty.call(obj, key)) {\n continue\n }\n var value = obj[key]\n var prefixedKey = prefix ? prefix + '.' + key : key\n if (typeof value === 'object') {\n // If the value is a nested object, recurse over that too\n flattenLoop(value, prefixedKey)\n } else {\n // Otherwise, add this value to our return object\n flattenedObject[prefixedKey] = value\n }\n }\n }\n\n // Kick off the recursive loop\n flattenLoop(configObject)\n return flattenedObject\n }\n\n // Start with an empty object as our base\n var formattedConfigObject = {}\n\n // Loop through each of the remaining passed objects and push their keys\n // one-by-one into configObject. Any duplicate keys will override the existing\n // key with the new value.\n for (var i = 0; i < arguments.length; i++) {\n var obj = flattenObject(arguments[i])\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n formattedConfigObject[key] = obj[key]\n }\n }\n }\n\n return formattedConfigObject\n}\n\n/**\n * Extracts keys starting with a particular namespace from a flattened config\n * object, removing the namespace in the process.\n *\n * @param {Object<string, unknown>} configObject - The object to extract key-value pairs from.\n * @param {string} namespace - The namespace to filter keys with.\n * @returns {Object<string, unknown>} Flattened object with dot-separated key namespace removed\n * @throws {Error} Config object required\n * @throws {Error} Namespace string required\n */\nexport function extractConfigByNamespace (configObject, namespace) {\n // Check we have what we need\n if (!configObject || typeof configObject !== 'object') {\n throw new Error('Provide a `configObject` of type \"object\".')\n }\n if (!namespace || typeof namespace !== 'string') {\n throw new Error('Provide a `namespace` of type \"string\" to filter the `configObject` by.')\n }\n var newObject = {}\n for (var key in configObject) {\n // Split the key into parts, using . as our namespace separator\n var keyParts = key.split('.')\n // Check if the first namespace matches the configured namespace\n if (Object.prototype.hasOwnProperty.call(configObject, key) && keyParts[0] === namespace) {\n // Remove the first item (the namespace) from the parts array,\n // but only if there is more than one part (we don't want blank keys!)\n if (keyParts.length > 1) {\n keyParts.shift()\n }\n // Join the remaining parts back together\n var newKey = keyParts.join('.')\n // Add them to our new object\n newObject[newKey] = configObject[key]\n }\n }\n return newObject\n}\n\n/**\n * @callback nodeListIterator\n * @param {Element} value - The current node being iterated on\n * @param {number} index - The current index in the iteration\n * @param {NodeListOf<Element>} nodes - NodeList from querySelectorAll()\n * @returns {void}\n */\n","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Object/defineProperty/detect.js\nvar detect = (\n // In IE8, defineProperty could only act on DOM elements, so full support\n // for the feature requires the ability to set a property on an arbitrary object\n 'defineProperty' in Object && (function() {\n \ttry {\n \t\tvar a = {};\n \t\tObject.defineProperty(a, 'test', {value:42});\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false\n \t}\n }())\n)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Object.defineProperty&flags=always\n(function (nativeDefineProperty) {\n\n\tvar supportsAccessors = Object.prototype.hasOwnProperty('__defineGetter__');\n\tvar ERR_ACCESSORS_NOT_SUPPORTED = 'Getters & setters cannot be defined on this javascript engine';\n\tvar ERR_VALUE_ACCESSORS = 'A property cannot both have accessors and be writable or have a value';\n\n\tObject.defineProperty = function defineProperty(object, property, descriptor) {\n\n\t\t// Where native support exists, assume it\n\t\tif (nativeDefineProperty && (object === window || object === document || object === Element.prototype || object instanceof Element)) {\n\t\t\treturn nativeDefineProperty(object, property, descriptor);\n\t\t}\n\n\t\tif (object === null || !(object instanceof Object || typeof object === 'object')) {\n\t\t\tthrow new TypeError('Object.defineProperty called on non-object');\n\t\t}\n\n\t\tif (!(descriptor instanceof Object)) {\n\t\t\tthrow new TypeError('Property description must be an object');\n\t\t}\n\n\t\tvar propertyString = String(property);\n\t\tvar hasValueOrWritable = 'value' in descriptor || 'writable' in descriptor;\n\t\tvar getterType = 'get' in descriptor && typeof descriptor.get;\n\t\tvar setterType = 'set' in descriptor && typeof descriptor.set;\n\n\t\t// handle descriptor.get\n\t\tif (getterType) {\n\t\t\tif (getterType !== 'function') {\n\t\t\t\tthrow new TypeError('Getter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineGetter__.call(object, propertyString, descriptor.get);\n\t\t} else {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\t// handle descriptor.set\n\t\tif (setterType) {\n\t\t\tif (setterType !== 'function') {\n\t\t\t\tthrow new TypeError('Setter must be a function');\n\t\t\t}\n\t\t\tif (!supportsAccessors) {\n\t\t\t\tthrow new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);\n\t\t\t}\n\t\t\tif (hasValueOrWritable) {\n\t\t\t\tthrow new TypeError(ERR_VALUE_ACCESSORS);\n\t\t\t}\n\t\t\tObject.__defineSetter__.call(object, propertyString, descriptor.set);\n\t\t}\n\n\t\t// OK to define value unconditionally - if a getter has been specified as well, an error would be thrown above\n\t\tif ('value' in descriptor) {\n\t\t\tobject[propertyString] = descriptor.value;\n\t\t}\n\n\t\treturn object;\n\t};\n}(Object.defineProperty));\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Document/detect.js\nvar detect = (\"Document\" in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Document&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\n\tif (this.HTMLDocument) { // IE8\n\n\t\t// HTMLDocument is an extension of Document. If the browser has HTMLDocument but not Document, the former will suffice as an alias for the latter.\n\t\tthis.Document = this.HTMLDocument;\n\n\t} else {\n\n\t\t// Create an empty function to act as the missing constructor for the document object, attach the document object as its prototype. The function needs to be anonymous else it is hoisted and causes the feature detect to prematurely pass, preventing the assignments below being made.\n\t\tthis.Document = this.HTMLDocument = document.constructor = (new Function('return function Document() {}')());\n\t\tthis.Document.prototype = document;\n\t}\n}\n\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import './Document.mjs'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Element/detect.js\nvar detect = ('Element' in this && 'HTMLElement' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Element&flags=always\n(function () {\n\n\t// IE8\n\tif (window.Element && !window.HTMLElement) {\n\t\twindow.HTMLElement = window.Element;\n\t\treturn;\n\t}\n\n\t// create Element constructor\n\twindow.Element = window.HTMLElement = new Function('return function Element() {}')();\n\n\t// generate sandboxed iframe\n\tvar vbody = document.appendChild(document.createElement('body'));\n\tvar frame = vbody.appendChild(document.createElement('iframe'));\n\n\t// use sandboxed iframe to replicate Element functionality\n\tvar frameDocument = frame.contentWindow.document;\n\tvar prototype = Element.prototype = frameDocument.appendChild(frameDocument.createElement('*'));\n\tvar cache = {};\n\n\t// polyfill Element.prototype on an element\n\tvar shiv = function (element, deep) {\n\t\tvar\n\t\tchildNodes = element.childNodes || [],\n\t\tindex = -1,\n\t\tkey, value, childNode;\n\n\t\tif (element.nodeType === 1 && element.constructor !== Element) {\n\t\t\telement.constructor = Element;\n\n\t\t\tfor (key in cache) {\n\t\t\t\tvalue = cache[key];\n\t\t\t\telement[key] = value;\n\t\t\t}\n\t\t}\n\n\t\twhile (childNode = deep && childNodes[++index]) {\n\t\t\tshiv(childNode, deep);\n\t\t}\n\n\t\treturn element;\n\t};\n\n\tvar elements = document.getElementsByTagName('*');\n\tvar nativeCreateElement = document.createElement;\n\tvar interval;\n\tvar loopLimit = 100;\n\n\tprototype.attachEvent('onpropertychange', function (event) {\n\t\tvar\n\t\tpropertyName = event.propertyName,\n\t\tnonValue = !cache.hasOwnProperty(propertyName),\n\t\tnewValue = prototype[propertyName],\n\t\toldValue = cache[propertyName],\n\t\tindex = -1,\n\t\telement;\n\n\t\twhile (element = elements[++index]) {\n\t\t\tif (element.nodeType === 1) {\n\t\t\t\tif (nonValue || element[propertyName] === oldValue) {\n\t\t\t\t\telement[propertyName] = newValue;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tcache[propertyName] = newValue;\n\t});\n\n\tprototype.constructor = Element;\n\n\tif (!prototype.hasAttribute) {\n\t\t// <Element>.hasAttribute\n\t\tprototype.hasAttribute = function hasAttribute(name) {\n\t\t\treturn this.getAttribute(name) !== null;\n\t\t};\n\t}\n\n\t// Apply Element prototype to the pre-existing DOM as soon as the body element appears.\n\tfunction bodyCheck() {\n\t\tif (!(loopLimit--)) clearTimeout(interval);\n\t\tif (document.body && !document.body.prototype && /(complete|interactive)/.test(document.readyState)) {\n\t\t\tshiv(document, true);\n\t\t\tif (interval && document.body.prototype) clearTimeout(interval);\n\t\t\treturn (!!document.body.prototype);\n\t\t}\n\t\treturn false;\n\t}\n\tif (!bodyCheck()) {\n\t\tdocument.onreadystatechange = bodyCheck;\n\t\tinterval = setInterval(bodyCheck, 25);\n\t}\n\n\t// Apply to any new elements created after load\n\tdocument.createElement = function createElement(nodeName) {\n\t\tvar element = nativeCreateElement(String(nodeName).toLowerCase());\n\t\treturn shiv(element);\n\t};\n\n\t// remove sandboxed iframe\n\tdocument.removeChild(vbody);\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import '../../Object/defineProperty.mjs'\nimport '../../Element.mjs'\n\n(function(undefined) {\n\n // Detection from https://raw.githubusercontent.com/Financial-Times/polyfill-library/13cf7c340974d128d557580b5e2dafcd1b1192d1/polyfills/Element/prototype/dataset/detect.js\n var detect = (function(){\n if (!document.documentElement.dataset) {\n return false;\n }\n var el = document.createElement('div');\n el.setAttribute(\"data-a-b\", \"c\");\n return el.dataset && el.dataset.aB == \"c\";\n }())\n\n if (detect) return\n\n // Polyfill derived from https://raw.githubusercontent.com/Financial-Times/polyfill-library/13cf7c340974d128d557580b5e2dafcd1b1192d1/polyfills/Element/prototype/dataset/polyfill.js\n Object.defineProperty(Element.prototype, 'dataset', {\n get: function() {\n var element = this;\n var attributes = this.attributes;\n var map = {};\n \n for (var i = 0; i < attributes.length; i++) {\n var attribute = attributes[i];\n \n // This regex has been edited from the original polyfill, to add\n // support for period (.) separators in data-* attribute names. These\n // are allowed in the HTML spec, but were not covered by the original\n // polyfill's regex. We use periods in our i18n implementation.\n if (attribute && attribute.name && (/^data-\\w[.\\w-]*$/).test(attribute.name)) {\n var name = attribute.name;\n var value = attribute.value;\n \n var propName = name.substr(5).replace(/-./g, function (prop) {\n return prop.charAt(1).toUpperCase();\n });\n \n // If this browser supports __defineGetter__ and __defineSetter__,\n // continue using defineProperty. If not (like IE 8 and below), we use\n // a hacky fallback which at least gives an object in the right format\n if ('__defineGetter__' in Object.prototype && '__defineSetter__' in Object.prototype) {\n Object.defineProperty(map, propName, {\n enumerable: true,\n get: function() {\n return this.value;\n }.bind({value: value || ''}),\n set: function setter(name, value) {\n if (typeof value !== 'undefined') {\n this.setAttribute(name, value);\n } else {\n this.removeAttribute(name);\n }\n }.bind(element, name)\n });\n } else {\n map[propName] = value\n }\n\n }\n }\n \n return map;\n }\n });\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});","(function(undefined) {\n\n // Detection from https://github.com/mdn/content/blob/cf607d68522cd35ee7670782d3ee3a361eaef2e4/files/en-us/web/javascript/reference/global_objects/string/trim/index.md#polyfill\n var detect = ('trim' in String.prototype)\n \n if (detect) return\n\n // Polyfill from https://github.com/mdn/content/blob/cf607d68522cd35ee7670782d3ee3a361eaef2e4/files/en-us/web/javascript/reference/global_objects/string/trim/index.md#polyfill\n String.prototype.trim = function () {\n return this.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n };\n\n}).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","/* eslint-disable es-x/no-string-prototype-trim -- Polyfill imported */\n\nimport '../vendor/polyfills/Element/prototype/dataset.mjs'\nimport '../vendor/polyfills/String/prototype/trim.mjs'\n\n/**\n * Normalise string\n *\n * 'If it looks like a duck, and it quacks like a duck…' 🦆\n *\n * If the passed value looks like a boolean or a number, convert it to a boolean\n * or number.\n *\n * Designed to be used to convert config passed via data attributes (which are\n * always strings) into something sensible.\n *\n * @param {string} value - The value to normalise\n * @returns {string | boolean | number | undefined} Normalised data\n */\nexport function normaliseString (value) {\n if (typeof value !== 'string') {\n return value\n }\n\n var trimmedValue = value.trim()\n\n if (trimmedValue === 'true') {\n return true\n }\n\n if (trimmedValue === 'false') {\n return false\n }\n\n // Empty / whitespace-only strings are considered finite so we need to check\n // the length of the trimmed string as well\n if (trimmedValue.length > 0 && isFinite(trimmedValue)) {\n return Number(trimmedValue)\n }\n\n return value\n}\n\n/**\n * Normalise dataset\n *\n * Loop over an object and normalise each value using normaliseData function\n *\n * @param {DOMStringMap} dataset - HTML element dataset\n * @returns {Object<string, unknown>} Normalised dataset\n */\nexport function normaliseDataset (dataset) {\n var out = {}\n\n for (var key in dataset) {\n out[key] = normaliseString(dataset[key])\n }\n\n return out\n}\n","(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Window/detect.js\nvar detect = ('Window' in this)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Window&flags=always\nif ((typeof WorkerGlobalScope === \"undefined\") && (typeof importScripts !== \"function\")) {\n\t(function (global) {\n\t\tif (global.constructor) {\n\t\t\tglobal.Window = global.constructor;\n\t\t} else {\n\t\t\t(global.Window = global.constructor = new Function('return function Window() {}')()).prototype = this;\n\t\t}\n\t}(this));\n}\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import './Window.mjs'\nimport './Element.mjs'\nimport './Object/defineProperty.mjs'\n\n(function(undefined) {\n\n// Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Event/detect.js\nvar detect = (\n (function(global) {\n\n \tif (!('Event' in global)) return false;\n \tif (typeof global.Event === 'function') return true;\n\n \ttry {\n\n \t\t// In IE 9-11, the Event object exists but cannot be instantiated\n \t\tnew Event('click');\n \t\treturn true;\n \t} catch(e) {\n \t\treturn false;\n \t}\n }(this))\n)\n\nif (detect) return\n\n// Polyfill from https://cdn.polyfill.io/v2/polyfill.js?features=Event&flags=always\n(function () {\n\tvar unlistenableWindowEvents = {\n\t\tclick: 1,\n\t\tdblclick: 1,\n\t\tkeyup: 1,\n\t\tkeypress: 1,\n\t\tkeydown: 1,\n\t\tmousedown: 1,\n\t\tmouseup: 1,\n\t\tmousemove: 1,\n\t\tmouseover: 1,\n\t\tmouseenter: 1,\n\t\tmouseleave: 1,\n\t\tmouseout: 1,\n\t\tstorage: 1,\n\t\tstoragecommit: 1,\n\t\ttextinput: 1\n\t};\n\n\t// This polyfill depends on availability of `document` so will not run in a worker\n\t// However, we asssume there are no browsers with worker support that lack proper\n\t// support for `Event` within the worker\n\tif (typeof document === 'undefined' || typeof window === 'undefined') return;\n\n\tfunction indexOf(array, element) {\n\t\tvar\n\t\tindex = -1,\n\t\tlength = array.length;\n\n\t\twhile (++index < length) {\n\t\t\tif (index in array && array[index] === element) {\n\t\t\t\treturn index;\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t}\n\n\tvar existingProto = (window.Event && window.Event.prototype) || null;\n\twindow.Event = Window.prototype.Event = function Event(type, eventInitDict) {\n\t\tif (!type) {\n\t\t\tthrow new Error('Not enough arguments');\n\t\t}\n\n\t\tvar event;\n\t\t// Shortcut if browser supports createEvent\n\t\tif ('createEvent' in document) {\n\t\t\tevent = document.createEvent('Event');\n\t\t\tvar bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\t\tvar cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\t\tevent.initEvent(type, bubbles, cancelable);\n\n\t\t\treturn event;\n\t\t}\n\n\t\tevent = document.createEventObject();\n\n\t\tevent.type = type;\n\t\tevent.bubbles = eventInitDict && eventInitDict.bubbles !== undefined ? eventInitDict.bubbles : false;\n\t\tevent.cancelable = eventInitDict && eventInitDict.cancelable !== undefined ? eventInitDict.cancelable : false;\n\n\t\treturn event;\n\t};\n\tif (existingProto) {\n\t\tObject.defineProperty(window.Event, 'prototype', {\n\t\t\tconfigurable: false,\n\t\t\tenumerable: false,\n\t\t\twritable: true,\n\t\t\tvalue: existingProto\n\t\t});\n\t}\n\n\tif (!('createEvent' in document)) {\n\t\twindow.addEventListener = Window.prototype.addEventListener = Document.prototype.addEventListener = Element.prototype.addEventListener = function addEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1];\n\n\t\t\tif (element === window && type in unlistenableWindowEvents) {\n\t\t\t\tthrow new Error('In IE8 the event: ' + type + ' is not available on the window object. Please see https://github.com/Financial-Times/polyfill-service/issues/317 for more information.');\n\t\t\t}\n\n\t\t\tif (!element._events) {\n\t\t\t\telement._events = {};\n\t\t\t}\n\n\t\t\tif (!element._events[type]) {\n\t\t\t\telement._events[type] = function (event) {\n\t\t\t\t\tvar\n\t\t\t\t\tlist = element._events[event.type].list,\n\t\t\t\t\tevents = list.slice(),\n\t\t\t\t\tindex = -1,\n\t\t\t\t\tlength = events.length,\n\t\t\t\t\teventElement;\n\n\t\t\t\t\tevent.preventDefault = function preventDefault() {\n\t\t\t\t\t\tif (event.cancelable !== false) {\n\t\t\t\t\t\t\tevent.returnValue = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopPropagation = function stopPropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.stopImmediatePropagation = function stopImmediatePropagation() {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\t\t\t\t\t\tevent.cancelImmediate = true;\n\t\t\t\t\t};\n\n\t\t\t\t\tevent.currentTarget = element;\n\t\t\t\t\tevent.relatedTarget = event.fromElement || null;\n\t\t\t\t\tevent.target = event.target || event.srcElement || element;\n\t\t\t\t\tevent.timeStamp = new Date().getTime();\n\n\t\t\t\t\tif (event.clientX) {\n\t\t\t\t\t\tevent.pageX = event.clientX + document.documentElement.scrollLeft;\n\t\t\t\t\t\tevent.pageY = event.clientY + document.documentElement.scrollTop;\n\t\t\t\t\t}\n\n\t\t\t\t\twhile (++index < length && !event.cancelImmediate) {\n\t\t\t\t\t\tif (index in events) {\n\t\t\t\t\t\t\teventElement = events[index];\n\n\t\t\t\t\t\t\tif (indexOf(list, eventElement) !== -1 && typeof eventElement === 'function') {\n\t\t\t\t\t\t\t\teventElement.call(element, event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\telement._events[type].list = [];\n\n\t\t\t\tif (element.attachEvent) {\n\t\t\t\t\telement.attachEvent('on' + type, element._events[type]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement._events[type].list.push(listener);\n\t\t};\n\n\t\twindow.removeEventListener = Window.prototype.removeEventListener = Document.prototype.removeEventListener = Element.prototype.removeEventListener = function removeEventListener() {\n\t\t\tvar\n\t\t\telement = this,\n\t\t\ttype = arguments[0],\n\t\t\tlistener = arguments[1],\n\t\t\tindex;\n\n\t\t\tif (element._events && element._events[type] && element._events[type].list) {\n\t\t\t\tindex = indexOf(element._events[type].list, listener);\n\n\t\t\t\tif (index !== -1) {\n\t\t\t\t\telement._events[type].list.splice(index, 1);\n\n\t\t\t\t\tif (!element._events[type].list.length) {\n\t\t\t\t\t\tif (element.detachEvent) {\n\t\t\t\t\t\t\telement.detachEvent('on' + type, element._events[type]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdelete element._events[type];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.dispatchEvent = Window.prototype.dispatchEvent = Document.prototype.dispatchEvent = Element.prototype.dispatchEvent = function dispatchEvent(event) {\n\t\t\tif (!arguments.length) {\n\t\t\t\tthrow new Error('Not enough arguments');\n\t\t\t}\n\n\t\t\tif (!event || typeof event.type !== 'string') {\n\t\t\t\tthrow new Error('DOM Events Exception 0');\n\t\t\t}\n\n\t\t\tvar element = this, type = event.type;\n\n\t\t\ttry {\n\t\t\t\tif (!event.bubbles) {\n\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\tvar cancelBubbleEvent = function (event) {\n\t\t\t\t\t\tevent.cancelBubble = true;\n\n\t\t\t\t\t\t(element || window).detachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.attachEvent('on' + type, cancelBubbleEvent);\n\t\t\t\t}\n\n\t\t\t\tthis.fireEvent('on' + type, event);\n\t\t\t} catch (error) {\n\t\t\t\tevent.target = element;\n\n\t\t\t\tdo {\n\t\t\t\t\tevent.currentTarget = element;\n\n\t\t\t\t\tif ('_events' in element && typeof element._events[type] === 'function') {\n\t\t\t\t\t\telement._events[type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (typeof element['on' + type] === 'function') {\n\t\t\t\t\t\telement['on' + type].call(element, event);\n\t\t\t\t\t}\n\n\t\t\t\t\telement = element.nodeType === 9 ? element.parentWindow : element.parentNode;\n\t\t\t\t} while (element && !event.cancelBubble);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t};\n\n\t\t// Add the DOMContentLoaded Event\n\t\tdocument.attachEvent('onreadystatechange', function() {\n\t\t\tif (document.readyState === 'complete') {\n\t\t\t\tdocument.dispatchEvent(new Event('DOMContentLoaded', {\n\t\t\t\t\tbubbles: true\n\t\t\t\t}));\n\t\t\t}\n\t\t});\n\t}\n}());\n\n})\n.call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});\n","import { mergeConfigs } from '../../common/index.mjs'\nimport { normaliseDataset } from '../../common/normalise-dataset.mjs'\nimport '../../vendor/polyfills/Event.mjs' // addEventListener, event.target normalization and DOMContentLoaded\n\n/**\n * Notification Banner component\n *\n * @class\n * @param {HTMLElement} $module - HTML element to use for notification banner\n * @param {NotificationBannerConfig} [config] - Notification banner config\n */\nfunction NotificationBanner ($module, config) {\n this.$module = $module\n\n var defaultConfig = {\n disableAutoFocus: false\n }\n this.config = mergeConfigs(\n defaultConfig,\n config || {},\n normaliseDataset($module.dataset)\n )\n}\n\n/**\n * Initialise component\n */\nNotificationBanner.prototype.init = function () {\n var $module = this.$module\n // Check for module\n if (!$module) {\n return\n }\n\n this.setFocus()\n}\n\n/**\n * Focus the element\n *\n * If `role=\"alert\"` is set, focus the element to help some assistive technologies\n * prioritise announcing it.\n *\n * You can turn off the auto-focus functionality by setting `data-disable-auto-focus=\"true\"` in the\n * component HTML. You might wish to do this based on user research findings, or to avoid a clash\n * with another element which should be focused when the page loads.\n */\nNotificationBanner.prototype.setFocus = function () {\n var $module = this.$module\n\n if (this.config.disableAutoFocus) {\n return\n }\n\n if ($module.getAttribute('role') !== 'alert') {\n return\n }\n\n // Set tabindex to -1 to make the element focusable with JavaScript.\n // Remove the tabindex on blur as the component doesn't need to be focusable after the page has\n // loaded.\n if (!$module.getAttribute('tabindex')) {\n $module.setAttribute('tabindex', '-1')\n\n $module.addEventListener('blur', function () {\n $module.removeAttribute('tabindex')\n })\n }\n\n $module.focus()\n}\n\nexport default NotificationBanner\n\n/**\n * Notification banner config\n *\n * @typedef {object} NotificationBannerConfig\n * @property {boolean} [disableAutoFocus = false] -\n * If set to `true` the notification banner will not be focussed when the page\n * loads. This only applies if the component has a `role` of `alert` – in\n * other cases the component will not be focused on page load, regardless of\n * this option.\n */\n"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@
29
29
  <div class="govuk-notification-banner{% if typeClass %} {{ typeClass }}{% endif %}{% if params.classes %} {{ params.classes }}{% endif %}" role="{{ role }}"
30
30
  aria-labelledby="{{ params.titleId | default('govuk-notification-banner-title')}}"
31
31
  data-module="govuk-notification-banner"
32
- {%- if params.disableAutoFocus %} data-disable-auto-focus="true"{% endif %}
32
+ {%- if params.disableAutoFocus !== undefined %} data-disable-auto-focus="{{ params.disableAutoFocus }}"{% endif %}
33
33
  {%- for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}>
34
34
  <div class="govuk-notification-banner__header">
35
35
  <h{{ params.titleHeadingLevel | default(2) }} class="govuk-notification-banner__title" id="{{ params.titleId | default('govuk-notification-banner-title') }}" >
@@ -114,13 +114,16 @@
114
114
  display: block;
115
115
  min-width: govuk-spacing(3);
116
116
 
117
- &:after {
118
- content: "";
119
- position: absolute;
120
- top: 0;
121
- right: 0;
122
- bottom: 0;
123
- left: 0;
117
+ // Increase the touch area for the link to the parent element.
118
+ @media screen {
119
+ &:after {
120
+ content: "";
121
+ position: absolute;
122
+ top: 0;
123
+ right: 0;
124
+ bottom: 0;
125
+ left: 0;
126
+ }
124
127
  }
125
128
 
126
129
  // Add link hover decoration to prev/next text if no label present on prev/next only mode
@@ -17,6 +17,7 @@
17
17
  },
18
18
  {
19
19
  "number": 2,
20
+ "href": "/page/2",
20
21
  "current": true
21
22
  },
22
23
  {
@@ -25,8 +26,8 @@
25
26
  }
26
27
  ]
27
28
  },
28
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
29
- "hidden": false
29
+ "hidden": false,
30
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
30
31
  },
31
32
  {
32
33
  "name": "with custom navigation landmark",
@@ -45,6 +46,7 @@
45
46
  },
46
47
  {
47
48
  "number": 2,
49
+ "href": "/page/2",
48
50
  "current": true
49
51
  },
50
52
  {
@@ -53,8 +55,8 @@
53
55
  }
54
56
  ]
55
57
  },
56
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"search\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
57
- "hidden": false
58
+ "hidden": false,
59
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"search\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
58
60
  },
59
61
  {
60
62
  "name": "with custom link and item text",
@@ -74,6 +76,7 @@
74
76
  },
75
77
  {
76
78
  "number": "two",
79
+ "href": "/page/2",
77
80
  "current": true
78
81
  },
79
82
  {
@@ -82,8 +85,8 @@
82
85
  }
83
86
  ]
84
87
  },
85
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page one\">\n one\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page two\" aria-current=\"page\">\n two\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page three\">\n three\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next page</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
86
- "hidden": false
88
+ "hidden": false,
89
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page one\">\n one\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page two\" aria-current=\"page\">\n two\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page three\">\n three\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next page</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
87
90
  },
88
91
  {
89
92
  "name": "with custom accessible labels on item links",
@@ -102,6 +105,7 @@
102
105
  },
103
106
  {
104
107
  "number": 2,
108
+ "href": "/page/2",
105
109
  "current": true,
106
110
  "visuallyHiddenText": "2nd page (you are currently on this page)"
107
111
  },
@@ -112,8 +116,8 @@
112
116
  }
113
117
  ]
114
118
  },
115
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"1st page\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"2nd page (you are currently on this page)\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"3rd page\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
116
- "hidden": false
119
+ "hidden": false,
120
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"1st page\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"2nd page (you are currently on this page)\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"3rd page\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
117
121
  },
118
122
  {
119
123
  "name": "with many pages",
@@ -142,6 +146,7 @@
142
146
  },
143
147
  {
144
148
  "number": 10,
149
+ "href": "/page/10",
145
150
  "current": true
146
151
  },
147
152
  {
@@ -161,8 +166,8 @@
161
166
  }
162
167
  ]
163
168
  },
164
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--ellipses\">&ctdot;</li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/8\" aria-label=\"Page 8\">\n 8\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/9\" aria-label=\"Page 9\">\n 9\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page 10\" aria-current=\"page\">\n 10\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/11\" aria-label=\"Page 11\">\n 11\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/12\" aria-label=\"Page 12\">\n 12\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--ellipses\">&ctdot;</li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/40\" aria-label=\"Page 40\">\n 40\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
165
- "hidden": false
169
+ "hidden": false,
170
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--ellipses\">&ctdot;</li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/8\" aria-label=\"Page 8\">\n 8\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/9\" aria-label=\"Page 9\">\n 9\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/10\" aria-label=\"Page 10\" aria-current=\"page\">\n 10\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/11\" aria-label=\"Page 11\">\n 11\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/12\" aria-label=\"Page 12\">\n 12\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--ellipses\">&ctdot;</li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/40\" aria-label=\"Page 40\">\n 40\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
166
171
  },
167
172
  {
168
173
  "name": "first page",
@@ -173,6 +178,7 @@
173
178
  "items": [
174
179
  {
175
180
  "number": 1,
181
+ "href": "/page/1",
176
182
  "current": true
177
183
  },
178
184
  {
@@ -185,8 +191,8 @@
185
191
  }
186
192
  ]
187
193
  },
188
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page 1\" aria-current=\"page\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>",
189
- "hidden": false
194
+ "hidden": false,
195
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\" aria-current=\"page\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
190
196
  },
191
197
  {
192
198
  "name": "last page",
@@ -205,12 +211,13 @@
205
211
  },
206
212
  {
207
213
  "number": 3,
214
+ "href": "/page/3",
208
215
  "current": true
209
216
  }
210
217
  ]
211
218
  },
212
- "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"\" aria-label=\"Page 3\" aria-current=\"page\">\n 3\n </a>\n </li></ul></nav>",
213
- "hidden": false
219
+ "hidden": false,
220
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\" aria-current=\"page\">\n 3\n </a>\n </li></ul></nav>"
214
221
  },
215
222
  {
216
223
  "name": "with prev and next only",
@@ -222,8 +229,8 @@
222
229
  "href": "/next"
223
230
  }
224
231
  },
225
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Previous</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Next</span></a>\n </div></nav>",
226
- "hidden": false
232
+ "hidden": false,
233
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Previous</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Next</span></a>\n </div></nav>"
227
234
  },
228
235
  {
229
236
  "name": "with prev and next only and labels",
@@ -239,8 +246,8 @@
239
246
  "href": "/next"
240
247
  }
241
248
  },
242
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">1 of 3</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Next page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">3 of 3</span></a>\n </div></nav>",
243
- "hidden": false
249
+ "hidden": false,
250
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">1 of 3</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Next page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">3 of 3</span></a>\n </div></nav>"
244
251
  },
245
252
  {
246
253
  "name": "with prev and next only and very long labels",
@@ -256,8 +263,8 @@
256
263
  "href": "/next"
257
264
  }
258
265
  },
259
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Next page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></a>\n </div></nav>",
260
- "hidden": false
266
+ "hidden": false,
267
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Next page</span><span class=\"govuk-visually-hidden\">:</span>\n <span class=\"govuk-pagination__link-label\">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></a>\n </div></nav>"
261
268
  },
262
269
  {
263
270
  "name": "with prev and next only in a different language",
@@ -273,8 +280,8 @@
273
280
  "visuallyHiddenText": "Page suivante"
274
281
  }
275
282
  },
276
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">précédente</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">suivante</span></a>\n </div></nav>",
277
- "hidden": false
283
+ "hidden": false,
284
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">précédente</span></a>\n </div>\n <div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">suivante</span></a>\n </div></nav>"
278
285
  },
279
286
  {
280
287
  "name": "with previous only",
@@ -283,8 +290,8 @@
283
290
  "href": "/previous"
284
291
  }
285
292
  },
286
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Previous</span></a>\n </div>\n </nav>",
287
- "hidden": false
293
+ "hidden": false,
294
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Previous</span></a>\n </div>\n </nav>"
288
295
  },
289
296
  {
290
297
  "name": "with next only",
@@ -293,8 +300,69 @@
293
300
  "href": "/next"
294
301
  }
295
302
  },
296
- "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Next</span></a>\n </div></nav>",
297
- "hidden": false
303
+ "hidden": false,
304
+ "html": "<nav class=\"govuk-pagination govuk-pagination--block\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title govuk-pagination__link-title--decorated\">Next</span></a>\n </div></nav>"
305
+ },
306
+ {
307
+ "name": "with custom classes",
308
+ "options": {
309
+ "classes": "my-custom-class",
310
+ "previous": {
311
+ "href": "/previous"
312
+ },
313
+ "next": {
314
+ "href": "/next"
315
+ },
316
+ "items": [
317
+ {
318
+ "number": 1,
319
+ "href": "/page/1"
320
+ },
321
+ {
322
+ "number": 2,
323
+ "href": "/page/2",
324
+ "current": true
325
+ },
326
+ {
327
+ "number": 3,
328
+ "href": "/page/3"
329
+ }
330
+ ]
331
+ },
332
+ "hidden": true,
333
+ "html": "<nav class=\"govuk-pagination my-custom-class\" role=\"navigation\" aria-label=\"results\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
334
+ },
335
+ {
336
+ "name": "with custom attributes",
337
+ "options": {
338
+ "attributes": {
339
+ "data-attribute-1": "value-1",
340
+ "data-attribute-2": "value-2"
341
+ },
342
+ "previous": {
343
+ "href": "/previous"
344
+ },
345
+ "next": {
346
+ "href": "/next"
347
+ },
348
+ "items": [
349
+ {
350
+ "number": 1,
351
+ "href": "/page/1"
352
+ },
353
+ {
354
+ "number": 2,
355
+ "href": "/page/2",
356
+ "current": true
357
+ },
358
+ {
359
+ "number": 3,
360
+ "href": "/page/3"
361
+ }
362
+ ]
363
+ },
364
+ "hidden": true,
365
+ "html": "<nav class=\"govuk-pagination\" role=\"navigation\" aria-label=\"results\" data-attribute-1=\"value-1\" data-attribute-2=\"value-2\"><div class=\"govuk-pagination__prev\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/previous\" rel=\"prev\">\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--prev\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m6.5938-0.0078125-6.7266 6.7266 6.7441 6.4062 1.377-1.449-4.1856-3.9768h12.896v-2h-12.984l4.2931-4.293-1.414-1.414z\"></path>\n </svg>\n <span class=\"govuk-pagination__link-title\">Previous</span></a>\n </div>\n <ul class=\"govuk-pagination__list\"><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/1\" aria-label=\"Page 1\">\n 1\n </a>\n </li><li class=\"govuk-pagination__item govuk-pagination__item--current\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/2\" aria-label=\"Page 2\" aria-current=\"page\">\n 2\n </a>\n </li><li class=\"govuk-pagination__item\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/page/3\" aria-label=\"Page 3\">\n 3\n </a>\n </li></ul><div class=\"govuk-pagination__next\">\n <a class=\"govuk-link govuk-pagination__link\" href=\"/next\" rel=\"next\">\n <span class=\"govuk-pagination__link-title\">Next</span>\n <svg class=\"govuk-pagination__icon govuk-pagination__icon--next\" xmlns=\"http://www.w3.org/2000/svg\" height=\"13\" width=\"15\" aria-hidden=\"true\" focusable=\"false\" viewBox=\"0 0 15 13\">\n <path d=\"m8.107-0.0078125-1.4136 1.414 4.2926 4.293h-12.986v2h12.896l-4.1855 3.9766 1.377 1.4492 6.7441-6.4062-6.7246-6.7266z\"></path>\n </svg></a>\n </div></nav>"
298
366
  }
299
367
  ]
300
368
  }
@@ -1,6 +1,6 @@
1
1
  {% set blockLevel = not params.items and (params.next or params.previous) %}
2
2
 
3
- <nav class="govuk-pagination {{- ' ' + params.classes if params.classes }} {{- ' govuk-pagination--block' if blockLevel }}" role="navigation" aria-label="{{ params.landmarkLabel | default("results") }} {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}" {%- endfor -%}">
3
+ <nav class="govuk-pagination {{- ' ' + params.classes if params.classes }} {{- ' govuk-pagination--block' if blockLevel }}" role="navigation" aria-label="{{ params.landmarkLabel | default("results") }}" {%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}" {%- endfor -%}>
4
4
  {%- if params.previous and params.previous.href -%}
5
5
  <div class="govuk-pagination__prev">
6
6
  <a class="govuk-link govuk-pagination__link" href="{{ params.previous.href }}" rel="prev" {%- for attribute, value in params.previous.attributes %} {{ attribute }}="{{ value }}" {%- endfor -%}>