govuk_publishing_components 39.2.5 → 40.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1416) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/govuk_publishing_components_manifest.js +2 -2
  3. data/app/assets/config/govuk_publishing_components_sassc-rails_manifest.js +2 -2
  4. data/app/assets/javascripts/govuk_publishing_components/analytics/external-link-tracker.js +1 -1
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-ecommerce-tracker.js +1 -1
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-specialist-link-tracker.js +1 -1
  7. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +5 -7
  8. data/app/assets/javascripts/govuk_publishing_components/components/button.js +1 -1
  9. data/app/assets/javascripts/govuk_publishing_components/components/character-count.js +1 -1
  10. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +1 -2
  11. data/app/assets/javascripts/govuk_publishing_components/components/details.js +1 -3
  12. data/app/assets/javascripts/govuk_publishing_components/components/error-summary.js +1 -1
  13. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +1 -1
  14. data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +1 -1
  15. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +1 -1
  16. data/app/assets/javascripts/govuk_publishing_components/components/radio.js +1 -1
  17. data/app/assets/javascripts/govuk_publishing_components/components/skip-link.js +1 -1
  18. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +1 -1
  19. data/app/assets/javascripts/govuk_publishing_components/components/tabs.js +1 -1
  20. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +1 -1
  21. data/app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js +1 -1
  22. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/DOMTokenList.js +273 -0
  23. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Date/now.js +21 -0
  24. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Document.js +34 -0
  25. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/classList.js +592 -0
  26. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/closest.js +57 -0
  27. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/dataset.js +303 -0
  28. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/matches.js +32 -0
  29. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/nextElementSibling.js +257 -0
  30. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element/prototype/previousElementSibling.js +257 -0
  31. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Element.js +148 -0
  32. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Event.js +506 -0
  33. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Function/prototype/bind.js +253 -0
  34. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Object/defineProperty.js +94 -0
  35. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/String/prototype/trim.js +22 -0
  36. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills-govuk-frontend-v4/Window.js +28 -0
  37. data/app/assets/stylesheets/component_guide/application.scss +1 -4
  38. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +0 -3
  39. data/app/assets/stylesheets/govuk_publishing_components/_individual_component_support.scss +0 -2
  40. data/app/assets/stylesheets/govuk_publishing_components/components/_attachment.scss +1 -1
  41. data/app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss +3 -2
  42. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +1 -1
  43. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +2 -2
  44. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +3 -3
  45. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +2 -2
  46. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +1 -1
  47. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +8 -8
  48. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +1 -0
  49. data/app/assets/stylesheets/govuk_publishing_components/components/_related-navigation.scss +1 -1
  50. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +1 -1
  51. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +5 -5
  52. data/app/assets/stylesheets/govuk_publishing_components/components/_subscription-links.scss +1 -1
  53. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +3 -3
  54. data/app/assets/stylesheets/govuk_publishing_components/components/_warning-text.scss +5 -1
  55. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_advisory.scss +1 -1
  56. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +2 -2
  57. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_call-to-action.scss +1 -1
  58. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +1 -1
  59. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_example.scss +1 -1
  60. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +1 -1
  61. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_information-callout.scss +1 -1
  62. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +1 -1
  63. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_tables.scss +1 -1
  64. data/app/assets/stylesheets/govuk_publishing_components/govuk_frontend_support.scss +2 -2
  65. data/app/views/govuk_publishing_components/components/_accordion.html.erb +0 -1
  66. data/app/views/govuk_publishing_components/components/_details.html.erb +2 -2
  67. data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +4 -0
  68. data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +7 -6
  69. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +5 -38
  70. data/app/views/govuk_publishing_components/components/_modal_dialogue.html.erb +0 -1
  71. data/app/views/govuk_publishing_components/components/_phase_banner.html.erb +1 -1
  72. data/app/views/govuk_publishing_components/components/_warning_text.html.erb +1 -1
  73. data/app/views/govuk_publishing_components/components/docs/accordion.yml +1 -2
  74. data/app/views/govuk_publishing_components/components/docs/layout_for_admin.yml +9 -0
  75. data/app/views/govuk_publishing_components/components/layout_for_public/_header_logo.html.erb +41 -0
  76. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +14 -16
  77. data/config/initializers/assets.rb +3 -3
  78. data/lib/govuk_publishing_components/config.rb +3 -0
  79. data/lib/govuk_publishing_components/version.rb +1 -1
  80. data/node_modules/govuk-frontend/README.md +11 -8
  81. data/node_modules/govuk-frontend/dist/govuk/_base.scss +5 -0
  82. data/node_modules/govuk-frontend/dist/govuk/_base.scss.map +1 -0
  83. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +2168 -0
  84. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js.map +1 -0
  85. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +2148 -0
  86. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs.map +1 -0
  87. data/node_modules/govuk-frontend/dist/govuk/all.mjs +78 -0
  88. data/node_modules/govuk-frontend/dist/govuk/all.mjs.map +1 -0
  89. data/node_modules/govuk-frontend/dist/govuk/all.scss +11 -0
  90. data/node_modules/govuk-frontend/dist/govuk/all.scss.map +1 -0
  91. data/node_modules/govuk-frontend/dist/govuk/assets/images/favicon.svg +1 -0
  92. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  93. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  94. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-mask.svg +1 -0
  95. data/node_modules/govuk-frontend/dist/govuk/assets/manifest.json +39 -0
  96. data/node_modules/govuk-frontend/dist/govuk/common/closest-attribute-value.mjs +7 -0
  97. data/node_modules/govuk-frontend/dist/govuk/common/closest-attribute-value.mjs.map +1 -0
  98. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +4 -0
  99. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs.map +1 -0
  100. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +119 -0
  101. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs.map +1 -0
  102. data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs +26 -0
  103. data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs.map +1 -0
  104. data/node_modules/govuk-frontend/dist/govuk/components/_all.scss +38 -0
  105. data/node_modules/govuk-frontend/dist/govuk/components/_all.scss.map +1 -0
  106. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +4 -0
  107. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss.map +1 -0
  108. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +366 -0
  109. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss.map +1 -0
  110. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +675 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js.map +1 -0
  112. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +667 -0
  113. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs.map +1 -0
  114. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +354 -0
  115. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs.map +1 -0
  116. data/node_modules/govuk-frontend/dist/govuk/components/accordion/fixtures.json +359 -0
  117. data/node_modules/govuk-frontend/dist/govuk/components/accordion/macro-options.json +142 -0
  118. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-default.html +30 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-additional-descriptions.html +39 -0
  120. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-all-sections-already-open.html +30 -0
  121. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-focusable-elements-inside.html +26 -0
  122. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-long-content-and-description.html +36 -0
  123. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-one-section-open.html +30 -0
  124. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-translations.html +30 -0
  125. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template.njk +66 -0
  126. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +4 -0
  127. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss.map +1 -0
  128. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss +83 -0
  129. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss.map +1 -0
  130. data/node_modules/govuk-frontend/dist/govuk/components/back-link/fixtures.json +87 -0
  131. data/node_modules/govuk-frontend/dist/govuk/components/back-link/macro-options.json +32 -0
  132. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-default.html +1 -0
  133. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-inverse.html +1 -0
  134. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-with-custom-text.html +1 -0
  135. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template.njk +2 -0
  136. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +4 -0
  137. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss.map +1 -0
  138. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +134 -0
  139. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss.map +1 -0
  140. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/fixtures.json +240 -0
  141. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/macro-options.json +52 -0
  142. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-default.html +10 -0
  143. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-inverse.html +11 -0
  144. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-collapse-on-mobile.html +13 -0
  145. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-last-breadcrumb-as-current-page.html +11 -0
  146. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-multiple-levels.html +16 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-one-level.html +7 -0
  148. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-without-the-home-section.html +10 -0
  149. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template.njk +28 -0
  150. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +4 -0
  151. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss.map +1 -0
  152. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +262 -0
  153. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss.map +1 -0
  154. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +194 -0
  155. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js.map +1 -0
  156. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +186 -0
  157. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs.map +1 -0
  158. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs +73 -0
  159. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs.map +1 -0
  160. data/node_modules/govuk-frontend/dist/govuk/components/button/fixtures.json +474 -0
  161. data/node_modules/govuk-frontend/dist/govuk/components/button/macro-options.json +80 -0
  162. data/node_modules/govuk-frontend/dist/govuk/components/button/template-default.html +3 -0
  163. data/node_modules/govuk-frontend/dist/govuk/components/button/template-disabled.html +3 -0
  164. data/node_modules/govuk-frontend/dist/govuk/components/button/template-input-disabled.html +1 -0
  165. data/node_modules/govuk-frontend/dist/govuk/components/button/template-input.html +1 -0
  166. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-disabled.html +3 -0
  167. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-link.html +3 -0
  168. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-start.html +6 -0
  169. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse.html +3 -0
  170. data/node_modules/govuk-frontend/dist/govuk/components/button/template-link.html +3 -0
  171. data/node_modules/govuk-frontend/dist/govuk/components/button/template-prevent-double-click.html +3 -0
  172. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-disabled.html +3 -0
  173. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-link.html +3 -0
  174. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary.html +3 -0
  175. data/node_modules/govuk-frontend/dist/govuk/components/button/template-start-link.html +6 -0
  176. data/node_modules/govuk-frontend/dist/govuk/components/button/template-start.html +6 -0
  177. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-disabled.html +3 -0
  178. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-link.html +3 -0
  179. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning.html +3 -0
  180. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-active-state.html +3 -0
  181. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-focus-state.html +3 -0
  182. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-hover-state.html +3 -0
  183. data/node_modules/govuk-frontend/dist/govuk/components/button/template.njk +56 -0
  184. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +4 -0
  185. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss.map +1 -0
  186. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +36 -0
  187. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss.map +1 -0
  188. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +639 -0
  189. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js.map +1 -0
  190. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +631 -0
  191. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs.map +1 -0
  192. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +290 -0
  193. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs.map +1 -0
  194. data/node_modules/govuk-frontend/dist/govuk/components/character-count/fixtures.json +398 -0
  195. data/node_modules/govuk-frontend/dist/govuk/components/character-count/macro-options.json +159 -0
  196. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-default.html +12 -0
  197. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-custom-rows.html +12 -0
  198. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-custom-textarea-description.html +12 -0
  199. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-default-value-exceeding-limit.html +18 -0
  200. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-default-value.html +15 -0
  201. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-hint.html +15 -0
  202. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-label-as-page-heading.html +14 -0
  203. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-threshold.html +12 -0
  204. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-translations.html +12 -0
  205. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-word-count.html +12 -0
  206. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template.njk +87 -0
  207. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +4 -0
  208. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss.map +1 -0
  209. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss +303 -0
  210. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss.map +1 -0
  211. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +194 -0
  212. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js.map +1 -0
  213. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +186 -0
  214. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs.map +1 -0
  215. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs +120 -0
  216. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs.map +1 -0
  217. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/fixtures.json +1392 -0
  218. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/macro-options.json +189 -0
  219. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-default.html +22 -0
  220. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-conditional-reveal.html +26 -0
  221. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-disabled.html +27 -0
  222. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-error.html +30 -0
  223. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-hint.html +30 -0
  224. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-long-text.html +27 -0
  225. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small.html +27 -0
  226. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-a-medium-legend.html +33 -0
  227. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-item-checked.html +42 -0
  228. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items-with-special-characters.html +42 -0
  229. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items.html +42 -0
  230. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-disabled-item.html +29 -0
  231. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-and-none.html +35 -0
  232. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-none-and-conditional-items.html +46 -0
  233. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message-and-hints-on-items.html +39 -0
  234. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message.html +30 -0
  235. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-fieldset-and-error-message.html +30 -0
  236. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hints-on-items.html +29 -0
  237. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-id-and-name.html +30 -0
  238. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-legend-as-a-page-heading.html +32 -0
  239. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-optional-form-group-classes-showing-group-error.html +43 -0
  240. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-pre-checked-values.html +31 -0
  241. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-and-hint-set-aria-describedby-on-input.html +16 -0
  242. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-set-aria-describedby-on-input.html +13 -0
  243. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-very-long-option-text.html +33 -0
  244. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-without-fieldset.html +22 -0
  245. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template.njk +118 -0
  246. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +4 -0
  247. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss.map +1 -0
  248. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss +50 -0
  249. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss.map +1 -0
  250. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/fixtures.json +520 -0
  251. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/macro-options.json +132 -0
  252. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-accepted-confirmation-banner.html +16 -0
  253. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-client-side-implementation.html +51 -0
  254. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-default.html +21 -0
  255. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-rejected-confirmation-banner.html +16 -0
  256. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-with-html.html +23 -0
  257. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template.njk +64 -0
  258. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +4 -0
  259. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss.map +1 -0
  260. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss +28 -0
  261. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss.map +1 -0
  262. data/node_modules/govuk-frontend/dist/govuk/components/date-input/fixtures.json +657 -0
  263. data/node_modules/govuk-frontend/dist/govuk/components/date-input/macro-options.json +123 -0
  264. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-complete-question.html +36 -0
  265. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-day-and-month.html +28 -0
  266. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-default.html +28 -0
  267. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-month-and-year.html +28 -0
  268. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-autocomplete-values.html +36 -0
  269. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-default-items.html +36 -0
  270. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-day-input.html +39 -0
  271. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-month-input.html +39 -0
  272. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-year-input.html +39 -0
  273. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-and-hint.html +39 -0
  274. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-only.html +36 -0
  275. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-input-attributes.html +36 -0
  276. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-optional-form-group-classes.html +36 -0
  277. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template.njk +99 -0
  278. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +4 -0
  279. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss.map +1 -0
  280. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +134 -0
  281. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss.map +1 -0
  282. data/node_modules/govuk-frontend/dist/govuk/components/details/fixtures.json +123 -0
  283. data/node_modules/govuk-frontend/dist/govuk/components/details/implementation.md +87 -0
  284. data/node_modules/govuk-frontend/dist/govuk/components/details/template-default.html +10 -0
  285. data/node_modules/govuk-frontend/dist/govuk/components/details/template-expanded.html +10 -0
  286. data/node_modules/govuk-frontend/dist/govuk/components/details/template-with-html.html +18 -0
  287. data/node_modules/govuk-frontend/dist/govuk/components/details/template.njk +10 -0
  288. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +4 -0
  289. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss.map +1 -0
  290. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss +14 -0
  291. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss.map +1 -0
  292. data/node_modules/govuk-frontend/dist/govuk/components/error-message/fixtures.json +104 -0
  293. data/node_modules/govuk-frontend/dist/govuk/components/error-message/macro-options.json +38 -0
  294. data/node_modules/govuk-frontend/dist/govuk/components/error-message/template-default.html +3 -0
  295. data/node_modules/govuk-frontend/dist/govuk/components/error-message/template-translated.html +3 -0
  296. data/node_modules/govuk-frontend/dist/govuk/components/error-message/template.njk +10 -0
  297. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +4 -0
  298. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss.map +1 -0
  299. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss +45 -0
  300. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss.map +1 -0
  301. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +253 -0
  302. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js.map +1 -0
  303. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +245 -0
  304. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs.map +1 -0
  305. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +102 -0
  306. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs.map +1 -0
  307. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/fixtures.json +296 -0
  308. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/macro-options.json +82 -0
  309. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/template-default.html +17 -0
  310. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/template-mixed-with-and-without-links.html +17 -0
  311. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/template-with-everything.html +20 -0
  312. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/template-without-links.html +14 -0
  313. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/template.njk +32 -0
  314. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +4 -0
  315. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss.map +1 -0
  316. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +92 -0
  317. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss.map +1 -0
  318. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +545 -0
  319. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js.map +1 -0
  320. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +537 -0
  321. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs.map +1 -0
  322. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +224 -0
  323. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs.map +1 -0
  324. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/fixtures.json +58 -0
  325. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/macro-options.json +62 -0
  326. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/template-default.html +5 -0
  327. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/template-translated.html +5 -0
  328. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/template.njk +23 -0
  329. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +4 -0
  330. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss.map +1 -0
  331. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss +71 -0
  332. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss.map +1 -0
  333. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/fixtures.json +242 -0
  334. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/macro-options.json +70 -0
  335. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-as-page-heading-l.html +7 -0
  336. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-as-page-heading-m.html +7 -0
  337. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-as-page-heading-s.html +7 -0
  338. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-as-page-heading-without-class.html +7 -0
  339. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-as-page-heading-xl.html +7 -0
  340. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-default.html +5 -0
  341. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-styled-as-large-text.html +5 -0
  342. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-styled-as-medium-text.html +5 -0
  343. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-styled-as-small-text.html +5 -0
  344. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template-styled-as-xl-text.html +5 -0
  345. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/template.njk +22 -0
  346. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +4 -0
  347. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss.map +1 -0
  348. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +52 -0
  349. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss.map +1 -0
  350. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/fixtures.json +225 -0
  351. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/macro-options.json +85 -0
  352. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-default.html +6 -0
  353. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-error-message-and-hint.html +12 -0
  354. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-hint-text.html +9 -0
  355. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-label-as-page-heading.html +8 -0
  356. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-optional-form-group-classes.html +6 -0
  357. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-value.html +6 -0
  358. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template.njk +45 -0
  359. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +4 -0
  360. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss.map +1 -0
  361. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +152 -0
  362. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss.map +1 -0
  363. data/node_modules/govuk-frontend/dist/govuk/components/footer/fixtures.json +691 -0
  364. data/node_modules/govuk-frontend/dist/govuk/components/footer/macro-options.json +164 -0
  365. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-default.html +37 -0
  366. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-full-gds-example.html +211 -0
  367. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-three-equal-columns.html +145 -0
  368. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-html-content-licence-and-copyright-notice.html +32 -0
  369. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-meta.html +41 -0
  370. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-text-content-licence-and-copyright-notice.html +32 -0
  371. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-default-width-navigation-one-column.html +75 -0
  372. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-default-width-navigation-two-columns.html +75 -0
  373. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-meta-links-and-meta-content.html +83 -0
  374. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-meta.html +55 -0
  375. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-navigation.html +95 -0
  376. data/node_modules/govuk-frontend/dist/govuk/components/footer/template.njk +93 -0
  377. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +4 -0
  378. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss.map +1 -0
  379. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +346 -0
  380. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss.map +1 -0
  381. data/node_modules/govuk-frontend/dist/govuk/components/header/fixtures.json +504 -0
  382. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +178 -0
  383. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js.map +1 -0
  384. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +170 -0
  385. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs.map +1 -0
  386. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +97 -0
  387. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs.map +1 -0
  388. data/node_modules/govuk-frontend/dist/govuk/components/header/macro-options.json +112 -0
  389. data/node_modules/govuk-frontend/dist/govuk/components/header/template-default.html +24 -0
  390. data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width-with-navigation.html +50 -0
  391. data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width.html +27 -0
  392. data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-html.html +50 -0
  393. data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-text-without-link.html +44 -0
  394. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-menu-button-label.html +52 -0
  395. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-menu-button-text.html +52 -0
  396. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-navigation-label.html +52 -0
  397. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-large-navigation.html +112 -0
  398. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-navigation.html +52 -0
  399. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-product-name.html +27 -0
  400. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name-and-navigation.html +55 -0
  401. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name-but-no-service-url.html +29 -0
  402. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name.html +29 -0
  403. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-tudor-crown.html +24 -0
  404. data/node_modules/govuk-frontend/dist/govuk/components/header/template.njk +91 -0
  405. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss +4 -0
  406. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss.map +1 -0
  407. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss +45 -0
  408. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss.map +1 -0
  409. data/node_modules/govuk-frontend/dist/govuk/components/hint/fixtures.json +71 -0
  410. data/node_modules/govuk-frontend/dist/govuk/components/hint/template-default.html +5 -0
  411. data/node_modules/govuk-frontend/dist/govuk/components/hint/template-with-html.html +4 -0
  412. data/node_modules/govuk-frontend/dist/govuk/components/hint/template.njk +4 -0
  413. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +165 -0
  414. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss.map +1 -0
  415. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss +4 -0
  416. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss.map +1 -0
  417. data/node_modules/govuk-frontend/dist/govuk/components/input/fixtures.json +724 -0
  418. data/node_modules/govuk-frontend/dist/govuk/components/input/macro-options.json +179 -0
  419. data/node_modules/govuk-frontend/dist/govuk/components/input/template-default.html +6 -0
  420. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-autocomplete-attribute.html +6 -0
  421. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-error-message.html +12 -0
  422. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-extra-letter-spacing.html +6 -0
  423. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-hint-text.html +9 -0
  424. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-label-as-page-heading.html +8 -0
  425. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-optional-form-group-classes.html +6 -0
  426. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-pattern-attribute.html +6 -0
  427. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-long-suffix.html +10 -0
  428. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-suffix-and-error.html +13 -0
  429. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-suffix-and-width-modifier.html +10 -0
  430. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-suffix.html +10 -0
  431. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix.html +9 -0
  432. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-disabled.html +6 -0
  433. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-enabled.html +6 -0
  434. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-suffix.html +9 -0
  435. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-10-class.html +9 -0
  436. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-2-class.html +9 -0
  437. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-20-class.html +9 -0
  438. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-3-class.html +9 -0
  439. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-30-class.html +9 -0
  440. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-4-class.html +9 -0
  441. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-width-5-class.html +9 -0
  442. data/node_modules/govuk-frontend/dist/govuk/components/input/template.njk +76 -0
  443. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss +26 -0
  444. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss.map +1 -0
  445. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +4 -0
  446. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss.map +1 -0
  447. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/fixtures.json +70 -0
  448. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/macro-options.json +38 -0
  449. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/template-default.html +3 -0
  450. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/template-with-html.html +12 -0
  451. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/template.njk +4 -0
  452. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss +46 -0
  453. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss.map +1 -0
  454. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss +4 -0
  455. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss.map +1 -0
  456. data/node_modules/govuk-frontend/dist/govuk/components/label/fixtures.json +193 -0
  457. data/node_modules/govuk-frontend/dist/govuk/components/label/template-as-page-heading-l.html +5 -0
  458. data/node_modules/govuk-frontend/dist/govuk/components/label/template-as-page-heading-m.html +5 -0
  459. data/node_modules/govuk-frontend/dist/govuk/components/label/template-as-page-heading-s.html +5 -0
  460. data/node_modules/govuk-frontend/dist/govuk/components/label/template-as-page-heading-without-class.html +5 -0
  461. data/node_modules/govuk-frontend/dist/govuk/components/label/template-as-page-heading-xl.html +5 -0
  462. data/node_modules/govuk-frontend/dist/govuk/components/label/template-default.html +3 -0
  463. data/node_modules/govuk-frontend/dist/govuk/components/label/template-styled-as-large-text.html +3 -0
  464. data/node_modules/govuk-frontend/dist/govuk/components/label/template-styled-as-medium-text.html +3 -0
  465. data/node_modules/govuk-frontend/dist/govuk/components/label/template-styled-as-small-text.html +3 -0
  466. data/node_modules/govuk-frontend/dist/govuk/components/label/template-styled-as-xl-text.html +3 -0
  467. data/node_modules/govuk-frontend/dist/govuk/components/label/template-with-bold-text.html +3 -0
  468. data/node_modules/govuk-frontend/dist/govuk/components/label/template.njk +17 -0
  469. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +92 -0
  470. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss.map +1 -0
  471. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +4 -0
  472. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss.map +1 -0
  473. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/fixtures.json +270 -0
  474. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/macro-options.json +74 -0
  475. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +195 -0
  476. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js.map +1 -0
  477. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +187 -0
  478. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs.map +1 -0
  479. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs +50 -0
  480. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs.map +1 -0
  481. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-disabled-with-type-as-success.html +9 -0
  482. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-explicitly-enabled-with-type-as-success.html +9 -0
  483. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-custom-tabindex.html +9 -0
  484. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-default.html +9 -0
  485. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-paragraph-as-html-heading.html +9 -0
  486. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-rolealert-overridden-to-roleregion-with-type-as-success.html +9 -0
  487. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-success-with-custom-html.html +15 -0
  488. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-a-list.html +15 -0
  489. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-long-heading.html +9 -0
  490. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-lots-of-content.html +16 -0
  491. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-text-as-html.html +12 -0
  492. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-type-as-success.html +9 -0
  493. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template.njk +45 -0
  494. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +241 -0
  495. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss.map +1 -0
  496. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +4 -0
  497. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss.map +1 -0
  498. data/node_modules/govuk-frontend/dist/govuk/components/pagination/fixtures.json +396 -0
  499. data/node_modules/govuk-frontend/dist/govuk/components/pagination/macro-options.json +140 -0
  500. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-default.html +24 -0
  501. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-first-page.html +17 -0
  502. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-last-page.html +20 -0
  503. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-accessible-labels-on-item-links.html +24 -0
  504. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-link-and-item-text.html +24 -0
  505. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-navigation-landmark.html +24 -0
  506. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-many-pages.html +40 -0
  507. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-next-only.html +5 -0
  508. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only-and-labels.html +14 -0
  509. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only-and-very-long-labels.html +14 -0
  510. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only-in-a-different-language.html +12 -0
  511. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only.html +12 -0
  512. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-previous-only.html +8 -0
  513. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template.njk +70 -0
  514. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +54 -0
  515. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss.map +1 -0
  516. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss +4 -0
  517. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss.map +1 -0
  518. data/node_modules/govuk-frontend/dist/govuk/components/panel/fixtures.json +109 -0
  519. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-custom-heading-level.html +8 -0
  520. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-default.html +8 -0
  521. data/node_modules/govuk-frontend/dist/govuk/components/panel/template.njk +13 -0
  522. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +38 -0
  523. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss.map +1 -0
  524. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +4 -0
  525. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss.map +1 -0
  526. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/fixtures.json +90 -0
  527. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/macro-options.json +33 -0
  528. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/template-default.html +10 -0
  529. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/template.njk +15 -0
  530. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +323 -0
  531. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss.map +1 -0
  532. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +4 -0
  533. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss.map +1 -0
  534. data/node_modules/govuk-frontend/dist/govuk/components/radios/fixtures.json +1384 -0
  535. data/node_modules/govuk-frontend/dist/govuk/components/radios/macro-options.json +171 -0
  536. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +171 -0
  537. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js.map +1 -0
  538. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +163 -0
  539. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs.map +1 -0
  540. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs +97 -0
  541. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs.map +1 -0
  542. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-default.html +19 -0
  543. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-inline.html +24 -0
  544. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked-using-value.html +16 -0
  545. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked.html +19 -0
  546. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline-extreme.html +69 -0
  547. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline.html +27 -0
  548. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-a-divider.html +27 -0
  549. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-conditional-reveal.html +32 -0
  550. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-disabled.html +27 -0
  551. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-error.html +30 -0
  552. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-hint.html +30 -0
  553. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-long-text.html +27 -0
  554. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small.html +27 -0
  555. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-divider.html +27 -0
  556. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-medium-legend.html +24 -0
  557. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-item-checked.html +42 -0
  558. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-and-pre-checked-value.html +42 -0
  559. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-with-special-characters.html +42 -0
  560. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items.html +42 -0
  561. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-disabled.html +29 -0
  562. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-fieldset-and-error-message.html +24 -0
  563. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hints-on-items.html +29 -0
  564. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-idprefix.html +16 -0
  565. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-legend-as-page-heading.html +26 -0
  566. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-optional-form-group-classes-showing-group-error.html +43 -0
  567. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-very-long-option-text.html +33 -0
  568. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-without-fieldset.html +22 -0
  569. data/node_modules/govuk-frontend/dist/govuk/components/radios/template.njk +111 -0
  570. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +59 -0
  571. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss.map +1 -0
  572. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +4 -0
  573. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss.map +1 -0
  574. data/node_modules/govuk-frontend/dist/govuk/components/select/fixtures.json +532 -0
  575. data/node_modules/govuk-frontend/dist/govuk/components/select/macro-options.json +123 -0
  576. data/node_modules/govuk-frontend/dist/govuk/components/select/template-default.html +13 -0
  577. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-full-width-override.html +13 -0
  578. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-hint-text-and-error-message.html +19 -0
  579. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-label-as-page-heading.html +15 -0
  580. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-no-items.html +7 -0
  581. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-optional-form-group-classes.html +13 -0
  582. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-selected-value.html +13 -0
  583. data/node_modules/govuk-frontend/dist/govuk/components/select/template.njk +56 -0
  584. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +49 -0
  585. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss.map +1 -0
  586. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +4 -0
  587. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss.map +1 -0
  588. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/fixtures.json +104 -0
  589. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/macro-options.json +32 -0
  590. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +169 -0
  591. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js.map +1 -0
  592. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +161 -0
  593. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs.map +1 -0
  594. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +66 -0
  595. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs.map +1 -0
  596. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/template-default.html +1 -0
  597. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/template-with-focus.html +1 -0
  598. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/template.njk +3 -0
  599. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +277 -0
  600. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss.map +1 -0
  601. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +4 -0
  602. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss.map +1 -0
  603. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/fixtures.json +1591 -0
  604. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/macro-options.json +248 -0
  605. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-a-custom-header-level.html +23 -0
  606. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-a-html-header.html +23 -0
  607. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-a-text-header.html +23 -0
  608. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-actions-plus-summary-list-actions.html +32 -0
  609. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-actions.html +26 -0
  610. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-check-your-answers.html +99 -0
  611. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-default.html +36 -0
  612. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-extreme.html +70 -0
  613. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-no-border-on-last-row.html +36 -0
  614. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-no-border.html +36 -0
  615. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-overridden-widths.html +45 -0
  616. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-translated.html +45 -0
  617. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-actions.html +45 -0
  618. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-no-first-action.html +59 -0
  619. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-some-actions.html +39 -0
  620. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template.njk +91 -0
  621. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +65 -0
  622. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss.map +1 -0
  623. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss +4 -0
  624. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss.map +1 -0
  625. data/node_modules/govuk-frontend/dist/govuk/components/table/fixtures.json +579 -0
  626. data/node_modules/govuk-frontend/dist/govuk/components/table/macro-options.json +132 -0
  627. data/node_modules/govuk-frontend/dist/govuk/components/table/template-default.html +19 -0
  628. data/node_modules/govuk-frontend/dist/govuk/components/table/template-table-with-head-and-caption.html +27 -0
  629. data/node_modules/govuk-frontend/dist/govuk/components/table/template-table-with-head.html +26 -0
  630. data/node_modules/govuk-frontend/dist/govuk/components/table/template.njk +45 -0
  631. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +134 -0
  632. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss.map +1 -0
  633. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss +4 -0
  634. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss.map +1 -0
  635. data/node_modules/govuk-frontend/dist/govuk/components/tabs/fixtures.json +314 -0
  636. data/node_modules/govuk-frontend/dist/govuk/components/tabs/macro-options.json +84 -0
  637. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +385 -0
  638. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js.map +1 -0
  639. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +377 -0
  640. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs.map +1 -0
  641. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +298 -0
  642. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs.map +1 -0
  643. data/node_modules/govuk-frontend/dist/govuk/components/tabs/template-default.html +120 -0
  644. data/node_modules/govuk-frontend/dist/govuk/components/tabs/template-tabs-with-anchor-in-panel.html +28 -0
  645. data/node_modules/govuk-frontend/dist/govuk/components/tabs/template.njk +36 -0
  646. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +94 -0
  647. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss.map +1 -0
  648. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss +4 -0
  649. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss.map +1 -0
  650. data/node_modules/govuk-frontend/dist/govuk/components/tag/fixtures.json +159 -0
  651. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-blue.html +3 -0
  652. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-default.html +3 -0
  653. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-green.html +3 -0
  654. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-grey.html +3 -0
  655. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-light-blue.html +3 -0
  656. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-orange.html +3 -0
  657. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-pink.html +3 -0
  658. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-purple.html +3 -0
  659. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-red.html +3 -0
  660. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-turquoise.html +3 -0
  661. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-yellow.html +3 -0
  662. data/node_modules/govuk-frontend/dist/govuk/components/tag/template.njk +3 -0
  663. data/node_modules/govuk-frontend/dist/govuk/components/task-list/README.md +15 -0
  664. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +77 -0
  665. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss.map +1 -0
  666. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +4 -0
  667. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss.map +1 -0
  668. data/node_modules/govuk-frontend/dist/govuk/components/task-list/fixtures.json +542 -0
  669. data/node_modules/govuk-frontend/dist/govuk/components/task-list/macro-options.json +119 -0
  670. data/node_modules/govuk-frontend/dist/govuk/components/task-list/macro.njk +3 -0
  671. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-default.html +30 -0
  672. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-3-states.html +40 -0
  673. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-all-possible-colours.html +118 -0
  674. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-hint-text-and-additional-states.html +64 -0
  675. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-very-long-single-word-tags.html +30 -0
  676. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template.njk +31 -0
  677. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +50 -0
  678. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss.map +1 -0
  679. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +4 -0
  680. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss.map +1 -0
  681. data/node_modules/govuk-frontend/dist/govuk/components/textarea/fixtures.json +285 -0
  682. data/node_modules/govuk-frontend/dist/govuk/components/textarea/macro-options.json +103 -0
  683. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-default.html +6 -0
  684. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-autocomplete-attribute.html +6 -0
  685. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-custom-rows.html +6 -0
  686. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-default-value.html +9 -0
  687. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-error-message.html +9 -0
  688. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-hint.html +9 -0
  689. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-label-as-page-heading.html +8 -0
  690. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-optional-form-group-classes.html +6 -0
  691. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-disabled.html +6 -0
  692. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-enabled.html +6 -0
  693. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template.njk +46 -0
  694. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +65 -0
  695. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss.map +1 -0
  696. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +4 -0
  697. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss.map +1 -0
  698. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/fixtures.json +93 -0
  699. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/macro-options.json +32 -0
  700. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/template-default.html +7 -0
  701. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/template-multiple-lines.html +7 -0
  702. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/template.njk +9 -0
  703. data/node_modules/govuk-frontend/dist/govuk/core/_all.scss +8 -0
  704. data/node_modules/govuk-frontend/dist/govuk/core/_all.scss.map +1 -0
  705. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss +20 -0
  706. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss.map +1 -0
  707. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +12 -0
  708. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss.map +1 -0
  709. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss +42 -0
  710. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss.map +1 -0
  711. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +67 -0
  712. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss.map +1 -0
  713. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss +51 -0
  714. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss.map +1 -0
  715. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +189 -0
  716. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss.map +1 -0
  717. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +44 -0
  718. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs.map +1 -0
  719. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend-component.mjs +16 -0
  720. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend-component.mjs.map +1 -0
  721. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css +3 -0
  722. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css.map +1 -0
  723. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -0
  724. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js.map +1 -0
  725. data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss +14 -0
  726. data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss.map +1 -0
  727. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss +17 -0
  728. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss.map +1 -0
  729. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +91 -0
  730. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss.map +1 -0
  731. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss +38 -0
  732. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss.map +1 -0
  733. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +49 -0
  734. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss.map +1 -0
  735. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss +41 -0
  736. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss.map +1 -0
  737. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +63 -0
  738. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss.map +1 -0
  739. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +391 -0
  740. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss.map +1 -0
  741. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +82 -0
  742. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss.map +1 -0
  743. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss +82 -0
  744. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss.map +1 -0
  745. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +173 -0
  746. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss.map +1 -0
  747. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +269 -0
  748. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss.map +1 -0
  749. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +117 -0
  750. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss.map +1 -0
  751. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +189 -0
  752. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs.map +1 -0
  753. data/node_modules/govuk-frontend/dist/govuk/macros/i18n.njk +21 -0
  754. data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss +8 -0
  755. data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss.map +1 -0
  756. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +80 -0
  757. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss.map +1 -0
  758. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss +25 -0
  759. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss.map +1 -0
  760. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss +26 -0
  761. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss.map +1 -0
  762. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +55 -0
  763. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss.map +1 -0
  764. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +53 -0
  765. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss.map +1 -0
  766. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +77 -0
  767. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss.map +1 -0
  768. data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss +7 -0
  769. data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss.map +1 -0
  770. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +26 -0
  771. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss.map +1 -0
  772. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss +86 -0
  773. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss.map +1 -0
  774. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss +16 -0
  775. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss.map +1 -0
  776. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +32 -0
  777. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss.map +1 -0
  778. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +48 -0
  779. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss.map +1 -0
  780. data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss +23 -0
  781. data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss.map +1 -0
  782. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss +84 -0
  783. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss.map +1 -0
  784. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +157 -0
  785. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss.map +1 -0
  786. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +148 -0
  787. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss.map +1 -0
  788. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss +37 -0
  789. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss.map +1 -0
  790. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss +15 -0
  791. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss.map +1 -0
  792. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss +49 -0
  793. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss.map +1 -0
  794. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss +107 -0
  795. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss.map +1 -0
  796. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +25 -0
  797. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss.map +1 -0
  798. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss +78 -0
  799. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss.map +1 -0
  800. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +52 -0
  801. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss.map +1 -0
  802. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +163 -0
  803. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss.map +1 -0
  804. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss +73 -0
  805. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss.map +1 -0
  806. data/node_modules/govuk-frontend/dist/govuk/template.njk +57 -0
  807. data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss +7 -0
  808. data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss.map +1 -0
  809. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss +35 -0
  810. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss.map +1 -0
  811. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss +28 -0
  812. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss.map +1 -0
  813. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss +28 -0
  814. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss.map +1 -0
  815. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +22 -0
  816. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss.map +1 -0
  817. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss +22 -0
  818. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss.map +1 -0
  819. data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss +4 -0
  820. data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss.map +1 -0
  821. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss +7 -0
  822. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss.map +1 -0
  823. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss +11 -0
  824. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss.map +1 -0
  825. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss +349 -0
  826. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss.map +1 -0
  827. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.js +15 -0
  828. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +13 -0
  829. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss.map +1 -0
  830. data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +24 -6
  831. data/node_modules/govuk-frontend/package.json +61 -15
  832. metadata +846 -585
  833. data/node_modules/govuk-frontend/govuk/_base.scss +0 -5
  834. data/node_modules/govuk-frontend/govuk/_base.scss.map +0 -1
  835. data/node_modules/govuk-frontend/govuk/all-ie8.scss +0 -16
  836. data/node_modules/govuk-frontend/govuk/all-ie8.scss.map +0 -1
  837. data/node_modules/govuk-frontend/govuk/all.js +0 -5172
  838. data/node_modules/govuk-frontend/govuk/all.js.map +0 -1
  839. data/node_modules/govuk-frontend/govuk/all.scss +0 -11
  840. data/node_modules/govuk-frontend/govuk/all.scss.map +0 -1
  841. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  842. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  843. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png +0 -0
  844. data/node_modules/govuk-frontend/govuk/assets/images/govuk-logotype-crown.png +0 -0
  845. data/node_modules/govuk-frontend/govuk/assets/images/govuk-logotype-tudor-crown.png +0 -0
  846. data/node_modules/govuk-frontend/govuk/assets/images/govuk-mask-icon.svg +0 -1
  847. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js +0 -75
  848. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js.map +0 -1
  849. data/node_modules/govuk-frontend/govuk/common/govuk-frontend-version.js +0 -17
  850. data/node_modules/govuk-frontend/govuk/common/govuk-frontend-version.js.map +0 -1
  851. data/node_modules/govuk-frontend/govuk/common/index.js +0 -192
  852. data/node_modules/govuk-frontend/govuk/common/index.js.map +0 -1
  853. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js +0 -386
  854. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js.map +0 -1
  855. data/node_modules/govuk-frontend/govuk/common.js +0 -194
  856. data/node_modules/govuk-frontend/govuk/common.js.map +0 -1
  857. data/node_modules/govuk-frontend/govuk/components/_all.scss +0 -37
  858. data/node_modules/govuk-frontend/govuk/components/_all.scss.map +0 -1
  859. data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss +0 -4
  860. data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss.map +0 -1
  861. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +0 -390
  862. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss.map +0 -1
  863. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +0 -2386
  864. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js.map +0 -1
  865. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +0 -333
  866. data/node_modules/govuk-frontend/govuk/components/accordion/macro-options.json +0 -118
  867. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +0 -38
  868. data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss +0 -4
  869. data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss.map +0 -1
  870. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +0 -107
  871. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss.map +0 -1
  872. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +0 -71
  873. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +0 -32
  874. data/node_modules/govuk-frontend/govuk/components/back-link/template.njk +0 -2
  875. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -4
  876. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss.map +0 -1
  877. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss +0 -159
  878. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss.map +0 -1
  879. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +0 -214
  880. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +0 -52
  881. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/template.njk +0 -24
  882. data/node_modules/govuk-frontend/govuk/components/button/_button.scss +0 -4
  883. data/node_modules/govuk-frontend/govuk/components/button/_button.scss.map +0 -1
  884. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +0 -337
  885. data/node_modules/govuk-frontend/govuk/components/button/_index.scss.map +0 -1
  886. data/node_modules/govuk-frontend/govuk/components/button/button.js +0 -1027
  887. data/node_modules/govuk-frontend/govuk/components/button/button.js.map +0 -1
  888. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +0 -400
  889. data/node_modules/govuk-frontend/govuk/components/button/macro-options.json +0 -80
  890. data/node_modules/govuk-frontend/govuk/components/button/template.njk +0 -60
  891. data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss +0 -4
  892. data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss.map +0 -1
  893. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss +0 -36
  894. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss.map +0 -1
  895. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +0 -2281
  896. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js.map +0 -1
  897. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +0 -352
  898. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +0 -153
  899. data/node_modules/govuk-frontend/govuk/components/character-count/template.njk +0 -58
  900. data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss +0 -4
  901. data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss.map +0 -1
  902. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss +0 -335
  903. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss.map +0 -1
  904. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +0 -1277
  905. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js.map +0 -1
  906. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +0 -1300
  907. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +0 -168
  908. data/node_modules/govuk-frontend/govuk/components/checkboxes/template.njk +0 -120
  909. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss +0 -4
  910. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss.map +0 -1
  911. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss +0 -51
  912. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss.map +0 -1
  913. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +0 -474
  914. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +0 -132
  915. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +0 -73
  916. data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss +0 -4
  917. data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss.map +0 -1
  918. data/node_modules/govuk-frontend/govuk/components/date-input/_index.scss +0 -28
  919. data/node_modules/govuk-frontend/govuk/components/date-input/_index.scss.map +0 -1
  920. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +0 -549
  921. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +0 -117
  922. data/node_modules/govuk-frontend/govuk/components/date-input/template.njk +0 -97
  923. data/node_modules/govuk-frontend/govuk/components/details/_details.scss +0 -4
  924. data/node_modules/govuk-frontend/govuk/components/details/_details.scss.map +0 -1
  925. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +0 -90
  926. data/node_modules/govuk-frontend/govuk/components/details/_index.scss.map +0 -1
  927. data/node_modules/govuk-frontend/govuk/components/details/details.js +0 -873
  928. data/node_modules/govuk-frontend/govuk/components/details/details.js.map +0 -1
  929. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +0 -103
  930. data/node_modules/govuk-frontend/govuk/components/details/implementation.md +0 -43
  931. data/node_modules/govuk-frontend/govuk/components/details/template.njk +0 -10
  932. data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss +0 -4
  933. data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss.map +0 -1
  934. data/node_modules/govuk-frontend/govuk/components/error-message/_index.scss +0 -14
  935. data/node_modules/govuk-frontend/govuk/components/error-message/_index.scss.map +0 -1
  936. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +0 -86
  937. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +0 -38
  938. data/node_modules/govuk-frontend/govuk/components/error-message/template.njk +0 -6
  939. data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss +0 -4
  940. data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss.map +0 -1
  941. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +0 -45
  942. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss.map +0 -1
  943. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +0 -1189
  944. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js.map +0 -1
  945. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +0 -260
  946. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +0 -82
  947. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +0 -30
  948. data/node_modules/govuk-frontend/govuk/components/exit-this-page/_exit-this-page.scss +0 -4
  949. data/node_modules/govuk-frontend/govuk/components/exit-this-page/_exit-this-page.scss.map +0 -1
  950. data/node_modules/govuk-frontend/govuk/components/exit-this-page/_index.scss +0 -99
  951. data/node_modules/govuk-frontend/govuk/components/exit-this-page/_index.scss.map +0 -1
  952. data/node_modules/govuk-frontend/govuk/components/exit-this-page/exit-this-page.js +0 -2120
  953. data/node_modules/govuk-frontend/govuk/components/exit-this-page/exit-this-page.js.map +0 -1
  954. data/node_modules/govuk-frontend/govuk/components/exit-this-page/fixtures.json +0 -50
  955. data/node_modules/govuk-frontend/govuk/components/exit-this-page/macro-options.json +0 -62
  956. data/node_modules/govuk-frontend/govuk/components/exit-this-page/template.njk +0 -16
  957. data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss +0 -4
  958. data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss.map +0 -1
  959. data/node_modules/govuk-frontend/govuk/components/fieldset/_index.scss +0 -66
  960. data/node_modules/govuk-frontend/govuk/components/fieldset/_index.scss.map +0 -1
  961. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +0 -206
  962. data/node_modules/govuk-frontend/govuk/components/fieldset/macro-options.json +0 -70
  963. data/node_modules/govuk-frontend/govuk/components/fieldset/template.njk +0 -22
  964. data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss +0 -4
  965. data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss.map +0 -1
  966. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +0 -57
  967. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss.map +0 -1
  968. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +0 -199
  969. data/node_modules/govuk-frontend/govuk/components/file-upload/macro-options.json +0 -79
  970. data/node_modules/govuk-frontend/govuk/components/file-upload/template.njk +0 -45
  971. data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss +0 -4
  972. data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss.map +0 -1
  973. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +0 -195
  974. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss.map +0 -1
  975. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +0 -644
  976. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +0 -164
  977. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +0 -97
  978. data/node_modules/govuk-frontend/govuk/components/header/_header.scss +0 -4
  979. data/node_modules/govuk-frontend/govuk/components/header/_header.scss.map +0 -1
  980. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +0 -367
  981. data/node_modules/govuk-frontend/govuk/components/header/_index.scss.map +0 -1
  982. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +0 -449
  983. data/node_modules/govuk-frontend/govuk/components/header/header.js +0 -794
  984. data/node_modules/govuk-frontend/govuk/components/header/header.js.map +0 -1
  985. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +0 -118
  986. data/node_modules/govuk-frontend/govuk/components/header/template.njk +0 -113
  987. data/node_modules/govuk-frontend/govuk/components/hint/_hint.scss +0 -4
  988. data/node_modules/govuk-frontend/govuk/components/hint/_hint.scss.map +0 -1
  989. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss +0 -44
  990. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss.map +0 -1
  991. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +0 -59
  992. data/node_modules/govuk-frontend/govuk/components/hint/template.njk +0 -4
  993. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +0 -195
  994. data/node_modules/govuk-frontend/govuk/components/input/_index.scss.map +0 -1
  995. data/node_modules/govuk-frontend/govuk/components/input/_input.scss +0 -4
  996. data/node_modules/govuk-frontend/govuk/components/input/_input.scss.map +0 -1
  997. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +0 -642
  998. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +0 -173
  999. data/node_modules/govuk-frontend/govuk/components/input/template.njk +0 -67
  1000. data/node_modules/govuk-frontend/govuk/components/inset-text/_index.scss +0 -26
  1001. data/node_modules/govuk-frontend/govuk/components/inset-text/_index.scss.map +0 -1
  1002. data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss +0 -4
  1003. data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss.map +0 -1
  1004. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +0 -58
  1005. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +0 -38
  1006. data/node_modules/govuk-frontend/govuk/components/inset-text/template.njk +0 -4
  1007. data/node_modules/govuk-frontend/govuk/components/label/_index.scss +0 -43
  1008. data/node_modules/govuk-frontend/govuk/components/label/_index.scss.map +0 -1
  1009. data/node_modules/govuk-frontend/govuk/components/label/_label.scss +0 -4
  1010. data/node_modules/govuk-frontend/govuk/components/label/_label.scss.map +0 -1
  1011. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +0 -159
  1012. data/node_modules/govuk-frontend/govuk/components/label/template.njk +0 -15
  1013. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss +0 -91
  1014. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss.map +0 -1
  1015. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +0 -4
  1016. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss.map +0 -1
  1017. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +0 -222
  1018. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +0 -74
  1019. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +0 -843
  1020. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js.map +0 -1
  1021. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +0 -47
  1022. data/node_modules/govuk-frontend/govuk/components/pagination/_index.scss +0 -249
  1023. data/node_modules/govuk-frontend/govuk/components/pagination/_index.scss.map +0 -1
  1024. data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss +0 -4
  1025. data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss.map +0 -1
  1026. data/node_modules/govuk-frontend/govuk/components/pagination/fixtures.json +0 -368
  1027. data/node_modules/govuk-frontend/govuk/components/pagination/macro-options.json +0 -128
  1028. data/node_modules/govuk-frontend/govuk/components/pagination/template.njk +0 -62
  1029. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +0 -58
  1030. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss.map +0 -1
  1031. data/node_modules/govuk-frontend/govuk/components/panel/_panel.scss +0 -4
  1032. data/node_modules/govuk-frontend/govuk/components/panel/_panel.scss.map +0 -1
  1033. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +0 -91
  1034. data/node_modules/govuk-frontend/govuk/components/panel/template.njk +0 -13
  1035. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss +0 -29
  1036. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss.map +0 -1
  1037. data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss +0 -4
  1038. data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss.map +0 -1
  1039. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +0 -76
  1040. data/node_modules/govuk-frontend/govuk/components/phase-banner/macro-options.json +0 -33
  1041. data/node_modules/govuk-frontend/govuk/components/phase-banner/template.njk +0 -15
  1042. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss +0 -351
  1043. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss.map +0 -1
  1044. data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss +0 -4
  1045. data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss.map +0 -1
  1046. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +0 -1294
  1047. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +0 -150
  1048. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +0 -1222
  1049. data/node_modules/govuk-frontend/govuk/components/radios/radios.js.map +0 -1
  1050. data/node_modules/govuk-frontend/govuk/components/radios/template.njk +0 -110
  1051. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +0 -68
  1052. data/node_modules/govuk-frontend/govuk/components/select/_index.scss.map +0 -1
  1053. data/node_modules/govuk-frontend/govuk/components/select/_select.scss +0 -4
  1054. data/node_modules/govuk-frontend/govuk/components/select/_select.scss.map +0 -1
  1055. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +0 -421
  1056. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +0 -117
  1057. data/node_modules/govuk-frontend/govuk/components/select/template.njk +0 -54
  1058. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +0 -49
  1059. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss.map +0 -1
  1060. data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss +0 -4
  1061. data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss.map +0 -1
  1062. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +0 -86
  1063. data/node_modules/govuk-frontend/govuk/components/skip-link/macro-options.json +0 -32
  1064. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +0 -1145
  1065. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js.map +0 -1
  1066. data/node_modules/govuk-frontend/govuk/components/skip-link/template.njk +0 -3
  1067. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +0 -278
  1068. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss.map +0 -1
  1069. data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss +0 -4
  1070. data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss.map +0 -1
  1071. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +0 -1529
  1072. data/node_modules/govuk-frontend/govuk/components/summary-list/macro-options.json +0 -223
  1073. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +0 -88
  1074. data/node_modules/govuk-frontend/govuk/components/table/_index.scss +0 -73
  1075. data/node_modules/govuk-frontend/govuk/components/table/_index.scss.map +0 -1
  1076. data/node_modules/govuk-frontend/govuk/components/table/_table.scss +0 -4
  1077. data/node_modules/govuk-frontend/govuk/components/table/_table.scss.map +0 -1
  1078. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +0 -539
  1079. data/node_modules/govuk-frontend/govuk/components/table/macro-options.json +0 -132
  1080. data/node_modules/govuk-frontend/govuk/components/table/template.njk +0 -45
  1081. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +0 -132
  1082. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss.map +0 -1
  1083. data/node_modules/govuk-frontend/govuk/components/tabs/_tabs.scss +0 -4
  1084. data/node_modules/govuk-frontend/govuk/components/tabs/_tabs.scss.map +0 -1
  1085. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +0 -286
  1086. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +0 -84
  1087. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +0 -1621
  1088. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js.map +0 -1
  1089. data/node_modules/govuk-frontend/govuk/components/tabs/template.njk +0 -36
  1090. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +0 -83
  1091. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss.map +0 -1
  1092. data/node_modules/govuk-frontend/govuk/components/tag/_tag.scss +0 -4
  1093. data/node_modules/govuk-frontend/govuk/components/tag/_tag.scss.map +0 -1
  1094. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +0 -131
  1095. data/node_modules/govuk-frontend/govuk/components/tag/template.njk +0 -3
  1096. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss +0 -56
  1097. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss.map +0 -1
  1098. data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss +0 -4
  1099. data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss.map +0 -1
  1100. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +0 -251
  1101. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +0 -97
  1102. data/node_modules/govuk-frontend/govuk/components/textarea/template.njk +0 -46
  1103. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +0 -68
  1104. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss.map +0 -1
  1105. data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss +0 -4
  1106. data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss.map +0 -1
  1107. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +0 -77
  1108. data/node_modules/govuk-frontend/govuk/components/warning-text/macro-options.json +0 -32
  1109. data/node_modules/govuk-frontend/govuk/components/warning-text/template.njk +0 -9
  1110. data/node_modules/govuk-frontend/govuk/core/_all.scss +0 -8
  1111. data/node_modules/govuk-frontend/govuk/core/_all.scss.map +0 -1
  1112. data/node_modules/govuk-frontend/govuk/core/_global-styles.scss +0 -21
  1113. data/node_modules/govuk-frontend/govuk/core/_global-styles.scss.map +0 -1
  1114. data/node_modules/govuk-frontend/govuk/core/_govuk-frontend-version.scss +0 -7
  1115. data/node_modules/govuk-frontend/govuk/core/_govuk-frontend-version.scss.map +0 -1
  1116. data/node_modules/govuk-frontend/govuk/core/_links.scss +0 -37
  1117. data/node_modules/govuk-frontend/govuk/core/_links.scss.map +0 -1
  1118. data/node_modules/govuk-frontend/govuk/core/_lists.scss +0 -68
  1119. data/node_modules/govuk-frontend/govuk/core/_lists.scss.map +0 -1
  1120. data/node_modules/govuk-frontend/govuk/core/_section-break.scss +0 -58
  1121. data/node_modules/govuk-frontend/govuk/core/_section-break.scss.map +0 -1
  1122. data/node_modules/govuk-frontend/govuk/core/_typography.scss +0 -188
  1123. data/node_modules/govuk-frontend/govuk/core/_typography.scss.map +0 -1
  1124. data/node_modules/govuk-frontend/govuk/helpers/_all.scss +0 -14
  1125. data/node_modules/govuk-frontend/govuk/helpers/_all.scss.map +0 -1
  1126. data/node_modules/govuk-frontend/govuk/helpers/_clearfix.scss +0 -17
  1127. data/node_modules/govuk-frontend/govuk/helpers/_clearfix.scss.map +0 -1
  1128. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +0 -100
  1129. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss.map +0 -1
  1130. data/node_modules/govuk-frontend/govuk/helpers/_device-pixels.scss +0 -39
  1131. data/node_modules/govuk-frontend/govuk/helpers/_device-pixels.scss.map +0 -1
  1132. data/node_modules/govuk-frontend/govuk/helpers/_focused.scss +0 -35
  1133. data/node_modules/govuk-frontend/govuk/helpers/_focused.scss.map +0 -1
  1134. data/node_modules/govuk-frontend/govuk/helpers/_font-faces.scss +0 -43
  1135. data/node_modules/govuk-frontend/govuk/helpers/_font-faces.scss.map +0 -1
  1136. data/node_modules/govuk-frontend/govuk/helpers/_grid.scss +0 -63
  1137. data/node_modules/govuk-frontend/govuk/helpers/_grid.scss.map +0 -1
  1138. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +0 -431
  1139. data/node_modules/govuk-frontend/govuk/helpers/_links.scss.map +0 -1
  1140. data/node_modules/govuk-frontend/govuk/helpers/_media-queries.scss +0 -93
  1141. data/node_modules/govuk-frontend/govuk/helpers/_media-queries.scss.map +0 -1
  1142. data/node_modules/govuk-frontend/govuk/helpers/_shape-arrow.scss +0 -82
  1143. data/node_modules/govuk-frontend/govuk/helpers/_shape-arrow.scss.map +0 -1
  1144. data/node_modules/govuk-frontend/govuk/helpers/_spacing.scss +0 -173
  1145. data/node_modules/govuk-frontend/govuk/helpers/_spacing.scss.map +0 -1
  1146. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +0 -216
  1147. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss.map +0 -1
  1148. data/node_modules/govuk-frontend/govuk/helpers/_visually-hidden.scss +0 -98
  1149. data/node_modules/govuk-frontend/govuk/helpers/_visually-hidden.scss.map +0 -1
  1150. data/node_modules/govuk-frontend/govuk/i18n.js +0 -397
  1151. data/node_modules/govuk-frontend/govuk/i18n.js.map +0 -1
  1152. data/node_modules/govuk-frontend/govuk/macros/i18n.njk +0 -16
  1153. data/node_modules/govuk-frontend/govuk/objects/_all.scss +0 -8
  1154. data/node_modules/govuk-frontend/govuk/objects/_all.scss.map +0 -1
  1155. data/node_modules/govuk-frontend/govuk/objects/_button-group.scss +0 -87
  1156. data/node_modules/govuk-frontend/govuk/objects/_button-group.scss.map +0 -1
  1157. data/node_modules/govuk-frontend/govuk/objects/_form-group.scss +0 -25
  1158. data/node_modules/govuk-frontend/govuk/objects/_form-group.scss.map +0 -1
  1159. data/node_modules/govuk-frontend/govuk/objects/_grid.scss +0 -26
  1160. data/node_modules/govuk-frontend/govuk/objects/_grid.scss.map +0 -1
  1161. data/node_modules/govuk-frontend/govuk/objects/_main-wrapper.scss +0 -55
  1162. data/node_modules/govuk-frontend/govuk/objects/_main-wrapper.scss.map +0 -1
  1163. data/node_modules/govuk-frontend/govuk/objects/_template.scss +0 -54
  1164. data/node_modules/govuk-frontend/govuk/objects/_template.scss.map +0 -1
  1165. data/node_modules/govuk-frontend/govuk/objects/_width-container.scss +0 -86
  1166. data/node_modules/govuk-frontend/govuk/objects/_width-container.scss.map +0 -1
  1167. data/node_modules/govuk-frontend/govuk/overrides/_all.scss +0 -7
  1168. data/node_modules/govuk-frontend/govuk/overrides/_all.scss.map +0 -1
  1169. data/node_modules/govuk-frontend/govuk/overrides/_display.scss +0 -26
  1170. data/node_modules/govuk-frontend/govuk/overrides/_display.scss.map +0 -1
  1171. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +0 -104
  1172. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss.map +0 -1
  1173. data/node_modules/govuk-frontend/govuk/overrides/_text-align.scss +0 -16
  1174. data/node_modules/govuk-frontend/govuk/overrides/_text-align.scss.map +0 -1
  1175. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +0 -23
  1176. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss.map +0 -1
  1177. data/node_modules/govuk-frontend/govuk/overrides/_width.scss +0 -48
  1178. data/node_modules/govuk-frontend/govuk/overrides/_width.scss.map +0 -1
  1179. data/node_modules/govuk-frontend/govuk/settings/_all.scss +0 -26
  1180. data/node_modules/govuk-frontend/govuk/settings/_all.scss.map +0 -1
  1181. data/node_modules/govuk-frontend/govuk/settings/_assets.scss +0 -84
  1182. data/node_modules/govuk-frontend/govuk/settings/_assets.scss.map +0 -1
  1183. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +0 -157
  1184. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss.map +0 -1
  1185. data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss +0 -148
  1186. data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss.map +0 -1
  1187. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +0 -122
  1188. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss.map +0 -1
  1189. data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss +0 -102
  1190. data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss.map +0 -1
  1191. data/node_modules/govuk-frontend/govuk/settings/_global-styles.scss +0 -15
  1192. data/node_modules/govuk-frontend/govuk/settings/_global-styles.scss.map +0 -1
  1193. data/node_modules/govuk-frontend/govuk/settings/_ie8.scss +0 -36
  1194. data/node_modules/govuk-frontend/govuk/settings/_ie8.scss.map +0 -1
  1195. data/node_modules/govuk-frontend/govuk/settings/_links.scss +0 -68
  1196. data/node_modules/govuk-frontend/govuk/settings/_links.scss.map +0 -1
  1197. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +0 -97
  1198. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss.map +0 -1
  1199. data/node_modules/govuk-frontend/govuk/settings/_media-queries.scss +0 -25
  1200. data/node_modules/govuk-frontend/govuk/settings/_media-queries.scss.map +0 -1
  1201. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss +0 -78
  1202. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss.map +0 -1
  1203. data/node_modules/govuk-frontend/govuk/settings/_typography-font-families.scss +0 -34
  1204. data/node_modules/govuk-frontend/govuk/settings/_typography-font-families.scss.map +0 -1
  1205. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +0 -114
  1206. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss.map +0 -1
  1207. data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss +0 -197
  1208. data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss.map +0 -1
  1209. data/node_modules/govuk-frontend/govuk/settings/_warnings.scss +0 -55
  1210. data/node_modules/govuk-frontend/govuk/settings/_warnings.scss.map +0 -1
  1211. data/node_modules/govuk-frontend/govuk/template.njk +0 -60
  1212. data/node_modules/govuk-frontend/govuk/tools/_all.scss +0 -9
  1213. data/node_modules/govuk-frontend/govuk/tools/_all.scss.map +0 -1
  1214. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +0 -52
  1215. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss.map +0 -1
  1216. data/node_modules/govuk-frontend/govuk/tools/_exports.scss +0 -35
  1217. data/node_modules/govuk-frontend/govuk/tools/_exports.scss.map +0 -1
  1218. data/node_modules/govuk-frontend/govuk/tools/_font-url.scss +0 -27
  1219. data/node_modules/govuk-frontend/govuk/tools/_font-url.scss.map +0 -1
  1220. data/node_modules/govuk-frontend/govuk/tools/_ie8.scss +0 -89
  1221. data/node_modules/govuk-frontend/govuk/tools/_ie8.scss.map +0 -1
  1222. data/node_modules/govuk-frontend/govuk/tools/_image-url.scss +0 -27
  1223. data/node_modules/govuk-frontend/govuk/tools/_image-url.scss.map +0 -1
  1224. data/node_modules/govuk-frontend/govuk/tools/_px-to-em.scss +0 -22
  1225. data/node_modules/govuk-frontend/govuk/tools/_px-to-em.scss.map +0 -1
  1226. data/node_modules/govuk-frontend/govuk/tools/_px-to-rem.scss +0 -22
  1227. data/node_modules/govuk-frontend/govuk/tools/_px-to-rem.scss.map +0 -1
  1228. data/node_modules/govuk-frontend/govuk/utilities/_all.scss +0 -4
  1229. data/node_modules/govuk-frontend/govuk/utilities/_all.scss.map +0 -1
  1230. data/node_modules/govuk-frontend/govuk/utilities/_clearfix.scss +0 -7
  1231. data/node_modules/govuk-frontend/govuk/utilities/_clearfix.scss.map +0 -1
  1232. data/node_modules/govuk-frontend/govuk/utilities/_visually-hidden.scss +0 -11
  1233. data/node_modules/govuk-frontend/govuk/utilities/_visually-hidden.scss.map +0 -1
  1234. data/node_modules/govuk-frontend/govuk/vendor/_sass-mq.scss +0 -349
  1235. data/node_modules/govuk-frontend/govuk/vendor/_sass-mq.scss.map +0 -1
  1236. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +0 -274
  1237. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js.map +0 -1
  1238. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js +0 -23
  1239. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js.map +0 -1
  1240. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +0 -36
  1241. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js.map +0 -1
  1242. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +0 -597
  1243. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js.map +0 -1
  1244. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +0 -58
  1245. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js.map +0 -1
  1246. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js +0 -307
  1247. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js.map +0 -1
  1248. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +0 -33
  1249. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js.map +0 -1
  1250. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +0 -261
  1251. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js.map +0 -1
  1252. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +0 -261
  1253. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js.map +0 -1
  1254. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +0 -151
  1255. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js.map +0 -1
  1256. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +0 -512
  1257. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js.map +0 -1
  1258. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +0 -256
  1259. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js.map +0 -1
  1260. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +0 -96
  1261. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js.map +0 -1
  1262. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js +0 -23
  1263. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js.map +0 -1
  1264. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +0 -30
  1265. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js.map +0 -1
  1266. data/node_modules/govuk-frontend/govuk-esm/all.mjs +0 -140
  1267. data/node_modules/govuk-frontend/govuk-esm/all.mjs.map +0 -1
  1268. data/node_modules/govuk-frontend/govuk-esm/common/closest-attribute-value.mjs +0 -19
  1269. data/node_modules/govuk-frontend/govuk-esm/common/closest-attribute-value.mjs.map +0 -1
  1270. data/node_modules/govuk-frontend/govuk-esm/common/govuk-frontend-version.mjs +0 -9
  1271. data/node_modules/govuk-frontend/govuk-esm/common/govuk-frontend-version.mjs.map +0 -1
  1272. data/node_modules/govuk-frontend/govuk-esm/common/index.mjs +0 -181
  1273. data/node_modules/govuk-frontend/govuk-esm/common/index.mjs.map +0 -1
  1274. data/node_modules/govuk-frontend/govuk-esm/common/normalise-dataset.mjs +0 -66
  1275. data/node_modules/govuk-frontend/govuk-esm/common/normalise-dataset.mjs.map +0 -1
  1276. data/node_modules/govuk-frontend/govuk-esm/common.mjs +0 -4
  1277. data/node_modules/govuk-frontend/govuk-esm/common.mjs.map +0 -1
  1278. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +0 -625
  1279. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs.map +0 -1
  1280. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs +0 -120
  1281. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs.map +0 -1
  1282. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs +0 -510
  1283. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs.map +0 -1
  1284. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs +0 -213
  1285. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs.map +0 -1
  1286. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +0 -166
  1287. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs.map +0 -1
  1288. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs +0 -233
  1289. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs.map +0 -1
  1290. data/node_modules/govuk-frontend/govuk-esm/components/exit-this-page/exit-this-page.mjs +0 -406
  1291. data/node_modules/govuk-frontend/govuk-esm/components/exit-this-page/exit-this-page.mjs.map +0 -1
  1292. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +0 -125
  1293. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs.map +0 -1
  1294. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs +0 -95
  1295. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs.map +0 -1
  1296. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs +0 -158
  1297. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs.map +0 -1
  1298. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs +0 -119
  1299. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs.map +0 -1
  1300. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs +0 -515
  1301. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs.map +0 -1
  1302. data/node_modules/govuk-frontend/govuk-esm/i18n.mjs +0 -389
  1303. data/node_modules/govuk-frontend/govuk-esm/i18n.mjs.map +0 -1
  1304. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/DOMTokenList.mjs +0 -266
  1305. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/DOMTokenList.mjs.map +0 -1
  1306. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Date/now.mjs +0 -15
  1307. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Date/now.mjs.map +0 -1
  1308. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Document.mjs +0 -28
  1309. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Document.mjs.map +0 -1
  1310. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/classList.mjs +0 -96
  1311. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/classList.mjs.map +0 -1
  1312. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/closest.mjs +0 -27
  1313. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/closest.mjs.map +0 -1
  1314. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/dataset.mjs +0 -71
  1315. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/dataset.mjs.map +0 -1
  1316. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/matches.mjs +0 -25
  1317. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/matches.mjs.map +0 -1
  1318. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/nextElementSibling.mjs +0 -25
  1319. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/nextElementSibling.mjs.map +0 -1
  1320. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/previousElementSibling.mjs +0 -25
  1321. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/previousElementSibling.mjs.map +0 -1
  1322. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element.mjs +0 -117
  1323. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element.mjs.map +0 -1
  1324. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Event.mjs +0 -255
  1325. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Event.mjs.map +0 -1
  1326. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/bind.mjs +0 -162
  1327. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/bind.mjs.map +0 -1
  1328. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/defineProperty.mjs +0 -88
  1329. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/defineProperty.mjs.map +0 -1
  1330. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/String/prototype/trim.mjs +0 -15
  1331. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/String/prototype/trim.mjs.map +0 -1
  1332. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Window.mjs +0 -22
  1333. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Window.mjs.map +0 -1
  1334. data/node_modules/govuk-frontend/govuk-prototype-kit/init.js +0 -8
  1335. data/node_modules/govuk-frontend/govuk-prototype-kit/init.scss +0 -14
  1336. data/node_modules/govuk-frontend/govuk-prototype-kit/init.scss.map +0 -1
  1337. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-affa96571d-v2.woff +0 -0
  1338. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
  1339. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
  1340. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-f591b13f7d-v2.woff +0 -0
  1341. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/images/favicon.ico +0 -0
  1342. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/images/govuk-crest-2x.png +0 -0
  1343. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/images/govuk-crest.png +0 -0
  1344. /data/node_modules/govuk-frontend/{govuk/assets/images/govuk-apple-touch-icon-180x180.png → dist/govuk/assets/images/govuk-icon-180.png} +0 -0
  1345. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/images/govuk-opengraph-image.png +0 -0
  1346. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/accordion/README.md +0 -0
  1347. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/accordion/macro.njk +0 -0
  1348. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/back-link/README.md +0 -0
  1349. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/back-link/macro.njk +0 -0
  1350. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/breadcrumbs/README.md +0 -0
  1351. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/breadcrumbs/macro.njk +0 -0
  1352. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/button/README.md +0 -0
  1353. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/button/macro.njk +0 -0
  1354. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/character-count/README.md +0 -0
  1355. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/character-count/macro.njk +0 -0
  1356. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/checkboxes/README.md +0 -0
  1357. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/checkboxes/macro.njk +0 -0
  1358. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/cookie-banner/README.md +0 -0
  1359. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/cookie-banner/macro.njk +0 -0
  1360. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/date-input/README.md +0 -0
  1361. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/date-input/macro.njk +0 -0
  1362. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/details/README.md +0 -0
  1363. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/details/macro-options.json +0 -0
  1364. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/details/macro.njk +0 -0
  1365. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-message/README.md +0 -0
  1366. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-message/macro.njk +0 -0
  1367. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-summary/README.md +0 -0
  1368. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-summary/macro.njk +0 -0
  1369. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/exit-this-page/README.md +0 -0
  1370. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/exit-this-page/macro.njk +0 -0
  1371. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/fieldset/README.md +0 -0
  1372. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/fieldset/macro.njk +0 -0
  1373. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/file-upload/README.md +0 -0
  1374. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/file-upload/macro.njk +0 -0
  1375. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/footer/README.md +0 -0
  1376. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/footer/macro.njk +0 -0
  1377. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/header/README.md +0 -0
  1378. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/header/macro.njk +0 -0
  1379. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/README.md +0 -0
  1380. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/macro-options.json +0 -0
  1381. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/macro.njk +0 -0
  1382. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/README.md +0 -0
  1383. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/macro.njk +0 -0
  1384. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/inset-text/README.md +0 -0
  1385. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/inset-text/macro.njk +0 -0
  1386. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/README.md +0 -0
  1387. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/macro-options.json +0 -0
  1388. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/macro.njk +0 -0
  1389. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/notification-banner/README.md +0 -0
  1390. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/notification-banner/macro.njk +0 -0
  1391. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/pagination/README.md +0 -0
  1392. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/pagination/macro.njk +0 -0
  1393. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/panel/README.md +0 -0
  1394. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/panel/macro-options.json +0 -0
  1395. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/panel/macro.njk +0 -0
  1396. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/phase-banner/README.md +0 -0
  1397. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/phase-banner/macro.njk +0 -0
  1398. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/radios/README.md +0 -0
  1399. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/radios/macro.njk +0 -0
  1400. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/select/README.md +0 -0
  1401. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/select/macro.njk +0 -0
  1402. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/skip-link/README.md +0 -0
  1403. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/skip-link/macro.njk +0 -0
  1404. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/summary-list/README.md +0 -0
  1405. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/summary-list/macro.njk +0 -0
  1406. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/README.md +0 -0
  1407. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/macro.njk +0 -0
  1408. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/README.md +0 -0
  1409. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/macro.njk +0 -0
  1410. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tag/README.md +0 -0
  1411. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tag/macro-options.json +0 -0
  1412. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tag/macro.njk +0 -0
  1413. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/textarea/README.md +0 -0
  1414. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/textarea/macro.njk +0 -0
  1415. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/warning-text/README.md +0 -0
  1416. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/warning-text/macro.njk +0 -0
@@ -0,0 +1,2148 @@
1
+ const version = '5.1.0';
2
+
3
+ function mergeConfigs(...configObjects) {
4
+ function flattenObject(configObject) {
5
+ const flattenedObject = {};
6
+ function flattenLoop(obj, prefix) {
7
+ for (const [key, value] of Object.entries(obj)) {
8
+ const prefixedKey = prefix ? `${prefix}.${key}` : key;
9
+ if (value && typeof value === 'object') {
10
+ flattenLoop(value, prefixedKey);
11
+ } else {
12
+ flattenedObject[prefixedKey] = value;
13
+ }
14
+ }
15
+ }
16
+ flattenLoop(configObject);
17
+ return flattenedObject;
18
+ }
19
+ const formattedConfigObject = {};
20
+ for (const configObject of configObjects) {
21
+ const obj = flattenObject(configObject);
22
+ for (const [key, value] of Object.entries(obj)) {
23
+ formattedConfigObject[key] = value;
24
+ }
25
+ }
26
+ return formattedConfigObject;
27
+ }
28
+ function extractConfigByNamespace(configObject, namespace) {
29
+ const newObject = {};
30
+ for (const [key, value] of Object.entries(configObject)) {
31
+ const keyParts = key.split('.');
32
+ if (keyParts[0] === namespace) {
33
+ if (keyParts.length > 1) {
34
+ keyParts.shift();
35
+ }
36
+ const newKey = keyParts.join('.');
37
+ newObject[newKey] = value;
38
+ }
39
+ }
40
+ return newObject;
41
+ }
42
+ function getFragmentFromUrl(url) {
43
+ if (!url.includes('#')) {
44
+ return undefined;
45
+ }
46
+ return url.split('#').pop();
47
+ }
48
+ function getBreakpoint(name) {
49
+ const property = `--govuk-frontend-breakpoint-${name}`;
50
+ const value = window.getComputedStyle(document.documentElement).getPropertyValue(property);
51
+ return {
52
+ property,
53
+ value: value || undefined
54
+ };
55
+ }
56
+ function setFocus($element, options = {}) {
57
+ var _options$onBeforeFocu;
58
+ const isFocusable = $element.getAttribute('tabindex');
59
+ if (!isFocusable) {
60
+ $element.setAttribute('tabindex', '-1');
61
+ }
62
+ function onFocus() {
63
+ $element.addEventListener('blur', onBlur, {
64
+ once: true
65
+ });
66
+ }
67
+ function onBlur() {
68
+ var _options$onBlur;
69
+ (_options$onBlur = options.onBlur) == null || _options$onBlur.call($element);
70
+ if (!isFocusable) {
71
+ $element.removeAttribute('tabindex');
72
+ }
73
+ }
74
+ $element.addEventListener('focus', onFocus, {
75
+ once: true
76
+ });
77
+ (_options$onBeforeFocu = options.onBeforeFocus) == null || _options$onBeforeFocu.call($element);
78
+ $element.focus();
79
+ }
80
+ function isSupported($scope = document.body) {
81
+ if (!$scope) {
82
+ return false;
83
+ }
84
+ return $scope.classList.contains('govuk-frontend-supported');
85
+ }
86
+ function validateConfig(schema, config) {
87
+ const validationErrors = [];
88
+ for (const [name, conditions] of Object.entries(schema)) {
89
+ const errors = [];
90
+ for (const {
91
+ required,
92
+ errorMessage
93
+ } of conditions) {
94
+ if (!required.every(key => !!config[key])) {
95
+ errors.push(errorMessage);
96
+ }
97
+ }
98
+ if (name === 'anyOf' && !(conditions.length - errors.length >= 1)) {
99
+ validationErrors.push(...errors);
100
+ }
101
+ }
102
+ return validationErrors;
103
+ }
104
+
105
+ /**
106
+ * Schema for component config
107
+ *
108
+ * @typedef {object} Schema
109
+ * @property {SchemaCondition[]} [anyOf] - List of schema conditions
110
+ */
111
+
112
+ /**
113
+ * Schema condition for component config
114
+ *
115
+ * @typedef {object} SchemaCondition
116
+ * @property {string[]} required - List of required config fields
117
+ * @property {string} errorMessage - Error message when required config fields not provided
118
+ */
119
+
120
+ function normaliseString(value) {
121
+ if (typeof value !== 'string') {
122
+ return value;
123
+ }
124
+ const trimmedValue = value.trim();
125
+ if (trimmedValue === 'true') {
126
+ return true;
127
+ }
128
+ if (trimmedValue === 'false') {
129
+ return false;
130
+ }
131
+ if (trimmedValue.length > 0 && isFinite(Number(trimmedValue))) {
132
+ return Number(trimmedValue);
133
+ }
134
+ return value;
135
+ }
136
+ function normaliseDataset(dataset) {
137
+ const out = {};
138
+ for (const [key, value] of Object.entries(dataset)) {
139
+ out[key] = normaliseString(value);
140
+ }
141
+ return out;
142
+ }
143
+
144
+ class GOVUKFrontendError extends Error {
145
+ constructor(...args) {
146
+ super(...args);
147
+ this.name = 'GOVUKFrontendError';
148
+ }
149
+ }
150
+ class SupportError extends GOVUKFrontendError {
151
+ /**
152
+ * Checks if GOV.UK Frontend is supported on this page
153
+ *
154
+ * @param {HTMLElement | null} [$scope] - HTML element `<body>` checked for browser support
155
+ */
156
+ constructor($scope = document.body) {
157
+ const supportMessage = 'noModule' in HTMLScriptElement.prototype ? 'GOV.UK Frontend initialised without `<body class="govuk-frontend-supported">` from template `<script>` snippet' : 'GOV.UK Frontend is not supported in this browser';
158
+ super($scope ? supportMessage : 'GOV.UK Frontend initialised without `<script type="module">`');
159
+ this.name = 'SupportError';
160
+ }
161
+ }
162
+ class ConfigError extends GOVUKFrontendError {
163
+ constructor(...args) {
164
+ super(...args);
165
+ this.name = 'ConfigError';
166
+ }
167
+ }
168
+ class ElementError extends GOVUKFrontendError {
169
+ constructor(messageOrOptions) {
170
+ let message = typeof messageOrOptions === 'string' ? messageOrOptions : '';
171
+ if (typeof messageOrOptions === 'object') {
172
+ const {
173
+ componentName,
174
+ identifier,
175
+ element,
176
+ expectedType
177
+ } = messageOrOptions;
178
+ message = `${componentName}: ${identifier}`;
179
+ message += element ? ` is not of type ${expectedType != null ? expectedType : 'HTMLElement'}` : ' not found';
180
+ }
181
+ super(message);
182
+ this.name = 'ElementError';
183
+ }
184
+ }
185
+
186
+ class GOVUKFrontendComponent {
187
+ constructor() {
188
+ this.checkSupport();
189
+ }
190
+ checkSupport() {
191
+ if (!isSupported()) {
192
+ throw new SupportError();
193
+ }
194
+ }
195
+ }
196
+
197
+ class I18n {
198
+ constructor(translations = {}, config = {}) {
199
+ var _config$locale;
200
+ this.translations = void 0;
201
+ this.locale = void 0;
202
+ this.translations = translations;
203
+ this.locale = (_config$locale = config.locale) != null ? _config$locale : document.documentElement.lang || 'en';
204
+ }
205
+ t(lookupKey, options) {
206
+ if (!lookupKey) {
207
+ throw new Error('i18n: lookup key missing');
208
+ }
209
+ if (typeof (options == null ? void 0 : options.count) === 'number') {
210
+ lookupKey = `${lookupKey}.${this.getPluralSuffix(lookupKey, options.count)}`;
211
+ }
212
+ const translationString = this.translations[lookupKey];
213
+ if (typeof translationString === 'string') {
214
+ if (translationString.match(/%{(.\S+)}/)) {
215
+ if (!options) {
216
+ throw new Error('i18n: cannot replace placeholders in string if no option data provided');
217
+ }
218
+ return this.replacePlaceholders(translationString, options);
219
+ }
220
+ return translationString;
221
+ }
222
+ return lookupKey;
223
+ }
224
+ replacePlaceholders(translationString, options) {
225
+ const formatter = Intl.NumberFormat.supportedLocalesOf(this.locale).length ? new Intl.NumberFormat(this.locale) : undefined;
226
+ return translationString.replace(/%{(.\S+)}/g, function (placeholderWithBraces, placeholderKey) {
227
+ if (Object.prototype.hasOwnProperty.call(options, placeholderKey)) {
228
+ const placeholderValue = options[placeholderKey];
229
+ if (placeholderValue === false || typeof placeholderValue !== 'number' && typeof placeholderValue !== 'string') {
230
+ return '';
231
+ }
232
+ if (typeof placeholderValue === 'number') {
233
+ return formatter ? formatter.format(placeholderValue) : `${placeholderValue}`;
234
+ }
235
+ return placeholderValue;
236
+ }
237
+ throw new Error(`i18n: no data found to replace ${placeholderWithBraces} placeholder in string`);
238
+ });
239
+ }
240
+ hasIntlPluralRulesSupport() {
241
+ return Boolean('PluralRules' in window.Intl && Intl.PluralRules.supportedLocalesOf(this.locale).length);
242
+ }
243
+ getPluralSuffix(lookupKey, count) {
244
+ count = Number(count);
245
+ if (!isFinite(count)) {
246
+ return 'other';
247
+ }
248
+ const preferredForm = this.hasIntlPluralRulesSupport() ? new Intl.PluralRules(this.locale).select(count) : this.selectPluralFormUsingFallbackRules(count);
249
+ if (`${lookupKey}.${preferredForm}` in this.translations) {
250
+ return preferredForm;
251
+ } else if (`${lookupKey}.other` in this.translations) {
252
+ console.warn(`i18n: Missing plural form ".${preferredForm}" for "${this.locale}" locale. Falling back to ".other".`);
253
+ return 'other';
254
+ }
255
+ throw new Error(`i18n: Plural form ".other" is required for "${this.locale}" locale`);
256
+ }
257
+ selectPluralFormUsingFallbackRules(count) {
258
+ count = Math.abs(Math.floor(count));
259
+ const ruleset = this.getPluralRulesForLocale();
260
+ if (ruleset) {
261
+ return I18n.pluralRules[ruleset](count);
262
+ }
263
+ return 'other';
264
+ }
265
+ getPluralRulesForLocale() {
266
+ const localeShort = this.locale.split('-')[0];
267
+ for (const pluralRule in I18n.pluralRulesMap) {
268
+ const languages = I18n.pluralRulesMap[pluralRule];
269
+ if (languages.includes(this.locale) || languages.includes(localeShort)) {
270
+ return pluralRule;
271
+ }
272
+ }
273
+ }
274
+ }
275
+ I18n.pluralRulesMap = {
276
+ arabic: ['ar'],
277
+ chinese: ['my', 'zh', 'id', 'ja', 'jv', 'ko', 'ms', 'th', 'vi'],
278
+ french: ['hy', 'bn', 'fr', 'gu', 'hi', 'fa', 'pa', 'zu'],
279
+ german: ['af', 'sq', 'az', 'eu', 'bg', 'ca', 'da', 'nl', 'en', 'et', 'fi', 'ka', 'de', 'el', 'hu', 'lb', 'no', 'so', 'sw', 'sv', 'ta', 'te', 'tr', 'ur'],
280
+ irish: ['ga'],
281
+ russian: ['ru', 'uk'],
282
+ scottish: ['gd'],
283
+ spanish: ['pt-PT', 'it', 'es'],
284
+ welsh: ['cy']
285
+ };
286
+ I18n.pluralRules = {
287
+ arabic(n) {
288
+ if (n === 0) {
289
+ return 'zero';
290
+ }
291
+ if (n === 1) {
292
+ return 'one';
293
+ }
294
+ if (n === 2) {
295
+ return 'two';
296
+ }
297
+ if (n % 100 >= 3 && n % 100 <= 10) {
298
+ return 'few';
299
+ }
300
+ if (n % 100 >= 11 && n % 100 <= 99) {
301
+ return 'many';
302
+ }
303
+ return 'other';
304
+ },
305
+ chinese() {
306
+ return 'other';
307
+ },
308
+ french(n) {
309
+ return n === 0 || n === 1 ? 'one' : 'other';
310
+ },
311
+ german(n) {
312
+ return n === 1 ? 'one' : 'other';
313
+ },
314
+ irish(n) {
315
+ if (n === 1) {
316
+ return 'one';
317
+ }
318
+ if (n === 2) {
319
+ return 'two';
320
+ }
321
+ if (n >= 3 && n <= 6) {
322
+ return 'few';
323
+ }
324
+ if (n >= 7 && n <= 10) {
325
+ return 'many';
326
+ }
327
+ return 'other';
328
+ },
329
+ russian(n) {
330
+ const lastTwo = n % 100;
331
+ const last = lastTwo % 10;
332
+ if (last === 1 && lastTwo !== 11) {
333
+ return 'one';
334
+ }
335
+ if (last >= 2 && last <= 4 && !(lastTwo >= 12 && lastTwo <= 14)) {
336
+ return 'few';
337
+ }
338
+ if (last === 0 || last >= 5 && last <= 9 || lastTwo >= 11 && lastTwo <= 14) {
339
+ return 'many';
340
+ }
341
+ return 'other';
342
+ },
343
+ scottish(n) {
344
+ if (n === 1 || n === 11) {
345
+ return 'one';
346
+ }
347
+ if (n === 2 || n === 12) {
348
+ return 'two';
349
+ }
350
+ if (n >= 3 && n <= 10 || n >= 13 && n <= 19) {
351
+ return 'few';
352
+ }
353
+ return 'other';
354
+ },
355
+ spanish(n) {
356
+ if (n === 1) {
357
+ return 'one';
358
+ }
359
+ if (n % 1000000 === 0 && n !== 0) {
360
+ return 'many';
361
+ }
362
+ return 'other';
363
+ },
364
+ welsh(n) {
365
+ if (n === 0) {
366
+ return 'zero';
367
+ }
368
+ if (n === 1) {
369
+ return 'one';
370
+ }
371
+ if (n === 2) {
372
+ return 'two';
373
+ }
374
+ if (n === 3) {
375
+ return 'few';
376
+ }
377
+ if (n === 6) {
378
+ return 'many';
379
+ }
380
+ return 'other';
381
+ }
382
+ };
383
+
384
+ /**
385
+ * Accordion component
386
+ *
387
+ * This allows a collection of sections to be collapsed by default, showing only
388
+ * their headers. Sections can be expanded or collapsed individually by clicking
389
+ * their headers. A "Show all sections" button is also added to the top of the
390
+ * accordion, which switches to "Hide all sections" when all the sections are
391
+ * expanded.
392
+ *
393
+ * The state of each section is saved to the DOM via the `aria-expanded`
394
+ * attribute, which also provides accessibility.
395
+ *
396
+ * @preserve
397
+ */
398
+ class Accordion extends GOVUKFrontendComponent {
399
+ /**
400
+ * @param {Element | null} $module - HTML element to use for accordion
401
+ * @param {AccordionConfig} [config] - Accordion config
402
+ */
403
+ constructor($module, config = {}) {
404
+ super();
405
+ this.$module = void 0;
406
+ this.config = void 0;
407
+ this.i18n = void 0;
408
+ this.controlsClass = 'govuk-accordion__controls';
409
+ this.showAllClass = 'govuk-accordion__show-all';
410
+ this.showAllTextClass = 'govuk-accordion__show-all-text';
411
+ this.sectionClass = 'govuk-accordion__section';
412
+ this.sectionExpandedClass = 'govuk-accordion__section--expanded';
413
+ this.sectionButtonClass = 'govuk-accordion__section-button';
414
+ this.sectionHeaderClass = 'govuk-accordion__section-header';
415
+ this.sectionHeadingClass = 'govuk-accordion__section-heading';
416
+ this.sectionHeadingDividerClass = 'govuk-accordion__section-heading-divider';
417
+ this.sectionHeadingTextClass = 'govuk-accordion__section-heading-text';
418
+ this.sectionHeadingTextFocusClass = 'govuk-accordion__section-heading-text-focus';
419
+ this.sectionShowHideToggleClass = 'govuk-accordion__section-toggle';
420
+ this.sectionShowHideToggleFocusClass = 'govuk-accordion__section-toggle-focus';
421
+ this.sectionShowHideTextClass = 'govuk-accordion__section-toggle-text';
422
+ this.upChevronIconClass = 'govuk-accordion-nav__chevron';
423
+ this.downChevronIconClass = 'govuk-accordion-nav__chevron--down';
424
+ this.sectionSummaryClass = 'govuk-accordion__section-summary';
425
+ this.sectionSummaryFocusClass = 'govuk-accordion__section-summary-focus';
426
+ this.sectionContentClass = 'govuk-accordion__section-content';
427
+ this.$sections = void 0;
428
+ this.browserSupportsSessionStorage = false;
429
+ this.$showAllButton = null;
430
+ this.$showAllIcon = null;
431
+ this.$showAllText = null;
432
+ if (!($module instanceof HTMLElement)) {
433
+ throw new ElementError({
434
+ componentName: 'Accordion',
435
+ element: $module,
436
+ identifier: 'Root element (`$module`)'
437
+ });
438
+ }
439
+ this.$module = $module;
440
+ this.config = mergeConfigs(Accordion.defaults, config, normaliseDataset($module.dataset));
441
+ this.i18n = new I18n(extractConfigByNamespace(this.config, 'i18n'));
442
+ const $sections = this.$module.querySelectorAll(`.${this.sectionClass}`);
443
+ if (!$sections.length) {
444
+ throw new ElementError({
445
+ componentName: 'Accordion',
446
+ identifier: `Sections (\`<div class="${this.sectionClass}">\`)`
447
+ });
448
+ }
449
+ this.$sections = $sections;
450
+ this.browserSupportsSessionStorage = helper.checkForSessionStorage();
451
+ this.initControls();
452
+ this.initSectionHeaders();
453
+ const areAllSectionsOpen = this.checkIfAllSectionsOpen();
454
+ this.updateShowAllButton(areAllSectionsOpen);
455
+ }
456
+ initControls() {
457
+ this.$showAllButton = document.createElement('button');
458
+ this.$showAllButton.setAttribute('type', 'button');
459
+ this.$showAllButton.setAttribute('class', this.showAllClass);
460
+ this.$showAllButton.setAttribute('aria-expanded', 'false');
461
+ this.$showAllIcon = document.createElement('span');
462
+ this.$showAllIcon.classList.add(this.upChevronIconClass);
463
+ this.$showAllButton.appendChild(this.$showAllIcon);
464
+ const $accordionControls = document.createElement('div');
465
+ $accordionControls.setAttribute('class', this.controlsClass);
466
+ $accordionControls.appendChild(this.$showAllButton);
467
+ this.$module.insertBefore($accordionControls, this.$module.firstChild);
468
+ this.$showAllText = document.createElement('span');
469
+ this.$showAllText.classList.add(this.showAllTextClass);
470
+ this.$showAllButton.appendChild(this.$showAllText);
471
+ this.$showAllButton.addEventListener('click', () => this.onShowOrHideAllToggle());
472
+ if ('onbeforematch' in document) {
473
+ document.addEventListener('beforematch', event => this.onBeforeMatch(event));
474
+ }
475
+ }
476
+ initSectionHeaders() {
477
+ this.$sections.forEach(($section, i) => {
478
+ const $header = $section.querySelector(`.${this.sectionHeaderClass}`);
479
+ if (!$header) {
480
+ throw new ElementError({
481
+ componentName: 'Accordion',
482
+ identifier: `Section headers (\`<div class="${this.sectionHeaderClass}">\`)`
483
+ });
484
+ }
485
+ this.constructHeaderMarkup($header, i);
486
+ this.setExpanded(this.isExpanded($section), $section);
487
+ $header.addEventListener('click', () => this.onSectionToggle($section));
488
+ this.setInitialState($section);
489
+ });
490
+ }
491
+ constructHeaderMarkup($header, index) {
492
+ const $span = $header.querySelector(`.${this.sectionButtonClass}`);
493
+ const $heading = $header.querySelector(`.${this.sectionHeadingClass}`);
494
+ const $summary = $header.querySelector(`.${this.sectionSummaryClass}`);
495
+ if (!$heading) {
496
+ throw new ElementError({
497
+ componentName: 'Accordion',
498
+ identifier: `Section heading (\`.${this.sectionHeadingClass}\`)`
499
+ });
500
+ }
501
+ if (!$span) {
502
+ throw new ElementError({
503
+ componentName: 'Accordion',
504
+ identifier: `Section button placeholder (\`<span class="${this.sectionButtonClass}">\`)`
505
+ });
506
+ }
507
+ const $button = document.createElement('button');
508
+ $button.setAttribute('type', 'button');
509
+ $button.setAttribute('aria-controls', `${this.$module.id}-content-${index + 1}`);
510
+ for (const attr of Array.from($span.attributes)) {
511
+ if (attr.nodeName !== 'id') {
512
+ $button.setAttribute(attr.nodeName, `${attr.nodeValue}`);
513
+ }
514
+ }
515
+ const $headingText = document.createElement('span');
516
+ $headingText.classList.add(this.sectionHeadingTextClass);
517
+ $headingText.id = $span.id;
518
+ const $headingTextFocus = document.createElement('span');
519
+ $headingTextFocus.classList.add(this.sectionHeadingTextFocusClass);
520
+ $headingText.appendChild($headingTextFocus);
521
+ $headingTextFocus.innerHTML = $span.innerHTML;
522
+ const $showHideToggle = document.createElement('span');
523
+ $showHideToggle.classList.add(this.sectionShowHideToggleClass);
524
+ $showHideToggle.setAttribute('data-nosnippet', '');
525
+ const $showHideToggleFocus = document.createElement('span');
526
+ $showHideToggleFocus.classList.add(this.sectionShowHideToggleFocusClass);
527
+ $showHideToggle.appendChild($showHideToggleFocus);
528
+ const $showHideText = document.createElement('span');
529
+ const $showHideIcon = document.createElement('span');
530
+ $showHideIcon.classList.add(this.upChevronIconClass);
531
+ $showHideToggleFocus.appendChild($showHideIcon);
532
+ $showHideText.classList.add(this.sectionShowHideTextClass);
533
+ $showHideToggleFocus.appendChild($showHideText);
534
+ $button.appendChild($headingText);
535
+ $button.appendChild(this.getButtonPunctuationEl());
536
+ if ($summary != null && $summary.parentNode) {
537
+ const $summarySpan = document.createElement('span');
538
+ const $summarySpanFocus = document.createElement('span');
539
+ $summarySpanFocus.classList.add(this.sectionSummaryFocusClass);
540
+ $summarySpan.appendChild($summarySpanFocus);
541
+ for (const attr of Array.from($summary.attributes)) {
542
+ $summarySpan.setAttribute(attr.nodeName, `${attr.nodeValue}`);
543
+ }
544
+ $summarySpanFocus.innerHTML = $summary.innerHTML;
545
+ $summary.parentNode.replaceChild($summarySpan, $summary);
546
+ $button.appendChild($summarySpan);
547
+ $button.appendChild(this.getButtonPunctuationEl());
548
+ }
549
+ $button.appendChild($showHideToggle);
550
+ $heading.removeChild($span);
551
+ $heading.appendChild($button);
552
+ }
553
+ onBeforeMatch(event) {
554
+ const $fragment = event.target;
555
+ if (!($fragment instanceof Element)) {
556
+ return;
557
+ }
558
+ const $section = $fragment.closest(`.${this.sectionClass}`);
559
+ if ($section) {
560
+ this.setExpanded(true, $section);
561
+ }
562
+ }
563
+ onSectionToggle($section) {
564
+ const expanded = this.isExpanded($section);
565
+ this.setExpanded(!expanded, $section);
566
+ this.storeState($section);
567
+ }
568
+ onShowOrHideAllToggle() {
569
+ const nowExpanded = !this.checkIfAllSectionsOpen();
570
+ this.$sections.forEach($section => {
571
+ this.setExpanded(nowExpanded, $section);
572
+ this.storeState($section);
573
+ });
574
+ this.updateShowAllButton(nowExpanded);
575
+ }
576
+ setExpanded(expanded, $section) {
577
+ const $showHideIcon = $section.querySelector(`.${this.upChevronIconClass}`);
578
+ const $showHideText = $section.querySelector(`.${this.sectionShowHideTextClass}`);
579
+ const $button = $section.querySelector(`.${this.sectionButtonClass}`);
580
+ const $content = $section.querySelector(`.${this.sectionContentClass}`);
581
+ if (!$content) {
582
+ throw new ElementError({
583
+ componentName: 'Accordion',
584
+ identifier: `Section content (\`<div class="${this.sectionContentClass}">\`)`
585
+ });
586
+ }
587
+ if (!$showHideIcon || !$showHideText || !$button) {
588
+ return;
589
+ }
590
+ const newButtonText = expanded ? this.i18n.t('hideSection') : this.i18n.t('showSection');
591
+ $showHideText.textContent = newButtonText;
592
+ $button.setAttribute('aria-expanded', `${expanded}`);
593
+ const ariaLabelParts = [];
594
+ const $headingText = $section.querySelector(`.${this.sectionHeadingTextClass}`);
595
+ if ($headingText) {
596
+ ariaLabelParts.push(`${$headingText.textContent}`.trim());
597
+ }
598
+ const $summary = $section.querySelector(`.${this.sectionSummaryClass}`);
599
+ if ($summary) {
600
+ ariaLabelParts.push(`${$summary.textContent}`.trim());
601
+ }
602
+ const ariaLabelMessage = expanded ? this.i18n.t('hideSectionAriaLabel') : this.i18n.t('showSectionAriaLabel');
603
+ ariaLabelParts.push(ariaLabelMessage);
604
+ $button.setAttribute('aria-label', ariaLabelParts.join(' , '));
605
+ if (expanded) {
606
+ $content.removeAttribute('hidden');
607
+ $section.classList.add(this.sectionExpandedClass);
608
+ $showHideIcon.classList.remove(this.downChevronIconClass);
609
+ } else {
610
+ $content.setAttribute('hidden', 'until-found');
611
+ $section.classList.remove(this.sectionExpandedClass);
612
+ $showHideIcon.classList.add(this.downChevronIconClass);
613
+ }
614
+ const areAllSectionsOpen = this.checkIfAllSectionsOpen();
615
+ this.updateShowAllButton(areAllSectionsOpen);
616
+ }
617
+ isExpanded($section) {
618
+ return $section.classList.contains(this.sectionExpandedClass);
619
+ }
620
+ checkIfAllSectionsOpen() {
621
+ const sectionsCount = this.$sections.length;
622
+ const expandedSectionCount = this.$module.querySelectorAll(`.${this.sectionExpandedClass}`).length;
623
+ const areAllSectionsOpen = sectionsCount === expandedSectionCount;
624
+ return areAllSectionsOpen;
625
+ }
626
+ updateShowAllButton(expanded) {
627
+ if (!this.$showAllButton || !this.$showAllText || !this.$showAllIcon) {
628
+ return;
629
+ }
630
+ this.$showAllButton.setAttribute('aria-expanded', expanded.toString());
631
+ this.$showAllText.textContent = expanded ? this.i18n.t('hideAllSections') : this.i18n.t('showAllSections');
632
+ this.$showAllIcon.classList.toggle(this.downChevronIconClass, !expanded);
633
+ }
634
+ storeState($section) {
635
+ if (this.browserSupportsSessionStorage && this.config.rememberExpanded) {
636
+ const $button = $section.querySelector(`.${this.sectionButtonClass}`);
637
+ if ($button) {
638
+ const contentId = $button.getAttribute('aria-controls');
639
+ const contentState = $button.getAttribute('aria-expanded');
640
+ if (contentId && contentState) {
641
+ window.sessionStorage.setItem(contentId, contentState);
642
+ }
643
+ }
644
+ }
645
+ }
646
+ setInitialState($section) {
647
+ if (this.browserSupportsSessionStorage && this.config.rememberExpanded) {
648
+ const $button = $section.querySelector(`.${this.sectionButtonClass}`);
649
+ if ($button) {
650
+ const contentId = $button.getAttribute('aria-controls');
651
+ const contentState = contentId ? window.sessionStorage.getItem(contentId) : null;
652
+ if (contentState !== null) {
653
+ this.setExpanded(contentState === 'true', $section);
654
+ }
655
+ }
656
+ }
657
+ }
658
+ getButtonPunctuationEl() {
659
+ const $punctuationEl = document.createElement('span');
660
+ $punctuationEl.classList.add('govuk-visually-hidden', this.sectionHeadingDividerClass);
661
+ $punctuationEl.innerHTML = ', ';
662
+ return $punctuationEl;
663
+ }
664
+ }
665
+ Accordion.moduleName = 'govuk-accordion';
666
+ Accordion.defaults = Object.freeze({
667
+ i18n: {
668
+ hideAllSections: 'Hide all sections',
669
+ hideSection: 'Hide',
670
+ hideSectionAriaLabel: 'Hide this section',
671
+ showAllSections: 'Show all sections',
672
+ showSection: 'Show',
673
+ showSectionAriaLabel: 'Show this section'
674
+ },
675
+ rememberExpanded: true
676
+ });
677
+ const helper = {
678
+ /**
679
+ * Check for `window.sessionStorage`, and that it actually works.
680
+ *
681
+ * @returns {boolean} True if session storage is available
682
+ */
683
+ checkForSessionStorage: function () {
684
+ const testString = 'this is the test string';
685
+ let result;
686
+ try {
687
+ window.sessionStorage.setItem(testString, testString);
688
+ result = window.sessionStorage.getItem(testString) === testString.toString();
689
+ window.sessionStorage.removeItem(testString);
690
+ return result;
691
+ } catch (exception) {
692
+ return false;
693
+ }
694
+ }
695
+ };
696
+
697
+ /**
698
+ * Accordion config
699
+ *
700
+ * @see {@link Accordion.defaults}
701
+ * @typedef {object} AccordionConfig
702
+ * @property {AccordionTranslations} [i18n=Accordion.defaults.i18n] - Accordion translations
703
+ * @property {boolean} [rememberExpanded] - Whether the expanded and collapsed
704
+ * state of each section is remembered and restored when navigating.
705
+ */
706
+
707
+ /**
708
+ * Accordion translations
709
+ *
710
+ * @see {@link Accordion.defaults.i18n}
711
+ * @typedef {object} AccordionTranslations
712
+ *
713
+ * Messages used by the component for the labels of its buttons. This includes
714
+ * the visible text shown on screen, and text to help assistive technology users
715
+ * for the buttons toggling each section.
716
+ * @property {string} [hideAllSections] - The text content for the 'Hide all
717
+ * sections' button, used when at least one section is expanded.
718
+ * @property {string} [hideSection] - The text content for the 'Hide'
719
+ * button, used when a section is expanded.
720
+ * @property {string} [hideSectionAriaLabel] - The text content appended to the
721
+ * 'Hide' button's accessible name when a section is expanded.
722
+ * @property {string} [showAllSections] - The text content for the 'Show all
723
+ * sections' button, used when all sections are collapsed.
724
+ * @property {string} [showSection] - The text content for the 'Show'
725
+ * button, used when a section is collapsed.
726
+ * @property {string} [showSectionAriaLabel] - The text content appended to the
727
+ * 'Show' button's accessible name when a section is expanded.
728
+ */
729
+
730
+ const KEY_SPACE = 32;
731
+ const DEBOUNCE_TIMEOUT_IN_SECONDS = 1;
732
+
733
+ /**
734
+ * JavaScript enhancements for the Button component
735
+ *
736
+ * @preserve
737
+ */
738
+ class Button extends GOVUKFrontendComponent {
739
+ /**
740
+ * @param {Element | null} $module - HTML element to use for button
741
+ * @param {ButtonConfig} [config] - Button config
742
+ */
743
+ constructor($module, config = {}) {
744
+ super();
745
+ this.$module = void 0;
746
+ this.config = void 0;
747
+ this.debounceFormSubmitTimer = null;
748
+ if (!($module instanceof HTMLElement)) {
749
+ throw new ElementError({
750
+ componentName: 'Button',
751
+ element: $module,
752
+ identifier: 'Root element (`$module`)'
753
+ });
754
+ }
755
+ this.$module = $module;
756
+ this.config = mergeConfigs(Button.defaults, config, normaliseDataset($module.dataset));
757
+ this.$module.addEventListener('keydown', event => this.handleKeyDown(event));
758
+ this.$module.addEventListener('click', event => this.debounce(event));
759
+ }
760
+ handleKeyDown(event) {
761
+ const $target = event.target;
762
+ if (event.keyCode !== KEY_SPACE) {
763
+ return;
764
+ }
765
+ if ($target instanceof HTMLElement && $target.getAttribute('role') === 'button') {
766
+ event.preventDefault();
767
+ $target.click();
768
+ }
769
+ }
770
+ debounce(event) {
771
+ if (!this.config.preventDoubleClick) {
772
+ return;
773
+ }
774
+ if (this.debounceFormSubmitTimer) {
775
+ event.preventDefault();
776
+ return false;
777
+ }
778
+ this.debounceFormSubmitTimer = window.setTimeout(() => {
779
+ this.debounceFormSubmitTimer = null;
780
+ }, DEBOUNCE_TIMEOUT_IN_SECONDS * 1000);
781
+ }
782
+ }
783
+
784
+ /**
785
+ * Button config
786
+ *
787
+ * @typedef {object} ButtonConfig
788
+ * @property {boolean} [preventDoubleClick=false] - Prevent accidental double
789
+ * clicks on submit buttons from submitting forms multiple times.
790
+ */
791
+ Button.moduleName = 'govuk-button';
792
+ Button.defaults = Object.freeze({
793
+ preventDoubleClick: false
794
+ });
795
+
796
+ function closestAttributeValue($element, attributeName) {
797
+ const $closestElementWithAttribute = $element.closest(`[${attributeName}]`);
798
+ return $closestElementWithAttribute ? $closestElementWithAttribute.getAttribute(attributeName) : null;
799
+ }
800
+
801
+ /**
802
+ * Character count component
803
+ *
804
+ * Tracks the number of characters or words in the `.govuk-js-character-count`
805
+ * `<textarea>` inside the element. Displays a message with the remaining number
806
+ * of characters/words available, or the number of characters/words in excess.
807
+ *
808
+ * You can configure the message to only appear after a certain percentage
809
+ * of the available characters/words has been entered.
810
+ *
811
+ * @preserve
812
+ */
813
+ class CharacterCount extends GOVUKFrontendComponent {
814
+ /**
815
+ * @param {Element | null} $module - HTML element to use for character count
816
+ * @param {CharacterCountConfig} [config] - Character count config
817
+ */
818
+ constructor($module, config = {}) {
819
+ var _ref, _this$config$maxwords;
820
+ super();
821
+ this.$module = void 0;
822
+ this.$textarea = void 0;
823
+ this.$visibleCountMessage = void 0;
824
+ this.$screenReaderCountMessage = void 0;
825
+ this.lastInputTimestamp = null;
826
+ this.lastInputValue = '';
827
+ this.valueChecker = null;
828
+ this.config = void 0;
829
+ this.i18n = void 0;
830
+ this.maxLength = void 0;
831
+ if (!($module instanceof HTMLElement)) {
832
+ throw new ElementError({
833
+ componentName: 'Character count',
834
+ element: $module,
835
+ identifier: 'Root element (`$module`)'
836
+ });
837
+ }
838
+ const $textarea = $module.querySelector('.govuk-js-character-count');
839
+ if (!($textarea instanceof HTMLTextAreaElement || $textarea instanceof HTMLInputElement)) {
840
+ throw new ElementError({
841
+ componentName: 'Character count',
842
+ element: $textarea,
843
+ expectedType: 'HTMLTextareaElement or HTMLInputElement',
844
+ identifier: 'Form field (`.govuk-js-character-count`)'
845
+ });
846
+ }
847
+ const datasetConfig = normaliseDataset($module.dataset);
848
+ let configOverrides = {};
849
+ if ('maxwords' in datasetConfig || 'maxlength' in datasetConfig) {
850
+ configOverrides = {
851
+ maxlength: undefined,
852
+ maxwords: undefined
853
+ };
854
+ }
855
+ this.config = mergeConfigs(CharacterCount.defaults, config, configOverrides, datasetConfig);
856
+ const errors = validateConfig(CharacterCount.schema, this.config);
857
+ if (errors[0]) {
858
+ throw new ConfigError(`Character count: ${errors[0]}`);
859
+ }
860
+ this.i18n = new I18n(extractConfigByNamespace(this.config, 'i18n'), {
861
+ locale: closestAttributeValue($module, 'lang')
862
+ });
863
+ this.maxLength = (_ref = (_this$config$maxwords = this.config.maxwords) != null ? _this$config$maxwords : this.config.maxlength) != null ? _ref : Infinity;
864
+ this.$module = $module;
865
+ this.$textarea = $textarea;
866
+ const textareaDescriptionId = `${this.$textarea.id}-info`;
867
+ const $textareaDescription = document.getElementById(textareaDescriptionId);
868
+ if (!$textareaDescription) {
869
+ throw new ElementError({
870
+ componentName: 'Character count',
871
+ element: $textareaDescription,
872
+ identifier: `Count message (\`id="${textareaDescriptionId}"\`)`
873
+ });
874
+ }
875
+ if (`${$textareaDescription.textContent}`.match(/^\s*$/)) {
876
+ $textareaDescription.textContent = this.i18n.t('textareaDescription', {
877
+ count: this.maxLength
878
+ });
879
+ }
880
+ this.$textarea.insertAdjacentElement('afterend', $textareaDescription);
881
+ const $screenReaderCountMessage = document.createElement('div');
882
+ $screenReaderCountMessage.className = 'govuk-character-count__sr-status govuk-visually-hidden';
883
+ $screenReaderCountMessage.setAttribute('aria-live', 'polite');
884
+ this.$screenReaderCountMessage = $screenReaderCountMessage;
885
+ $textareaDescription.insertAdjacentElement('afterend', $screenReaderCountMessage);
886
+ const $visibleCountMessage = document.createElement('div');
887
+ $visibleCountMessage.className = $textareaDescription.className;
888
+ $visibleCountMessage.classList.add('govuk-character-count__status');
889
+ $visibleCountMessage.setAttribute('aria-hidden', 'true');
890
+ this.$visibleCountMessage = $visibleCountMessage;
891
+ $textareaDescription.insertAdjacentElement('afterend', $visibleCountMessage);
892
+ $textareaDescription.classList.add('govuk-visually-hidden');
893
+ this.$textarea.removeAttribute('maxlength');
894
+ this.bindChangeEvents();
895
+ window.addEventListener('pageshow', () => this.updateCountMessage());
896
+ this.updateCountMessage();
897
+ }
898
+ bindChangeEvents() {
899
+ this.$textarea.addEventListener('keyup', () => this.handleKeyUp());
900
+ this.$textarea.addEventListener('focus', () => this.handleFocus());
901
+ this.$textarea.addEventListener('blur', () => this.handleBlur());
902
+ }
903
+ handleKeyUp() {
904
+ this.updateVisibleCountMessage();
905
+ this.lastInputTimestamp = Date.now();
906
+ }
907
+ handleFocus() {
908
+ this.valueChecker = window.setInterval(() => {
909
+ if (!this.lastInputTimestamp || Date.now() - 500 >= this.lastInputTimestamp) {
910
+ this.updateIfValueChanged();
911
+ }
912
+ }, 1000);
913
+ }
914
+ handleBlur() {
915
+ if (this.valueChecker) {
916
+ window.clearInterval(this.valueChecker);
917
+ }
918
+ }
919
+ updateIfValueChanged() {
920
+ if (this.$textarea.value !== this.lastInputValue) {
921
+ this.lastInputValue = this.$textarea.value;
922
+ this.updateCountMessage();
923
+ }
924
+ }
925
+ updateCountMessage() {
926
+ this.updateVisibleCountMessage();
927
+ this.updateScreenReaderCountMessage();
928
+ }
929
+ updateVisibleCountMessage() {
930
+ const remainingNumber = this.maxLength - this.count(this.$textarea.value);
931
+ const isError = remainingNumber < 0;
932
+ this.$visibleCountMessage.classList.toggle('govuk-character-count__message--disabled', !this.isOverThreshold());
933
+ this.$textarea.classList.toggle('govuk-textarea--error', isError);
934
+ this.$visibleCountMessage.classList.toggle('govuk-error-message', isError);
935
+ this.$visibleCountMessage.classList.toggle('govuk-hint', !isError);
936
+ this.$visibleCountMessage.textContent = this.getCountMessage();
937
+ }
938
+ updateScreenReaderCountMessage() {
939
+ if (this.isOverThreshold()) {
940
+ this.$screenReaderCountMessage.removeAttribute('aria-hidden');
941
+ } else {
942
+ this.$screenReaderCountMessage.setAttribute('aria-hidden', 'true');
943
+ }
944
+ this.$screenReaderCountMessage.textContent = this.getCountMessage();
945
+ }
946
+ count(text) {
947
+ if (this.config.maxwords) {
948
+ var _text$match;
949
+ const tokens = (_text$match = text.match(/\S+/g)) != null ? _text$match : [];
950
+ return tokens.length;
951
+ }
952
+ return text.length;
953
+ }
954
+ getCountMessage() {
955
+ const remainingNumber = this.maxLength - this.count(this.$textarea.value);
956
+ const countType = this.config.maxwords ? 'words' : 'characters';
957
+ return this.formatCountMessage(remainingNumber, countType);
958
+ }
959
+ formatCountMessage(remainingNumber, countType) {
960
+ if (remainingNumber === 0) {
961
+ return this.i18n.t(`${countType}AtLimit`);
962
+ }
963
+ const translationKeySuffix = remainingNumber < 0 ? 'OverLimit' : 'UnderLimit';
964
+ return this.i18n.t(`${countType}${translationKeySuffix}`, {
965
+ count: Math.abs(remainingNumber)
966
+ });
967
+ }
968
+ isOverThreshold() {
969
+ if (!this.config.threshold) {
970
+ return true;
971
+ }
972
+ const currentLength = this.count(this.$textarea.value);
973
+ const maxLength = this.maxLength;
974
+ const thresholdValue = maxLength * this.config.threshold / 100;
975
+ return thresholdValue <= currentLength;
976
+ }
977
+ }
978
+
979
+ /**
980
+ * Character count config
981
+ *
982
+ * @see {@link CharacterCount.defaults}
983
+ * @typedef {object} CharacterCountConfig
984
+ * @property {number} [maxlength] - The maximum number of characters.
985
+ * If maxwords is provided, the maxlength option will be ignored.
986
+ * @property {number} [maxwords] - The maximum number of words. If maxwords is
987
+ * provided, the maxlength option will be ignored.
988
+ * @property {number} [threshold=0] - The percentage value of the limit at
989
+ * which point the count message is displayed. If this attribute is set, the
990
+ * count message will be hidden by default.
991
+ * @property {CharacterCountTranslations} [i18n=CharacterCount.defaults.i18n] - Character count translations
992
+ */
993
+
994
+ /**
995
+ * Character count translations
996
+ *
997
+ * @see {@link CharacterCount.defaults.i18n}
998
+ * @typedef {object} CharacterCountTranslations
999
+ *
1000
+ * Messages shown to users as they type. It provides feedback on how many words
1001
+ * or characters they have remaining or if they are over the limit. This also
1002
+ * includes a message used as an accessible description for the textarea.
1003
+ * @property {TranslationPluralForms} [charactersUnderLimit] - Message displayed
1004
+ * when the number of characters is under the configured maximum, `maxlength`.
1005
+ * This message is displayed visually and through assistive technologies. The
1006
+ * component will replace the `%{count}` placeholder with the number of
1007
+ * remaining characters. This is a [pluralised list of
1008
+ * messages](https://frontend.design-system.service.gov.uk/localise-govuk-frontend).
1009
+ * @property {string} [charactersAtLimit] - Message displayed when the number of
1010
+ * characters reaches the configured maximum, `maxlength`. This message is
1011
+ * displayed visually and through assistive technologies.
1012
+ * @property {TranslationPluralForms} [charactersOverLimit] - Message displayed
1013
+ * when the number of characters is over the configured maximum, `maxlength`.
1014
+ * This message is displayed visually and through assistive technologies. The
1015
+ * component will replace the `%{count}` placeholder with the number of
1016
+ * remaining characters. This is a [pluralised list of
1017
+ * messages](https://frontend.design-system.service.gov.uk/localise-govuk-frontend).
1018
+ * @property {TranslationPluralForms} [wordsUnderLimit] - Message displayed when
1019
+ * the number of words is under the configured maximum, `maxlength`. This
1020
+ * message is displayed visually and through assistive technologies. The
1021
+ * component will replace the `%{count}` placeholder with the number of
1022
+ * remaining words. This is a [pluralised list of
1023
+ * messages](https://frontend.design-system.service.gov.uk/localise-govuk-frontend).
1024
+ * @property {string} [wordsAtLimit] - Message displayed when the number of
1025
+ * words reaches the configured maximum, `maxlength`. This message is
1026
+ * displayed visually and through assistive technologies.
1027
+ * @property {TranslationPluralForms} [wordsOverLimit] - Message displayed when
1028
+ * the number of words is over the configured maximum, `maxlength`. This
1029
+ * message is displayed visually and through assistive technologies. The
1030
+ * component will replace the `%{count}` placeholder with the number of
1031
+ * remaining words. This is a [pluralised list of
1032
+ * messages](https://frontend.design-system.service.gov.uk/localise-govuk-frontend).
1033
+ * @property {TranslationPluralForms} [textareaDescription] - Message made
1034
+ * available to assistive technologies, if none is already present in the
1035
+ * HTML, to describe that the component accepts only a limited amount of
1036
+ * content. It is visible on the page when JavaScript is unavailable. The
1037
+ * component will replace the `%{count}` placeholder with the value of the
1038
+ * `maxlength` or `maxwords` parameter.
1039
+ */
1040
+
1041
+ /**
1042
+ * @typedef {import('../../common/index.mjs').Schema} Schema
1043
+ * @typedef {import('../../i18n.mjs').TranslationPluralForms} TranslationPluralForms
1044
+ */
1045
+ CharacterCount.moduleName = 'govuk-character-count';
1046
+ CharacterCount.defaults = Object.freeze({
1047
+ threshold: 0,
1048
+ i18n: {
1049
+ charactersUnderLimit: {
1050
+ one: 'You have %{count} character remaining',
1051
+ other: 'You have %{count} characters remaining'
1052
+ },
1053
+ charactersAtLimit: 'You have 0 characters remaining',
1054
+ charactersOverLimit: {
1055
+ one: 'You have %{count} character too many',
1056
+ other: 'You have %{count} characters too many'
1057
+ },
1058
+ wordsUnderLimit: {
1059
+ one: 'You have %{count} word remaining',
1060
+ other: 'You have %{count} words remaining'
1061
+ },
1062
+ wordsAtLimit: 'You have 0 words remaining',
1063
+ wordsOverLimit: {
1064
+ one: 'You have %{count} word too many',
1065
+ other: 'You have %{count} words too many'
1066
+ },
1067
+ textareaDescription: {
1068
+ other: ''
1069
+ }
1070
+ }
1071
+ });
1072
+ CharacterCount.schema = Object.freeze({
1073
+ anyOf: [{
1074
+ required: ['maxwords'],
1075
+ errorMessage: 'Either "maxlength" or "maxwords" must be provided'
1076
+ }, {
1077
+ required: ['maxlength'],
1078
+ errorMessage: 'Either "maxlength" or "maxwords" must be provided'
1079
+ }]
1080
+ });
1081
+
1082
+ /**
1083
+ * Checkboxes component
1084
+ *
1085
+ * @preserve
1086
+ */
1087
+ class Checkboxes extends GOVUKFrontendComponent {
1088
+ /**
1089
+ * Checkboxes can be associated with a 'conditionally revealed' content block
1090
+ * – for example, a checkbox for 'Phone' could reveal an additional form field
1091
+ * for the user to enter their phone number.
1092
+ *
1093
+ * These associations are made using a `data-aria-controls` attribute, which
1094
+ * is promoted to an aria-controls attribute during initialisation.
1095
+ *
1096
+ * We also need to restore the state of any conditional reveals on the page
1097
+ * (for example if the user has navigated back), and set up event handlers to
1098
+ * keep the reveal in sync with the checkbox state.
1099
+ *
1100
+ * @param {Element | null} $module - HTML element to use for checkboxes
1101
+ */
1102
+ constructor($module) {
1103
+ super();
1104
+ this.$module = void 0;
1105
+ this.$inputs = void 0;
1106
+ if (!($module instanceof HTMLElement)) {
1107
+ throw new ElementError({
1108
+ componentName: 'Checkboxes',
1109
+ element: $module,
1110
+ identifier: 'Root element (`$module`)'
1111
+ });
1112
+ }
1113
+ const $inputs = $module.querySelectorAll('input[type="checkbox"]');
1114
+ if (!$inputs.length) {
1115
+ throw new ElementError({
1116
+ componentName: 'Checkboxes',
1117
+ identifier: 'Form inputs (`<input type="checkbox">`)'
1118
+ });
1119
+ }
1120
+ this.$module = $module;
1121
+ this.$inputs = $inputs;
1122
+ this.$inputs.forEach($input => {
1123
+ const targetId = $input.getAttribute('data-aria-controls');
1124
+ if (!targetId) {
1125
+ return;
1126
+ }
1127
+ if (!document.getElementById(targetId)) {
1128
+ throw new ElementError({
1129
+ componentName: 'Checkboxes',
1130
+ identifier: `Conditional reveal (\`id="${targetId}"\`)`
1131
+ });
1132
+ }
1133
+ $input.setAttribute('aria-controls', targetId);
1134
+ $input.removeAttribute('data-aria-controls');
1135
+ });
1136
+ window.addEventListener('pageshow', () => this.syncAllConditionalReveals());
1137
+ this.syncAllConditionalReveals();
1138
+ this.$module.addEventListener('click', event => this.handleClick(event));
1139
+ }
1140
+ syncAllConditionalReveals() {
1141
+ this.$inputs.forEach($input => this.syncConditionalRevealWithInputState($input));
1142
+ }
1143
+ syncConditionalRevealWithInputState($input) {
1144
+ const targetId = $input.getAttribute('aria-controls');
1145
+ if (!targetId) {
1146
+ return;
1147
+ }
1148
+ const $target = document.getElementById(targetId);
1149
+ if ($target && $target.classList.contains('govuk-checkboxes__conditional')) {
1150
+ const inputIsChecked = $input.checked;
1151
+ $input.setAttribute('aria-expanded', inputIsChecked.toString());
1152
+ $target.classList.toggle('govuk-checkboxes__conditional--hidden', !inputIsChecked);
1153
+ }
1154
+ }
1155
+ unCheckAllInputsExcept($input) {
1156
+ const allInputsWithSameName = document.querySelectorAll(`input[type="checkbox"][name="${$input.name}"]`);
1157
+ allInputsWithSameName.forEach($inputWithSameName => {
1158
+ const hasSameFormOwner = $input.form === $inputWithSameName.form;
1159
+ if (hasSameFormOwner && $inputWithSameName !== $input) {
1160
+ $inputWithSameName.checked = false;
1161
+ this.syncConditionalRevealWithInputState($inputWithSameName);
1162
+ }
1163
+ });
1164
+ }
1165
+ unCheckExclusiveInputs($input) {
1166
+ const allInputsWithSameNameAndExclusiveBehaviour = document.querySelectorAll(`input[data-behaviour="exclusive"][type="checkbox"][name="${$input.name}"]`);
1167
+ allInputsWithSameNameAndExclusiveBehaviour.forEach($exclusiveInput => {
1168
+ const hasSameFormOwner = $input.form === $exclusiveInput.form;
1169
+ if (hasSameFormOwner) {
1170
+ $exclusiveInput.checked = false;
1171
+ this.syncConditionalRevealWithInputState($exclusiveInput);
1172
+ }
1173
+ });
1174
+ }
1175
+ handleClick(event) {
1176
+ const $clickedInput = event.target;
1177
+ if (!($clickedInput instanceof HTMLInputElement) || $clickedInput.type !== 'checkbox') {
1178
+ return;
1179
+ }
1180
+ const hasAriaControls = $clickedInput.getAttribute('aria-controls');
1181
+ if (hasAriaControls) {
1182
+ this.syncConditionalRevealWithInputState($clickedInput);
1183
+ }
1184
+ if (!$clickedInput.checked) {
1185
+ return;
1186
+ }
1187
+ const hasBehaviourExclusive = $clickedInput.getAttribute('data-behaviour') === 'exclusive';
1188
+ if (hasBehaviourExclusive) {
1189
+ this.unCheckAllInputsExcept($clickedInput);
1190
+ } else {
1191
+ this.unCheckExclusiveInputs($clickedInput);
1192
+ }
1193
+ }
1194
+ }
1195
+ Checkboxes.moduleName = 'govuk-checkboxes';
1196
+
1197
+ /**
1198
+ * Error summary component
1199
+ *
1200
+ * Takes focus on initialisation for accessible announcement, unless disabled in
1201
+ * configuration.
1202
+ *
1203
+ * @preserve
1204
+ */
1205
+ class ErrorSummary extends GOVUKFrontendComponent {
1206
+ /**
1207
+ * @param {Element | null} $module - HTML element to use for error summary
1208
+ * @param {ErrorSummaryConfig} [config] - Error summary config
1209
+ */
1210
+ constructor($module, config = {}) {
1211
+ super();
1212
+ this.$module = void 0;
1213
+ this.config = void 0;
1214
+ if (!($module instanceof HTMLElement)) {
1215
+ throw new ElementError({
1216
+ componentName: 'Error summary',
1217
+ element: $module,
1218
+ identifier: 'Root element (`$module`)'
1219
+ });
1220
+ }
1221
+ this.$module = $module;
1222
+ this.config = mergeConfigs(ErrorSummary.defaults, config, normaliseDataset($module.dataset));
1223
+ if (!this.config.disableAutoFocus) {
1224
+ setFocus(this.$module);
1225
+ }
1226
+ this.$module.addEventListener('click', event => this.handleClick(event));
1227
+ }
1228
+ handleClick(event) {
1229
+ const $target = event.target;
1230
+ if ($target && this.focusTarget($target)) {
1231
+ event.preventDefault();
1232
+ }
1233
+ }
1234
+ focusTarget($target) {
1235
+ if (!($target instanceof HTMLAnchorElement)) {
1236
+ return false;
1237
+ }
1238
+ const inputId = getFragmentFromUrl($target.href);
1239
+ if (!inputId) {
1240
+ return false;
1241
+ }
1242
+ const $input = document.getElementById(inputId);
1243
+ if (!$input) {
1244
+ return false;
1245
+ }
1246
+ const $legendOrLabel = this.getAssociatedLegendOrLabel($input);
1247
+ if (!$legendOrLabel) {
1248
+ return false;
1249
+ }
1250
+ $legendOrLabel.scrollIntoView();
1251
+ $input.focus({
1252
+ preventScroll: true
1253
+ });
1254
+ return true;
1255
+ }
1256
+ getAssociatedLegendOrLabel($input) {
1257
+ var _document$querySelect;
1258
+ const $fieldset = $input.closest('fieldset');
1259
+ if ($fieldset) {
1260
+ const $legends = $fieldset.getElementsByTagName('legend');
1261
+ if ($legends.length) {
1262
+ const $candidateLegend = $legends[0];
1263
+ if ($input instanceof HTMLInputElement && ($input.type === 'checkbox' || $input.type === 'radio')) {
1264
+ return $candidateLegend;
1265
+ }
1266
+ const legendTop = $candidateLegend.getBoundingClientRect().top;
1267
+ const inputRect = $input.getBoundingClientRect();
1268
+ if (inputRect.height && window.innerHeight) {
1269
+ const inputBottom = inputRect.top + inputRect.height;
1270
+ if (inputBottom - legendTop < window.innerHeight / 2) {
1271
+ return $candidateLegend;
1272
+ }
1273
+ }
1274
+ }
1275
+ }
1276
+ return (_document$querySelect = document.querySelector(`label[for='${$input.getAttribute('id')}']`)) != null ? _document$querySelect : $input.closest('label');
1277
+ }
1278
+ }
1279
+
1280
+ /**
1281
+ * Error summary config
1282
+ *
1283
+ * @typedef {object} ErrorSummaryConfig
1284
+ * @property {boolean} [disableAutoFocus=false] - If set to `true` the error
1285
+ * summary will not be focussed when the page loads.
1286
+ */
1287
+ ErrorSummary.moduleName = 'govuk-error-summary';
1288
+ ErrorSummary.defaults = Object.freeze({
1289
+ disableAutoFocus: false
1290
+ });
1291
+
1292
+ /**
1293
+ * Exit this page component
1294
+ *
1295
+ * @preserve
1296
+ */
1297
+ class ExitThisPage extends GOVUKFrontendComponent {
1298
+ /**
1299
+ * @param {Element | null} $module - HTML element that wraps the Exit This Page button
1300
+ * @param {ExitThisPageConfig} [config] - Exit This Page config
1301
+ */
1302
+ constructor($module, config = {}) {
1303
+ super();
1304
+ this.$module = void 0;
1305
+ this.config = void 0;
1306
+ this.i18n = void 0;
1307
+ this.$button = void 0;
1308
+ this.$skiplinkButton = null;
1309
+ this.$updateSpan = null;
1310
+ this.$indicatorContainer = null;
1311
+ this.$overlay = null;
1312
+ this.keypressCounter = 0;
1313
+ this.lastKeyWasModified = false;
1314
+ this.timeoutTime = 5000;
1315
+ this.keypressTimeoutId = null;
1316
+ this.timeoutMessageId = null;
1317
+ if (!($module instanceof HTMLElement)) {
1318
+ throw new ElementError({
1319
+ componentName: 'Exit this page',
1320
+ element: $module,
1321
+ identifier: 'Root element (`$module`)'
1322
+ });
1323
+ }
1324
+ const $button = $module.querySelector('.govuk-exit-this-page__button');
1325
+ if (!($button instanceof HTMLAnchorElement)) {
1326
+ throw new ElementError({
1327
+ componentName: 'Exit this page',
1328
+ element: $button,
1329
+ expectedType: 'HTMLAnchorElement',
1330
+ identifier: 'Button (`.govuk-exit-this-page__button`)'
1331
+ });
1332
+ }
1333
+ this.config = mergeConfigs(ExitThisPage.defaults, config, normaliseDataset($module.dataset));
1334
+ this.i18n = new I18n(extractConfigByNamespace(this.config, 'i18n'));
1335
+ this.$module = $module;
1336
+ this.$button = $button;
1337
+ const $skiplinkButton = document.querySelector('.govuk-js-exit-this-page-skiplink');
1338
+ if ($skiplinkButton instanceof HTMLAnchorElement) {
1339
+ this.$skiplinkButton = $skiplinkButton;
1340
+ }
1341
+ this.buildIndicator();
1342
+ this.initUpdateSpan();
1343
+ this.initButtonClickHandler();
1344
+ if (!('govukFrontendExitThisPageKeypress' in document.body.dataset)) {
1345
+ document.addEventListener('keyup', this.handleKeypress.bind(this), true);
1346
+ document.body.dataset.govukFrontendExitThisPageKeypress = 'true';
1347
+ }
1348
+ window.addEventListener('pageshow', this.resetPage.bind(this));
1349
+ }
1350
+ initUpdateSpan() {
1351
+ this.$updateSpan = document.createElement('span');
1352
+ this.$updateSpan.setAttribute('role', 'status');
1353
+ this.$updateSpan.className = 'govuk-visually-hidden';
1354
+ this.$module.appendChild(this.$updateSpan);
1355
+ }
1356
+ initButtonClickHandler() {
1357
+ this.$button.addEventListener('click', this.handleClick.bind(this));
1358
+ if (this.$skiplinkButton) {
1359
+ this.$skiplinkButton.addEventListener('click', this.handleClick.bind(this));
1360
+ }
1361
+ }
1362
+ buildIndicator() {
1363
+ this.$indicatorContainer = document.createElement('div');
1364
+ this.$indicatorContainer.className = 'govuk-exit-this-page__indicator';
1365
+ this.$indicatorContainer.setAttribute('aria-hidden', 'true');
1366
+ for (let i = 0; i < 3; i++) {
1367
+ const $indicator = document.createElement('div');
1368
+ $indicator.className = 'govuk-exit-this-page__indicator-light';
1369
+ this.$indicatorContainer.appendChild($indicator);
1370
+ }
1371
+ this.$button.appendChild(this.$indicatorContainer);
1372
+ }
1373
+ updateIndicator() {
1374
+ if (!this.$indicatorContainer) {
1375
+ return;
1376
+ }
1377
+ this.$indicatorContainer.classList.toggle('govuk-exit-this-page__indicator--visible', this.keypressCounter > 0);
1378
+ const $indicators = this.$indicatorContainer.querySelectorAll('.govuk-exit-this-page__indicator-light');
1379
+ $indicators.forEach(($indicator, index) => {
1380
+ $indicator.classList.toggle('govuk-exit-this-page__indicator-light--on', index < this.keypressCounter);
1381
+ });
1382
+ }
1383
+ exitPage() {
1384
+ if (!this.$updateSpan) {
1385
+ return;
1386
+ }
1387
+ this.$updateSpan.textContent = '';
1388
+ document.body.classList.add('govuk-exit-this-page-hide-content');
1389
+ this.$overlay = document.createElement('div');
1390
+ this.$overlay.className = 'govuk-exit-this-page-overlay';
1391
+ this.$overlay.setAttribute('role', 'alert');
1392
+ document.body.appendChild(this.$overlay);
1393
+ this.$overlay.textContent = this.i18n.t('activated');
1394
+ window.location.href = this.$button.href;
1395
+ }
1396
+ handleClick(event) {
1397
+ event.preventDefault();
1398
+ this.exitPage();
1399
+ }
1400
+ handleKeypress(event) {
1401
+ if (!this.$updateSpan) {
1402
+ return;
1403
+ }
1404
+ if ((event.key === 'Shift' || event.keyCode === 16 || event.which === 16) && !this.lastKeyWasModified) {
1405
+ this.keypressCounter += 1;
1406
+ this.updateIndicator();
1407
+ if (this.timeoutMessageId) {
1408
+ window.clearTimeout(this.timeoutMessageId);
1409
+ this.timeoutMessageId = null;
1410
+ }
1411
+ if (this.keypressCounter >= 3) {
1412
+ this.keypressCounter = 0;
1413
+ if (this.keypressTimeoutId) {
1414
+ window.clearTimeout(this.keypressTimeoutId);
1415
+ this.keypressTimeoutId = null;
1416
+ }
1417
+ this.exitPage();
1418
+ } else {
1419
+ if (this.keypressCounter === 1) {
1420
+ this.$updateSpan.textContent = this.i18n.t('pressTwoMoreTimes');
1421
+ } else {
1422
+ this.$updateSpan.textContent = this.i18n.t('pressOneMoreTime');
1423
+ }
1424
+ }
1425
+ this.setKeypressTimer();
1426
+ } else if (this.keypressTimeoutId) {
1427
+ this.resetKeypressTimer();
1428
+ }
1429
+ this.lastKeyWasModified = event.shiftKey;
1430
+ }
1431
+ setKeypressTimer() {
1432
+ if (this.keypressTimeoutId) {
1433
+ window.clearTimeout(this.keypressTimeoutId);
1434
+ }
1435
+ this.keypressTimeoutId = window.setTimeout(this.resetKeypressTimer.bind(this), this.timeoutTime);
1436
+ }
1437
+ resetKeypressTimer() {
1438
+ if (!this.$updateSpan) {
1439
+ return;
1440
+ }
1441
+ if (this.keypressTimeoutId) {
1442
+ window.clearTimeout(this.keypressTimeoutId);
1443
+ this.keypressTimeoutId = null;
1444
+ }
1445
+ const $updateSpan = this.$updateSpan;
1446
+ this.keypressCounter = 0;
1447
+ $updateSpan.textContent = this.i18n.t('timedOut');
1448
+ this.timeoutMessageId = window.setTimeout(() => {
1449
+ $updateSpan.textContent = '';
1450
+ }, this.timeoutTime);
1451
+ this.updateIndicator();
1452
+ }
1453
+ resetPage() {
1454
+ document.body.classList.remove('govuk-exit-this-page-hide-content');
1455
+ if (this.$overlay) {
1456
+ this.$overlay.remove();
1457
+ this.$overlay = null;
1458
+ }
1459
+ if (this.$updateSpan) {
1460
+ this.$updateSpan.setAttribute('role', 'status');
1461
+ this.$updateSpan.textContent = '';
1462
+ }
1463
+ this.updateIndicator();
1464
+ if (this.keypressTimeoutId) {
1465
+ window.clearTimeout(this.keypressTimeoutId);
1466
+ }
1467
+ if (this.timeoutMessageId) {
1468
+ window.clearTimeout(this.timeoutMessageId);
1469
+ }
1470
+ }
1471
+ }
1472
+
1473
+ /**
1474
+ * Exit this Page config
1475
+ *
1476
+ * @see {@link ExitThisPage.defaults}
1477
+ * @typedef {object} ExitThisPageConfig
1478
+ * @property {ExitThisPageTranslations} [i18n=ExitThisPage.defaults.i18n] - Exit this page translations
1479
+ */
1480
+
1481
+ /**
1482
+ * Exit this Page translations
1483
+ *
1484
+ * @see {@link ExitThisPage.defaults.i18n}
1485
+ * @typedef {object} ExitThisPageTranslations
1486
+ *
1487
+ * Messages used by the component programatically inserted text, including
1488
+ * overlay text and screen reader announcements.
1489
+ * @property {string} [activated] - Screen reader announcement for when EtP
1490
+ * keypress functionality has been successfully activated.
1491
+ * @property {string} [timedOut] - Screen reader announcement for when the EtP
1492
+ * keypress functionality has timed out.
1493
+ * @property {string} [pressTwoMoreTimes] - Screen reader announcement informing
1494
+ * the user they must press the activation key two more times.
1495
+ * @property {string} [pressOneMoreTime] - Screen reader announcement informing
1496
+ * the user they must press the activation key one more time.
1497
+ */
1498
+ ExitThisPage.moduleName = 'govuk-exit-this-page';
1499
+ ExitThisPage.defaults = Object.freeze({
1500
+ i18n: {
1501
+ activated: 'Loading.',
1502
+ timedOut: 'Exit this page expired.',
1503
+ pressTwoMoreTimes: 'Shift, press 2 more times to exit.',
1504
+ pressOneMoreTime: 'Shift, press 1 more time to exit.'
1505
+ }
1506
+ });
1507
+
1508
+ /**
1509
+ * Header component
1510
+ *
1511
+ * @preserve
1512
+ */
1513
+ class Header extends GOVUKFrontendComponent {
1514
+ /**
1515
+ * Apply a matchMedia for desktop which will trigger a state sync if the
1516
+ * browser viewport moves between states.
1517
+ *
1518
+ * @param {Element | null} $module - HTML element to use for header
1519
+ */
1520
+ constructor($module) {
1521
+ super();
1522
+ this.$module = void 0;
1523
+ this.$menuButton = void 0;
1524
+ this.$menu = void 0;
1525
+ this.menuIsOpen = false;
1526
+ this.mql = null;
1527
+ if (!$module) {
1528
+ throw new ElementError({
1529
+ componentName: 'Header',
1530
+ element: $module,
1531
+ identifier: 'Root element (`$module`)'
1532
+ });
1533
+ }
1534
+ this.$module = $module;
1535
+ const $menuButton = $module.querySelector('.govuk-js-header-toggle');
1536
+ if (!$menuButton) {
1537
+ return this;
1538
+ }
1539
+ const menuId = $menuButton.getAttribute('aria-controls');
1540
+ if (!menuId) {
1541
+ throw new ElementError({
1542
+ componentName: 'Header',
1543
+ identifier: 'Navigation button (`<button class="govuk-js-header-toggle">`) attribute (`aria-controls`)'
1544
+ });
1545
+ }
1546
+ const $menu = document.getElementById(menuId);
1547
+ if (!$menu) {
1548
+ throw new ElementError({
1549
+ componentName: 'Header',
1550
+ element: $menu,
1551
+ identifier: `Navigation (\`<ul id="${menuId}">\`)`
1552
+ });
1553
+ }
1554
+ this.$menu = $menu;
1555
+ this.$menuButton = $menuButton;
1556
+ this.setupResponsiveChecks();
1557
+ this.$menuButton.addEventListener('click', () => this.handleMenuButtonClick());
1558
+ }
1559
+ setupResponsiveChecks() {
1560
+ const breakpoint = getBreakpoint('desktop');
1561
+ if (!breakpoint.value) {
1562
+ throw new ElementError({
1563
+ componentName: 'Header',
1564
+ identifier: `CSS custom property (\`${breakpoint.property}\`) on pseudo-class \`:root\``
1565
+ });
1566
+ }
1567
+ this.mql = window.matchMedia(`(min-width: ${breakpoint.value})`);
1568
+ if ('addEventListener' in this.mql) {
1569
+ this.mql.addEventListener('change', () => this.checkMode());
1570
+ } else {
1571
+ this.mql.addListener(() => this.checkMode());
1572
+ }
1573
+ this.checkMode();
1574
+ }
1575
+ checkMode() {
1576
+ if (!this.mql || !this.$menu || !this.$menuButton) {
1577
+ return;
1578
+ }
1579
+ if (this.mql.matches) {
1580
+ this.$menu.removeAttribute('hidden');
1581
+ this.$menuButton.setAttribute('hidden', '');
1582
+ } else {
1583
+ this.$menuButton.removeAttribute('hidden');
1584
+ this.$menuButton.setAttribute('aria-expanded', this.menuIsOpen.toString());
1585
+ if (this.menuIsOpen) {
1586
+ this.$menu.removeAttribute('hidden');
1587
+ } else {
1588
+ this.$menu.setAttribute('hidden', '');
1589
+ }
1590
+ }
1591
+ }
1592
+ handleMenuButtonClick() {
1593
+ this.menuIsOpen = !this.menuIsOpen;
1594
+ this.checkMode();
1595
+ }
1596
+ }
1597
+ Header.moduleName = 'govuk-header';
1598
+
1599
+ /**
1600
+ * Notification Banner component
1601
+ *
1602
+ * @preserve
1603
+ */
1604
+ class NotificationBanner extends GOVUKFrontendComponent {
1605
+ /**
1606
+ * @param {Element | null} $module - HTML element to use for notification banner
1607
+ * @param {NotificationBannerConfig} [config] - Notification banner config
1608
+ */
1609
+ constructor($module, config = {}) {
1610
+ super();
1611
+ this.$module = void 0;
1612
+ this.config = void 0;
1613
+ if (!($module instanceof HTMLElement)) {
1614
+ throw new ElementError({
1615
+ componentName: 'Notification banner',
1616
+ element: $module,
1617
+ identifier: 'Root element (`$module`)'
1618
+ });
1619
+ }
1620
+ this.$module = $module;
1621
+ this.config = mergeConfigs(NotificationBanner.defaults, config, normaliseDataset($module.dataset));
1622
+ if (this.$module.getAttribute('role') === 'alert' && !this.config.disableAutoFocus) {
1623
+ setFocus(this.$module);
1624
+ }
1625
+ }
1626
+ }
1627
+
1628
+ /**
1629
+ * Notification banner config
1630
+ *
1631
+ * @typedef {object} NotificationBannerConfig
1632
+ * @property {boolean} [disableAutoFocus=false] - If set to `true` the
1633
+ * notification banner will not be focussed when the page loads. This only
1634
+ * applies if the component has a `role` of `alert` – in other cases the
1635
+ * component will not be focused on page load, regardless of this option.
1636
+ */
1637
+ NotificationBanner.moduleName = 'govuk-notification-banner';
1638
+ NotificationBanner.defaults = Object.freeze({
1639
+ disableAutoFocus: false
1640
+ });
1641
+
1642
+ /**
1643
+ * Radios component
1644
+ *
1645
+ * @preserve
1646
+ */
1647
+ class Radios extends GOVUKFrontendComponent {
1648
+ /**
1649
+ * Radios can be associated with a 'conditionally revealed' content block –
1650
+ * for example, a radio for 'Phone' could reveal an additional form field for
1651
+ * the user to enter their phone number.
1652
+ *
1653
+ * These associations are made using a `data-aria-controls` attribute, which
1654
+ * is promoted to an aria-controls attribute during initialisation.
1655
+ *
1656
+ * We also need to restore the state of any conditional reveals on the page
1657
+ * (for example if the user has navigated back), and set up event handlers to
1658
+ * keep the reveal in sync with the radio state.
1659
+ *
1660
+ * @param {Element | null} $module - HTML element to use for radios
1661
+ */
1662
+ constructor($module) {
1663
+ super();
1664
+ this.$module = void 0;
1665
+ this.$inputs = void 0;
1666
+ if (!($module instanceof HTMLElement)) {
1667
+ throw new ElementError({
1668
+ componentName: 'Radios',
1669
+ element: $module,
1670
+ identifier: 'Root element (`$module`)'
1671
+ });
1672
+ }
1673
+ const $inputs = $module.querySelectorAll('input[type="radio"]');
1674
+ if (!$inputs.length) {
1675
+ throw new ElementError({
1676
+ componentName: 'Radios',
1677
+ identifier: 'Form inputs (`<input type="radio">`)'
1678
+ });
1679
+ }
1680
+ this.$module = $module;
1681
+ this.$inputs = $inputs;
1682
+ this.$inputs.forEach($input => {
1683
+ const targetId = $input.getAttribute('data-aria-controls');
1684
+ if (!targetId) {
1685
+ return;
1686
+ }
1687
+ if (!document.getElementById(targetId)) {
1688
+ throw new ElementError({
1689
+ componentName: 'Radios',
1690
+ identifier: `Conditional reveal (\`id="${targetId}"\`)`
1691
+ });
1692
+ }
1693
+ $input.setAttribute('aria-controls', targetId);
1694
+ $input.removeAttribute('data-aria-controls');
1695
+ });
1696
+ window.addEventListener('pageshow', () => this.syncAllConditionalReveals());
1697
+ this.syncAllConditionalReveals();
1698
+ this.$module.addEventListener('click', event => this.handleClick(event));
1699
+ }
1700
+ syncAllConditionalReveals() {
1701
+ this.$inputs.forEach($input => this.syncConditionalRevealWithInputState($input));
1702
+ }
1703
+ syncConditionalRevealWithInputState($input) {
1704
+ const targetId = $input.getAttribute('aria-controls');
1705
+ if (!targetId) {
1706
+ return;
1707
+ }
1708
+ const $target = document.getElementById(targetId);
1709
+ if ($target != null && $target.classList.contains('govuk-radios__conditional')) {
1710
+ const inputIsChecked = $input.checked;
1711
+ $input.setAttribute('aria-expanded', inputIsChecked.toString());
1712
+ $target.classList.toggle('govuk-radios__conditional--hidden', !inputIsChecked);
1713
+ }
1714
+ }
1715
+ handleClick(event) {
1716
+ const $clickedInput = event.target;
1717
+ if (!($clickedInput instanceof HTMLInputElement) || $clickedInput.type !== 'radio') {
1718
+ return;
1719
+ }
1720
+ const $allInputs = document.querySelectorAll('input[type="radio"][aria-controls]');
1721
+ const $clickedInputForm = $clickedInput.form;
1722
+ const $clickedInputName = $clickedInput.name;
1723
+ $allInputs.forEach($input => {
1724
+ const hasSameFormOwner = $input.form === $clickedInputForm;
1725
+ const hasSameName = $input.name === $clickedInputName;
1726
+ if (hasSameName && hasSameFormOwner) {
1727
+ this.syncConditionalRevealWithInputState($input);
1728
+ }
1729
+ });
1730
+ }
1731
+ }
1732
+ Radios.moduleName = 'govuk-radios';
1733
+
1734
+ /**
1735
+ * Skip link component
1736
+ *
1737
+ * @preserve
1738
+ */
1739
+ class SkipLink extends GOVUKFrontendComponent {
1740
+ /**
1741
+ * @param {Element | null} $module - HTML element to use for skip link
1742
+ * @throws {ElementError} when $module is not set or the wrong type
1743
+ * @throws {ElementError} when $module.hash does not contain a hash
1744
+ * @throws {ElementError} when the linked element is missing or the wrong type
1745
+ */
1746
+ constructor($module) {
1747
+ var _this$$module$getAttr;
1748
+ super();
1749
+ this.$module = void 0;
1750
+ if (!($module instanceof HTMLAnchorElement)) {
1751
+ throw new ElementError({
1752
+ componentName: 'Skip link',
1753
+ element: $module,
1754
+ expectedType: 'HTMLAnchorElement',
1755
+ identifier: 'Root element (`$module`)'
1756
+ });
1757
+ }
1758
+ this.$module = $module;
1759
+ const hash = this.$module.hash;
1760
+ const href = (_this$$module$getAttr = this.$module.getAttribute('href')) != null ? _this$$module$getAttr : '';
1761
+ let url;
1762
+ try {
1763
+ url = new window.URL(this.$module.href);
1764
+ } catch (error) {
1765
+ throw new ElementError(`Skip link: Target link (\`href="${href}"\`) is invalid`);
1766
+ }
1767
+ if (url.origin !== window.location.origin || url.pathname !== window.location.pathname) {
1768
+ return;
1769
+ }
1770
+ const linkedElementId = getFragmentFromUrl(hash);
1771
+ if (!linkedElementId) {
1772
+ throw new ElementError(`Skip link: Target link (\`href="${href}"\`) has no hash fragment`);
1773
+ }
1774
+ const $linkedElement = document.getElementById(linkedElementId);
1775
+ if (!$linkedElement) {
1776
+ throw new ElementError({
1777
+ componentName: 'Skip link',
1778
+ element: $linkedElement,
1779
+ identifier: `Target content (\`id="${linkedElementId}"\`)`
1780
+ });
1781
+ }
1782
+ this.$module.addEventListener('click', () => setFocus($linkedElement, {
1783
+ onBeforeFocus() {
1784
+ $linkedElement.classList.add('govuk-skip-link-focused-element');
1785
+ },
1786
+ onBlur() {
1787
+ $linkedElement.classList.remove('govuk-skip-link-focused-element');
1788
+ }
1789
+ }));
1790
+ }
1791
+ }
1792
+ SkipLink.moduleName = 'govuk-skip-link';
1793
+
1794
+ /**
1795
+ * Tabs component
1796
+ *
1797
+ * @preserve
1798
+ */
1799
+ class Tabs extends GOVUKFrontendComponent {
1800
+ /**
1801
+ * @param {Element | null} $module - HTML element to use for tabs
1802
+ */
1803
+ constructor($module) {
1804
+ super();
1805
+ this.$module = void 0;
1806
+ this.$tabs = void 0;
1807
+ this.$tabList = void 0;
1808
+ this.$tabListItems = void 0;
1809
+ this.keys = {
1810
+ left: 37,
1811
+ right: 39,
1812
+ up: 38,
1813
+ down: 40
1814
+ };
1815
+ this.jsHiddenClass = 'govuk-tabs__panel--hidden';
1816
+ this.changingHash = false;
1817
+ this.boundTabClick = void 0;
1818
+ this.boundTabKeydown = void 0;
1819
+ this.boundOnHashChange = void 0;
1820
+ this.mql = null;
1821
+ if (!$module) {
1822
+ throw new ElementError({
1823
+ componentName: 'Tabs',
1824
+ element: $module,
1825
+ identifier: 'Root element (`$module`)'
1826
+ });
1827
+ }
1828
+ const $tabs = $module.querySelectorAll('a.govuk-tabs__tab');
1829
+ if (!$tabs.length) {
1830
+ throw new ElementError({
1831
+ componentName: 'Tabs',
1832
+ identifier: 'Links (`<a class="govuk-tabs__tab">`)'
1833
+ });
1834
+ }
1835
+ this.$module = $module;
1836
+ this.$tabs = $tabs;
1837
+ this.boundTabClick = this.onTabClick.bind(this);
1838
+ this.boundTabKeydown = this.onTabKeydown.bind(this);
1839
+ this.boundOnHashChange = this.onHashChange.bind(this);
1840
+ const $tabList = this.$module.querySelector('.govuk-tabs__list');
1841
+ const $tabListItems = this.$module.querySelectorAll('li.govuk-tabs__list-item');
1842
+ if (!$tabList) {
1843
+ throw new ElementError({
1844
+ componentName: 'Tabs',
1845
+ identifier: 'List (`<ul class="govuk-tabs__list">`)'
1846
+ });
1847
+ }
1848
+ if (!$tabListItems.length) {
1849
+ throw new ElementError({
1850
+ componentName: 'Tabs',
1851
+ identifier: 'List items (`<li class="govuk-tabs__list-item">`)'
1852
+ });
1853
+ }
1854
+ this.$tabList = $tabList;
1855
+ this.$tabListItems = $tabListItems;
1856
+ this.setupResponsiveChecks();
1857
+ }
1858
+ setupResponsiveChecks() {
1859
+ const breakpoint = getBreakpoint('tablet');
1860
+ if (!breakpoint.value) {
1861
+ throw new ElementError({
1862
+ componentName: 'Tabs',
1863
+ identifier: `CSS custom property (\`${breakpoint.property}\`) on pseudo-class \`:root\``
1864
+ });
1865
+ }
1866
+ this.mql = window.matchMedia(`(min-width: ${breakpoint.value})`);
1867
+ if ('addEventListener' in this.mql) {
1868
+ this.mql.addEventListener('change', () => this.checkMode());
1869
+ } else {
1870
+ this.mql.addListener(() => this.checkMode());
1871
+ }
1872
+ this.checkMode();
1873
+ }
1874
+ checkMode() {
1875
+ var _this$mql;
1876
+ if ((_this$mql = this.mql) != null && _this$mql.matches) {
1877
+ this.setup();
1878
+ } else {
1879
+ this.teardown();
1880
+ }
1881
+ }
1882
+ setup() {
1883
+ var _this$getTab;
1884
+ this.$tabList.setAttribute('role', 'tablist');
1885
+ this.$tabListItems.forEach($item => {
1886
+ $item.setAttribute('role', 'presentation');
1887
+ });
1888
+ this.$tabs.forEach($tab => {
1889
+ this.setAttributes($tab);
1890
+ $tab.addEventListener('click', this.boundTabClick, true);
1891
+ $tab.addEventListener('keydown', this.boundTabKeydown, true);
1892
+ this.hideTab($tab);
1893
+ });
1894
+ const $activeTab = (_this$getTab = this.getTab(window.location.hash)) != null ? _this$getTab : this.$tabs[0];
1895
+ this.showTab($activeTab);
1896
+ window.addEventListener('hashchange', this.boundOnHashChange, true);
1897
+ }
1898
+ teardown() {
1899
+ this.$tabList.removeAttribute('role');
1900
+ this.$tabListItems.forEach($item => {
1901
+ $item.removeAttribute('role');
1902
+ });
1903
+ this.$tabs.forEach($tab => {
1904
+ $tab.removeEventListener('click', this.boundTabClick, true);
1905
+ $tab.removeEventListener('keydown', this.boundTabKeydown, true);
1906
+ this.unsetAttributes($tab);
1907
+ });
1908
+ window.removeEventListener('hashchange', this.boundOnHashChange, true);
1909
+ }
1910
+ onHashChange() {
1911
+ const hash = window.location.hash;
1912
+ const $tabWithHash = this.getTab(hash);
1913
+ if (!$tabWithHash) {
1914
+ return;
1915
+ }
1916
+ if (this.changingHash) {
1917
+ this.changingHash = false;
1918
+ return;
1919
+ }
1920
+ const $previousTab = this.getCurrentTab();
1921
+ if (!$previousTab) {
1922
+ return;
1923
+ }
1924
+ this.hideTab($previousTab);
1925
+ this.showTab($tabWithHash);
1926
+ $tabWithHash.focus();
1927
+ }
1928
+ hideTab($tab) {
1929
+ this.unhighlightTab($tab);
1930
+ this.hidePanel($tab);
1931
+ }
1932
+ showTab($tab) {
1933
+ this.highlightTab($tab);
1934
+ this.showPanel($tab);
1935
+ }
1936
+ getTab(hash) {
1937
+ return this.$module.querySelector(`a.govuk-tabs__tab[href="${hash}"]`);
1938
+ }
1939
+ setAttributes($tab) {
1940
+ const panelId = getFragmentFromUrl($tab.href);
1941
+ if (!panelId) {
1942
+ return;
1943
+ }
1944
+ $tab.setAttribute('id', `tab_${panelId}`);
1945
+ $tab.setAttribute('role', 'tab');
1946
+ $tab.setAttribute('aria-controls', panelId);
1947
+ $tab.setAttribute('aria-selected', 'false');
1948
+ $tab.setAttribute('tabindex', '-1');
1949
+ const $panel = this.getPanel($tab);
1950
+ if (!$panel) {
1951
+ return;
1952
+ }
1953
+ $panel.setAttribute('role', 'tabpanel');
1954
+ $panel.setAttribute('aria-labelledby', $tab.id);
1955
+ $panel.classList.add(this.jsHiddenClass);
1956
+ }
1957
+ unsetAttributes($tab) {
1958
+ $tab.removeAttribute('id');
1959
+ $tab.removeAttribute('role');
1960
+ $tab.removeAttribute('aria-controls');
1961
+ $tab.removeAttribute('aria-selected');
1962
+ $tab.removeAttribute('tabindex');
1963
+ const $panel = this.getPanel($tab);
1964
+ if (!$panel) {
1965
+ return;
1966
+ }
1967
+ $panel.removeAttribute('role');
1968
+ $panel.removeAttribute('aria-labelledby');
1969
+ $panel.classList.remove(this.jsHiddenClass);
1970
+ }
1971
+ onTabClick(event) {
1972
+ const $currentTab = this.getCurrentTab();
1973
+ const $nextTab = event.currentTarget;
1974
+ if (!$currentTab || !($nextTab instanceof HTMLAnchorElement)) {
1975
+ return;
1976
+ }
1977
+ event.preventDefault();
1978
+ this.hideTab($currentTab);
1979
+ this.showTab($nextTab);
1980
+ this.createHistoryEntry($nextTab);
1981
+ }
1982
+ createHistoryEntry($tab) {
1983
+ const $panel = this.getPanel($tab);
1984
+ if (!$panel) {
1985
+ return;
1986
+ }
1987
+ const panelId = $panel.id;
1988
+ $panel.id = '';
1989
+ this.changingHash = true;
1990
+ window.location.hash = panelId;
1991
+ $panel.id = panelId;
1992
+ }
1993
+ onTabKeydown(event) {
1994
+ switch (event.keyCode) {
1995
+ case this.keys.left:
1996
+ case this.keys.up:
1997
+ this.activatePreviousTab();
1998
+ event.preventDefault();
1999
+ break;
2000
+ case this.keys.right:
2001
+ case this.keys.down:
2002
+ this.activateNextTab();
2003
+ event.preventDefault();
2004
+ break;
2005
+ }
2006
+ }
2007
+ activateNextTab() {
2008
+ const $currentTab = this.getCurrentTab();
2009
+ if (!($currentTab != null && $currentTab.parentElement)) {
2010
+ return;
2011
+ }
2012
+ const $nextTabListItem = $currentTab.parentElement.nextElementSibling;
2013
+ if (!$nextTabListItem) {
2014
+ return;
2015
+ }
2016
+ const $nextTab = $nextTabListItem.querySelector('a.govuk-tabs__tab');
2017
+ if (!$nextTab) {
2018
+ return;
2019
+ }
2020
+ this.hideTab($currentTab);
2021
+ this.showTab($nextTab);
2022
+ $nextTab.focus();
2023
+ this.createHistoryEntry($nextTab);
2024
+ }
2025
+ activatePreviousTab() {
2026
+ const $currentTab = this.getCurrentTab();
2027
+ if (!($currentTab != null && $currentTab.parentElement)) {
2028
+ return;
2029
+ }
2030
+ const $previousTabListItem = $currentTab.parentElement.previousElementSibling;
2031
+ if (!$previousTabListItem) {
2032
+ return;
2033
+ }
2034
+ const $previousTab = $previousTabListItem.querySelector('a.govuk-tabs__tab');
2035
+ if (!$previousTab) {
2036
+ return;
2037
+ }
2038
+ this.hideTab($currentTab);
2039
+ this.showTab($previousTab);
2040
+ $previousTab.focus();
2041
+ this.createHistoryEntry($previousTab);
2042
+ }
2043
+ getPanel($tab) {
2044
+ const panelId = getFragmentFromUrl($tab.href);
2045
+ if (!panelId) {
2046
+ return null;
2047
+ }
2048
+ return this.$module.querySelector(`#${panelId}`);
2049
+ }
2050
+ showPanel($tab) {
2051
+ const $panel = this.getPanel($tab);
2052
+ if (!$panel) {
2053
+ return;
2054
+ }
2055
+ $panel.classList.remove(this.jsHiddenClass);
2056
+ }
2057
+ hidePanel($tab) {
2058
+ const $panel = this.getPanel($tab);
2059
+ if (!$panel) {
2060
+ return;
2061
+ }
2062
+ $panel.classList.add(this.jsHiddenClass);
2063
+ }
2064
+ unhighlightTab($tab) {
2065
+ if (!$tab.parentElement) {
2066
+ return;
2067
+ }
2068
+ $tab.setAttribute('aria-selected', 'false');
2069
+ $tab.parentElement.classList.remove('govuk-tabs__list-item--selected');
2070
+ $tab.setAttribute('tabindex', '-1');
2071
+ }
2072
+ highlightTab($tab) {
2073
+ if (!$tab.parentElement) {
2074
+ return;
2075
+ }
2076
+ $tab.setAttribute('aria-selected', 'true');
2077
+ $tab.parentElement.classList.add('govuk-tabs__list-item--selected');
2078
+ $tab.setAttribute('tabindex', '0');
2079
+ }
2080
+ getCurrentTab() {
2081
+ return this.$module.querySelector('.govuk-tabs__list-item--selected a.govuk-tabs__tab');
2082
+ }
2083
+ }
2084
+ Tabs.moduleName = 'govuk-tabs';
2085
+
2086
+ /**
2087
+ * Initialise all components
2088
+ *
2089
+ * Use the `data-module` attributes to find, instantiate and init all of the
2090
+ * components provided as part of GOV.UK Frontend.
2091
+ *
2092
+ * @param {Config & { scope?: Element }} [config] - Config for all components (with optional scope)
2093
+ */
2094
+ function initAll(config) {
2095
+ var _config$scope;
2096
+ config = typeof config !== 'undefined' ? config : {};
2097
+ if (!isSupported()) {
2098
+ console.log(new SupportError());
2099
+ return;
2100
+ }
2101
+ const components = [[Accordion, config.accordion], [Button, config.button], [CharacterCount, config.characterCount], [Checkboxes], [ErrorSummary, config.errorSummary], [ExitThisPage, config.exitThisPage], [Header], [NotificationBanner, config.notificationBanner], [Radios], [SkipLink], [Tabs]];
2102
+ const $scope = (_config$scope = config.scope) != null ? _config$scope : document;
2103
+ components.forEach(([Component, config]) => {
2104
+ const $elements = $scope.querySelectorAll(`[data-module="${Component.moduleName}"]`);
2105
+ $elements.forEach($element => {
2106
+ try {
2107
+ 'defaults' in Component ? new Component($element, config) : new Component($element);
2108
+ } catch (error) {
2109
+ console.log(error);
2110
+ }
2111
+ });
2112
+ });
2113
+ }
2114
+
2115
+ /**
2116
+ * Config for all components via `initAll()`
2117
+ *
2118
+ * @typedef {object} Config
2119
+ * @property {AccordionConfig} [accordion] - Accordion config
2120
+ * @property {ButtonConfig} [button] - Button config
2121
+ * @property {CharacterCountConfig} [characterCount] - Character Count config
2122
+ * @property {ErrorSummaryConfig} [errorSummary] - Error Summary config
2123
+ * @property {ExitThisPageConfig} [exitThisPage] - Exit This Page config
2124
+ * @property {NotificationBannerConfig} [notificationBanner] - Notification Banner config
2125
+ */
2126
+
2127
+ /**
2128
+ * Config for individual components
2129
+ *
2130
+ * @typedef {import('./components/accordion/accordion.mjs').AccordionConfig} AccordionConfig
2131
+ * @typedef {import('./components/accordion/accordion.mjs').AccordionTranslations} AccordionTranslations
2132
+ * @typedef {import('./components/button/button.mjs').ButtonConfig} ButtonConfig
2133
+ * @typedef {import('./components/character-count/character-count.mjs').CharacterCountConfig} CharacterCountConfig
2134
+ * @typedef {import('./components/character-count/character-count.mjs').CharacterCountTranslations} CharacterCountTranslations
2135
+ * @typedef {import('./components/error-summary/error-summary.mjs').ErrorSummaryConfig} ErrorSummaryConfig
2136
+ * @typedef {import('./components/exit-this-page/exit-this-page.mjs').ExitThisPageConfig} ExitThisPageConfig
2137
+ * @typedef {import('./components/exit-this-page/exit-this-page.mjs').ExitThisPageTranslations} ExitThisPageTranslations
2138
+ * @typedef {import('./components/notification-banner/notification-banner.mjs').NotificationBannerConfig} NotificationBannerConfig
2139
+ */
2140
+
2141
+ /**
2142
+ * Component config keys, e.g. `accordion` and `characterCount`
2143
+ *
2144
+ * @typedef {keyof Config} ConfigKey
2145
+ */
2146
+
2147
+ export { Accordion, Button, CharacterCount, Checkboxes, ErrorSummary, ExitThisPage, Header, NotificationBanner, Radios, SkipLink, Tabs, initAll, version };
2148
+ //# sourceMappingURL=all.bundle.mjs.map