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