defra_ruby_template 5.11.1 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1367) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +187 -9
  3. data/Rakefile +123 -22
  4. data/app/views/layouts/defra_ruby_template.html.erb +108 -60
  5. data/lib/defra_ruby_template/version.rb +1 -1
  6. data/lib/defra_ruby_template.rb +12 -8
  7. data/node_modules/govuk-frontend/README.md +1 -1
  8. data/node_modules/govuk-frontend/dist/govuk/_base.import.scss +6 -0
  9. data/node_modules/govuk-frontend/dist/govuk/_base.scss +4 -4
  10. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +407 -453
  11. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js.map +1 -1
  12. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +408 -453
  13. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs.map +1 -1
  14. data/node_modules/govuk-frontend/dist/govuk/all.mjs +0 -1
  15. data/node_modules/govuk-frontend/dist/govuk/all.mjs.map +1 -1
  16. data/node_modules/govuk-frontend/dist/govuk/assets/images/favicon.ico +0 -0
  17. data/node_modules/govuk-frontend/dist/govuk/assets/images/favicon.svg +1 -1
  18. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
  19. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  20. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  21. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-opengraph-image.png +0 -0
  22. data/node_modules/govuk-frontend/dist/govuk/common/closest-attribute-value.mjs.map +1 -1
  23. data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs +34 -3
  24. data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs.map +1 -1
  25. data/node_modules/govuk-frontend/dist/govuk/common/create-element.mjs +13 -0
  26. data/node_modules/govuk-frontend/dist/govuk/common/create-element.mjs.map +1 -0
  27. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  28. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs.map +1 -1
  29. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +5 -11
  30. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs.map +1 -1
  31. data/node_modules/govuk-frontend/dist/govuk/component.mjs +2 -1
  32. data/node_modules/govuk-frontend/dist/govuk/component.mjs.map +1 -1
  33. data/node_modules/govuk-frontend/dist/govuk/components/_index.import.scss +40 -0
  34. data/node_modules/govuk-frontend/dist/govuk/components/_index.scss +39 -39
  35. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.import.scss +6 -0
  36. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.import.scss +8 -0
  37. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +3 -368
  38. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_mixin.scss +375 -0
  39. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +101 -199
  40. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js.map +1 -1
  41. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +101 -199
  42. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs.map +1 -1
  43. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +64 -60
  44. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs.map +1 -1
  45. data/node_modules/govuk-frontend/dist/govuk/components/accordion/fixtures.json +102 -97
  46. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.import.scss +6 -0
  47. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.import.scss +8 -0
  48. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss +3 -81
  49. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_mixin.scss +87 -0
  50. data/node_modules/govuk-frontend/dist/govuk/components/back-link/fixtures.json +21 -32
  51. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.import.scss +6 -0
  52. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.import.scss +8 -0
  53. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +3 -132
  54. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_mixin.scss +134 -0
  55. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/fixtures.json +25 -45
  56. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-default.html +6 -0
  57. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.import.scss +6 -0
  58. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.import.scss +13 -0
  59. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +9 -260
  60. data/node_modules/govuk-frontend/dist/govuk/components/button/_mixin.scss +233 -0
  61. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.import.scss +32 -0
  62. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.scss +34 -0
  63. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +24 -11
  64. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js.map +1 -1
  65. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +24 -11
  66. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs.map +1 -1
  67. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs.map +1 -1
  68. data/node_modules/govuk-frontend/dist/govuk/components/button/fixtures.json +193 -209
  69. data/node_modules/govuk-frontend/dist/govuk/components/button/macro-options.json +12 -19
  70. data/node_modules/govuk-frontend/dist/govuk/components/button/template-default-active-state.html +3 -0
  71. data/node_modules/govuk-frontend/dist/govuk/components/button/template-default-focus-state.html +3 -0
  72. data/node_modules/govuk-frontend/dist/govuk/components/button/template-default-hover-state.html +3 -0
  73. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-active-state.html +3 -0
  74. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-disabled.html +1 -1
  75. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-focus-state.html +3 -0
  76. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-hover-state.html +3 -0
  77. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-active-state.html +3 -0
  78. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-focus-state.html +3 -0
  79. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-hover-state.html +3 -0
  80. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-active-state.html +3 -0
  81. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-focus-state.html +3 -0
  82. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-hover-state.html +3 -0
  83. data/node_modules/govuk-frontend/dist/govuk/components/button/template.njk +20 -20
  84. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.import.scss +6 -0
  85. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.import.scss +12 -0
  86. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +7 -42
  87. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_mixin.scss +41 -0
  88. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +119 -174
  89. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js.map +1 -1
  90. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +119 -174
  91. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs.map +1 -1
  92. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +83 -36
  93. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs.map +1 -1
  94. data/node_modules/govuk-frontend/dist/govuk/components/character-count/fixtures.json +245 -92
  95. data/node_modules/govuk-frontend/dist/govuk/components/character-count/macro-options.json +13 -6
  96. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-characters-and-error-message.html +12 -0
  97. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-characters-and-threshold.html +9 -0
  98. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-characters-and-value.html +9 -0
  99. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-characters.html +9 -0
  100. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-length.html +9 -0
  101. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-words-and-error-message.html +12 -0
  102. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-words-and-threshold.html +9 -0
  103. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-words-and-value.html +9 -0
  104. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-count-type-words.html +9 -0
  105. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-maxwords.html +9 -0
  106. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template.njk +10 -3
  107. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.import.scss +6 -0
  108. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.import.scss +12 -0
  109. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss +7 -309
  110. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_mixin.scss +317 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +22 -10
  112. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js.map +1 -1
  113. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +22 -10
  114. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs.map +1 -1
  115. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs.map +1 -1
  116. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/fixtures.json +326 -480
  117. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/macro-options.json +1 -1
  118. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-default.html +5 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-conditional-reveal.html +21 -21
  120. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-divider-and-none.html +30 -30
  121. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-error.html +26 -26
  122. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-hint.html +25 -25
  123. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-long-text.html +23 -23
  124. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small.html +23 -23
  125. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items.html +35 -35
  126. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-and-none.html +30 -32
  127. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-none-and-conditional-items.html +40 -42
  128. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message.html +32 -23
  129. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hint.html +30 -0
  130. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hints-on-items.html +21 -23
  131. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-legend-as-a-page-heading.html +27 -27
  132. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-optional-form-group-classes-showing-group-error.html +36 -36
  133. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-pre-checked-values.html +25 -16
  134. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-very-long-option-text.html +27 -30
  135. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template.njk +1 -1
  136. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.import.scss +6 -0
  137. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.import.scss +9 -0
  138. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss +4 -56
  139. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_mixin.scss +62 -0
  140. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/fixtures.json +82 -82
  141. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-default.html +2 -2
  142. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-with-html.html +2 -2
  143. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.import.scss +6 -0
  144. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.import.scss +13 -0
  145. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss +8 -26
  146. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_mixin.scss +29 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/date-input/fixtures.json +780 -150
  148. data/node_modules/govuk-frontend/dist/govuk/components/date-input/macro-options.json +50 -0
  149. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-day-and-month-using-items.html +28 -0
  150. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-default.html +30 -22
  151. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-month-and-year-using-items.html +28 -0
  152. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-message-and-hint-using-items.html +39 -0
  153. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-message-and-hint.html +39 -0
  154. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-day-input-using-items.html +39 -0
  155. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-day-input.html +3 -3
  156. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-month-input-using-items.html +39 -0
  157. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-month-input.html +3 -3
  158. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-year-input-using-items.html +39 -0
  159. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-error-on-year-input.html +3 -3
  160. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-only-using-classes.html +33 -0
  161. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-only-using-items-and-classes.html +33 -0
  162. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-only-using-items.html +33 -0
  163. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-only.html +5 -8
  164. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-translations.html +36 -0
  165. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-values-and-name-prefix.html +36 -0
  166. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-values-name-prefix-and-custom-names.html +36 -0
  167. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-values.html +36 -0
  168. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template.njk +84 -29
  169. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.import.scss +6 -0
  170. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.import.scss +8 -0
  171. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +3 -137
  172. data/node_modules/govuk-frontend/dist/govuk/components/details/_mixin.scss +143 -0
  173. data/node_modules/govuk-frontend/dist/govuk/components/details/fixtures.json +22 -22
  174. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.import.scss +6 -0
  175. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.import.scss +8 -0
  176. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss +3 -12
  177. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_mixin.scss +16 -0
  178. data/node_modules/govuk-frontend/dist/govuk/components/error-message/fixtures.json +10 -10
  179. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.import.scss +6 -0
  180. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.import.scss +8 -0
  181. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss +3 -53
  182. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_mixin.scss +58 -0
  183. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +25 -18
  184. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js.map +1 -1
  185. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +25 -18
  186. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs.map +1 -1
  187. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +2 -2
  188. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs.map +1 -1
  189. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/fixtures.json +21 -21
  190. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.import.scss +6 -0
  191. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.import.scss +9 -0
  192. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +4 -89
  193. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_mixin.scss +96 -0
  194. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +53 -151
  195. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js.map +1 -1
  196. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +53 -151
  197. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs.map +1 -1
  198. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +16 -12
  199. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs.map +1 -1
  200. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/fixtures.json +19 -19
  201. data/node_modules/govuk-frontend/dist/govuk/components/feedback/README.md +15 -0
  202. data/node_modules/govuk-frontend/dist/govuk/components/feedback/_feedback.import.scss +6 -0
  203. data/node_modules/govuk-frontend/dist/govuk/components/feedback/_index.import.scss +8 -0
  204. data/node_modules/govuk-frontend/dist/govuk/components/feedback/_index.scss +5 -0
  205. data/node_modules/govuk-frontend/dist/govuk/components/feedback/_mixin.scss +48 -0
  206. data/node_modules/govuk-frontend/dist/govuk/components/feedback/fixtures.json +95 -0
  207. data/node_modules/govuk-frontend/dist/govuk/components/feedback/macro-options.json +50 -0
  208. data/node_modules/govuk-frontend/dist/govuk/components/feedback/macro.njk +3 -0
  209. data/node_modules/govuk-frontend/dist/govuk/components/feedback/template-default.html +12 -0
  210. data/node_modules/govuk-frontend/dist/govuk/components/feedback/template-silly-example.html +19 -0
  211. data/node_modules/govuk-frontend/dist/govuk/components/feedback/template.njk +24 -0
  212. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.import.scss +6 -0
  213. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.import.scss +8 -0
  214. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss +3 -67
  215. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_mixin.scss +71 -0
  216. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/fixtures.json +19 -19
  217. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.import.scss +6 -0
  218. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.import.scss +11 -0
  219. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +6 -216
  220. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_mixin.scss +217 -0
  221. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +123 -187
  222. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js.map +1 -1
  223. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +123 -187
  224. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs.map +1 -1
  225. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +86 -49
  226. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs.map +1 -1
  227. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/fixtures.json +125 -138
  228. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/macro-options.json +15 -10
  229. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-custom-wrapper-classes-and-attributes.html +11 -0
  230. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-multiple-files.html +11 -0
  231. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-with-error-message-and-hint.html +3 -2
  232. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced.html +3 -2
  233. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-translated.html +3 -2
  234. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template.njk +2 -2
  235. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.import.scss +6 -0
  236. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.import.scss +8 -0
  237. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +3 -192
  238. data/node_modules/govuk-frontend/dist/govuk/components/footer/_mixin.scss +205 -0
  239. data/node_modules/govuk-frontend/dist/govuk/components/footer/fixtures.json +129 -81
  240. data/node_modules/govuk-frontend/dist/govuk/components/footer/macro-options.json +1 -7
  241. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-default.html +45 -24
  242. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-full-gds-example.html +45 -24
  243. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-three-equal-columns.html +45 -24
  244. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-html-content-licence-and-copyright-notice.html +40 -19
  245. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-meta.html +45 -24
  246. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-custom-text-content-licence-and-copyright-notice.html +40 -19
  247. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-default-width-navigation-one-column.html +45 -24
  248. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-default-width-navigation-two-columns.html +45 -24
  249. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-meta-links-and-meta-content.html +45 -24
  250. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-navigation.html +45 -24
  251. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-no-content-licence.html +37 -0
  252. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-only-custom-meta.html +41 -0
  253. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-only-meta-links.html +80 -0
  254. data/node_modules/govuk-frontend/dist/govuk/components/footer/template.njk +36 -39
  255. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/README.md +15 -0
  256. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_generic-header.import.scss +6 -0
  257. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_index.import.scss +8 -0
  258. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_index.scss +5 -0
  259. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_mixin.scss +140 -0
  260. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/fixtures.json +90 -0
  261. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/macro-options.json +38 -0
  262. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/macro.njk +3 -0
  263. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/template-default.html +11 -0
  264. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/template-full-width.html +20 -0
  265. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/template-with-image-logo.html +20 -0
  266. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/template-with-text-and-image-logo.html +20 -0
  267. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/template.njk +14 -0
  268. data/node_modules/govuk-frontend/dist/govuk/components/header/README.md +1 -1
  269. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.import.scss +6 -0
  270. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.import.scss +8 -0
  271. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +3 -546
  272. data/node_modules/govuk-frontend/dist/govuk/components/header/_mixin.scss +119 -0
  273. data/node_modules/govuk-frontend/dist/govuk/components/header/fixtures.json +15 -492
  274. data/node_modules/govuk-frontend/dist/govuk/components/header/macro-options.json +2 -101
  275. data/node_modules/govuk-frontend/dist/govuk/components/header/template-default.html +12 -7
  276. data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width.html +12 -8
  277. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-product-name.html +11 -7
  278. data/node_modules/govuk-frontend/dist/govuk/components/header/template.njk +20 -63
  279. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.import.scss +6 -0
  280. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.import.scss +8 -0
  281. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss +3 -43
  282. data/node_modules/govuk-frontend/dist/govuk/components/hint/_mixin.scss +47 -0
  283. data/node_modules/govuk-frontend/dist/govuk/components/hint/fixtures.json +7 -7
  284. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.import.scss +11 -0
  285. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +6 -166
  286. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.import.scss +6 -0
  287. data/node_modules/govuk-frontend/dist/govuk/components/input/_mixin.scss +161 -0
  288. data/node_modules/govuk-frontend/dist/govuk/components/input/fixtures.json +161 -180
  289. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-extra-letter-spacing.html +1 -1
  290. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.import.scss +8 -0
  291. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss +3 -24
  292. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.import.scss +6 -0
  293. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_mixin.scss +31 -0
  294. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/fixtures.json +7 -7
  295. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.import.scss +8 -0
  296. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss +3 -44
  297. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.import.scss +6 -0
  298. data/node_modules/govuk-frontend/dist/govuk/components/label/_mixin.scss +48 -0
  299. data/node_modules/govuk-frontend/dist/govuk/components/label/fixtures.json +20 -20
  300. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/README.md +15 -0
  301. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/_index.import.scss +8 -0
  302. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/_index.scss +6 -0
  303. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/_language-navigation.import.scss +6 -0
  304. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/_mixin.scss +68 -0
  305. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/fixtures.json +482 -0
  306. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/macro-options.json +88 -0
  307. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/macro.njk +3 -0
  308. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-default.html +12 -0
  309. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-inverse.html +12 -0
  310. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-with-language-description.html +12 -0
  311. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-with-large-amount-of-multiple-languages.html +99 -0
  312. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-with-mixed-text-directions.html +12 -0
  313. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-with-multiple-languages.html +24 -0
  314. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template-with-translated-navigation-label.html +12 -0
  315. data/node_modules/govuk-frontend/dist/govuk/components/language-navigation/template.njk +33 -0
  316. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.import.scss +8 -0
  317. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +3 -91
  318. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_mixin.scss +100 -0
  319. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.import.scss +6 -0
  320. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/fixtures.json +74 -108
  321. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +24 -11
  322. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js.map +1 -1
  323. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +24 -11
  324. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs.map +1 -1
  325. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs.map +1 -1
  326. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-text-as-html.html +7 -1
  327. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.import.scss +8 -0
  328. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +3 -226
  329. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_mixin.scss +235 -0
  330. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.import.scss +6 -0
  331. data/node_modules/govuk-frontend/dist/govuk/components/pagination/fixtures.json +109 -105
  332. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-default.html +3 -3
  333. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-first-page.html +3 -3
  334. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-last-page.html +3 -3
  335. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-link-and-item-text.html +3 -3
  336. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-many-pages.html +9 -9
  337. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template.njk +4 -2
  338. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.import.scss +8 -0
  339. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +3 -56
  340. data/node_modules/govuk-frontend/dist/govuk/components/panel/_mixin.scss +94 -0
  341. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.import.scss +6 -0
  342. data/node_modules/govuk-frontend/dist/govuk/components/panel/fixtures.json +251 -16
  343. data/node_modules/govuk-frontend/dist/govuk/components/panel/macro-options.json +58 -0
  344. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-default.html +1 -1
  345. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-interruption-with-content-with-long-line-length.html +17 -0
  346. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-interruption-with-headings-content-and-lists.html +23 -0
  347. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-interruption.html +14 -0
  348. data/node_modules/govuk-frontend/dist/govuk/components/panel/template.njk +42 -2
  349. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.import.scss +10 -0
  350. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +5 -54
  351. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_mixin.scss +56 -0
  352. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.import.scss +6 -0
  353. data/node_modules/govuk-frontend/dist/govuk/components/password-input/fixtures.json +53 -48
  354. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +42 -142
  355. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js.map +1 -1
  356. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +42 -142
  357. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs.map +1 -1
  358. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs +5 -3
  359. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs.map +1 -1
  360. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.import.scss +9 -0
  361. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +4 -33
  362. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_mixin.scss +42 -0
  363. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.import.scss +6 -0
  364. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/fixtures.json +15 -15
  365. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/template-default.html +1 -1
  366. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/template.njk +1 -1
  367. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.import.scss +12 -0
  368. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +7 -325
  369. data/node_modules/govuk-frontend/dist/govuk/components/radios/_mixin.scss +336 -0
  370. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.import.scss +6 -0
  371. data/node_modules/govuk-frontend/dist/govuk/components/radios/fixtures.json +244 -354
  372. data/node_modules/govuk-frontend/dist/govuk/components/radios/macro-options.json +3 -3
  373. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +22 -10
  374. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js.map +1 -1
  375. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +22 -10
  376. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs.map +1 -1
  377. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs.map +1 -1
  378. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-default.html +5 -3
  379. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-inline.html +19 -19
  380. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline.html +23 -23
  381. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-a-divider.html +24 -24
  382. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-conditional-reveal.html +27 -27
  383. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-error.html +26 -26
  384. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-hint.html +25 -25
  385. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-long-text.html +23 -23
  386. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small.html +23 -23
  387. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-divider.html +24 -24
  388. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-item-checked.html +35 -35
  389. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-and-pre-checked-value.html +35 -35
  390. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items.html +35 -35
  391. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-fieldset-and-error-message.html +20 -20
  392. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hint.html +24 -0
  393. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hints-on-items.html +23 -23
  394. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-legend-as-page-heading.html +21 -21
  395. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-optional-form-group-classes-showing-group-error.html +36 -36
  396. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-very-long-option-text.html +28 -28
  397. data/node_modules/govuk-frontend/dist/govuk/components/radios/template.njk +1 -1
  398. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.import.scss +11 -0
  399. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +6 -56
  400. data/node_modules/govuk-frontend/dist/govuk/components/select/_mixin.scss +45 -0
  401. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.import.scss +6 -0
  402. data/node_modules/govuk-frontend/dist/govuk/components/select/fixtures.json +99 -115
  403. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.import.scss +8 -0
  404. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +3 -185
  405. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_mixin.scss +283 -0
  406. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.import.scss +6 -0
  407. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/fixtures.json +331 -69
  408. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/macro-options.json +26 -0
  409. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +53 -13
  410. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js.map +1 -1
  411. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +53 -13
  412. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs.map +1 -1
  413. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs +30 -2
  414. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs.map +1 -1
  415. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-default.html +1 -1
  416. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-inverse-with-language-navigation.html +72 -0
  417. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-inverse.html +63 -0
  418. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-a-single-navigation-item-and-collapsenavigationonmobile-set-to-true.html +38 -0
  419. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-a-single-navigation-item.html +35 -0
  420. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-collapsenavigationonmobile-set-to-false.html +60 -0
  421. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-html-navigation-items.html +1 -1
  422. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-inline-end-slot.html +33 -0
  423. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-language-navigation.html +62 -0
  424. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-large-navigation.html +1 -1
  425. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-navigation-with-a-current-item.html +1 -1
  426. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-non-link-navigation-items.html +1 -1
  427. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-right-aligned-language-navigation.html +62 -0
  428. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-service-name-and-navigation.html +1 -1
  429. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template.njk +12 -4
  430. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.import.scss +8 -0
  431. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +3 -50
  432. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_mixin.scss +60 -0
  433. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.import.scss +6 -0
  434. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/fixtures.json +10 -10
  435. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +26 -25
  436. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js.map +1 -1
  437. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +26 -25
  438. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs.map +1 -1
  439. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +5 -10
  440. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs.map +1 -1
  441. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.import.scss +8 -0
  442. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +3 -267
  443. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_mixin.scss +286 -0
  444. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.import.scss +6 -0
  445. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/fixtures.json +282 -518
  446. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.import.scss +8 -0
  447. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +3 -73
  448. data/node_modules/govuk-frontend/dist/govuk/components/table/_mixin.scss +77 -0
  449. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.import.scss +6 -0
  450. data/node_modules/govuk-frontend/dist/govuk/components/table/fixtures.json +75 -75
  451. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.import.scss +8 -0
  452. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +3 -132
  453. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_mixin.scss +140 -0
  454. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.import.scss +6 -0
  455. data/node_modules/govuk-frontend/dist/govuk/components/tabs/fixtures.json +44 -39
  456. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +25 -19
  457. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js.map +1 -1
  458. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +25 -19
  459. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs.map +1 -1
  460. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +3 -3
  461. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs.map +1 -1
  462. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.import.scss +8 -0
  463. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +3 -94
  464. data/node_modules/govuk-frontend/dist/govuk/components/tag/_mixin.scss +135 -0
  465. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.import.scss +6 -0
  466. data/node_modules/govuk-frontend/dist/govuk/components/tag/fixtures.json +19 -43
  467. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-pink.html +2 -2
  468. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-turquoise.html +2 -2
  469. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.import.scss +9 -0
  470. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +4 -76
  471. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_mixin.scss +83 -0
  472. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.import.scss +6 -0
  473. data/node_modules/govuk-frontend/dist/govuk/components/task-list/fixtures.json +35 -58
  474. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-forced-hover-state.html +37 -0
  475. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-with-all-possible-colours.html +131 -0
  476. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-with-hint-text-and-additional-states.html +77 -0
  477. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.import.scss +11 -0
  478. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +6 -47
  479. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_mixin.scss +43 -0
  480. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.import.scss +6 -0
  481. data/node_modules/govuk-frontend/dist/govuk/components/textarea/fixtures.json +81 -81
  482. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.import.scss +8 -0
  483. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +3 -64
  484. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_mixin.scss +69 -0
  485. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.import.scss +6 -0
  486. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/fixtures.json +9 -9
  487. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.import.scss +10 -0
  488. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.mixin.scss +19 -0
  489. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss +5 -18
  490. data/node_modules/govuk-frontend/dist/govuk/core/_index.import.scss +6 -0
  491. data/node_modules/govuk-frontend/dist/govuk/core/_index.scss +6 -7
  492. data/node_modules/govuk-frontend/dist/govuk/core/_links.import.scss +10 -0
  493. data/node_modules/govuk-frontend/dist/govuk/core/_links.mixin.scss +44 -0
  494. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss +3 -40
  495. data/node_modules/govuk-frontend/dist/govuk/core/_lists.import.scss +14 -0
  496. data/node_modules/govuk-frontend/dist/govuk/core/_lists.mixin.scss +74 -0
  497. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +6 -64
  498. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.import.scss +8 -0
  499. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.mixin.scss +54 -0
  500. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss +3 -49
  501. data/node_modules/govuk-frontend/dist/govuk/core/_typography.import.scss +8 -0
  502. data/node_modules/govuk-frontend/dist/govuk/core/_typography.mixin.scss +173 -0
  503. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +3 -187
  504. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.import.scss +8 -0
  505. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.mixin.scss +15 -0
  506. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.scss +4 -0
  507. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.import.scss +8 -0
  508. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.mixin.scss +13 -0
  509. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.scss +4 -0
  510. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.import.scss +8 -0
  511. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.mixin.scss +22 -0
  512. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.scss +4 -0
  513. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.import.scss +4 -0
  514. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.scss +4 -0
  515. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +12 -7
  516. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs.map +1 -1
  517. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css +2 -2
  518. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css.map +1 -1
  519. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  520. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js.map +1 -1
  521. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.import.scss +2 -0
  522. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss +0 -1
  523. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.import.scss +2 -0
  524. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +190 -89
  525. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.import.scss +2 -0
  526. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss +2 -1
  527. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.import.scss +2 -0
  528. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +44 -7
  529. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces--internal.scss +41 -0
  530. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.import.scss +2 -0
  531. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +7 -4
  532. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.import.scss +2 -0
  533. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.scss +12 -13
  534. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.import.scss +2 -0
  535. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +35 -46
  536. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.import.scss +2 -0
  537. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +174 -34
  538. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.import.scss +2 -0
  539. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss +2 -3
  540. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing--internal.scss +80 -0
  541. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.import.scss +2 -0
  542. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +27 -82
  543. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography--internal.scss +24 -0
  544. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.import.scss +2 -0
  545. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +55 -74
  546. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.import.scss +2 -0
  547. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +17 -13
  548. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.import.scss +2 -0
  549. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.scss +73 -0
  550. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +5 -128
  551. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs.map +1 -1
  552. data/node_modules/govuk-frontend/dist/govuk/index.import.scss +10 -0
  553. data/node_modules/govuk-frontend/dist/govuk/index.scss +6 -7
  554. data/node_modules/govuk-frontend/dist/govuk/init.mjs +61 -53
  555. data/node_modules/govuk-frontend/dist/govuk/init.mjs.map +1 -1
  556. data/node_modules/govuk-frontend/dist/govuk/macros/attributes.njk +30 -14
  557. data/node_modules/govuk-frontend/dist/govuk/macros/logo.njk +7 -29
  558. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.import.scss +8 -0
  559. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.mixin.scss +80 -0
  560. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +3 -78
  561. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.import.scss +8 -0
  562. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.mixin.scss +26 -0
  563. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss +3 -23
  564. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.import.scss +8 -0
  565. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.mixin.scss +28 -0
  566. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss +3 -24
  567. data/node_modules/govuk-frontend/dist/govuk/objects/_index.import.scss +7 -0
  568. data/node_modules/govuk-frontend/dist/govuk/objects/_index.scss +6 -7
  569. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.import.scss +8 -0
  570. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.mixin.scss +55 -0
  571. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +3 -53
  572. data/node_modules/govuk-frontend/dist/govuk/objects/_template.import.scss +8 -0
  573. data/node_modules/govuk-frontend/dist/govuk/objects/_template.mixin.scss +53 -0
  574. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +3 -55
  575. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.import.scss +8 -0
  576. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.mixin.scss +9 -0
  577. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +3 -75
  578. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.import.scss +8 -0
  579. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.mixin.scss +26 -0
  580. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +2 -24
  581. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.import.scss +6 -0
  582. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.scss +5 -6
  583. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.import.scss +8 -0
  584. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.mixin.scss +89 -0
  585. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss +2 -84
  586. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.import.scss +8 -0
  587. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.mixin.scss +16 -0
  588. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss +2 -14
  589. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.import.scss +8 -0
  590. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.mixin.scss +43 -0
  591. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +2 -40
  592. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.import.scss +8 -0
  593. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.mixin.scss +50 -0
  594. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +2 -46
  595. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.import.scss +13 -0
  596. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss +50 -21
  597. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.import.scss +13 -0
  598. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.import.scss +2 -0
  599. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.scss +168 -0
  600. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.import.scss +2 -0
  601. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.scss +188 -0
  602. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.import.scss +2 -0
  603. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +23 -274
  604. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette--internal.scss +128 -0
  605. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.import.scss +2 -0
  606. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.scss +17 -0
  607. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.import.scss +2 -0
  608. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss +0 -1
  609. data/node_modules/govuk-frontend/dist/govuk/settings/_index.import.scss +24 -0
  610. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +14 -13
  611. data/node_modules/govuk-frontend/dist/govuk/settings/_links.import.scss +2 -0
  612. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss +3 -3
  613. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.import.scss +2 -0
  614. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss +8 -17
  615. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.import.scss +2 -0
  616. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +0 -10
  617. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.import.scss +2 -0
  618. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss +0 -1
  619. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.import.scss +2 -0
  620. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +3 -2
  621. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.import.scss +2 -0
  622. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +12 -190
  623. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings--internal.scss +69 -0
  624. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.import.scss +2 -0
  625. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss +9 -56
  626. data/node_modules/govuk-frontend/dist/govuk/template.njk +61 -23
  627. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.import.scss +2 -0
  628. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss +12 -6
  629. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.import.scss +31 -0
  630. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss +22 -6
  631. data/node_modules/govuk-frontend/dist/govuk/tools/_if.import.scss +2 -0
  632. data/node_modules/govuk-frontend/dist/govuk/tools/_if.scss +23 -0
  633. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.import.scss +31 -0
  634. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss +22 -6
  635. data/node_modules/govuk-frontend/dist/govuk/tools/_index.import.scss +2 -0
  636. data/node_modules/govuk-frontend/dist/govuk/tools/_index.scss +6 -7
  637. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.import.scss +2 -0
  638. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +9 -6
  639. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.import.scss +2 -0
  640. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss +6 -3
  641. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.import.scss +8 -0
  642. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.mixin.scss +10 -0
  643. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss +3 -6
  644. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.import.scss +3 -0
  645. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.scss +2 -3
  646. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.import.scss +8 -0
  647. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.mixin.scss +14 -0
  648. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss +2 -9
  649. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +4 -3
  650. data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +13 -4
  651. data/node_modules/govuk-frontend/package.json +29 -22
  652. data/vendor/assets/assets/images/favicon.ico +0 -0
  653. data/vendor/assets/assets/images/favicon.svg +1 -1
  654. data/vendor/assets/assets/images/govuk-icon-180.png +0 -0
  655. data/vendor/assets/assets/images/govuk-icon-192.png +0 -0
  656. data/vendor/assets/assets/images/govuk-icon-512.png +0 -0
  657. data/vendor/assets/assets/images/govuk-opengraph-image.png +0 -0
  658. data/vendor/assets/assets/manifest.json.erb +39 -0
  659. data/vendor/assets/images/favicon.ico +0 -0
  660. data/vendor/assets/images/favicon.svg +1 -1
  661. data/vendor/assets/images/govuk-icon-180.png +0 -0
  662. data/vendor/assets/images/govuk-icon-192.png +0 -0
  663. data/vendor/assets/images/govuk-icon-512.png +0 -0
  664. data/vendor/assets/images/govuk-opengraph-image.png +0 -0
  665. data/vendor/assets/javascripts/defra_ruby_template.js +407 -453
  666. data/vendor/assets/javascripts/defra_ruby_template_supported.js +4 -0
  667. data/vendor/assets/stylesheets/_base.import.scss +6 -0
  668. data/vendor/assets/stylesheets/_base.scss +4 -4
  669. data/vendor/assets/stylesheets/components/_index.import.scss +40 -0
  670. data/vendor/assets/stylesheets/components/_index.scss +39 -39
  671. data/vendor/assets/stylesheets/components/accordion/_accordion.import.scss +6 -0
  672. data/vendor/assets/stylesheets/components/accordion/_index.import.scss +8 -0
  673. data/vendor/assets/stylesheets/components/accordion/_index.scss +3 -368
  674. data/vendor/assets/stylesheets/components/accordion/_mixin.scss +375 -0
  675. data/vendor/assets/stylesheets/components/back-link/_back-link.import.scss +6 -0
  676. data/vendor/assets/stylesheets/components/back-link/_index.import.scss +8 -0
  677. data/vendor/assets/stylesheets/components/back-link/_index.scss +3 -81
  678. data/vendor/assets/stylesheets/components/back-link/_mixin.scss +87 -0
  679. data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.import.scss +6 -0
  680. data/vendor/assets/stylesheets/components/breadcrumbs/_index.import.scss +8 -0
  681. data/vendor/assets/stylesheets/components/breadcrumbs/_index.scss +3 -132
  682. data/vendor/assets/stylesheets/components/breadcrumbs/_mixin.scss +134 -0
  683. data/vendor/assets/stylesheets/components/button/_button.import.scss +6 -0
  684. data/vendor/assets/stylesheets/components/button/_index.import.scss +13 -0
  685. data/vendor/assets/stylesheets/components/button/_index.scss +9 -260
  686. data/vendor/assets/stylesheets/components/button/_mixin.scss +233 -0
  687. data/vendor/assets/stylesheets/components/button/_settings.import.scss +32 -0
  688. data/vendor/assets/stylesheets/components/button/_settings.scss +34 -0
  689. data/vendor/assets/stylesheets/components/character-count/_character-count.import.scss +6 -0
  690. data/vendor/assets/stylesheets/components/character-count/_index.import.scss +12 -0
  691. data/vendor/assets/stylesheets/components/character-count/_index.scss +7 -42
  692. data/vendor/assets/stylesheets/components/character-count/_mixin.scss +41 -0
  693. data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.import.scss +6 -0
  694. data/vendor/assets/stylesheets/components/checkboxes/_index.import.scss +12 -0
  695. data/vendor/assets/stylesheets/components/checkboxes/_index.scss +7 -309
  696. data/vendor/assets/stylesheets/components/checkboxes/_mixin.scss +317 -0
  697. data/vendor/assets/stylesheets/components/cookie-banner/_cookie-banner.import.scss +6 -0
  698. data/vendor/assets/stylesheets/components/cookie-banner/_index.import.scss +9 -0
  699. data/vendor/assets/stylesheets/components/cookie-banner/_index.scss +4 -56
  700. data/vendor/assets/stylesheets/components/cookie-banner/_mixin.scss +62 -0
  701. data/vendor/assets/stylesheets/components/date-input/_date-input.import.scss +6 -0
  702. data/vendor/assets/stylesheets/components/date-input/_index.import.scss +13 -0
  703. data/vendor/assets/stylesheets/components/date-input/_index.scss +8 -26
  704. data/vendor/assets/stylesheets/components/date-input/_mixin.scss +29 -0
  705. data/vendor/assets/stylesheets/components/details/_details.import.scss +6 -0
  706. data/vendor/assets/stylesheets/components/details/_index.import.scss +8 -0
  707. data/vendor/assets/stylesheets/components/details/_index.scss +3 -137
  708. data/vendor/assets/stylesheets/components/details/_mixin.scss +143 -0
  709. data/vendor/assets/stylesheets/components/error-message/_error-message.import.scss +6 -0
  710. data/vendor/assets/stylesheets/components/error-message/_index.import.scss +8 -0
  711. data/vendor/assets/stylesheets/components/error-message/_index.scss +3 -12
  712. data/vendor/assets/stylesheets/components/error-message/_mixin.scss +16 -0
  713. data/vendor/assets/stylesheets/components/error-summary/_error-summary.import.scss +6 -0
  714. data/vendor/assets/stylesheets/components/error-summary/_index.import.scss +8 -0
  715. data/vendor/assets/stylesheets/components/error-summary/_index.scss +3 -53
  716. data/vendor/assets/stylesheets/components/error-summary/_mixin.scss +58 -0
  717. data/vendor/assets/stylesheets/components/exit-this-page/_exit-this-page.import.scss +6 -0
  718. data/vendor/assets/stylesheets/components/exit-this-page/_index.import.scss +9 -0
  719. data/vendor/assets/stylesheets/components/exit-this-page/_index.scss +4 -89
  720. data/vendor/assets/stylesheets/components/exit-this-page/_mixin.scss +96 -0
  721. data/vendor/assets/stylesheets/components/feedback/_feedback.import.scss +6 -0
  722. data/vendor/assets/stylesheets/components/feedback/_index.import.scss +8 -0
  723. data/vendor/assets/stylesheets/components/feedback/_index.scss +5 -0
  724. data/vendor/assets/stylesheets/components/feedback/_mixin.scss +48 -0
  725. data/vendor/assets/stylesheets/components/fieldset/_fieldset.import.scss +6 -0
  726. data/vendor/assets/stylesheets/components/fieldset/_index.import.scss +8 -0
  727. data/vendor/assets/stylesheets/components/fieldset/_index.scss +3 -67
  728. data/vendor/assets/stylesheets/components/fieldset/_mixin.scss +71 -0
  729. data/vendor/assets/stylesheets/components/file-upload/_file-upload.import.scss +6 -0
  730. data/vendor/assets/stylesheets/components/file-upload/_index.import.scss +11 -0
  731. data/vendor/assets/stylesheets/components/file-upload/_index.scss +6 -216
  732. data/vendor/assets/stylesheets/components/file-upload/_mixin.scss +217 -0
  733. data/vendor/assets/stylesheets/components/footer/_footer.import.scss +6 -0
  734. data/vendor/assets/stylesheets/components/footer/_index.import.scss +8 -0
  735. data/vendor/assets/stylesheets/components/footer/_index.scss +3 -192
  736. data/vendor/assets/stylesheets/components/footer/_mixin.scss +205 -0
  737. data/vendor/assets/stylesheets/components/generic-header/_generic-header.import.scss +6 -0
  738. data/vendor/assets/stylesheets/components/generic-header/_index.import.scss +8 -0
  739. data/vendor/assets/stylesheets/components/generic-header/_index.scss +5 -0
  740. data/vendor/assets/stylesheets/components/generic-header/_mixin.scss +140 -0
  741. data/vendor/assets/stylesheets/components/header/_header.import.scss +6 -0
  742. data/vendor/assets/stylesheets/components/header/_index.import.scss +8 -0
  743. data/vendor/assets/stylesheets/components/header/_index.scss +3 -546
  744. data/vendor/assets/stylesheets/components/header/_mixin.scss +119 -0
  745. data/vendor/assets/stylesheets/components/hint/_hint.import.scss +6 -0
  746. data/vendor/assets/stylesheets/components/hint/_index.import.scss +8 -0
  747. data/vendor/assets/stylesheets/components/hint/_index.scss +3 -43
  748. data/vendor/assets/stylesheets/components/hint/_mixin.scss +47 -0
  749. data/vendor/assets/stylesheets/components/input/_index.import.scss +11 -0
  750. data/vendor/assets/stylesheets/components/input/_index.scss +6 -166
  751. data/vendor/assets/stylesheets/components/input/_input.import.scss +6 -0
  752. data/vendor/assets/stylesheets/components/input/_mixin.scss +161 -0
  753. data/vendor/assets/stylesheets/components/inset-text/_index.import.scss +8 -0
  754. data/vendor/assets/stylesheets/components/inset-text/_index.scss +3 -24
  755. data/vendor/assets/stylesheets/components/inset-text/_inset-text.import.scss +6 -0
  756. data/vendor/assets/stylesheets/components/inset-text/_mixin.scss +31 -0
  757. data/vendor/assets/stylesheets/components/label/_index.import.scss +8 -0
  758. data/vendor/assets/stylesheets/components/label/_index.scss +3 -44
  759. data/vendor/assets/stylesheets/components/label/_label.import.scss +6 -0
  760. data/vendor/assets/stylesheets/components/label/_mixin.scss +48 -0
  761. data/vendor/assets/stylesheets/components/language-navigation/_index.import.scss +8 -0
  762. data/vendor/assets/stylesheets/components/language-navigation/_index.scss +6 -0
  763. data/vendor/assets/stylesheets/components/language-navigation/_language-navigation.import.scss +6 -0
  764. data/vendor/assets/stylesheets/components/language-navigation/_mixin.scss +68 -0
  765. data/vendor/assets/stylesheets/components/notification-banner/_index.import.scss +8 -0
  766. data/vendor/assets/stylesheets/components/notification-banner/_index.scss +3 -91
  767. data/vendor/assets/stylesheets/components/notification-banner/_mixin.scss +100 -0
  768. data/vendor/assets/stylesheets/components/notification-banner/_notification-banner.import.scss +6 -0
  769. data/vendor/assets/stylesheets/components/pagination/_index.import.scss +8 -0
  770. data/vendor/assets/stylesheets/components/pagination/_index.scss +3 -226
  771. data/vendor/assets/stylesheets/components/pagination/_mixin.scss +235 -0
  772. data/vendor/assets/stylesheets/components/pagination/_pagination.import.scss +6 -0
  773. data/vendor/assets/stylesheets/components/panel/_index.import.scss +8 -0
  774. data/vendor/assets/stylesheets/components/panel/_index.scss +3 -56
  775. data/vendor/assets/stylesheets/components/panel/_mixin.scss +94 -0
  776. data/vendor/assets/stylesheets/components/panel/_panel.import.scss +6 -0
  777. data/vendor/assets/stylesheets/components/password-input/_index.import.scss +10 -0
  778. data/vendor/assets/stylesheets/components/password-input/_index.scss +5 -54
  779. data/vendor/assets/stylesheets/components/password-input/_mixin.scss +56 -0
  780. data/vendor/assets/stylesheets/components/password-input/_password-input.import.scss +6 -0
  781. data/vendor/assets/stylesheets/components/phase-banner/_index.import.scss +9 -0
  782. data/vendor/assets/stylesheets/components/phase-banner/_index.scss +4 -33
  783. data/vendor/assets/stylesheets/components/phase-banner/_mixin.scss +42 -0
  784. data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.import.scss +6 -0
  785. data/vendor/assets/stylesheets/components/radios/_index.import.scss +12 -0
  786. data/vendor/assets/stylesheets/components/radios/_index.scss +7 -325
  787. data/vendor/assets/stylesheets/components/radios/_mixin.scss +336 -0
  788. data/vendor/assets/stylesheets/components/radios/_radios.import.scss +6 -0
  789. data/vendor/assets/stylesheets/components/select/_index.import.scss +11 -0
  790. data/vendor/assets/stylesheets/components/select/_index.scss +6 -56
  791. data/vendor/assets/stylesheets/components/select/_mixin.scss +45 -0
  792. data/vendor/assets/stylesheets/components/select/_select.import.scss +6 -0
  793. data/vendor/assets/stylesheets/components/service-navigation/_index.import.scss +8 -0
  794. data/vendor/assets/stylesheets/components/service-navigation/_index.scss +3 -185
  795. data/vendor/assets/stylesheets/components/service-navigation/_mixin.scss +283 -0
  796. data/vendor/assets/stylesheets/components/service-navigation/_service-navigation.import.scss +6 -0
  797. data/vendor/assets/stylesheets/components/skip-link/_index.import.scss +8 -0
  798. data/vendor/assets/stylesheets/components/skip-link/_index.scss +3 -50
  799. data/vendor/assets/stylesheets/components/skip-link/_mixin.scss +60 -0
  800. data/vendor/assets/stylesheets/components/skip-link/_skip-link.import.scss +6 -0
  801. data/vendor/assets/stylesheets/components/summary-list/_index.import.scss +8 -0
  802. data/vendor/assets/stylesheets/components/summary-list/_index.scss +3 -267
  803. data/vendor/assets/stylesheets/components/summary-list/_mixin.scss +286 -0
  804. data/vendor/assets/stylesheets/components/summary-list/_summary-list.import.scss +6 -0
  805. data/vendor/assets/stylesheets/components/table/_index.import.scss +8 -0
  806. data/vendor/assets/stylesheets/components/table/_index.scss +3 -73
  807. data/vendor/assets/stylesheets/components/table/_mixin.scss +77 -0
  808. data/vendor/assets/stylesheets/components/table/_table.import.scss +6 -0
  809. data/vendor/assets/stylesheets/components/tabs/_index.import.scss +8 -0
  810. data/vendor/assets/stylesheets/components/tabs/_index.scss +3 -132
  811. data/vendor/assets/stylesheets/components/tabs/_mixin.scss +140 -0
  812. data/vendor/assets/stylesheets/components/tabs/_tabs.import.scss +6 -0
  813. data/vendor/assets/stylesheets/components/tag/_index.import.scss +8 -0
  814. data/vendor/assets/stylesheets/components/tag/_index.scss +3 -94
  815. data/vendor/assets/stylesheets/components/tag/_mixin.scss +135 -0
  816. data/vendor/assets/stylesheets/components/tag/_tag.import.scss +6 -0
  817. data/vendor/assets/stylesheets/components/task-list/_index.import.scss +9 -0
  818. data/vendor/assets/stylesheets/components/task-list/_index.scss +4 -76
  819. data/vendor/assets/stylesheets/components/task-list/_mixin.scss +83 -0
  820. data/vendor/assets/stylesheets/components/task-list/_task-list.import.scss +6 -0
  821. data/vendor/assets/stylesheets/components/textarea/_index.import.scss +11 -0
  822. data/vendor/assets/stylesheets/components/textarea/_index.scss +6 -47
  823. data/vendor/assets/stylesheets/components/textarea/_mixin.scss +43 -0
  824. data/vendor/assets/stylesheets/components/textarea/_textarea.import.scss +6 -0
  825. data/vendor/assets/stylesheets/components/warning-text/_index.import.scss +8 -0
  826. data/vendor/assets/stylesheets/components/warning-text/_index.scss +3 -64
  827. data/vendor/assets/stylesheets/components/warning-text/_mixin.scss +69 -0
  828. data/vendor/assets/stylesheets/components/warning-text/_warning-text.import.scss +6 -0
  829. data/vendor/assets/stylesheets/core/_global-styles.import.scss +10 -0
  830. data/vendor/assets/stylesheets/core/_global-styles.mixin.scss +19 -0
  831. data/vendor/assets/stylesheets/core/_global-styles.scss +5 -18
  832. data/vendor/assets/stylesheets/core/_index.import.scss +6 -0
  833. data/vendor/assets/stylesheets/core/_index.scss +6 -7
  834. data/vendor/assets/stylesheets/core/_links.import.scss +10 -0
  835. data/vendor/assets/stylesheets/core/_links.mixin.scss +44 -0
  836. data/vendor/assets/stylesheets/core/_links.scss +3 -40
  837. data/vendor/assets/stylesheets/core/_lists.import.scss +14 -0
  838. data/vendor/assets/stylesheets/core/_lists.mixin.scss +74 -0
  839. data/vendor/assets/stylesheets/core/_lists.scss +6 -64
  840. data/vendor/assets/stylesheets/core/_section-break.import.scss +8 -0
  841. data/vendor/assets/stylesheets/core/_section-break.mixin.scss +54 -0
  842. data/vendor/assets/stylesheets/core/_section-break.scss +3 -49
  843. data/vendor/assets/stylesheets/core/_typography.import.scss +8 -0
  844. data/vendor/assets/stylesheets/core/_typography.mixin.scss +173 -0
  845. data/vendor/assets/stylesheets/core/_typography.scss +3 -187
  846. data/vendor/assets/stylesheets/custom-properties/_breakpoints.import.scss +8 -0
  847. data/vendor/assets/stylesheets/custom-properties/_breakpoints.mixin.scss +15 -0
  848. data/vendor/assets/stylesheets/custom-properties/_breakpoints.scss +4 -0
  849. data/vendor/assets/stylesheets/custom-properties/_frontend-version.import.scss +8 -0
  850. data/vendor/assets/stylesheets/custom-properties/_frontend-version.mixin.scss +13 -0
  851. data/vendor/assets/stylesheets/custom-properties/_frontend-version.scss +4 -0
  852. data/vendor/assets/stylesheets/custom-properties/_functional-colours.import.scss +8 -0
  853. data/vendor/assets/stylesheets/custom-properties/_functional-colours.mixin.scss +22 -0
  854. data/vendor/assets/stylesheets/custom-properties/_functional-colours.scss +4 -0
  855. data/vendor/assets/stylesheets/custom-properties/_index.import.scss +4 -0
  856. data/vendor/assets/stylesheets/custom-properties/_index.scss +4 -0
  857. data/vendor/assets/stylesheets/defra_ruby_template.scss +8 -11
  858. data/vendor/assets/stylesheets/govuk-frontend.min.css +2 -2
  859. data/vendor/assets/stylesheets/helpers/_clearfix.import.scss +2 -0
  860. data/vendor/assets/stylesheets/helpers/_clearfix.scss +0 -1
  861. data/vendor/assets/stylesheets/helpers/_colour.import.scss +2 -0
  862. data/vendor/assets/stylesheets/helpers/_colour.scss +190 -89
  863. data/vendor/assets/stylesheets/helpers/_device-pixels.import.scss +2 -0
  864. data/vendor/assets/stylesheets/helpers/_device-pixels.scss +2 -1
  865. data/vendor/assets/stylesheets/helpers/_focused.import.scss +2 -0
  866. data/vendor/assets/stylesheets/helpers/_focused.scss +44 -7
  867. data/vendor/assets/stylesheets/helpers/_font-faces--internal.scss +41 -0
  868. data/vendor/assets/stylesheets/helpers/_grid.import.scss +2 -0
  869. data/vendor/assets/stylesheets/helpers/_grid.scss +7 -4
  870. data/vendor/assets/stylesheets/helpers/_index.import.scss +2 -0
  871. data/vendor/assets/stylesheets/helpers/_index.scss +12 -13
  872. data/vendor/assets/stylesheets/helpers/_links.import.scss +2 -0
  873. data/vendor/assets/stylesheets/helpers/_links.scss +35 -46
  874. data/vendor/assets/stylesheets/helpers/_media-queries.import.scss +2 -0
  875. data/vendor/assets/stylesheets/helpers/_media-queries.scss +174 -34
  876. data/vendor/assets/stylesheets/helpers/_shape-arrow.import.scss +2 -0
  877. data/vendor/assets/stylesheets/helpers/_shape-arrow.scss +2 -3
  878. data/vendor/assets/stylesheets/helpers/_spacing--internal.scss +80 -0
  879. data/vendor/assets/stylesheets/helpers/_spacing.import.scss +2 -0
  880. data/vendor/assets/stylesheets/helpers/_spacing.scss +27 -82
  881. data/vendor/assets/stylesheets/helpers/_typography--internal.scss +24 -0
  882. data/vendor/assets/stylesheets/helpers/_typography.import.scss +2 -0
  883. data/vendor/assets/stylesheets/helpers/_typography.scss +55 -74
  884. data/vendor/assets/stylesheets/helpers/_visually-hidden.import.scss +2 -0
  885. data/vendor/assets/stylesheets/helpers/_visually-hidden.scss +17 -13
  886. data/vendor/assets/stylesheets/helpers/_width-container.import.scss +2 -0
  887. data/vendor/assets/stylesheets/helpers/_width-container.scss +73 -0
  888. data/vendor/assets/stylesheets/index.import.scss +10 -0
  889. data/vendor/assets/stylesheets/index.scss +6 -7
  890. data/vendor/assets/stylesheets/objects/_button-group.import.scss +8 -0
  891. data/vendor/assets/stylesheets/objects/_button-group.mixin.scss +80 -0
  892. data/vendor/assets/stylesheets/objects/_button-group.scss +3 -78
  893. data/vendor/assets/stylesheets/objects/_form-group.import.scss +8 -0
  894. data/vendor/assets/stylesheets/objects/_form-group.mixin.scss +26 -0
  895. data/vendor/assets/stylesheets/objects/_form-group.scss +3 -23
  896. data/vendor/assets/stylesheets/objects/_grid.import.scss +8 -0
  897. data/vendor/assets/stylesheets/objects/_grid.mixin.scss +28 -0
  898. data/vendor/assets/stylesheets/objects/_grid.scss +3 -24
  899. data/vendor/assets/stylesheets/objects/_index.import.scss +7 -0
  900. data/vendor/assets/stylesheets/objects/_index.scss +6 -7
  901. data/vendor/assets/stylesheets/objects/_main-wrapper.import.scss +8 -0
  902. data/vendor/assets/stylesheets/objects/_main-wrapper.mixin.scss +55 -0
  903. data/vendor/assets/stylesheets/objects/_main-wrapper.scss +3 -53
  904. data/vendor/assets/stylesheets/objects/_template.import.scss +8 -0
  905. data/vendor/assets/stylesheets/objects/_template.mixin.scss +53 -0
  906. data/vendor/assets/stylesheets/objects/_template.scss +3 -55
  907. data/vendor/assets/stylesheets/objects/_width-container.import.scss +8 -0
  908. data/vendor/assets/stylesheets/objects/_width-container.mixin.scss +9 -0
  909. data/vendor/assets/stylesheets/objects/_width-container.scss +3 -75
  910. data/vendor/assets/stylesheets/overrides/_display.import.scss +8 -0
  911. data/vendor/assets/stylesheets/overrides/_display.mixin.scss +26 -0
  912. data/vendor/assets/stylesheets/overrides/_display.scss +2 -24
  913. data/vendor/assets/stylesheets/overrides/_index.import.scss +6 -0
  914. data/vendor/assets/stylesheets/overrides/_index.scss +5 -6
  915. data/vendor/assets/stylesheets/overrides/_spacing.import.scss +8 -0
  916. data/vendor/assets/stylesheets/overrides/_spacing.mixin.scss +89 -0
  917. data/vendor/assets/stylesheets/overrides/_spacing.scss +2 -84
  918. data/vendor/assets/stylesheets/overrides/_text-align.import.scss +8 -0
  919. data/vendor/assets/stylesheets/overrides/_text-align.mixin.scss +16 -0
  920. data/vendor/assets/stylesheets/overrides/_text-align.scss +2 -14
  921. data/vendor/assets/stylesheets/overrides/_typography.import.scss +8 -0
  922. data/vendor/assets/stylesheets/overrides/_typography.mixin.scss +43 -0
  923. data/vendor/assets/stylesheets/overrides/_typography.scss +2 -40
  924. data/vendor/assets/stylesheets/overrides/_width.import.scss +8 -0
  925. data/vendor/assets/stylesheets/overrides/_width.mixin.scss +50 -0
  926. data/vendor/assets/stylesheets/overrides/_width.scss +2 -46
  927. data/vendor/assets/stylesheets/settings/_assets.import.scss +13 -0
  928. data/vendor/assets/stylesheets/settings/_assets.scss +50 -21
  929. data/vendor/assets/stylesheets/settings/_colours-applied.import.scss +13 -0
  930. data/vendor/assets/stylesheets/settings/_colours-functional.import.scss +2 -0
  931. data/vendor/assets/stylesheets/settings/_colours-functional.scss +168 -0
  932. data/vendor/assets/stylesheets/settings/_colours-legacy-functional.import.scss +2 -0
  933. data/vendor/assets/stylesheets/settings/_colours-legacy-functional.scss +188 -0
  934. data/vendor/assets/stylesheets/settings/_colours-organisations.import.scss +2 -0
  935. data/vendor/assets/stylesheets/settings/_colours-organisations.scss +23 -274
  936. data/vendor/assets/stylesheets/settings/_colours-palette--internal.scss +128 -0
  937. data/vendor/assets/stylesheets/settings/_custom-properties.import.scss +2 -0
  938. data/vendor/assets/stylesheets/settings/_custom-properties.scss +17 -0
  939. data/vendor/assets/stylesheets/settings/_global-styles.import.scss +2 -0
  940. data/vendor/assets/stylesheets/settings/_global-styles.scss +0 -1
  941. data/vendor/assets/stylesheets/settings/_index.import.scss +24 -0
  942. data/vendor/assets/stylesheets/settings/_index.scss +14 -13
  943. data/vendor/assets/stylesheets/settings/_links.import.scss +2 -0
  944. data/vendor/assets/stylesheets/settings/_links.scss +3 -3
  945. data/vendor/assets/stylesheets/settings/_measurements.import.scss +2 -0
  946. data/vendor/assets/stylesheets/settings/_measurements.scss +8 -17
  947. data/vendor/assets/stylesheets/settings/_media-queries.import.scss +2 -0
  948. data/vendor/assets/stylesheets/settings/_media-queries.scss +0 -10
  949. data/vendor/assets/stylesheets/settings/_spacing.import.scss +2 -0
  950. data/vendor/assets/stylesheets/settings/_spacing.scss +0 -1
  951. data/vendor/assets/stylesheets/settings/_typography-font.import.scss +2 -0
  952. data/vendor/assets/stylesheets/settings/_typography-font.scss +3 -2
  953. data/vendor/assets/stylesheets/settings/_typography-responsive.import.scss +2 -0
  954. data/vendor/assets/stylesheets/settings/_typography-responsive.scss +12 -190
  955. data/vendor/assets/stylesheets/settings/_warnings--internal.scss +69 -0
  956. data/vendor/assets/stylesheets/settings/_warnings.import.scss +2 -0
  957. data/vendor/assets/stylesheets/settings/_warnings.scss +9 -56
  958. data/vendor/assets/stylesheets/tools/_exports.import.scss +2 -0
  959. data/vendor/assets/stylesheets/tools/_exports.scss +12 -6
  960. data/vendor/assets/stylesheets/tools/_font-url.import.scss +31 -0
  961. data/vendor/assets/stylesheets/tools/_font-url.scss +22 -6
  962. data/vendor/assets/stylesheets/tools/_if.import.scss +2 -0
  963. data/vendor/assets/stylesheets/tools/_if.scss +23 -0
  964. data/vendor/assets/stylesheets/tools/_image-url.import.scss +31 -0
  965. data/vendor/assets/stylesheets/tools/_image-url.scss +22 -6
  966. data/vendor/assets/stylesheets/tools/_index.import.scss +2 -0
  967. data/vendor/assets/stylesheets/tools/_index.scss +6 -7
  968. data/vendor/assets/stylesheets/tools/_px-to-em.import.scss +2 -0
  969. data/vendor/assets/stylesheets/tools/_px-to-em.scss +9 -6
  970. data/vendor/assets/stylesheets/tools/_px-to-rem.import.scss +2 -0
  971. data/vendor/assets/stylesheets/tools/_px-to-rem.scss +6 -3
  972. data/vendor/assets/stylesheets/utilities/_clearfix.import.scss +8 -0
  973. data/vendor/assets/stylesheets/utilities/_clearfix.mixin.scss +10 -0
  974. data/vendor/assets/stylesheets/utilities/_clearfix.scss +3 -6
  975. data/vendor/assets/stylesheets/utilities/_index.import.scss +3 -0
  976. data/vendor/assets/stylesheets/utilities/_index.scss +2 -3
  977. data/vendor/assets/stylesheets/utilities/_visually-hidden.import.scss +8 -0
  978. data/vendor/assets/stylesheets/utilities/_visually-hidden.mixin.scss +14 -0
  979. data/vendor/assets/stylesheets/utilities/_visually-hidden.scss +2 -9
  980. metadata +541 -409
  981. data/node_modules/govuk-frontend/dist/govuk/_base.scss.map +0 -1
  982. data/node_modules/govuk-frontend/dist/govuk/all.scss +0 -9
  983. data/node_modules/govuk-frontend/dist/govuk/all.scss.map +0 -1
  984. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/favicon.ico +0 -0
  985. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/favicon.svg +0 -1
  986. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-crest.svg +0 -1
  987. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-icon-180.png +0 -0
  988. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-icon-192.png +0 -0
  989. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-icon-512.png +0 -0
  990. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-icon-mask.svg +0 -1
  991. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/images/govuk-opengraph-image.png +0 -0
  992. data/node_modules/govuk-frontend/dist/govuk/assets/rebrand/manifest.json +0 -39
  993. data/node_modules/govuk-frontend/dist/govuk/components/_all.scss +0 -10
  994. data/node_modules/govuk-frontend/dist/govuk/components/_all.scss.map +0 -1
  995. data/node_modules/govuk-frontend/dist/govuk/components/_index.scss.map +0 -1
  996. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +0 -4
  997. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss.map +0 -1
  998. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss.map +0 -1
  999. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-focusable-elements-inside.html +0 -26
  1000. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-one-section-open.html +0 -30
  1001. data/node_modules/govuk-frontend/dist/govuk/components/accordion/template-with-translations.html +0 -30
  1002. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +0 -4
  1003. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss.map +0 -1
  1004. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss.map +0 -1
  1005. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-with-custom-link.html +0 -1
  1006. data/node_modules/govuk-frontend/dist/govuk/components/back-link/template-with-custom-text.html +0 -1
  1007. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -4
  1008. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss.map +0 -1
  1009. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss.map +0 -1
  1010. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/template-with-multiple-levels.html +0 -16
  1011. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +0 -4
  1012. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss.map +0 -1
  1013. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss.map +0 -1
  1014. data/node_modules/govuk-frontend/dist/govuk/components/button/template-input-disabled.html +0 -1
  1015. data/node_modules/govuk-frontend/dist/govuk/components/button/template-input.html +0 -1
  1016. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-link.html +0 -3
  1017. data/node_modules/govuk-frontend/dist/govuk/components/button/template-inverse-start.html +0 -6
  1018. data/node_modules/govuk-frontend/dist/govuk/components/button/template-prevent-double-click.html +0 -3
  1019. data/node_modules/govuk-frontend/dist/govuk/components/button/template-secondary-link.html +0 -3
  1020. data/node_modules/govuk-frontend/dist/govuk/components/button/template-start-link.html +0 -6
  1021. data/node_modules/govuk-frontend/dist/govuk/components/button/template-warning-link.html +0 -3
  1022. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-active-state.html +0 -3
  1023. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-focus-state.html +0 -3
  1024. data/node_modules/govuk-frontend/dist/govuk/components/button/template-with-hover-state.html +0 -3
  1025. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +0 -4
  1026. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss.map +0 -1
  1027. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss.map +0 -1
  1028. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-custom-textarea-description.html +0 -9
  1029. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-error.html +0 -12
  1030. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-translations.html +0 -9
  1031. data/node_modules/govuk-frontend/dist/govuk/components/character-count/template-with-word-count.html +0 -9
  1032. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +0 -4
  1033. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss.map +0 -1
  1034. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss.map +0 -1
  1035. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-disabled.html +0 -27
  1036. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-a-medium-legend.html +0 -33
  1037. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-item-checked.html +0 -39
  1038. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items-with-special-characters.html +0 -39
  1039. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-disabled-item.html +0 -29
  1040. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message-and-hints-on-items.html +0 -39
  1041. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-fieldset-and-error-message.html +0 -30
  1042. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-id-and-name.html +0 -30
  1043. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-and-hint-set-aria-describedby-on-input.html +0 -16
  1044. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-single-option-set-aria-describedby-on-input.html +0 -13
  1045. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-without-fieldset.html +0 -22
  1046. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +0 -4
  1047. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss.map +0 -1
  1048. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss.map +0 -1
  1049. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/template-client-side-implementation.html +0 -60
  1050. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +0 -4
  1051. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss.map +0 -1
  1052. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss.map +0 -1
  1053. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-autocomplete-values.html +0 -36
  1054. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-default-items.html +0 -36
  1055. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-errors-and-hint.html +0 -39
  1056. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-input-attributes.html +0 -36
  1057. data/node_modules/govuk-frontend/dist/govuk/components/date-input/template-with-optional-form-group-classes.html +0 -36
  1058. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +0 -4
  1059. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss.map +0 -1
  1060. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss.map +0 -1
  1061. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +0 -4
  1062. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss.map +0 -1
  1063. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss.map +0 -1
  1064. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +0 -4
  1065. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss.map +0 -1
  1066. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss.map +0 -1
  1067. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +0 -4
  1068. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss.map +0 -1
  1069. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss.map +0 -1
  1070. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/template-translated.html +0 -5
  1071. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +0 -4
  1072. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss.map +0 -1
  1073. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss.map +0 -1
  1074. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +0 -4
  1075. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss.map +0 -1
  1076. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss.map +0 -1
  1077. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-direct-media-capture.html +0 -6
  1078. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-image-files-only.html +0 -6
  1079. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-allows-multiple-files.html +0 -6
  1080. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-disabled.html +0 -6
  1081. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-disabled.html +0 -13
  1082. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-with-optional-form-group-classes.html +0 -6
  1083. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +0 -4
  1084. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss.map +0 -1
  1085. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss.map +0 -1
  1086. data/node_modules/govuk-frontend/dist/govuk/components/footer/template-with-meta.html +0 -56
  1087. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +0 -4
  1088. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss.map +0 -1
  1089. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss.map +0 -1
  1090. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +0 -233
  1091. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js.map +0 -1
  1092. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +0 -225
  1093. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs.map +0 -1
  1094. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +0 -89
  1095. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs.map +0 -1
  1096. data/node_modules/govuk-frontend/dist/govuk/components/header/template-full-width-with-navigation.html +0 -55
  1097. data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-html.html +0 -57
  1098. data/node_modules/govuk-frontend/dist/govuk/components/header/template-navigation-item-with-text-without-link.html +0 -51
  1099. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-menu-button-label.html +0 -59
  1100. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-menu-button-text.html +0 -59
  1101. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-custom-navigation-label.html +0 -59
  1102. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-full-width-border.html +0 -30
  1103. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-large-navigation.html +0 -119
  1104. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-navigation.html +0 -59
  1105. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name-and-navigation.html +0 -62
  1106. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name-but-no-service-url.html +0 -34
  1107. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-service-name.html +0 -34
  1108. data/node_modules/govuk-frontend/dist/govuk/components/header/template-with-st-edwards-crown.html +0 -19
  1109. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss +0 -4
  1110. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss.map +0 -1
  1111. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss.map +0 -1
  1112. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss.map +0 -1
  1113. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss +0 -4
  1114. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss.map +0 -1
  1115. data/node_modules/govuk-frontend/dist/govuk/components/input/template-disabled.html +0 -6
  1116. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-autocapitalize-turned-off.html +0 -6
  1117. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-autocomplete-attribute.html +0 -6
  1118. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-optional-form-group-classes.html +0 -6
  1119. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-pattern-attribute.html +0 -6
  1120. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-prefix-and-long-suffix.html +0 -10
  1121. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-disabled.html +0 -6
  1122. data/node_modules/govuk-frontend/dist/govuk/components/input/template-with-spellcheck-enabled.html +0 -6
  1123. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss.map +0 -1
  1124. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +0 -4
  1125. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss.map +0 -1
  1126. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss.map +0 -1
  1127. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss +0 -4
  1128. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss.map +0 -1
  1129. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss.map +0 -1
  1130. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +0 -4
  1131. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss.map +0 -1
  1132. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-disabled-with-type-as-success.html +0 -12
  1133. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-auto-focus-explicitly-enabled-with-type-as-success.html +0 -12
  1134. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-custom-tabindex.html +0 -12
  1135. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-paragraph-as-html-heading.html +0 -10
  1136. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-rolealert-overridden-to-roleregion-with-type-as-success.html +0 -12
  1137. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-success-with-custom-html.html +0 -16
  1138. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/template-with-a-list.html +0 -16
  1139. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss.map +0 -1
  1140. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +0 -4
  1141. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss.map +0 -1
  1142. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-accessible-labels-on-item-links.html +0 -39
  1143. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-custom-navigation-landmark.html +0 -39
  1144. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-prev-and-next-only-in-a-different-language.html +0 -22
  1145. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss.map +0 -1
  1146. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss +0 -4
  1147. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss.map +0 -1
  1148. data/node_modules/govuk-frontend/dist/govuk/components/panel/template-custom-heading-level.html +0 -8
  1149. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss.map +0 -1
  1150. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +0 -4
  1151. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss.map +0 -1
  1152. data/node_modules/govuk-frontend/dist/govuk/components/password-input/template-with-new-password-autocomplete.html +0 -11
  1153. data/node_modules/govuk-frontend/dist/govuk/components/password-input/template-with-translations.html +0 -11
  1154. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss.map +0 -1
  1155. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +0 -4
  1156. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss.map +0 -1
  1157. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss.map +0 -1
  1158. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +0 -4
  1159. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss.map +0 -1
  1160. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked-using-value.html +0 -16
  1161. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-prechecked.html +0 -19
  1162. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline-extreme.html +0 -69
  1163. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-disabled.html +0 -27
  1164. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-medium-legend.html +0 -24
  1165. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-with-special-characters.html +0 -39
  1166. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-disabled.html +0 -29
  1167. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-idprefix.html +0 -16
  1168. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss.map +0 -1
  1169. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +0 -4
  1170. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss.map +0 -1
  1171. data/node_modules/govuk-frontend/dist/govuk/components/select/template-id.html +0 -7
  1172. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-no-items.html +0 -7
  1173. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-optional-form-group-classes.html +0 -10
  1174. data/node_modules/govuk-frontend/dist/govuk/components/select/template-with-selected-value.html +0 -10
  1175. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss.map +0 -1
  1176. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +0 -4
  1177. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss.map +0 -1
  1178. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/template-with-navigation-with-an-active-item.html +0 -58
  1179. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss.map +0 -1
  1180. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +0 -4
  1181. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss.map +0 -1
  1182. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss.map +0 -1
  1183. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +0 -4
  1184. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss.map +0 -1
  1185. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-as-a-summary-card-with-a-custom-header-level.html +0 -28
  1186. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-check-your-answers.html +0 -98
  1187. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-overridden-widths.html +0 -58
  1188. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-translated.html +0 -51
  1189. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-no-first-action.html +0 -58
  1190. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/template-with-some-actions.html +0 -45
  1191. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss.map +0 -1
  1192. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss +0 -4
  1193. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss.map +0 -1
  1194. data/node_modules/govuk-frontend/dist/govuk/components/table/template-with-small-text-modifier-for-tables-with-a-lot-of-data.html +0 -19
  1195. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss.map +0 -1
  1196. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss +0 -4
  1197. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss.map +0 -1
  1198. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss.map +0 -1
  1199. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss +0 -4
  1200. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss.map +0 -1
  1201. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-blue.html +0 -3
  1202. data/node_modules/govuk-frontend/dist/govuk/components/tag/template-light-blue.html +0 -3
  1203. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss.map +0 -1
  1204. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +0 -4
  1205. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss.map +0 -1
  1206. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-3-states.html +0 -49
  1207. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-all-possible-colours.html +0 -143
  1208. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-example-with-hint-text-and-additional-states.html +0 -77
  1209. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss.map +0 -1
  1210. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +0 -4
  1211. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss.map +0 -1
  1212. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-autocomplete-attribute.html +0 -6
  1213. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-optional-form-group-classes.html +0 -6
  1214. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-disabled.html +0 -6
  1215. data/node_modules/govuk-frontend/dist/govuk/components/textarea/template-with-spellcheck-enabled.html +0 -6
  1216. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss.map +0 -1
  1217. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +0 -4
  1218. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss.map +0 -1
  1219. data/node_modules/govuk-frontend/dist/govuk/core/_all.scss +0 -10
  1220. data/node_modules/govuk-frontend/dist/govuk/core/_all.scss.map +0 -1
  1221. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss.map +0 -1
  1222. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +0 -12
  1223. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss.map +0 -1
  1224. data/node_modules/govuk-frontend/dist/govuk/core/_index.scss.map +0 -1
  1225. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss.map +0 -1
  1226. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss.map +0 -1
  1227. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss.map +0 -1
  1228. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss.map +0 -1
  1229. data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss +0 -10
  1230. data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss.map +0 -1
  1231. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss.map +0 -1
  1232. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss.map +0 -1
  1233. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss.map +0 -1
  1234. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss.map +0 -1
  1235. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss +0 -41
  1236. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss.map +0 -1
  1237. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss.map +0 -1
  1238. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.scss.map +0 -1
  1239. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss.map +0 -1
  1240. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss.map +0 -1
  1241. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss.map +0 -1
  1242. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss.map +0 -1
  1243. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss.map +0 -1
  1244. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss.map +0 -1
  1245. data/node_modules/govuk-frontend/dist/govuk/index.scss.map +0 -1
  1246. data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss +0 -10
  1247. data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss.map +0 -1
  1248. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss.map +0 -1
  1249. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss.map +0 -1
  1250. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss.map +0 -1
  1251. data/node_modules/govuk-frontend/dist/govuk/objects/_index.scss.map +0 -1
  1252. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss.map +0 -1
  1253. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss.map +0 -1
  1254. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss.map +0 -1
  1255. data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss +0 -9
  1256. data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss.map +0 -1
  1257. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss.map +0 -1
  1258. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.scss.map +0 -1
  1259. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss.map +0 -1
  1260. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss.map +0 -1
  1261. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss.map +0 -1
  1262. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss.map +0 -1
  1263. data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss +0 -10
  1264. data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss.map +0 -1
  1265. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss.map +0 -1
  1266. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +0 -195
  1267. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss.map +0 -1
  1268. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss.map +0 -1
  1269. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss +0 -37
  1270. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss.map +0 -1
  1271. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss.map +0 -1
  1272. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss.map +0 -1
  1273. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss.map +0 -1
  1274. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss.map +0 -1
  1275. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss.map +0 -1
  1276. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss.map +0 -1
  1277. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss.map +0 -1
  1278. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss.map +0 -1
  1279. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss.map +0 -1
  1280. data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss +0 -10
  1281. data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss.map +0 -1
  1282. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss.map +0 -1
  1283. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss.map +0 -1
  1284. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss.map +0 -1
  1285. data/node_modules/govuk-frontend/dist/govuk/tools/_index.scss.map +0 -1
  1286. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss.map +0 -1
  1287. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss.map +0 -1
  1288. data/node_modules/govuk-frontend/dist/govuk/tools/_rebrand.scss +0 -65
  1289. data/node_modules/govuk-frontend/dist/govuk/tools/_rebrand.scss.map +0 -1
  1290. data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss +0 -10
  1291. data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss.map +0 -1
  1292. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss.map +0 -1
  1293. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.scss.map +0 -1
  1294. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss.map +0 -1
  1295. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss +0 -349
  1296. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss.map +0 -1
  1297. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/functions.js +0 -25
  1298. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss.map +0 -1
  1299. data/spec/spec_helper.rb +0 -98
  1300. data/spec/tasks/assets_spec.rb +0 -53
  1301. data/vendor/assets/assets/manifest.json +0 -39
  1302. data/vendor/assets/assets/rebrand/images/favicon.ico +0 -0
  1303. data/vendor/assets/assets/rebrand/images/favicon.svg +0 -1
  1304. data/vendor/assets/assets/rebrand/images/govuk-crest.svg +0 -1
  1305. data/vendor/assets/assets/rebrand/images/govuk-icon-180.png +0 -0
  1306. data/vendor/assets/assets/rebrand/images/govuk-icon-192.png +0 -0
  1307. data/vendor/assets/assets/rebrand/images/govuk-icon-512.png +0 -0
  1308. data/vendor/assets/assets/rebrand/images/govuk-icon-mask.svg +0 -1
  1309. data/vendor/assets/assets/rebrand/images/govuk-opengraph-image.png +0 -0
  1310. data/vendor/assets/assets/rebrand/manifest.json +0 -39
  1311. data/vendor/assets/images/govuk-crest-2x.png +0 -0
  1312. data/vendor/assets/images/govuk-crest.png +0 -0
  1313. data/vendor/assets/stylesheets/all.scss +0 -9
  1314. data/vendor/assets/stylesheets/components/_all.scss +0 -10
  1315. data/vendor/assets/stylesheets/components/accordion/_accordion.scss +0 -4
  1316. data/vendor/assets/stylesheets/components/back-link/_back-link.scss +0 -4
  1317. data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.scss +0 -4
  1318. data/vendor/assets/stylesheets/components/button/_button.scss +0 -4
  1319. data/vendor/assets/stylesheets/components/character-count/_character-count.scss +0 -4
  1320. data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.scss +0 -4
  1321. data/vendor/assets/stylesheets/components/cookie-banner/_cookie-banner.scss +0 -4
  1322. data/vendor/assets/stylesheets/components/date-input/_date-input.scss +0 -4
  1323. data/vendor/assets/stylesheets/components/details/_details.scss +0 -4
  1324. data/vendor/assets/stylesheets/components/error-message/_error-message.scss +0 -4
  1325. data/vendor/assets/stylesheets/components/error-summary/_error-summary.scss +0 -4
  1326. data/vendor/assets/stylesheets/components/exit-this-page/_exit-this-page.scss +0 -4
  1327. data/vendor/assets/stylesheets/components/fieldset/_fieldset.scss +0 -4
  1328. data/vendor/assets/stylesheets/components/file-upload/_file-upload.scss +0 -4
  1329. data/vendor/assets/stylesheets/components/footer/_footer.scss +0 -4
  1330. data/vendor/assets/stylesheets/components/header/_header.scss +0 -4
  1331. data/vendor/assets/stylesheets/components/hint/_hint.scss +0 -4
  1332. data/vendor/assets/stylesheets/components/input/_input.scss +0 -4
  1333. data/vendor/assets/stylesheets/components/inset-text/_inset-text.scss +0 -4
  1334. data/vendor/assets/stylesheets/components/label/_label.scss +0 -4
  1335. data/vendor/assets/stylesheets/components/notification-banner/_notification-banner.scss +0 -4
  1336. data/vendor/assets/stylesheets/components/pagination/_pagination.scss +0 -4
  1337. data/vendor/assets/stylesheets/components/panel/_panel.scss +0 -4
  1338. data/vendor/assets/stylesheets/components/password-input/_password-input.scss +0 -4
  1339. data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.scss +0 -4
  1340. data/vendor/assets/stylesheets/components/radios/_radios.scss +0 -4
  1341. data/vendor/assets/stylesheets/components/select/_select.scss +0 -4
  1342. data/vendor/assets/stylesheets/components/service-navigation/_service-navigation.scss +0 -4
  1343. data/vendor/assets/stylesheets/components/skip-link/_skip-link.scss +0 -4
  1344. data/vendor/assets/stylesheets/components/summary-list/_summary-list.scss +0 -4
  1345. data/vendor/assets/stylesheets/components/table/_table.scss +0 -4
  1346. data/vendor/assets/stylesheets/components/tabs/_tabs.scss +0 -4
  1347. data/vendor/assets/stylesheets/components/tag/_tag.scss +0 -4
  1348. data/vendor/assets/stylesheets/components/task-list/_task-list.scss +0 -4
  1349. data/vendor/assets/stylesheets/components/textarea/_textarea.scss +0 -4
  1350. data/vendor/assets/stylesheets/components/warning-text/_warning-text.scss +0 -4
  1351. data/vendor/assets/stylesheets/core/_all.scss +0 -10
  1352. data/vendor/assets/stylesheets/core/_govuk-frontend-properties.scss +0 -12
  1353. data/vendor/assets/stylesheets/helpers/_all.scss +0 -10
  1354. data/vendor/assets/stylesheets/helpers/_font-faces.scss +0 -41
  1355. data/vendor/assets/stylesheets/objects/_all.scss +0 -10
  1356. data/vendor/assets/stylesheets/overrides/_all.scss +0 -9
  1357. data/vendor/assets/stylesheets/settings/_all.scss +0 -10
  1358. data/vendor/assets/stylesheets/settings/_colours-applied.scss +0 -195
  1359. data/vendor/assets/stylesheets/settings/_colours-palette.scss +0 -37
  1360. data/vendor/assets/stylesheets/tools/_all.scss +0 -10
  1361. data/vendor/assets/stylesheets/tools/_rebrand.scss +0 -65
  1362. data/vendor/assets/stylesheets/utilities/_all.scss +0 -10
  1363. data/vendor/assets/stylesheets/vendor/_sass-mq.scss +0 -349
  1364. /data/node_modules/govuk-frontend/dist/govuk/components/date-input/{template-complete-question.html → template-with-items.html} +0 -0
  1365. /data/node_modules/govuk-frontend/dist/govuk/components/table/{template-table-with-head-and-caption.html → template-with-head-and-caption.html} +0 -0
  1366. /data/node_modules/govuk-frontend/dist/govuk/components/table/{template-table-with-head.html → template-with-head.html} +0 -0
  1367. /data/node_modules/govuk-frontend/dist/govuk/components/task-list/{template-example-with-very-long-single-word-tags.html → template-with-very-long-single-word-tags.html} +0 -0
@@ -0,0 +1,317 @@
1
+ @use "../../base";
2
+
3
+ /// @access private
4
+ @mixin styles {
5
+ $govuk-touch-target-gutter: 4px;
6
+ $govuk-checkboxes-size: 40px;
7
+ $govuk-touch-target-size: ($govuk-checkboxes-size + $govuk-touch-target-gutter);
8
+ $govuk-small-checkboxes-size: 24px;
9
+ $govuk-checkboxes-label-padding-left-right: base.govuk-spacing(3);
10
+ $govuk-checkbox-check-horizontal-position: 10px;
11
+
12
+ .govuk-checkboxes__item {
13
+ display: flex;
14
+ position: relative;
15
+ flex-wrap: wrap;
16
+ margin-bottom: base.govuk-spacing(2);
17
+ }
18
+
19
+ .govuk-checkboxes__item:last-child,
20
+ .govuk-checkboxes__item:last-of-type {
21
+ margin-bottom: 0;
22
+ }
23
+
24
+ .govuk-checkboxes__input {
25
+ // Allow the input to sit above the label, enabling its proper detection
26
+ // when exploring by touch or using automation tools like Selenium
27
+ z-index: 1;
28
+ width: $govuk-touch-target-size;
29
+ height: $govuk-touch-target-size;
30
+ margin: 0;
31
+ opacity: 0;
32
+ cursor: pointer;
33
+ }
34
+
35
+ .govuk-checkboxes__label {
36
+ align-self: center;
37
+
38
+ // Ensure that the width of the label is never more than the width of the
39
+ // container minus the input width minus the padding on either side of
40
+ // the label. This prevents the label from going onto the next line due to
41
+ // __item using flex-wrap because we want hints on a separate line.
42
+ max-width: calc(100% - #{(($govuk-checkboxes-label-padding-left-right * 2) + $govuk-touch-target-size)});
43
+ margin-bottom: 0;
44
+ padding: (base.govuk-spacing(1) + base.$govuk-border-width-form-element) $govuk-checkboxes-label-padding-left-right;
45
+ cursor: pointer;
46
+ // remove 300ms pause on mobile
47
+ touch-action: manipulation;
48
+ }
49
+
50
+ // [ ] Check box
51
+ .govuk-checkboxes__label::before {
52
+ content: "";
53
+ box-sizing: border-box;
54
+ position: absolute;
55
+ top: ($govuk-touch-target-gutter * 0.5);
56
+ left: ($govuk-touch-target-gutter * 0.5);
57
+ width: $govuk-checkboxes-size;
58
+ height: $govuk-checkboxes-size;
59
+ border: base.$govuk-border-width-form-element solid currentcolor;
60
+ background: transparent;
61
+ }
62
+
63
+ // ✔ Check mark
64
+ //
65
+ // The check mark is a box with a border on the left and bottom side (└──),
66
+ // rotated 45 degrees
67
+ .govuk-checkboxes__label::after {
68
+ content: "";
69
+ box-sizing: border-box;
70
+ position: absolute;
71
+
72
+ // Use "magic numbers" to define shape and position of check mark because
73
+ // the complexity of the shape makes it difficult to calculate dynamically.
74
+ top: 13px;
75
+ left: $govuk-checkbox-check-horizontal-position;
76
+ width: 23px;
77
+ height: 12px;
78
+ transform: rotate(-45deg);
79
+ border: solid;
80
+ border-width: 0 0 5px 5px;
81
+ // Fix bug in IE11 caused by transform rotate (-45deg).
82
+ // See: alphagov/govuk_elements/issues/518
83
+ border-top-color: transparent;
84
+ opacity: 0;
85
+ background: transparent;
86
+ }
87
+
88
+ .govuk-checkboxes__hint {
89
+ display: block;
90
+ width: 100%;
91
+ margin-top: base.govuk-spacing(-1);
92
+ padding-right: $govuk-checkboxes-label-padding-left-right;
93
+ padding-left: ($govuk-checkboxes-label-padding-left-right + $govuk-touch-target-size);
94
+ }
95
+
96
+ // This is to bypass govuk-hint's specificity on hints following labels having
97
+ // a margin bottom of 10px (base.govuk-spacing(2)). Because checkboxes are flexbox,
98
+ // the margin doesn't collapse so we have to do this manually.
99
+ .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-checkboxes__hint {
100
+ margin-bottom: 0;
101
+ }
102
+
103
+ // Focused state
104
+ .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
105
+ border-width: 4px;
106
+
107
+ // When colours are overridden, the yellow box-shadow becomes invisible
108
+ // which means the focus state is less obvious. By adding a transparent
109
+ // outline, which becomes solid (text-coloured) in that context, we ensure
110
+ // the focus remains clearly visible.
111
+ outline: base.$govuk-focus-width solid transparent;
112
+ outline-offset: 1px;
113
+
114
+ // When in an explicit forced-color mode, we can use the Highlight system
115
+ // color for the outline to better match focus states of native controls
116
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
117
+ outline-color: Highlight;
118
+ }
119
+
120
+ box-shadow: 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus);
121
+ }
122
+
123
+ // Selected state
124
+ .govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
125
+ opacity: 1;
126
+ }
127
+
128
+ // Disabled state
129
+ .govuk-checkboxes__input:disabled,
130
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
131
+ cursor: not-allowed;
132
+ }
133
+
134
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label,
135
+ .govuk-checkboxes__input:disabled ~ .govuk-hint {
136
+ opacity: 0.5;
137
+ }
138
+
139
+ // =========================================================
140
+ // Dividers ('or')
141
+ // =========================================================
142
+
143
+ .govuk-checkboxes__divider {
144
+ @include base.govuk-font($size: 19);
145
+
146
+ $govuk-divider-size: $govuk-checkboxes-size !default;
147
+ width: $govuk-divider-size;
148
+
149
+ margin-bottom: base.govuk-spacing(2);
150
+ color: base.govuk-functional-colour(text);
151
+ text-align: center;
152
+ }
153
+
154
+ // =========================================================
155
+ // Conditional reveals
156
+ // =========================================================
157
+
158
+ // The narrow border is used in the conditional reveals because the border has
159
+ // to be an even number in order to be centred under the 40px checkbox or radio.
160
+ $conditional-border-width: base.$govuk-border-width-narrow;
161
+ // Calculate the amount of padding needed to keep the border centered against the checkbox.
162
+ $conditional-border-padding: ($govuk-touch-target-size * 0.5) - ($conditional-border-width * 0.5);
163
+ // Move the border centered with the checkbox
164
+ $conditional-margin-left: $conditional-border-padding;
165
+ // Move the contents of the conditional inline with the label
166
+ $conditional-padding-left: $conditional-border-padding + $govuk-checkboxes-label-padding-left-right;
167
+
168
+ .govuk-checkboxes__conditional {
169
+ @include base.govuk-responsive-margin(4, "bottom");
170
+ margin-left: $conditional-margin-left;
171
+ padding-left: $conditional-padding-left;
172
+ border-left: $conditional-border-width solid;
173
+ border-left-color: base.govuk-functional-colour(border);
174
+
175
+ .govuk-frontend-supported &--hidden {
176
+ display: none;
177
+ }
178
+
179
+ & > :last-child {
180
+ margin-bottom: 0;
181
+ }
182
+ }
183
+
184
+ // =========================================================
185
+ // Small checkboxes
186
+ // =========================================================
187
+
188
+ .govuk-checkboxes--small {
189
+ $input-offset: ($govuk-touch-target-size - $govuk-small-checkboxes-size) * 0.5;
190
+
191
+ .govuk-checkboxes__item {
192
+ margin-bottom: 0;
193
+ }
194
+
195
+ // Shift the touch target into the left margin so that the visible edge of
196
+ // the control is aligned
197
+ //
198
+ // ┆What colours do you like?
199
+ // ┌┆───┐
200
+ // │┆[] │ Purple
201
+ // └┆▲──┘
202
+ // ▲┆└─ Check box pseudo element, aligned with margin
203
+ // └─── Touch target (invisible input), shifted into the margin
204
+ .govuk-checkboxes__input {
205
+ margin-left: $input-offset * -1;
206
+ }
207
+
208
+ .govuk-checkboxes__label {
209
+ // Recalculate max-width to account for the smaller checkbox size
210
+ // 1px comes from padding-left (defined below)
211
+ max-width: calc(
212
+ 100% - #{($govuk-touch-target-size - $input-offset) + $govuk-checkboxes-label-padding-left-right + 1px}
213
+ );
214
+
215
+ // Create a tiny space between the small checkbox hover state so that it
216
+ // doesn't clash with the label
217
+ padding-left: 1px;
218
+ }
219
+
220
+ // [ ] Check box
221
+ //
222
+ // Reduce the size of the check box [1], vertically center it within the
223
+ // touch target [2]
224
+ // Left here is 0 because we've shifted the input into the left margin
225
+ .govuk-checkboxes__label::before {
226
+ top: $input-offset; // 2
227
+ left: 0;
228
+ width: $govuk-small-checkboxes-size; // 1
229
+ height: $govuk-small-checkboxes-size; // 1
230
+ }
231
+
232
+ // ✔ Check mark
233
+ //
234
+ // Reduce the size of the check mark and re-align within the checkbox
235
+ .govuk-checkboxes__label::after {
236
+ top: 17px;
237
+
238
+ // Horizontal position is just the normal sized left value accounting for
239
+ // the new width of the smaller checkbox
240
+ left: (16px - $govuk-checkbox-check-horizontal-position);
241
+ width: 12px;
242
+ height: 6.5px;
243
+ border-width: 0 0 3px 3px;
244
+ }
245
+
246
+ // Fix position of hint with small checkboxes
247
+ //
248
+ // Do not use hints with small checkboxes – because they're within the input
249
+ // wrapper they trigger the hover state, but clicking them doesn't actually
250
+ // activate the control.
251
+ //
252
+ // (If you do use them, they won't look completely broken... but seriously,
253
+ // don't use them)
254
+ .govuk-checkboxes__hint {
255
+ padding-left: ($govuk-small-checkboxes-size + $input-offset);
256
+ }
257
+
258
+ // Align conditional reveals with small checkboxes
259
+ .govuk-checkboxes__conditional {
260
+ $margin-left: ($govuk-small-checkboxes-size * 0.5) - ($conditional-border-width * 0.5);
261
+ margin-left: $margin-left;
262
+ padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
263
+ }
264
+
265
+ .govuk-checkboxes__divider {
266
+ width: $govuk-small-checkboxes-size;
267
+ margin-bottom: base.govuk-spacing(1);
268
+ }
269
+
270
+ // Hover state for small checkboxes.
271
+ //
272
+ // We use a hover state for small checkboxes because the touch target size
273
+ // is so much larger than their visible size, and so we need to provide
274
+ // feedback to the user as to which checkbox they will select when their
275
+ // cursor is outside of the visible area.
276
+ .govuk-checkboxes__input:not(:disabled):hover + .govuk-checkboxes__label::before {
277
+ // Forced colours modes tend to ignore box-shadow.
278
+ // Apply an outline for those modes to use instead.
279
+ outline: base.$govuk-focus-width dashed transparent;
280
+ outline-offset: 1px;
281
+ box-shadow: 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover);
282
+ }
283
+
284
+ // Because we've overridden the border-shadow provided by the focus state,
285
+ // we need to redefine that too.
286
+ //
287
+ // We use two box shadows, one that restores the original focus state [1]
288
+ // and another that then applies the hover state [2].
289
+ .govuk-checkboxes__input:focus:hover + .govuk-checkboxes__label::before {
290
+ // Set different HCM colour when we have both hover/focus applied at once
291
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
292
+ outline-color: Highlight;
293
+ }
294
+ // prettier-ignore
295
+ box-shadow:
296
+ 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus), // 1
297
+ 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover); // 2
298
+ }
299
+
300
+ // For devices that explicitly don't support hover, don't provide a hover
301
+ // state (e.g. on touch devices like iOS).
302
+ //
303
+ // We can't use `@media (hover: hover)` because we wouldn't get the hover
304
+ // state in browsers that don't support `@media (hover)` (like Internet
305
+ // Explorer) – so we have to 'undo' the hover state instead.
306
+ @media (hover: none), (pointer: coarse) {
307
+ .govuk-checkboxes__input:not(:disabled):hover + .govuk-checkboxes__label::before {
308
+ box-shadow: initial;
309
+ }
310
+
311
+ .govuk-checkboxes__input:focus:hover + .govuk-checkboxes__label::before {
312
+ box-shadow: 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus);
313
+ }
314
+ }
315
+ }
316
+ }
317
+
@@ -23,6 +23,15 @@
23
23
  }
24
24
  return $scope.classList.contains('govuk-frontend-supported');
25
25
  }
26
+ function isArray(option) {
27
+ return Array.isArray(option);
28
+ }
29
+ function isObject(option) {
30
+ return !!option && typeof option === 'object' && !isArray(option);
31
+ }
32
+ function isScope($scope) {
33
+ return !!$scope && ($scope instanceof Element || $scope instanceof Document);
34
+ }
26
35
  function formatErrorMessage(Component, message) {
27
36
  return `${Component.moduleName}: ${message}`;
28
37
  }
@@ -30,9 +39,6 @@
30
39
  * @typedef ComponentWithModuleName
31
40
  * @property {string} moduleName - Name of the component
32
41
  */
33
- /**
34
- * @import { ObjectNested } from './configuration.mjs'
35
- */
36
42
 
37
43
  class GOVUKFrontendError extends Error {
38
44
  constructor(...args) {
@@ -44,18 +50,21 @@
44
50
  /**
45
51
  * Checks if GOV.UK Frontend is supported on this page
46
52
  *
47
- * @param {HTMLElement | null} [$scope] - HTML element `<body>` checked for browser support
53
+ * @param {Element | Document | null | string} [scopeOrMessage] - HTML element `<body>` checked for browser support or support error message
48
54
  */
49
- constructor($scope = document.body) {
50
- 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';
51
- super($scope ? supportMessage : 'GOV.UK Frontend initialised without `<script type="module">`');
55
+ constructor(scopeOrMessage = document.body) {
56
+ let 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';
57
+ if (!isScope(scopeOrMessage)) {
58
+ supportMessage = 'GOV.UK Frontend initialised without `<script type="module">`';
59
+ }
60
+ super(typeof scopeOrMessage === 'string' ? scopeOrMessage : supportMessage);
52
61
  this.name = 'SupportError';
53
62
  }
54
63
  }
55
64
  class ElementError extends GOVUKFrontendError {
56
65
  constructor(messageOrOptions) {
57
66
  let message = typeof messageOrOptions === 'string' ? messageOrOptions : '';
58
- if (typeof messageOrOptions === 'object') {
67
+ if (isObject(messageOrOptions)) {
59
68
  const {
60
69
  component,
61
70
  identifier,
@@ -64,7 +73,9 @@
64
73
  } = messageOrOptions;
65
74
  message = identifier;
66
75
  message += element ? ` is not of type ${expectedType != null ? expectedType : 'HTMLElement'}` : ' not found';
67
- message = formatErrorMessage(component, message);
76
+ if (component) {
77
+ message = formatErrorMessage(component, message);
78
+ }
68
79
  }
69
80
  super(message);
70
81
  this.name = 'ElementError';
@@ -81,6 +92,7 @@
81
92
  * @import { ComponentWithModuleName } from '../common/index.mjs'
82
93
  */
83
94
 
95
+ const _self = typeof globalThis !== 'undefined' ? globalThis : self;
84
96
  class Component {
85
97
  /**
86
98
  * Returns the root element of the component
@@ -134,7 +146,7 @@
134
146
  /**
135
147
  * @typedef {typeof Component & ChildClass} ChildClassConstructor
136
148
  */
137
- Component.elementType = HTMLElement;
149
+ Component.elementType = _self.HTMLElement;
138
150
 
139
151
  /**
140
152
  * Checkboxes component
@@ -1 +1 @@
1
- {"version":3,"file":"checkboxes.bundle.js","sources":["../../../../src/govuk/common/index.mjs","../../../../src/govuk/errors/index.mjs","../../../../src/govuk/component.mjs","../../../../src/govuk/components/checkboxes/checkboxes.mjs"],"sourcesContent":["/**\n * Common helpers which do not require polyfill.\n *\n * IMPORTANT: If a helper require a polyfill, please isolate it in its own module\n * so that the polyfill can be properly tree-shaken and does not burden\n * the components that do not need that helper\n */\n\n/**\n * Get hash fragment from URL\n *\n * Extract the hash fragment (everything after the hash) from a URL,\n * but not including the hash symbol\n *\n * @private\n * @param {string} url - URL\n * @returns {string | undefined} Fragment from URL, without the hash\n */\nexport function getFragmentFromUrl(url) {\n if (!url.includes('#')) {\n return undefined\n }\n\n return url.split('#').pop()\n}\n\n/**\n * Get GOV.UK Frontend breakpoint value from CSS custom property\n *\n * @private\n * @param {string} name - Breakpoint name\n * @returns {{ property: string, value?: string }} Breakpoint object\n */\nexport function getBreakpoint(name) {\n const property = `--govuk-frontend-breakpoint-${name}`\n\n // Get value from `<html>` with breakpoints on CSS :root\n const value = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(property)\n\n return {\n property,\n value: value || undefined\n }\n}\n\n/**\n * Move focus to element\n *\n * Sets tabindex to -1 to make the element programmatically focusable,\n * but removes it on blur as the element doesn't need to be focused again.\n *\n * @private\n * @template {HTMLElement} FocusElement\n * @param {FocusElement} $element - HTML element\n * @param {object} [options] - Handler options\n * @param {function(this: FocusElement): void} [options.onBeforeFocus] - Callback before focus\n * @param {function(this: FocusElement): void} [options.onBlur] - Callback on blur\n */\nexport function setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute('tabindex')\n\n if (!isFocusable) {\n $element.setAttribute('tabindex', '-1')\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener('blur', onBlur, { once: true })\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element)\n\n if (!isFocusable) {\n $element.removeAttribute('tabindex')\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener('focus', onFocus, { once: true })\n\n // Focus element\n options.onBeforeFocus?.call($element)\n $element.focus()\n}\n\n/**\n * Checks if component is already initialised\n *\n * @internal\n * @param {Element} $root - HTML element to be checked\n * @param {string} moduleName - name of component module\n * @returns {boolean} Whether component is already initialised\n */\nexport function isInitialised($root, moduleName) {\n return (\n $root instanceof HTMLElement &&\n $root.hasAttribute(`data-${moduleName}-init`)\n )\n}\n\n/**\n * Checks if GOV.UK Frontend is supported on this page\n *\n * Some browsers will load and run our JavaScript but GOV.UK Frontend\n * won't be supported.\n *\n * @param {HTMLElement | null} [$scope] - (internal) `<body>` HTML element checked for browser support\n * @returns {boolean} Whether GOV.UK Frontend is supported on this page\n */\nexport function isSupported($scope = document.body) {\n if (!$scope) {\n return false\n }\n\n return $scope.classList.contains('govuk-frontend-supported')\n}\n\n/**\n * Check for an array\n *\n * @internal\n * @param {unknown} option - Option to check\n * @returns {boolean} Whether the option is an array\n */\nfunction isArray(option) {\n return Array.isArray(option)\n}\n\n/**\n * Check for an object\n *\n * @internal\n * @template {Partial<Record<keyof ObjectType, unknown>>} [ObjectType=ObjectNested]\n * @param {unknown | ObjectType} option - Option to check\n * @returns {option is ObjectType} Whether the option is an object\n */\nexport function isObject(option) {\n return !!option && typeof option === 'object' && !isArray(option)\n}\n\n/**\n * Format error message\n *\n * @internal\n * @param {ComponentWithModuleName} Component - Component that threw the error\n * @param {string} message - Error message\n * @returns {string} - Formatted error message\n */\nexport function formatErrorMessage(Component, message) {\n return `${Component.moduleName}: ${message}`\n}\n\n/* eslint-disable jsdoc/valid-types --\n * `{new(...args: any[] ): object}` is not recognised as valid\n * https://github.com/gajus/eslint-plugin-jsdoc/issues/145#issuecomment-1308722878\n * https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/131\n **/\n\n/**\n * @typedef ComponentWithModuleName\n * @property {string} moduleName - Name of the component\n */\n\n/* eslint-enable jsdoc/valid-types */\n\n/**\n * @import { ObjectNested } from './configuration.mjs'\n */\n","import { formatErrorMessage } from '../common/index.mjs'\n\n/**\n * GOV.UK Frontend error\n *\n * A base class for `Error`s thrown by GOV.UK Frontend.\n *\n * It is meant to be extended into specific types of errors\n * to be thrown by our code.\n *\n * @example\n * ```js\n * class MissingRootError extends GOVUKFrontendError {\n * // Setting an explicit name is important as extending the class will not\n * // set a new `name` on the subclass. The `name` property is important\n * // to ensure intelligible error names even if the class name gets\n * // mangled by a minifier\n * name = \"MissingRootError\"\n * }\n * ```\n * @virtual\n */\nexport class GOVUKFrontendError extends Error {\n name = 'GOVUKFrontendError'\n}\n\n/**\n * Indicates that GOV.UK Frontend is not supported\n */\nexport class SupportError extends GOVUKFrontendError {\n name = 'SupportError'\n\n /**\n * Checks if GOV.UK Frontend is supported on this page\n *\n * @param {HTMLElement | null} [$scope] - HTML element `<body>` checked for browser support\n */\n constructor($scope = document.body) {\n const supportMessage =\n 'noModule' in HTMLScriptElement.prototype\n ? 'GOV.UK Frontend initialised without `<body class=\"govuk-frontend-supported\">` from template `<script>` snippet'\n : 'GOV.UK Frontend is not supported in this browser'\n\n super(\n $scope\n ? supportMessage\n : 'GOV.UK Frontend initialised without `<script type=\"module\">`'\n )\n }\n}\n\n/**\n * Indicates that a component has received an illegal configuration\n */\nexport class ConfigError extends GOVUKFrontendError {\n name = 'ConfigError'\n}\n\n/**\n * Indicates an issue with an element (possibly `null` or `undefined`)\n */\nexport class ElementError extends GOVUKFrontendError {\n name = 'ElementError'\n\n /**\n * @internal\n * @overload\n * @param {string} message - Element error message\n */\n\n /**\n * @internal\n * @overload\n * @param {ElementErrorOptions} options - Element error options\n */\n\n /**\n * @internal\n * @param {string | ElementErrorOptions} messageOrOptions - Element error message or options\n */\n constructor(messageOrOptions) {\n let message = typeof messageOrOptions === 'string' ? messageOrOptions : ''\n\n // Build message from options\n if (typeof messageOrOptions === 'object') {\n const { component, identifier, element, expectedType } = messageOrOptions\n\n message = identifier\n\n // Append reason\n message += element\n ? ` is not of type ${expectedType ?? 'HTMLElement'}`\n : ' not found'\n\n message = formatErrorMessage(component, message)\n }\n\n super(message)\n }\n}\n\n/**\n * Indicates that a component is already initialised\n */\nexport class InitError extends GOVUKFrontendError {\n name = 'InitError'\n\n /**\n * @internal\n * @param {ComponentWithModuleName | string} componentOrMessage - name of the component module\n */\n constructor(componentOrMessage) {\n const message =\n typeof componentOrMessage === 'string'\n ? componentOrMessage\n : formatErrorMessage(\n componentOrMessage,\n `Root element (\\`$root\\`) already initialised`\n )\n\n super(message)\n }\n}\n\n/**\n * Element error options\n *\n * @internal\n * @typedef {object} ElementErrorOptions\n * @property {string} identifier - An identifier that'll let the user understand which element has an error. This is whatever makes the most sense\n * @property {Element | null} [element] - The element in error\n * @property {string} [expectedType] - The type that was expected for the identifier\n * @property {ComponentWithModuleName} component - Component throwing the error\n */\n\n/**\n * @import { ComponentWithModuleName } from '../common/index.mjs'\n */\n","import { isInitialised, isSupported } from './common/index.mjs'\nimport { ElementError, InitError, SupportError } from './errors/index.mjs'\n\n/**\n * Base Component class\n *\n * Centralises the behaviours shared by our components\n *\n * @virtual\n * @template {Element} [RootElementType=HTMLElement]\n */\nexport class Component {\n /**\n * @type {typeof Element}\n */\n static elementType = HTMLElement\n\n // allows Typescript user to work around the lack of types\n // in GOVUKFrontend package, Typescript is not aware of $root\n // in components that extend GOVUKFrontendComponent\n /**\n * Returns the root element of the component\n *\n * @protected\n * @returns {RootElementType} - the root element of component\n */\n get $root() {\n return this._$root\n }\n\n /**\n * @protected\n * @type {RootElementType}\n */\n _$root\n\n /**\n * Constructs a new component, validating that GOV.UK Frontend is supported\n *\n * @internal\n * @param {Element | null} [$root] - HTML element to use for component\n */\n constructor($root) {\n const childConstructor = /** @type {ChildClassConstructor} */ (\n this.constructor\n )\n\n // TypeScript does not enforce that inheriting classes will define a `moduleName`\n // (even if we add a `@virtual` `static moduleName` property to this class).\n // While we trust users to do this correctly, we do a little check to provide them\n // a helpful error message.\n //\n // After this, we'll be sure that `childConstructor` has a `moduleName`\n // as expected of the `ChildClassConstructor` we've cast `this.constructor` to.\n if (typeof childConstructor.moduleName !== 'string') {\n throw new InitError(`\\`moduleName\\` not defined in component`)\n }\n\n if (!($root instanceof childConstructor.elementType)) {\n throw new ElementError({\n element: $root,\n component: childConstructor,\n identifier: 'Root element (`$root`)',\n expectedType: childConstructor.elementType.name\n })\n } else {\n this._$root = /** @type {RootElementType} */ ($root)\n }\n\n childConstructor.checkSupport()\n\n this.checkInitialised()\n\n const moduleName = childConstructor.moduleName\n\n this.$root.setAttribute(`data-${moduleName}-init`, '')\n }\n\n /**\n * Validates whether component is already initialised\n *\n * @private\n * @throws {InitError} when component is already initialised\n */\n checkInitialised() {\n const constructor = /** @type {ChildClassConstructor} */ (this.constructor)\n const moduleName = constructor.moduleName\n\n if (moduleName && isInitialised(this.$root, moduleName)) {\n throw new InitError(constructor)\n }\n }\n\n /**\n * Validates whether components are supported\n *\n * @throws {SupportError} when the components are not supported\n */\n static checkSupport() {\n if (!isSupported()) {\n throw new SupportError()\n }\n }\n}\n\n/**\n * @typedef ChildClass\n * @property {string} moduleName - The module name that'll be looked for in the DOM when initialising the component\n */\n\n/**\n * @typedef {typeof Component & ChildClass} ChildClassConstructor\n */\n","import { Component } from '../../component.mjs'\nimport { ElementError } from '../../errors/index.mjs'\n\n/**\n * Checkboxes component\n *\n * @preserve\n */\nexport class Checkboxes extends Component {\n /** @private */\n $inputs\n\n /**\n * Checkboxes can be associated with a 'conditionally revealed' content block\n * – for example, a checkbox for 'Phone' could reveal an additional form field\n * for the user to enter their phone number.\n *\n * These associations are made using a `data-aria-controls` attribute, which\n * is promoted to an aria-controls attribute during initialisation.\n *\n * We also need to restore the state of any conditional reveals on the page\n * (for example if the user has navigated back), and set up event handlers to\n * keep the reveal in sync with the checkbox state.\n *\n * @param {Element | null} $root - HTML element to use for checkboxes\n */\n constructor($root) {\n super($root)\n\n const $inputs = this.$root.querySelectorAll('input[type=\"checkbox\"]')\n if (!$inputs.length) {\n throw new ElementError({\n component: Checkboxes,\n identifier: 'Form inputs (`<input type=\"checkbox\">`)'\n })\n }\n\n this.$inputs = $inputs\n\n this.$inputs.forEach(($input) => {\n const targetId = $input.getAttribute('data-aria-controls')\n\n // Skip radios without data-aria-controls attributes\n if (!targetId) {\n return\n }\n\n // Throw if target conditional element does not exist.\n if (!document.getElementById(targetId)) {\n throw new ElementError({\n component: Checkboxes,\n identifier: `Conditional reveal (\\`id=\"${targetId}\"\\`)`\n })\n }\n\n // Promote the data-aria-controls attribute to a aria-controls attribute\n // so that the relationship is exposed in the AOM\n $input.setAttribute('aria-controls', targetId)\n $input.removeAttribute('data-aria-controls')\n })\n\n // When the page is restored after navigating 'back' in some browsers the\n // state of form controls is not restored until *after* the DOMContentLoaded\n // event is fired, so we need to sync after the pageshow event.\n window.addEventListener('pageshow', () => this.syncAllConditionalReveals())\n\n // Although we've set up handlers to sync state on the pageshow event, init\n // could be called after those events have fired, for example if they are\n // added to the page dynamically, so sync now too.\n this.syncAllConditionalReveals()\n\n // Handle events\n this.$root.addEventListener('click', (event) => this.handleClick(event))\n }\n\n /**\n * Sync the conditional reveal states for all checkboxes in this component.\n *\n * @private\n */\n syncAllConditionalReveals() {\n this.$inputs.forEach(($input) =>\n this.syncConditionalRevealWithInputState($input)\n )\n }\n\n /**\n * Sync conditional reveal with the input state\n *\n * Synchronise the visibility of the conditional reveal, and its accessible\n * state, with the input's checked state.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n syncConditionalRevealWithInputState($input) {\n const targetId = $input.getAttribute('aria-controls')\n if (!targetId) {\n return\n }\n\n const $target = document.getElementById(targetId)\n if ($target?.classList.contains('govuk-checkboxes__conditional')) {\n const inputIsChecked = $input.checked\n\n $input.setAttribute('aria-expanded', inputIsChecked.toString())\n $target.classList.toggle(\n 'govuk-checkboxes__conditional--hidden',\n !inputIsChecked\n )\n }\n }\n\n /**\n * Uncheck other checkboxes\n *\n * Find any other checkbox inputs with the same name value, and uncheck them.\n * This is useful for when a “None of these\" checkbox is checked.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n unCheckAllInputsExcept($input) {\n const allInputsWithSameName = document.querySelectorAll(\n `input[type=\"checkbox\"][name=\"${$input.name}\"]`\n )\n\n allInputsWithSameName.forEach(($inputWithSameName) => {\n const hasSameFormOwner = $input.form === $inputWithSameName.form\n if (hasSameFormOwner && $inputWithSameName !== $input) {\n $inputWithSameName.checked = false\n this.syncConditionalRevealWithInputState($inputWithSameName)\n }\n })\n }\n\n /**\n * Uncheck exclusive checkboxes\n *\n * Find any checkbox inputs with the same name value and the 'exclusive'\n * behaviour, and uncheck them. This helps prevent someone checking both a\n * regular checkbox and a \"None of these\" checkbox in the same fieldset.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n unCheckExclusiveInputs($input) {\n const allInputsWithSameNameAndExclusiveBehaviour =\n document.querySelectorAll(\n `input[data-behaviour=\"exclusive\"][type=\"checkbox\"][name=\"${$input.name}\"]`\n )\n\n allInputsWithSameNameAndExclusiveBehaviour.forEach(($exclusiveInput) => {\n const hasSameFormOwner = $input.form === $exclusiveInput.form\n if (hasSameFormOwner) {\n $exclusiveInput.checked = false\n this.syncConditionalRevealWithInputState($exclusiveInput)\n }\n })\n }\n\n /**\n * Click event handler\n *\n * Handle a click within the component root – if the click occurred on a checkbox,\n * sync the state of any associated conditional reveal with the checkbox\n * state.\n *\n * @private\n * @param {MouseEvent} event - Click event\n */\n handleClick(event) {\n const $clickedInput = event.target\n\n // Ignore clicks on things that aren't checkbox inputs\n if (\n !($clickedInput instanceof HTMLInputElement) ||\n $clickedInput.type !== 'checkbox'\n ) {\n return\n }\n\n // If the checkbox conditionally-reveals some content, sync the state\n const hasAriaControls = $clickedInput.getAttribute('aria-controls')\n if (hasAriaControls) {\n this.syncConditionalRevealWithInputState($clickedInput)\n }\n\n // No further behaviour needed for unchecking\n if (!$clickedInput.checked) {\n return\n }\n\n // Handle 'exclusive' checkbox behaviour (ie \"None of these\")\n const hasBehaviourExclusive =\n $clickedInput.getAttribute('data-behaviour') === 'exclusive'\n if (hasBehaviourExclusive) {\n this.unCheckAllInputsExcept($clickedInput)\n } else {\n this.unCheckExclusiveInputs($clickedInput)\n }\n }\n\n /**\n * Name for the component used when initialising using data-module attributes.\n */\n static moduleName = 'govuk-checkboxes'\n}\n"],"names":["isInitialised","$root","moduleName","HTMLElement","hasAttribute","isSupported","$scope","document","body","classList","contains","formatErrorMessage","Component","message","GOVUKFrontendError","Error","constructor","args","name","SupportError","supportMessage","HTMLScriptElement","prototype","ElementError","messageOrOptions","component","identifier","element","expectedType","InitError","componentOrMessage","_$root","childConstructor","elementType","checkSupport","checkInitialised","setAttribute","Checkboxes","$inputs","querySelectorAll","length","forEach","$input","targetId","getAttribute","getElementById","removeAttribute","window","addEventListener","syncAllConditionalReveals","event","handleClick","syncConditionalRevealWithInputState","$target","inputIsChecked","checked","toString","toggle","unCheckAllInputsExcept","allInputsWithSameName","$inputWithSameName","hasSameFormOwner","form","unCheckExclusiveInputs","allInputsWithSameNameAndExclusiveBehaviour","$exclusiveInput","$clickedInput","target","HTMLInputElement","type","hasAriaControls","hasBehaviourExclusive"],"mappings":"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"}
1
+ {"version":3,"file":"checkboxes.bundle.js","sources":["../../../../src/govuk/common/index.mjs","../../../../src/govuk/errors/index.mjs","../../../../src/govuk/component.mjs","../../../../src/govuk/components/checkboxes/checkboxes.mjs"],"sourcesContent":["/**\n * Common helpers which do not require polyfill.\n *\n * IMPORTANT: If a helper require a polyfill, please isolate it in its own module\n * so that the polyfill can be properly tree-shaken and does not burden\n * the components that do not need that helper\n */\n\n/**\n * Get GOV.UK Frontend breakpoint value from CSS custom property\n *\n * @private\n * @param {string} name - Breakpoint name\n * @returns {{ property: string, value?: string }} Breakpoint object\n */\nexport function getBreakpoint(name) {\n const property = `--govuk-breakpoint-${name}`\n\n // Get value from `<html>` with breakpoints on CSS :root\n const value = window\n .getComputedStyle(document.documentElement)\n .getPropertyValue(property)\n\n return {\n property,\n value: value || undefined\n }\n}\n\n/**\n * Move focus to element\n *\n * Sets tabindex to -1 to make the element programmatically focusable,\n * but removes it on blur as the element doesn't need to be focused again.\n *\n * @private\n * @template {HTMLElement} FocusElement\n * @param {FocusElement} $element - HTML element\n * @param {object} [options] - Handler options\n * @param {function(this: FocusElement): void} [options.onBeforeFocus] - Callback before focus\n * @param {function(this: FocusElement): void} [options.onBlur] - Callback on blur\n */\nexport function setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute('tabindex')\n\n if (!isFocusable) {\n $element.setAttribute('tabindex', '-1')\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener('blur', onBlur, { once: true })\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element)\n\n if (!isFocusable) {\n $element.removeAttribute('tabindex')\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener('focus', onFocus, { once: true })\n\n // Focus element\n options.onBeforeFocus?.call($element)\n $element.focus()\n}\n\n/**\n * Checks if component is already initialised\n *\n * @internal\n * @param {Element} $root - HTML element to be checked\n * @param {string} moduleName - name of component module\n * @returns {boolean} Whether component is already initialised\n */\nexport function isInitialised($root, moduleName) {\n return (\n $root instanceof HTMLElement &&\n $root.hasAttribute(`data-${moduleName}-init`)\n )\n}\n\n/**\n * Checks if GOV.UK Frontend is supported on this page\n *\n * Some browsers will load and run our JavaScript but GOV.UK Frontend\n * won't be supported.\n *\n * @param {HTMLElement | null} [$scope] - (internal) `<body>` HTML element checked for browser support\n * @returns {boolean} Whether GOV.UK Frontend is supported on this page\n */\nexport function isSupported($scope = document.body) {\n if (!$scope) {\n return false\n }\n\n return $scope.classList.contains('govuk-frontend-supported')\n}\n\n/**\n * Check for an array\n *\n * @internal\n * @param {unknown} option - Option to check\n * @returns {boolean} Whether the option is an array\n */\nfunction isArray(option) {\n return Array.isArray(option)\n}\n\n/**\n * Check for an object\n *\n * @internal\n * @template {Partial<Record<keyof ObjectType, unknown>>} ObjectType\n * @param {unknown | ObjectType} option - Option to check\n * @returns {option is ObjectType} Whether the option is an object\n */\nexport function isObject(option) {\n return !!option && typeof option === 'object' && !isArray(option)\n}\n\n/**\n * Check for valid scope\n *\n * @internal\n * @template {Element | Document} ScopeType\n * @param {unknown | ScopeType} $scope - Scope of the document to search within\n * @returns {$scope is ScopeType} Whether the scope can be queried\n */\nexport function isScope($scope) {\n return !!$scope && ($scope instanceof Element || $scope instanceof Document)\n}\n\n/**\n * Format error message\n *\n * @internal\n * @param {ComponentWithModuleName} Component - Component that threw the error\n * @param {string} message - Error message\n * @returns {string} - Formatted error message\n */\nexport function formatErrorMessage(Component, message) {\n return `${Component.moduleName}: ${message}`\n}\n\n/* eslint-disable jsdoc/valid-types --\n * `{new(...args: any[] ): object}` is not recognised as valid\n * https://github.com/gajus/eslint-plugin-jsdoc/issues/145#issuecomment-1308722878\n * https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/131\n **/\n\n/**\n * @typedef ComponentWithModuleName\n * @property {string} moduleName - Name of the component\n */\n\n/* eslint-enable jsdoc/valid-types */\n","import { formatErrorMessage, isObject, isScope } from '../common/index.mjs'\n\n/**\n * GOV.UK Frontend error\n *\n * A base class for `Error`s thrown by GOV.UK Frontend.\n *\n * It is meant to be extended into specific types of errors\n * to be thrown by our code.\n *\n * @example\n * ```js\n * class MissingRootError extends GOVUKFrontendError {\n * // Setting an explicit name is important as extending the class will not\n * // set a new `name` on the subclass. The `name` property is important\n * // to ensure intelligible error names even if the class name gets\n * // mangled by a minifier\n * name = \"MissingRootError\"\n * }\n * ```\n * @virtual\n */\nexport class GOVUKFrontendError extends Error {\n name = 'GOVUKFrontendError'\n}\n\n/**\n * Indicates that GOV.UK Frontend is not supported\n */\nexport class SupportError extends GOVUKFrontendError {\n name = 'SupportError'\n\n /**\n * Checks if GOV.UK Frontend is supported on this page\n *\n * @param {Element | Document | null | string} [scopeOrMessage] - HTML element `<body>` checked for browser support or support error message\n */\n constructor(scopeOrMessage = document.body) {\n let supportMessage =\n 'noModule' in HTMLScriptElement.prototype\n ? 'GOV.UK Frontend initialised without `<body class=\"govuk-frontend-supported\">` from template `<script>` snippet'\n : 'GOV.UK Frontend is not supported in this browser'\n\n if (!isScope(scopeOrMessage)) {\n supportMessage =\n 'GOV.UK Frontend initialised without `<script type=\"module\">`'\n }\n\n super(typeof scopeOrMessage === 'string' ? scopeOrMessage : supportMessage)\n }\n}\n\n/**\n * Indicates that a component has received an illegal configuration\n */\nexport class ConfigError extends GOVUKFrontendError {\n name = 'ConfigError'\n}\n\n/**\n * Indicates an issue with an element (possibly `null` or `undefined`)\n */\nexport class ElementError extends GOVUKFrontendError {\n name = 'ElementError'\n\n /**\n * @internal\n * @overload\n * @param {string} message - Element error message\n */\n\n /**\n * @internal\n * @overload\n * @param {ElementErrorOptions} options - Element error options\n */\n\n /**\n * @internal\n * @param {string | ElementErrorOptions} messageOrOptions - Element error message or options\n */\n constructor(messageOrOptions) {\n let message = typeof messageOrOptions === 'string' ? messageOrOptions : ''\n\n // Build message from options\n if (isObject(messageOrOptions)) {\n const { component, identifier, element, expectedType } = messageOrOptions\n\n message = identifier\n\n // Append reason\n message += element\n ? ` is not of type ${expectedType ?? 'HTMLElement'}`\n : ' not found'\n\n // Prepend with module name (optional)\n if (component) {\n message = formatErrorMessage(component, message)\n }\n }\n\n super(message)\n }\n}\n\n/**\n * Indicates that a component is already initialised\n */\nexport class InitError extends GOVUKFrontendError {\n name = 'InitError'\n\n /**\n * @internal\n * @param {ComponentWithModuleName | string} componentOrMessage - name of the component module\n */\n constructor(componentOrMessage) {\n const message =\n typeof componentOrMessage === 'string'\n ? componentOrMessage\n : formatErrorMessage(\n componentOrMessage,\n `Root element (\\`$root\\`) already initialised`\n )\n\n super(message)\n }\n}\n\n/**\n * Element error options\n *\n * @internal\n * @typedef {object} ElementErrorOptions\n * @property {Element | Document | null} [element] - The element in error (optional)\n * @property {ComponentWithModuleName} [component] - Component throwing the error (optional)\n * @property {string} identifier - An identifier that'll let the user understand which element has an error. This is whatever makes the most sense\n * @property {string} [expectedType] - The type that was expected for the identifier (optional)\n */\n\n/**\n * @import { ComponentWithModuleName } from '../common/index.mjs'\n */\n","/* eslint-disable es-x/no-global-this */\n\nimport { isInitialised, isSupported } from './common/index.mjs'\nimport { ElementError, InitError, SupportError } from './errors/index.mjs'\n\nconst _self =\n typeof globalThis !== 'undefined'\n ? globalThis // Modern browsers, Node.js\n : self // Old browsers, web workers\n\n/**\n * Base Component class\n *\n * Centralises the behaviours shared by our components\n *\n * @virtual\n * @template {Element} [RootElementType=HTMLElement]\n */\nexport class Component {\n /**\n * @type {typeof Element}\n */\n static elementType = _self.HTMLElement\n\n // allows Typescript user to work around the lack of types\n // in GOVUKFrontend package, Typescript is not aware of $root\n // in components that extend GOVUKFrontendComponent\n /**\n * Returns the root element of the component\n *\n * @protected\n * @returns {RootElementType} - the root element of component\n */\n get $root() {\n return this._$root\n }\n\n /**\n * @protected\n * @type {RootElementType}\n */\n _$root\n\n /**\n * Constructs a new component, validating that GOV.UK Frontend is supported\n *\n * @internal\n * @param {Element | null} [$root] - HTML element to use for component\n */\n constructor($root) {\n const childConstructor = /** @type {ChildClassConstructor} */ (\n this.constructor\n )\n\n // TypeScript does not enforce that inheriting classes will define a `moduleName`\n // (even if we add a `@virtual` `static moduleName` property to this class).\n // While we trust users to do this correctly, we do a little check to provide them\n // a helpful error message.\n //\n // After this, we'll be sure that `childConstructor` has a `moduleName`\n // as expected of the `ChildClassConstructor` we've cast `this.constructor` to.\n if (typeof childConstructor.moduleName !== 'string') {\n throw new InitError(`\\`moduleName\\` not defined in component`)\n }\n\n if (!($root instanceof childConstructor.elementType)) {\n throw new ElementError({\n element: $root,\n component: childConstructor,\n identifier: 'Root element (`$root`)',\n expectedType: childConstructor.elementType.name\n })\n } else {\n this._$root = /** @type {RootElementType} */ ($root)\n }\n\n childConstructor.checkSupport()\n\n this.checkInitialised()\n\n const moduleName = childConstructor.moduleName\n\n this.$root.setAttribute(`data-${moduleName}-init`, '')\n }\n\n /**\n * Validates whether component is already initialised\n *\n * @private\n * @throws {InitError} when component is already initialised\n */\n checkInitialised() {\n const constructor = /** @type {ChildClassConstructor} */ (this.constructor)\n const moduleName = constructor.moduleName\n\n if (moduleName && isInitialised(this.$root, moduleName)) {\n throw new InitError(constructor)\n }\n }\n\n /**\n * Validates whether components are supported\n *\n * @throws {SupportError} when the components are not supported\n */\n static checkSupport() {\n if (!isSupported()) {\n throw new SupportError()\n }\n }\n}\n\n/**\n * @typedef ChildClass\n * @property {string} moduleName - The module name that'll be looked for in the DOM when initialising the component\n */\n\n/**\n * @typedef {typeof Component & ChildClass} ChildClassConstructor\n */\n","import { Component } from '../../component.mjs'\nimport { ElementError } from '../../errors/index.mjs'\n\n/**\n * Checkboxes component\n *\n * @preserve\n */\nexport class Checkboxes extends Component {\n /** @private */\n $inputs\n\n /**\n * Checkboxes can be associated with a 'conditionally revealed' content block\n * – for example, a checkbox for 'Phone' could reveal an additional form field\n * for the user to enter their phone number.\n *\n * These associations are made using a `data-aria-controls` attribute, which\n * is promoted to an aria-controls attribute during initialisation.\n *\n * We also need to restore the state of any conditional reveals on the page\n * (for example if the user has navigated back), and set up event handlers to\n * keep the reveal in sync with the checkbox state.\n *\n * @param {Element | null} $root - HTML element to use for checkboxes\n */\n constructor($root) {\n super($root)\n\n const $inputs = this.$root.querySelectorAll('input[type=\"checkbox\"]')\n if (!$inputs.length) {\n throw new ElementError({\n component: Checkboxes,\n identifier: 'Form inputs (`<input type=\"checkbox\">`)'\n })\n }\n\n this.$inputs = $inputs\n\n this.$inputs.forEach(($input) => {\n const targetId = $input.getAttribute('data-aria-controls')\n\n // Skip radios without data-aria-controls attributes\n if (!targetId) {\n return\n }\n\n // Throw if target conditional element does not exist.\n if (!document.getElementById(targetId)) {\n throw new ElementError({\n component: Checkboxes,\n identifier: `Conditional reveal (\\`id=\"${targetId}\"\\`)`\n })\n }\n\n // Promote the data-aria-controls attribute to a aria-controls attribute\n // so that the relationship is exposed in the AOM\n $input.setAttribute('aria-controls', targetId)\n $input.removeAttribute('data-aria-controls')\n })\n\n // When the page is restored after navigating 'back' in some browsers the\n // state of form controls is not restored until *after* the DOMContentLoaded\n // event is fired, so we need to sync after the pageshow event.\n window.addEventListener('pageshow', () => this.syncAllConditionalReveals())\n\n // Although we've set up handlers to sync state on the pageshow event, init\n // could be called after those events have fired, for example if they are\n // added to the page dynamically, so sync now too.\n this.syncAllConditionalReveals()\n\n // Handle events\n this.$root.addEventListener('click', (event) => this.handleClick(event))\n }\n\n /**\n * Sync the conditional reveal states for all checkboxes in this component.\n *\n * @private\n */\n syncAllConditionalReveals() {\n this.$inputs.forEach(($input) =>\n this.syncConditionalRevealWithInputState($input)\n )\n }\n\n /**\n * Sync conditional reveal with the input state\n *\n * Synchronise the visibility of the conditional reveal, and its accessible\n * state, with the input's checked state.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n syncConditionalRevealWithInputState($input) {\n const targetId = $input.getAttribute('aria-controls')\n if (!targetId) {\n return\n }\n\n const $target = document.getElementById(targetId)\n if ($target?.classList.contains('govuk-checkboxes__conditional')) {\n const inputIsChecked = $input.checked\n\n $input.setAttribute('aria-expanded', inputIsChecked.toString())\n $target.classList.toggle(\n 'govuk-checkboxes__conditional--hidden',\n !inputIsChecked\n )\n }\n }\n\n /**\n * Uncheck other checkboxes\n *\n * Find any other checkbox inputs with the same name value, and uncheck them.\n * This is useful for when a “None of these\" checkbox is checked.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n unCheckAllInputsExcept($input) {\n const allInputsWithSameName = document.querySelectorAll(\n `input[type=\"checkbox\"][name=\"${$input.name}\"]`\n )\n\n allInputsWithSameName.forEach(($inputWithSameName) => {\n const hasSameFormOwner = $input.form === $inputWithSameName.form\n if (hasSameFormOwner && $inputWithSameName !== $input) {\n $inputWithSameName.checked = false\n this.syncConditionalRevealWithInputState($inputWithSameName)\n }\n })\n }\n\n /**\n * Uncheck exclusive checkboxes\n *\n * Find any checkbox inputs with the same name value and the 'exclusive'\n * behaviour, and uncheck them. This helps prevent someone checking both a\n * regular checkbox and a \"None of these\" checkbox in the same fieldset.\n *\n * @private\n * @param {HTMLInputElement} $input - Checkbox input\n */\n unCheckExclusiveInputs($input) {\n const allInputsWithSameNameAndExclusiveBehaviour =\n document.querySelectorAll(\n `input[data-behaviour=\"exclusive\"][type=\"checkbox\"][name=\"${$input.name}\"]`\n )\n\n allInputsWithSameNameAndExclusiveBehaviour.forEach(($exclusiveInput) => {\n const hasSameFormOwner = $input.form === $exclusiveInput.form\n if (hasSameFormOwner) {\n $exclusiveInput.checked = false\n this.syncConditionalRevealWithInputState($exclusiveInput)\n }\n })\n }\n\n /**\n * Click event handler\n *\n * Handle a click within the component root – if the click occurred on a checkbox,\n * sync the state of any associated conditional reveal with the checkbox\n * state.\n *\n * @private\n * @param {MouseEvent} event - Click event\n */\n handleClick(event) {\n const $clickedInput = event.target\n\n // Ignore clicks on things that aren't checkbox inputs\n if (\n !($clickedInput instanceof HTMLInputElement) ||\n $clickedInput.type !== 'checkbox'\n ) {\n return\n }\n\n // If the checkbox conditionally-reveals some content, sync the state\n const hasAriaControls = $clickedInput.getAttribute('aria-controls')\n if (hasAriaControls) {\n this.syncConditionalRevealWithInputState($clickedInput)\n }\n\n // No further behaviour needed for unchecking\n if (!$clickedInput.checked) {\n return\n }\n\n // Handle 'exclusive' checkbox behaviour (ie \"None of these\")\n const hasBehaviourExclusive =\n $clickedInput.getAttribute('data-behaviour') === 'exclusive'\n if (hasBehaviourExclusive) {\n this.unCheckAllInputsExcept($clickedInput)\n } else {\n this.unCheckExclusiveInputs($clickedInput)\n }\n }\n\n /**\n * Name for the component used when initialising using data-module attributes.\n */\n static moduleName = 'govuk-checkboxes'\n}\n"],"names":["isInitialised","$root","moduleName","HTMLElement","hasAttribute","isSupported","$scope","document","body","classList","contains","isArray","option","Array","isObject","isScope","Element","Document","formatErrorMessage","Component","message","GOVUKFrontendError","Error","constructor","args","name","SupportError","scopeOrMessage","supportMessage","HTMLScriptElement","prototype","ElementError","messageOrOptions","component","identifier","element","expectedType","InitError","componentOrMessage","_self","globalThis","self","_$root","childConstructor","elementType","checkSupport","checkInitialised","setAttribute","Checkboxes","$inputs","querySelectorAll","length","forEach","$input","targetId","getAttribute","getElementById","removeAttribute","window","addEventListener","syncAllConditionalReveals","event","handleClick","syncConditionalRevealWithInputState","$target","inputIsChecked","checked","toString","toggle","unCheckAllInputsExcept","allInputsWithSameName","$inputWithSameName","hasSameFormOwner","form","unCheckExclusiveInputs","allInputsWithSameNameAndExclusiveBehaviour","$exclusiveInput","$clickedInput","target","HTMLInputElement","type","hasAriaControls","hasBehaviourExclusive"],"mappings":"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"}
@@ -17,6 +17,15 @@ function isSupported($scope = document.body) {
17
17
  }
18
18
  return $scope.classList.contains('govuk-frontend-supported');
19
19
  }
20
+ function isArray(option) {
21
+ return Array.isArray(option);
22
+ }
23
+ function isObject(option) {
24
+ return !!option && typeof option === 'object' && !isArray(option);
25
+ }
26
+ function isScope($scope) {
27
+ return !!$scope && ($scope instanceof Element || $scope instanceof Document);
28
+ }
20
29
  function formatErrorMessage(Component, message) {
21
30
  return `${Component.moduleName}: ${message}`;
22
31
  }
@@ -24,9 +33,6 @@ function formatErrorMessage(Component, message) {
24
33
  * @typedef ComponentWithModuleName
25
34
  * @property {string} moduleName - Name of the component
26
35
  */
27
- /**
28
- * @import { ObjectNested } from './configuration.mjs'
29
- */
30
36
 
31
37
  class GOVUKFrontendError extends Error {
32
38
  constructor(...args) {
@@ -38,18 +44,21 @@ class SupportError extends GOVUKFrontendError {
38
44
  /**
39
45
  * Checks if GOV.UK Frontend is supported on this page
40
46
  *
41
- * @param {HTMLElement | null} [$scope] - HTML element `<body>` checked for browser support
47
+ * @param {Element | Document | null | string} [scopeOrMessage] - HTML element `<body>` checked for browser support or support error message
42
48
  */
43
- constructor($scope = document.body) {
44
- 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';
45
- super($scope ? supportMessage : 'GOV.UK Frontend initialised without `<script type="module">`');
49
+ constructor(scopeOrMessage = document.body) {
50
+ let 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';
51
+ if (!isScope(scopeOrMessage)) {
52
+ supportMessage = 'GOV.UK Frontend initialised without `<script type="module">`';
53
+ }
54
+ super(typeof scopeOrMessage === 'string' ? scopeOrMessage : supportMessage);
46
55
  this.name = 'SupportError';
47
56
  }
48
57
  }
49
58
  class ElementError extends GOVUKFrontendError {
50
59
  constructor(messageOrOptions) {
51
60
  let message = typeof messageOrOptions === 'string' ? messageOrOptions : '';
52
- if (typeof messageOrOptions === 'object') {
61
+ if (isObject(messageOrOptions)) {
53
62
  const {
54
63
  component,
55
64
  identifier,
@@ -58,7 +67,9 @@ class ElementError extends GOVUKFrontendError {
58
67
  } = messageOrOptions;
59
68
  message = identifier;
60
69
  message += element ? ` is not of type ${expectedType != null ? expectedType : 'HTMLElement'}` : ' not found';
61
- message = formatErrorMessage(component, message);
70
+ if (component) {
71
+ message = formatErrorMessage(component, message);
72
+ }
62
73
  }
63
74
  super(message);
64
75
  this.name = 'ElementError';
@@ -75,6 +86,7 @@ class InitError extends GOVUKFrontendError {
75
86
  * @import { ComponentWithModuleName } from '../common/index.mjs'
76
87
  */
77
88
 
89
+ const _self = typeof globalThis !== 'undefined' ? globalThis : self;
78
90
  class Component {
79
91
  /**
80
92
  * Returns the root element of the component
@@ -128,7 +140,7 @@ class Component {
128
140
  /**
129
141
  * @typedef {typeof Component & ChildClass} ChildClassConstructor
130
142
  */
131
- Component.elementType = HTMLElement;
143
+ Component.elementType = _self.HTMLElement;
132
144
 
133
145
  /**
134
146
  * Checkboxes component