govuk_tech_docs 3.4.5 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (327) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/publish.yaml +8 -4
  3. data/.github/workflows/test.yaml +11 -4
  4. data/.rubocop.yml +1 -1
  5. data/CHANGELOG.md +22 -1
  6. data/example/.ruby-version +1 -1
  7. data/example/source/javascripts/govuk_frontend.js +1 -0
  8. data/govuk_tech_docs.gemspec +17 -11
  9. data/lib/assets/javascripts/_modules/page-expiry.js +2 -2
  10. data/lib/assets/javascripts/_modules/table-of-contents.js +48 -2
  11. data/lib/assets/javascripts/govuk_frontend_all.js +3 -0
  12. data/lib/assets/javascripts/govuk_tech_docs.js +0 -2
  13. data/lib/assets/stylesheets/_govuk_tech_docs.scss +4 -10
  14. data/lib/assets/stylesheets/modules/_page-review.scss +0 -2
  15. data/lib/assets/stylesheets/modules/_search.scss +0 -4
  16. data/lib/govuk_tech_docs/meta_tags.rb +1 -1
  17. data/lib/govuk_tech_docs/redirects.rb +1 -1
  18. data/lib/govuk_tech_docs/table_of_contents/heading_tree_builder.rb +1 -1
  19. data/lib/govuk_tech_docs/table_of_contents/helpers.rb +2 -2
  20. data/lib/govuk_tech_docs/tech_docs_html_renderer.rb +6 -2
  21. data/lib/govuk_tech_docs/version.rb +1 -1
  22. data/lib/govuk_tech_docs.rb +20 -3
  23. data/lib/source/layouts/_header.erb +8 -12
  24. data/lib/source/layouts/_page_review.erb +1 -1
  25. data/lib/source/layouts/_search.erb +2 -2
  26. data/lib/source/layouts/core.erb +8 -2
  27. data/lib/source/stylesheets/manifest.css +1 -1
  28. data/node_modules/govuk-frontend/dist/govuk/_base.scss +5 -0
  29. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +2554 -0
  30. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +2529 -0
  31. data/node_modules/govuk-frontend/dist/govuk/all.mjs +18 -0
  32. data/node_modules/govuk-frontend/dist/govuk/all.scss +3 -0
  33. data/node_modules/govuk-frontend/dist/govuk/assets/images/favicon.svg +1 -0
  34. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-crest.svg +1 -0
  35. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
  36. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  37. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  38. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-mask.svg +1 -0
  39. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-opengraph-image.png +0 -0
  40. data/node_modules/govuk-frontend/dist/govuk/common/closest-attribute-value.mjs +7 -0
  41. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +4 -0
  42. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +159 -0
  43. data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs +18 -0
  44. data/node_modules/govuk-frontend/dist/govuk/common/normalise-string.mjs +31 -0
  45. data/node_modules/govuk-frontend/dist/govuk/components/_all.scss +10 -0
  46. data/node_modules/govuk-frontend/{govuk/components/_all.scss → dist/govuk/components/_index.scss} +8 -3
  47. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +4 -0
  48. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/accordion/_index.scss +55 -77
  49. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +785 -0
  50. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +777 -0
  51. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +349 -0
  52. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +4 -0
  53. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/back-link/_index.scss +12 -36
  54. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +4 -0
  55. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/breadcrumbs/_index.scss +11 -36
  56. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +4 -0
  57. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/button/_index.scss +30 -103
  58. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +318 -0
  59. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +310 -0
  60. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs +73 -0
  61. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +4 -0
  62. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/character-count/_index.scss +8 -6
  63. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +761 -0
  64. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +753 -0
  65. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +295 -0
  66. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +4 -0
  67. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/checkboxes/_index.scss +108 -132
  68. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +268 -0
  69. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +260 -0
  70. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs +111 -0
  71. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +4 -0
  72. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/cookie-banner/_index.scss +19 -15
  73. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +4 -0
  74. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/date-input/_index.scss +3 -2
  75. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +4 -0
  76. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +139 -0
  77. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +4 -0
  78. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-message/_index.scss +2 -0
  79. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +4 -0
  80. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/error-summary/_index.scss +19 -6
  81. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +378 -0
  82. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +370 -0
  83. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +103 -0
  84. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +4 -0
  85. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/exit-this-page/_index.scss +5 -10
  86. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +662 -0
  87. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +654 -0
  88. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +226 -0
  89. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +4 -0
  90. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/fieldset/_index.scss +20 -15
  91. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +4 -0
  92. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/file-upload/_index.scss +11 -15
  93. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +4 -0
  94. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/footer/_index.scss +25 -68
  95. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +4 -0
  96. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/header/_index.scss +84 -79
  97. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +252 -0
  98. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +244 -0
  99. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +88 -0
  100. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/_hint.scss +2 -0
  101. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/hint/_index.scss +3 -0
  102. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/_index.scss +24 -49
  103. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/input/_input.scss +2 -0
  104. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/inset-text/_index.scss +2 -0
  105. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +4 -0
  106. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/_index.scss +12 -7
  107. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/label/_label.scss +2 -0
  108. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/notification-banner/_index.scss +11 -7
  109. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +4 -0
  110. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +320 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +312 -0
  112. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs +51 -0
  113. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/pagination/_index.scss +36 -55
  114. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +4 -0
  115. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +58 -0
  116. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/panel/_panel.scss +2 -0
  117. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +57 -0
  118. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +4 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +594 -0
  120. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +586 -0
  121. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs +154 -0
  122. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/phase-banner/_index.scss +10 -1
  123. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +4 -0
  124. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/radios/_index.scss +92 -113
  125. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +4 -0
  126. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +245 -0
  127. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +237 -0
  128. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs +88 -0
  129. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/select/_index.scss +9 -16
  130. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +4 -0
  131. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +168 -0
  132. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +4 -0
  133. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +249 -0
  134. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +241 -0
  135. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs +85 -0
  136. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/skip-link/_index.scss +10 -5
  137. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +4 -0
  138. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +244 -0
  139. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +236 -0
  140. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +58 -0
  141. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/summary-list/_index.scss +22 -20
  142. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +4 -0
  143. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/_index.scss +21 -17
  144. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/table/_table.scss +2 -0
  145. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/_index.scss +13 -9
  146. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tabs/_tabs.scss +2 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +453 -0
  148. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +445 -0
  149. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +283 -0
  150. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +97 -0
  151. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/tag/_tag.scss +2 -0
  152. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +79 -0
  153. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +4 -0
  154. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/textarea/_index.scss +6 -10
  155. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +4 -0
  156. data/node_modules/govuk-frontend/{govuk → dist/govuk}/components/warning-text/_index.scss +13 -13
  157. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +4 -0
  158. data/node_modules/govuk-frontend/dist/govuk/core/_all.scss +10 -0
  159. data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_global-styles.scss +2 -1
  160. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +12 -0
  161. data/node_modules/govuk-frontend/{govuk/core/_all.scss → dist/govuk/core/_index.scss} +3 -1
  162. data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_links.scss +8 -1
  163. data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_lists.scss +2 -1
  164. data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_section-break.scss +2 -7
  165. data/node_modules/govuk-frontend/{govuk → dist/govuk}/core/_typography.scss +8 -5
  166. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +57 -0
  167. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend-component.mjs +60 -0
  168. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -0
  169. data/node_modules/govuk-frontend/dist/govuk/helpers/_all.scss +10 -0
  170. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_clearfix.scss +3 -1
  171. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +127 -0
  172. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_device-pixels.scss +4 -3
  173. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_focused.scss +22 -6
  174. data/node_modules/govuk-frontend/dist/govuk/helpers/_font-faces.scss +41 -0
  175. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_grid.scss +3 -1
  176. data/node_modules/govuk-frontend/{govuk/helpers/_all.scss → dist/govuk/helpers/_index.scss} +2 -0
  177. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_links.scss +38 -76
  178. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_media-queries.scss +3 -12
  179. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_shape-arrow.scss +3 -1
  180. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_spacing.scss +12 -10
  181. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +288 -0
  182. data/node_modules/govuk-frontend/{govuk → dist/govuk}/helpers/_visually-hidden.scss +39 -50
  183. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +195 -0
  184. data/node_modules/govuk-frontend/dist/govuk/index.scss +11 -0
  185. data/node_modules/govuk-frontend/dist/govuk/init.mjs +162 -0
  186. data/node_modules/govuk-frontend/dist/govuk/objects/_all.scss +10 -0
  187. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_button-group.scss +7 -12
  188. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_form-group.scss +2 -0
  189. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_grid.scss +4 -2
  190. data/node_modules/govuk-frontend/{govuk/objects/_all.scss → dist/govuk/objects/_index.scss} +2 -0
  191. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_main-wrapper.scss +2 -0
  192. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_template.scss +2 -1
  193. data/node_modules/govuk-frontend/{govuk → dist/govuk}/objects/_width-container.scss +2 -9
  194. data/node_modules/govuk-frontend/dist/govuk/overrides/_all.scss +9 -0
  195. data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_display.scss +2 -0
  196. data/node_modules/govuk-frontend/{govuk/overrides/_all.scss → dist/govuk/overrides/_index.scss} +2 -0
  197. data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_spacing.scss +3 -19
  198. data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_text-align.scss +2 -0
  199. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +42 -0
  200. data/node_modules/govuk-frontend/{govuk → dist/govuk}/overrides/_width.scss +2 -0
  201. data/node_modules/govuk-frontend/dist/govuk/settings/_all.scss +10 -0
  202. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_assets.scss +2 -0
  203. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_colours-applied.scss +9 -7
  204. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +378 -0
  205. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-palette.scss +37 -0
  206. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_global-styles.scss +2 -0
  207. data/node_modules/govuk-frontend/{govuk/settings/_all.scss → dist/govuk/settings/_index.scss} +2 -3
  208. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_links.scss +3 -20
  209. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_measurements.scss +18 -6
  210. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_media-queries.scss +5 -3
  211. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_spacing.scss +2 -0
  212. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +52 -0
  213. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +322 -0
  214. data/node_modules/govuk-frontend/{govuk → dist/govuk}/settings/_warnings.scss +33 -8
  215. data/node_modules/govuk-frontend/dist/govuk/tools/_all.scss +10 -0
  216. data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_exports.scss +2 -0
  217. data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_font-url.scss +3 -0
  218. data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_image-url.scss +3 -0
  219. data/node_modules/govuk-frontend/{govuk/tools/_all.scss → dist/govuk/tools/_index.scss} +2 -2
  220. data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_px-to-em.scss +2 -0
  221. data/node_modules/govuk-frontend/{govuk → dist/govuk}/tools/_px-to-rem.scss +2 -0
  222. data/node_modules/govuk-frontend/dist/govuk/utilities/_all.scss +10 -0
  223. data/node_modules/govuk-frontend/{govuk → dist/govuk}/utilities/_clearfix.scss +2 -0
  224. data/node_modules/govuk-frontend/{govuk/utilities/_all.scss → dist/govuk/utilities/_index.scss} +2 -0
  225. data/node_modules/govuk-frontend/{govuk → dist/govuk}/utilities/_visually-hidden.scss +2 -0
  226. data/node_modules/govuk-frontend/{govuk → dist/govuk}/vendor/_sass-mq.scss +3 -1
  227. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.js +15 -0
  228. data/node_modules/govuk-frontend/{govuk-prototype-kit → dist/govuk-prototype-kit}/init.scss +3 -2
  229. data/package-lock.json +37 -37
  230. data/package.json +6 -1
  231. metadata +316 -206
  232. data/node_modules/govuk-frontend/govuk/_base.scss +0 -3
  233. data/node_modules/govuk-frontend/govuk/all-ie8.scss +0 -14
  234. data/node_modules/govuk-frontend/govuk/all.js +0 -5172
  235. data/node_modules/govuk-frontend/govuk/all.scss +0 -9
  236. data/node_modules/govuk-frontend/govuk/assets/images/favicon.ico +0 -0
  237. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  238. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  239. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  240. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png +0 -0
  241. data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest-2x.png +0 -0
  242. data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest.png +0 -0
  243. data/node_modules/govuk-frontend/govuk/assets/images/govuk-logotype-crown.png +0 -0
  244. data/node_modules/govuk-frontend/govuk/assets/images/govuk-mask-icon.svg +0 -7
  245. data/node_modules/govuk-frontend/govuk/assets/images/govuk-opengraph-image.png +0 -0
  246. data/node_modules/govuk-frontend/govuk/common/closest-attribute-value.js +0 -75
  247. data/node_modules/govuk-frontend/govuk/common/govuk-frontend-version.js +0 -17
  248. data/node_modules/govuk-frontend/govuk/common/index.js +0 -192
  249. data/node_modules/govuk-frontend/govuk/common/normalise-dataset.js +0 -386
  250. data/node_modules/govuk-frontend/govuk/common.js +0 -194
  251. data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss +0 -2
  252. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +0 -2386
  253. data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss +0 -2
  254. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -2
  255. data/node_modules/govuk-frontend/govuk/components/button/_button.scss +0 -2
  256. data/node_modules/govuk-frontend/govuk/components/button/button.js +0 -1027
  257. data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss +0 -2
  258. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +0 -2281
  259. data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss +0 -2
  260. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +0 -1277
  261. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss +0 -2
  262. data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss +0 -2
  263. data/node_modules/govuk-frontend/govuk/components/details/_details.scss +0 -2
  264. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +0 -88
  265. data/node_modules/govuk-frontend/govuk/components/details/details.js +0 -873
  266. data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss +0 -2
  267. data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss +0 -2
  268. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +0 -1189
  269. data/node_modules/govuk-frontend/govuk/components/exit-this-page/_exit-this-page.scss +0 -2
  270. data/node_modules/govuk-frontend/govuk/components/exit-this-page/exit-this-page.js +0 -2120
  271. data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss +0 -2
  272. data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss +0 -2
  273. data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss +0 -2
  274. data/node_modules/govuk-frontend/govuk/components/header/_header.scss +0 -2
  275. data/node_modules/govuk-frontend/govuk/components/header/header.js +0 -794
  276. data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss +0 -2
  277. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +0 -2
  278. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +0 -843
  279. data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss +0 -2
  280. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +0 -56
  281. data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss +0 -2
  282. data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss +0 -2
  283. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +0 -1222
  284. data/node_modules/govuk-frontend/govuk/components/select/_select.scss +0 -2
  285. data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss +0 -2
  286. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +0 -1145
  287. data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss +0 -2
  288. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +0 -1621
  289. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +0 -81
  290. data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss +0 -2
  291. data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss +0 -2
  292. data/node_modules/govuk-frontend/govuk/core/_govuk-frontend-version.scss +0 -5
  293. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +0 -98
  294. data/node_modules/govuk-frontend/govuk/helpers/_font-faces.scss +0 -41
  295. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +0 -214
  296. data/node_modules/govuk-frontend/govuk/i18n.js +0 -397
  297. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +0 -21
  298. data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss +0 -146
  299. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +0 -120
  300. data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss +0 -100
  301. data/node_modules/govuk-frontend/govuk/settings/_ie8.scss +0 -34
  302. data/node_modules/govuk-frontend/govuk/settings/_typography-font-families.scss +0 -32
  303. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +0 -112
  304. data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss +0 -195
  305. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +0 -50
  306. data/node_modules/govuk-frontend/govuk/tools/_ie8.scss +0 -87
  307. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +0 -274
  308. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Date/now.js +0 -23
  309. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +0 -36
  310. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +0 -597
  311. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +0 -58
  312. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/dataset.js +0 -307
  313. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +0 -33
  314. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +0 -261
  315. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +0 -261
  316. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +0 -151
  317. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +0 -512
  318. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +0 -256
  319. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +0 -96
  320. data/node_modules/govuk-frontend/govuk/vendor/polyfills/String/prototype/trim.js +0 -23
  321. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +0 -30
  322. data/node_modules/govuk-frontend/govuk-prototype-kit/init.js +0 -8
  323. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-affa96571d-v2.woff +0 -0
  324. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
  325. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
  326. /data/node_modules/govuk-frontend/{govuk → dist/govuk}/assets/fonts/light-f591b13f7d-v2.woff +0 -0
  327. /data/{lib/source → node_modules/govuk-frontend/dist/govuk/assets/images}/favicon.ico +0 -0
@@ -0,0 +1,349 @@
1
+ import { mergeConfigs } from '../../common/index.mjs';
2
+ import { normaliseDataset } from '../../common/normalise-dataset.mjs';
3
+ import { ElementError } from '../../errors/index.mjs';
4
+ import { GOVUKFrontendComponent } from '../../govuk-frontend-component.mjs';
5
+ import { I18n } from '../../i18n.mjs';
6
+
7
+ /**
8
+ * Accordion component
9
+ *
10
+ * This allows a collection of sections to be collapsed by default, showing only
11
+ * their headers. Sections can be expanded or collapsed individually by clicking
12
+ * their headers. A "Show all sections" button is also added to the top of the
13
+ * accordion, which switches to "Hide all sections" when all the sections are
14
+ * expanded.
15
+ *
16
+ * The state of each section is saved to the DOM via the `aria-expanded`
17
+ * attribute, which also provides accessibility.
18
+ *
19
+ * @preserve
20
+ */
21
+ class Accordion extends GOVUKFrontendComponent {
22
+ /**
23
+ * @param {Element | null} $root - HTML element to use for accordion
24
+ * @param {AccordionConfig} [config] - Accordion config
25
+ */
26
+ constructor($root, config = {}) {
27
+ super($root);
28
+ this.config = void 0;
29
+ this.i18n = void 0;
30
+ this.controlsClass = 'govuk-accordion__controls';
31
+ this.showAllClass = 'govuk-accordion__show-all';
32
+ this.showAllTextClass = 'govuk-accordion__show-all-text';
33
+ this.sectionClass = 'govuk-accordion__section';
34
+ this.sectionExpandedClass = 'govuk-accordion__section--expanded';
35
+ this.sectionButtonClass = 'govuk-accordion__section-button';
36
+ this.sectionHeaderClass = 'govuk-accordion__section-header';
37
+ this.sectionHeadingClass = 'govuk-accordion__section-heading';
38
+ this.sectionHeadingDividerClass = 'govuk-accordion__section-heading-divider';
39
+ this.sectionHeadingTextClass = 'govuk-accordion__section-heading-text';
40
+ this.sectionHeadingTextFocusClass = 'govuk-accordion__section-heading-text-focus';
41
+ this.sectionShowHideToggleClass = 'govuk-accordion__section-toggle';
42
+ this.sectionShowHideToggleFocusClass = 'govuk-accordion__section-toggle-focus';
43
+ this.sectionShowHideTextClass = 'govuk-accordion__section-toggle-text';
44
+ this.upChevronIconClass = 'govuk-accordion-nav__chevron';
45
+ this.downChevronIconClass = 'govuk-accordion-nav__chevron--down';
46
+ this.sectionSummaryClass = 'govuk-accordion__section-summary';
47
+ this.sectionSummaryFocusClass = 'govuk-accordion__section-summary-focus';
48
+ this.sectionContentClass = 'govuk-accordion__section-content';
49
+ this.$sections = void 0;
50
+ this.$showAllButton = null;
51
+ this.$showAllIcon = null;
52
+ this.$showAllText = null;
53
+ this.config = mergeConfigs(Accordion.defaults, config, normaliseDataset(Accordion, this.$root.dataset));
54
+ this.i18n = new I18n(this.config.i18n);
55
+ const $sections = this.$root.querySelectorAll(`.${this.sectionClass}`);
56
+ if (!$sections.length) {
57
+ throw new ElementError({
58
+ component: Accordion,
59
+ identifier: `Sections (\`<div class="${this.sectionClass}">\`)`
60
+ });
61
+ }
62
+ this.$sections = $sections;
63
+ this.initControls();
64
+ this.initSectionHeaders();
65
+ this.updateShowAllButton(this.areAllSectionsOpen());
66
+ }
67
+ initControls() {
68
+ this.$showAllButton = document.createElement('button');
69
+ this.$showAllButton.setAttribute('type', 'button');
70
+ this.$showAllButton.setAttribute('class', this.showAllClass);
71
+ this.$showAllButton.setAttribute('aria-expanded', 'false');
72
+ this.$showAllIcon = document.createElement('span');
73
+ this.$showAllIcon.classList.add(this.upChevronIconClass);
74
+ this.$showAllButton.appendChild(this.$showAllIcon);
75
+ const $accordionControls = document.createElement('div');
76
+ $accordionControls.setAttribute('class', this.controlsClass);
77
+ $accordionControls.appendChild(this.$showAllButton);
78
+ this.$root.insertBefore($accordionControls, this.$root.firstChild);
79
+ this.$showAllText = document.createElement('span');
80
+ this.$showAllText.classList.add(this.showAllTextClass);
81
+ this.$showAllButton.appendChild(this.$showAllText);
82
+ this.$showAllButton.addEventListener('click', () => this.onShowOrHideAllToggle());
83
+ if ('onbeforematch' in document) {
84
+ document.addEventListener('beforematch', event => this.onBeforeMatch(event));
85
+ }
86
+ }
87
+ initSectionHeaders() {
88
+ this.$sections.forEach(($section, i) => {
89
+ const $header = $section.querySelector(`.${this.sectionHeaderClass}`);
90
+ if (!$header) {
91
+ throw new ElementError({
92
+ component: Accordion,
93
+ identifier: `Section headers (\`<div class="${this.sectionHeaderClass}">\`)`
94
+ });
95
+ }
96
+ this.constructHeaderMarkup($header, i);
97
+ this.setExpanded(this.isExpanded($section), $section);
98
+ $header.addEventListener('click', () => this.onSectionToggle($section));
99
+ this.setInitialState($section);
100
+ });
101
+ }
102
+ constructHeaderMarkup($header, index) {
103
+ const $span = $header.querySelector(`.${this.sectionButtonClass}`);
104
+ const $heading = $header.querySelector(`.${this.sectionHeadingClass}`);
105
+ const $summary = $header.querySelector(`.${this.sectionSummaryClass}`);
106
+ if (!$heading) {
107
+ throw new ElementError({
108
+ component: Accordion,
109
+ identifier: `Section heading (\`.${this.sectionHeadingClass}\`)`
110
+ });
111
+ }
112
+ if (!$span) {
113
+ throw new ElementError({
114
+ component: Accordion,
115
+ identifier: `Section button placeholder (\`<span class="${this.sectionButtonClass}">\`)`
116
+ });
117
+ }
118
+ const $button = document.createElement('button');
119
+ $button.setAttribute('type', 'button');
120
+ $button.setAttribute('aria-controls', `${this.$root.id}-content-${index + 1}`);
121
+ for (const attr of Array.from($span.attributes)) {
122
+ if (attr.name !== 'id') {
123
+ $button.setAttribute(attr.name, attr.value);
124
+ }
125
+ }
126
+ const $headingText = document.createElement('span');
127
+ $headingText.classList.add(this.sectionHeadingTextClass);
128
+ $headingText.id = $span.id;
129
+ const $headingTextFocus = document.createElement('span');
130
+ $headingTextFocus.classList.add(this.sectionHeadingTextFocusClass);
131
+ $headingText.appendChild($headingTextFocus);
132
+ Array.from($span.childNodes).forEach($child => $headingTextFocus.appendChild($child));
133
+ const $showHideToggle = document.createElement('span');
134
+ $showHideToggle.classList.add(this.sectionShowHideToggleClass);
135
+ $showHideToggle.setAttribute('data-nosnippet', '');
136
+ const $showHideToggleFocus = document.createElement('span');
137
+ $showHideToggleFocus.classList.add(this.sectionShowHideToggleFocusClass);
138
+ $showHideToggle.appendChild($showHideToggleFocus);
139
+ const $showHideText = document.createElement('span');
140
+ const $showHideIcon = document.createElement('span');
141
+ $showHideIcon.classList.add(this.upChevronIconClass);
142
+ $showHideToggleFocus.appendChild($showHideIcon);
143
+ $showHideText.classList.add(this.sectionShowHideTextClass);
144
+ $showHideToggleFocus.appendChild($showHideText);
145
+ $button.appendChild($headingText);
146
+ $button.appendChild(this.getButtonPunctuationEl());
147
+ if ($summary) {
148
+ const $summarySpan = document.createElement('span');
149
+ const $summarySpanFocus = document.createElement('span');
150
+ $summarySpanFocus.classList.add(this.sectionSummaryFocusClass);
151
+ $summarySpan.appendChild($summarySpanFocus);
152
+ for (const attr of Array.from($summary.attributes)) {
153
+ $summarySpan.setAttribute(attr.name, attr.value);
154
+ }
155
+ Array.from($summary.childNodes).forEach($child => $summarySpanFocus.appendChild($child));
156
+ $summary.remove();
157
+ $button.appendChild($summarySpan);
158
+ $button.appendChild(this.getButtonPunctuationEl());
159
+ }
160
+ $button.appendChild($showHideToggle);
161
+ $heading.removeChild($span);
162
+ $heading.appendChild($button);
163
+ }
164
+ onBeforeMatch(event) {
165
+ const $fragment = event.target;
166
+ if (!($fragment instanceof Element)) {
167
+ return;
168
+ }
169
+ const $section = $fragment.closest(`.${this.sectionClass}`);
170
+ if ($section) {
171
+ this.setExpanded(true, $section);
172
+ }
173
+ }
174
+ onSectionToggle($section) {
175
+ const nowExpanded = !this.isExpanded($section);
176
+ this.setExpanded(nowExpanded, $section);
177
+ this.storeState($section, nowExpanded);
178
+ }
179
+ onShowOrHideAllToggle() {
180
+ const nowExpanded = !this.areAllSectionsOpen();
181
+ this.$sections.forEach($section => {
182
+ this.setExpanded(nowExpanded, $section);
183
+ this.storeState($section, nowExpanded);
184
+ });
185
+ this.updateShowAllButton(nowExpanded);
186
+ }
187
+ setExpanded(expanded, $section) {
188
+ const $showHideIcon = $section.querySelector(`.${this.upChevronIconClass}`);
189
+ const $showHideText = $section.querySelector(`.${this.sectionShowHideTextClass}`);
190
+ const $button = $section.querySelector(`.${this.sectionButtonClass}`);
191
+ const $content = $section.querySelector(`.${this.sectionContentClass}`);
192
+ if (!$content) {
193
+ throw new ElementError({
194
+ component: Accordion,
195
+ identifier: `Section content (\`<div class="${this.sectionContentClass}">\`)`
196
+ });
197
+ }
198
+ if (!$showHideIcon || !$showHideText || !$button) {
199
+ return;
200
+ }
201
+ const newButtonText = expanded ? this.i18n.t('hideSection') : this.i18n.t('showSection');
202
+ $showHideText.textContent = newButtonText;
203
+ $button.setAttribute('aria-expanded', `${expanded}`);
204
+ const ariaLabelParts = [];
205
+ const $headingText = $section.querySelector(`.${this.sectionHeadingTextClass}`);
206
+ if ($headingText) {
207
+ ariaLabelParts.push(`${$headingText.textContent}`.trim());
208
+ }
209
+ const $summary = $section.querySelector(`.${this.sectionSummaryClass}`);
210
+ if ($summary) {
211
+ ariaLabelParts.push(`${$summary.textContent}`.trim());
212
+ }
213
+ const ariaLabelMessage = expanded ? this.i18n.t('hideSectionAriaLabel') : this.i18n.t('showSectionAriaLabel');
214
+ ariaLabelParts.push(ariaLabelMessage);
215
+ $button.setAttribute('aria-label', ariaLabelParts.join(' , '));
216
+ if (expanded) {
217
+ $content.removeAttribute('hidden');
218
+ $section.classList.add(this.sectionExpandedClass);
219
+ $showHideIcon.classList.remove(this.downChevronIconClass);
220
+ } else {
221
+ $content.setAttribute('hidden', 'until-found');
222
+ $section.classList.remove(this.sectionExpandedClass);
223
+ $showHideIcon.classList.add(this.downChevronIconClass);
224
+ }
225
+ this.updateShowAllButton(this.areAllSectionsOpen());
226
+ }
227
+ isExpanded($section) {
228
+ return $section.classList.contains(this.sectionExpandedClass);
229
+ }
230
+ areAllSectionsOpen() {
231
+ return Array.from(this.$sections).every($section => this.isExpanded($section));
232
+ }
233
+ updateShowAllButton(expanded) {
234
+ if (!this.$showAllButton || !this.$showAllText || !this.$showAllIcon) {
235
+ return;
236
+ }
237
+ this.$showAllButton.setAttribute('aria-expanded', expanded.toString());
238
+ this.$showAllText.textContent = expanded ? this.i18n.t('hideAllSections') : this.i18n.t('showAllSections');
239
+ this.$showAllIcon.classList.toggle(this.downChevronIconClass, !expanded);
240
+ }
241
+
242
+ /**
243
+ * Get the identifier for a section
244
+ *
245
+ * We need a unique way of identifying each content in the Accordion.
246
+ * Since an `#id` should be unique and an `id` is required for `aria-`
247
+ * attributes `id` can be safely used.
248
+ *
249
+ * @param {Element} $section - Section element
250
+ * @returns {string | undefined | null} Identifier for section
251
+ */
252
+ getIdentifier($section) {
253
+ const $button = $section.querySelector(`.${this.sectionButtonClass}`);
254
+ return $button == null ? void 0 : $button.getAttribute('aria-controls');
255
+ }
256
+ storeState($section, isExpanded) {
257
+ if (!this.config.rememberExpanded) {
258
+ return;
259
+ }
260
+ const id = this.getIdentifier($section);
261
+ if (id) {
262
+ try {
263
+ window.sessionStorage.setItem(id, isExpanded.toString());
264
+ } catch (exception) {}
265
+ }
266
+ }
267
+ setInitialState($section) {
268
+ if (!this.config.rememberExpanded) {
269
+ return;
270
+ }
271
+ const id = this.getIdentifier($section);
272
+ if (id) {
273
+ try {
274
+ const state = window.sessionStorage.getItem(id);
275
+ if (state !== null) {
276
+ this.setExpanded(state === 'true', $section);
277
+ }
278
+ } catch (exception) {}
279
+ }
280
+ }
281
+ getButtonPunctuationEl() {
282
+ const $punctuationEl = document.createElement('span');
283
+ $punctuationEl.classList.add('govuk-visually-hidden', this.sectionHeadingDividerClass);
284
+ $punctuationEl.textContent = ', ';
285
+ return $punctuationEl;
286
+ }
287
+ }
288
+
289
+ /**
290
+ * Accordion config
291
+ *
292
+ * @see {@link Accordion.defaults}
293
+ * @typedef {object} AccordionConfig
294
+ * @property {AccordionTranslations} [i18n=Accordion.defaults.i18n] - Accordion translations
295
+ * @property {boolean} [rememberExpanded] - Whether the expanded and collapsed
296
+ * state of each section is remembered and restored when navigating.
297
+ */
298
+
299
+ /**
300
+ * Accordion translations
301
+ *
302
+ * @see {@link Accordion.defaults.i18n}
303
+ * @typedef {object} AccordionTranslations
304
+ *
305
+ * Messages used by the component for the labels of its buttons. This includes
306
+ * the visible text shown on screen, and text to help assistive technology users
307
+ * for the buttons toggling each section.
308
+ * @property {string} [hideAllSections] - The text content for the 'Hide all
309
+ * sections' button, used when at least one section is expanded.
310
+ * @property {string} [hideSection] - The text content for the 'Hide'
311
+ * button, used when a section is expanded.
312
+ * @property {string} [hideSectionAriaLabel] - The text content appended to the
313
+ * 'Hide' button's accessible name when a section is expanded.
314
+ * @property {string} [showAllSections] - The text content for the 'Show all
315
+ * sections' button, used when all sections are collapsed.
316
+ * @property {string} [showSection] - The text content for the 'Show'
317
+ * button, used when a section is collapsed.
318
+ * @property {string} [showSectionAriaLabel] - The text content appended to the
319
+ * 'Show' button's accessible name when a section is expanded.
320
+ */
321
+
322
+ /**
323
+ * @typedef {import('../../common/index.mjs').Schema} Schema
324
+ */
325
+ Accordion.moduleName = 'govuk-accordion';
326
+ Accordion.defaults = Object.freeze({
327
+ i18n: {
328
+ hideAllSections: 'Hide all sections',
329
+ hideSection: 'Hide',
330
+ hideSectionAriaLabel: 'Hide this section',
331
+ showAllSections: 'Show all sections',
332
+ showSection: 'Show',
333
+ showSectionAriaLabel: 'Show this section'
334
+ },
335
+ rememberExpanded: true
336
+ });
337
+ Accordion.schema = Object.freeze({
338
+ properties: {
339
+ i18n: {
340
+ type: 'object'
341
+ },
342
+ rememberExpanded: {
343
+ type: 'boolean'
344
+ }
345
+ }
346
+ });
347
+
348
+ export { Accordion };
349
+ //# sourceMappingURL=accordion.mjs.map
@@ -0,0 +1,4 @@
1
+ @import "../../base";
2
+ @import "./index";
3
+
4
+ /*# sourceMappingURL=_back-link.scss.map */
@@ -13,7 +13,7 @@
13
13
  $chevron-border-colour: $govuk-secondary-text-colour;
14
14
 
15
15
  .govuk-back-link {
16
- @include govuk-typography-responsive($size: $font-size);
16
+ @include govuk-font-size($size: $font-size);
17
17
  @include govuk-link-common;
18
18
  @include govuk-link-style-text;
19
19
 
@@ -28,24 +28,14 @@
28
28
  }
29
29
 
30
30
  // Prepend left pointing chevron
31
- .govuk-back-link:before {
31
+ .govuk-back-link::before {
32
32
  content: "";
33
33
  display: block;
34
34
 
35
35
  // Vertically align with the parent element
36
36
  position: absolute;
37
-
38
- @if $govuk-use-legacy-font {
39
- // Begin adjustments for font baseline offset
40
- // These should be removed when legacy font support is dropped
41
- $offset: govuk-em(1px, $font-size);
42
- top: $offset * -1;
43
- bottom: $offset;
44
- } @else {
45
- top: 0;
46
- bottom: 0;
47
- }
48
-
37
+ top: 0;
38
+ bottom: 0;
49
39
  left: govuk-em(3px, $font-size);
50
40
 
51
41
  width: $chevron-size;
@@ -53,42 +43,26 @@
53
43
 
54
44
  margin: auto 0;
55
45
 
56
- -webkit-transform: rotate(225deg);
57
-
58
- -ms-transform: rotate(225deg);
59
-
60
- transform: rotate(225deg);
46
+ transform: rotate(225deg);
61
47
 
62
48
  border: solid;
63
49
  border-width: $chevron-border-min-width $chevron-border-min-width 0 0;
64
50
  border-color: $chevron-border-colour;
65
51
 
66
52
  @supports (border-width: unquote("max(0px)")) {
67
- border-width: unquote("max(#{$chevron-border-min-width}, #{$chevron-border-width}) max(#{$chevron-border-min-width}, #{$chevron-border-width})") 0 0;
53
+ $border-width-eval: "max(#{$chevron-border-min-width}, #{$chevron-border-width})";
68
54
 
69
55
  // Ensure that the chevron never gets smaller than 16px
56
+ border-width: unquote($border-width-eval) unquote($border-width-eval) 0 0;
70
57
  font-size: unquote("max(#{$font-size * 1px}, 1em)");
71
58
  }
72
-
73
- // Fall back to a less than sign for IE8
74
- @include _govuk-if-ie8 {
75
- content: "\003c"; // Less than sign (<)
76
- width: auto;
77
- height: auto;
78
- border: 0;
79
- color: $chevron-border-colour;
80
-
81
- // IE8 doesn't seem to like rendering pseudo-elements using @font-faces,
82
- // so fall back to using another sans-serif font to render the chevron.
83
- font-family: Arial, sans-serif;
84
- }
85
59
  }
86
60
 
87
- .govuk-back-link:focus:before {
61
+ .govuk-back-link:focus::before {
88
62
  border-color: $govuk-focus-text-colour;
89
63
  }
90
64
 
91
- .govuk-back-link:after {
65
+ .govuk-back-link::after {
92
66
  content: "";
93
67
  position: absolute;
94
68
  top: -14px;
@@ -100,8 +74,10 @@
100
74
  .govuk-back-link--inverse {
101
75
  @include govuk-link-style-inverse;
102
76
 
103
- &:before {
77
+ &::before {
104
78
  border-color: currentcolor;
105
79
  }
106
80
  }
107
81
  }
82
+
83
+ /*# sourceMappingURL=_index.scss.map */
@@ -0,0 +1,4 @@
1
+ @import "../../base";
2
+ @import "./index";
3
+
4
+ /*# sourceMappingURL=_breadcrumbs.scss.map */
@@ -35,7 +35,6 @@
35
35
  }
36
36
 
37
37
  .govuk-breadcrumbs__list-item {
38
-
39
38
  display: inline-block;
40
39
  position: relative;
41
40
 
@@ -49,22 +48,13 @@
49
48
  float: left;
50
49
 
51
50
  // Create a chevron using a box with borders on two sides, rotated 45deg.
52
- &:before {
51
+ &::before {
53
52
  content: "";
54
53
  display: block;
55
54
 
56
55
  position: absolute;
57
-
58
- @if $govuk-use-legacy-font {
59
- // Begin adjustments for font baseline offset
60
- // These should be removed when legacy font support is dropped
61
- $offset: govuk-em(1px, $font-size);
62
- top: $offset * -1;
63
- bottom: $offset;
64
- } @else {
65
- top: 0;
66
- bottom: 0;
67
- }
56
+ top: 0;
57
+ bottom: 0;
68
58
 
69
59
  // Offset by the difference between the width of the non-rotated square
70
60
  // and its width when rotated
@@ -75,42 +65,26 @@
75
65
 
76
66
  margin: auto 0;
77
67
 
78
- -webkit-transform: rotate(45deg);
79
-
80
- -ms-transform: rotate(45deg);
81
-
82
- transform: rotate(45deg);
68
+ transform: rotate(45deg);
83
69
 
84
70
  border: solid;
85
71
  border-width: $chevron-border-min-width $chevron-border-min-width 0 0;
86
72
  border-color: $chevron-border-colour;
87
73
 
88
74
  @supports (border-width: unquote("max(0px)")) {
89
- border-width: unquote("max(#{$chevron-border-min-width}, #{$chevron-border-width}) max(#{$chevron-border-min-width}, #{$chevron-border-width})") 0 0;
75
+ $border-width-eval: "max(#{$chevron-border-min-width}, #{$chevron-border-width})";
90
76
 
91
77
  // Ensure that the chevron never gets smaller than 16px
78
+ border-width: unquote($border-width-eval) unquote($border-width-eval) 0 0;
92
79
  font-size: unquote("max(#{$font-size * 1px}, 1em)");
93
80
  }
94
-
95
- // Fall back to a greater than sign for IE8
96
- @include _govuk-if-ie8 {
97
- content: "\003e"; // Greater than sign (>)
98
- width: auto;
99
- height: auto;
100
- border: 0;
101
- color: $chevron-border-colour;
102
-
103
- // IE8 doesn't seem to like rendering pseudo-elements using @font-faces,
104
- // so fall back to using another sans-serif font to render the chevron.
105
- font-family: Arial, sans-serif;
106
- }
107
81
  }
108
82
 
109
83
  &:first-child {
110
84
  margin-left: 0;
111
85
  padding-left: 0;
112
86
 
113
- &:before {
87
+ &::before {
114
88
  content: none;
115
89
  display: none;
116
90
  }
@@ -132,14 +106,13 @@
132
106
  display: inline-block;
133
107
  }
134
108
 
135
- &:before {
109
+ &::before {
136
110
  top: govuk-em(6px, $font-size);
137
111
  margin: 0;
138
112
  }
139
113
  }
140
114
 
141
115
  .govuk-breadcrumbs__list {
142
- display: -ms-flexbox;
143
116
  display: flex;
144
117
  }
145
118
  }
@@ -152,8 +125,10 @@
152
125
  @include govuk-link-style-inverse;
153
126
  }
154
127
 
155
- .govuk-breadcrumbs__list-item:before {
128
+ .govuk-breadcrumbs__list-item::before {
156
129
  border-color: currentcolor;
157
130
  }
158
131
  }
159
132
  }
133
+
134
+ /*# sourceMappingURL=_index.scss.map */
@@ -0,0 +1,4 @@
1
+ @import "../../base";
2
+ @import "./index";
3
+
4
+ /*# sourceMappingURL=_button.scss.map */