govuk_tech_docs 6.3.0.beta → 6.4.0.beta

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 (452) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE/documentation.yaml +29 -0
  3. data/.github/workflows/build-middleman-artifact.yaml +41 -0
  4. data/.github/workflows/check-documentation-updates.yaml +32 -0
  5. data/.github/workflows/check-gem-version.yaml +36 -0
  6. data/.github/workflows/dependency-review.yaml +2 -5
  7. data/.github/workflows/pipeline.yaml +50 -0
  8. data/.github/workflows/publish-gem.yaml +61 -0
  9. data/.github/workflows/publish-github-pages.yaml +38 -0
  10. data/.github/workflows/test.yaml +17 -10
  11. data/.gitignore +5 -4
  12. data/.rspec +1 -0
  13. data/CHANGELOG.md +17 -4
  14. data/README.md +10 -10
  15. data/Rakefile +1 -1
  16. data/documentation/.nvmrc +1 -0
  17. data/documentation/Gemfile +11 -0
  18. data/documentation/LICENSE +21 -0
  19. data/documentation/README.md +30 -0
  20. data/documentation/Staticfile +4 -0
  21. data/documentation/config/tech-docs.yml +45 -0
  22. data/{example → documentation}/config.rb +3 -6
  23. data/documentation/source/accessibility/index.html.md.erb +64 -0
  24. data/documentation/source/configure_project/frontmatter/index.html.md.erb +206 -0
  25. data/documentation/source/configure_project/global_configuration/index.html.md.erb +328 -0
  26. data/documentation/source/configure_project/index.html.md.erb +17 -0
  27. data/documentation/source/configure_project/page_expiry_and_review/index.html.md.erb +93 -0
  28. data/documentation/source/configure_project/structure_docs/index.html.md.erb +117 -0
  29. data/documentation/source/create_project/build/index.html.md.erb +20 -0
  30. data/documentation/source/create_project/create_new_project/index.html.md.erb +23 -0
  31. data/documentation/source/create_project/get_started/index.html.md.erb +58 -0
  32. data/documentation/source/create_project/index.html.md.erb +17 -0
  33. data/documentation/source/create_project/preview/index.html.md.erb +26 -0
  34. data/documentation/source/images/Basic multipage.svg +1 -0
  35. data/documentation/source/images/Basic_multipage.svg +1 -0
  36. data/documentation/source/images/Nested multipage.svg +1 -0
  37. data/documentation/source/images/Nested_multipage.svg +1 -0
  38. data/documentation/source/images/Single_page.svg +1 -0
  39. data/documentation/source/images/core-layout-without-sidebar.png +0 -0
  40. data/documentation/source/images/core-layout.png +0 -0
  41. data/documentation/source/images/daniel-the-manual-spaniel-screenshot.svg +1 -0
  42. data/documentation/source/images/expired-page.png +0 -0
  43. data/documentation/source/images/last-reviewed-only.png +0 -0
  44. data/documentation/source/images/last-reviewed-only.svg +1 -0
  45. data/documentation/source/images/layout-layout.png +0 -0
  46. data/documentation/source/images/multipage.svg +3 -0
  47. data/documentation/source/images/not-expired-page.png +0 -0
  48. data/documentation/source/index.html.md.erb +19 -0
  49. data/documentation/source/maintain_project/index.html.md.erb +18 -0
  50. data/documentation/source/maintain_project/redirects/index.html.md.erb +22 -0
  51. data/documentation/source/maintain_project/review_content/index.html.md.erb +45 -0
  52. data/documentation/source/maintain_project/use_latest_template/index.html.md.erb +34 -0
  53. data/documentation/source/partials/_links.erb +81 -0
  54. data/documentation/source/publish_project/deploy/index.html.md.erb +44 -0
  55. data/documentation/source/publish_project/index.html.md.erb +15 -0
  56. data/documentation/source/publish_project/version/index.html.md.erb +12 -0
  57. data/documentation/source/support/index.html.md.erb +46 -0
  58. data/documentation/source/write_docs/add_openapi_spec/index.html.md.erb +48 -0
  59. data/documentation/source/write_docs/content/index.html.md.erb +128 -0
  60. data/documentation/source/write_docs/index.html.md.erb +15 -0
  61. data/lib/govuk_tech_docs/version.rb +1 -1
  62. data/lib/source/layouts/_footer.erb +2 -2
  63. data/lib/source/layouts/_header.erb +2 -2
  64. data/lib/source/layouts/_service_navigation.erb +2 -5
  65. data/lib/source/layouts/core.erb +12 -6
  66. data/node_modules/govuk-frontend/dist/govuk/_base.import.scss +6 -0
  67. data/node_modules/govuk-frontend/dist/govuk/_base.scss +4 -5
  68. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +32 -26
  69. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +32 -26
  70. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
  71. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  72. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  73. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  74. data/node_modules/govuk-frontend/dist/govuk/components/_index.import.scss +38 -0
  75. data/node_modules/govuk-frontend/dist/govuk/components/_index.scss +37 -39
  76. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.import.scss +6 -0
  77. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.import.scss +8 -0
  78. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +3 -373
  79. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_mixin.scss +375 -0
  80. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.import.scss +6 -0
  81. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.import.scss +8 -0
  82. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss +3 -85
  83. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_mixin.scss +87 -0
  84. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.import.scss +6 -0
  85. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.import.scss +8 -0
  86. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +3 -136
  87. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_mixin.scss +134 -0
  88. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.import.scss +6 -0
  89. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.import.scss +13 -0
  90. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +9 -259
  91. data/node_modules/govuk-frontend/dist/govuk/components/button/_mixin.scss +233 -0
  92. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.import.scss +32 -0
  93. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.scss +34 -0
  94. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.import.scss +6 -0
  95. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.import.scss +12 -0
  96. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +7 -44
  97. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_mixin.scss +41 -0
  98. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.import.scss +6 -0
  99. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.import.scss +12 -0
  100. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss +7 -314
  101. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_mixin.scss +317 -0
  102. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.import.scss +6 -0
  103. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.import.scss +9 -0
  104. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss +4 -55
  105. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_mixin.scss +56 -0
  106. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.import.scss +6 -0
  107. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.import.scss +13 -0
  108. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss +8 -33
  109. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_mixin.scss +29 -0
  110. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.import.scss +6 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.import.scss +8 -0
  112. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +3 -141
  113. data/node_modules/govuk-frontend/dist/govuk/components/details/_mixin.scss +143 -0
  114. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.import.scss +6 -0
  115. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.import.scss +8 -0
  116. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss +3 -14
  117. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_mixin.scss +16 -0
  118. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.import.scss +6 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.import.scss +8 -0
  120. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss +3 -57
  121. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_mixin.scss +58 -0
  122. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.import.scss +6 -0
  123. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.import.scss +9 -0
  124. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +4 -91
  125. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_mixin.scss +96 -0
  126. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.import.scss +6 -0
  127. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.import.scss +8 -0
  128. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss +3 -69
  129. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_mixin.scss +71 -0
  130. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.import.scss +6 -0
  131. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.import.scss +11 -0
  132. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +6 -211
  133. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_mixin.scss +217 -0
  134. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +31 -25
  135. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +31 -25
  136. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +31 -26
  137. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.import.scss +6 -0
  138. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.import.scss +8 -0
  139. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +3 -197
  140. data/node_modules/govuk-frontend/dist/govuk/components/footer/_mixin.scss +199 -0
  141. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_generic-header.import.scss +6 -0
  142. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_index.import.scss +8 -0
  143. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_index.scss +5 -0
  144. data/node_modules/govuk-frontend/dist/govuk/components/generic-header/_mixin.scss +140 -0
  145. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.import.scss +6 -0
  146. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.import.scss +8 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +3 -188
  148. data/node_modules/govuk-frontend/dist/govuk/components/header/_mixin.scss +119 -0
  149. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.import.scss +6 -0
  150. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.import.scss +8 -0
  151. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss +3 -45
  152. data/node_modules/govuk-frontend/dist/govuk/components/hint/_mixin.scss +47 -0
  153. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.import.scss +11 -0
  154. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +6 -162
  155. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.import.scss +6 -0
  156. data/node_modules/govuk-frontend/dist/govuk/components/input/_mixin.scss +161 -0
  157. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.import.scss +8 -0
  158. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss +3 -29
  159. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.import.scss +6 -0
  160. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_mixin.scss +31 -0
  161. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.import.scss +8 -0
  162. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss +3 -46
  163. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.import.scss +6 -0
  164. data/node_modules/govuk-frontend/dist/govuk/components/label/_mixin.scss +48 -0
  165. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.import.scss +8 -0
  166. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +3 -97
  167. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_mixin.scss +100 -0
  168. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.import.scss +6 -0
  169. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.import.scss +8 -0
  170. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +3 -233
  171. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_mixin.scss +235 -0
  172. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.import.scss +6 -0
  173. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.import.scss +8 -0
  174. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +3 -58
  175. data/node_modules/govuk-frontend/dist/govuk/components/panel/_mixin.scss +94 -0
  176. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.import.scss +6 -0
  177. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.import.scss +10 -0
  178. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +5 -56
  179. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_mixin.scss +56 -0
  180. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.import.scss +6 -0
  181. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.import.scss +9 -0
  182. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +4 -41
  183. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_mixin.scss +42 -0
  184. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.import.scss +6 -0
  185. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.import.scss +12 -0
  186. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +7 -330
  187. data/node_modules/govuk-frontend/dist/govuk/components/radios/_mixin.scss +336 -0
  188. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.import.scss +6 -0
  189. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.import.scss +11 -0
  190. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +6 -53
  191. data/node_modules/govuk-frontend/dist/govuk/components/select/_mixin.scss +45 -0
  192. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.import.scss +6 -0
  193. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.import.scss +8 -0
  194. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +3 -235
  195. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_mixin.scss +238 -0
  196. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.import.scss +6 -0
  197. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.import.scss +8 -0
  198. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +3 -58
  199. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_mixin.scss +60 -0
  200. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.import.scss +6 -0
  201. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.import.scss +8 -0
  202. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +3 -284
  203. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_mixin.scss +286 -0
  204. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.import.scss +6 -0
  205. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.import.scss +8 -0
  206. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +3 -75
  207. data/node_modules/govuk-frontend/dist/govuk/components/table/_mixin.scss +77 -0
  208. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.import.scss +6 -0
  209. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.import.scss +8 -0
  210. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +3 -138
  211. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_mixin.scss +140 -0
  212. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.import.scss +6 -0
  213. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.import.scss +8 -0
  214. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +3 -132
  215. data/node_modules/govuk-frontend/dist/govuk/components/tag/_mixin.scss +135 -0
  216. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.import.scss +6 -0
  217. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.import.scss +9 -0
  218. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +4 -82
  219. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_mixin.scss +83 -0
  220. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.import.scss +6 -0
  221. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.import.scss +11 -0
  222. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +6 -44
  223. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_mixin.scss +43 -0
  224. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.import.scss +6 -0
  225. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.import.scss +8 -0
  226. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +3 -67
  227. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_mixin.scss +69 -0
  228. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.import.scss +6 -0
  229. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.import.scss +10 -0
  230. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.mixin.scss +19 -0
  231. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss +5 -22
  232. data/node_modules/govuk-frontend/dist/govuk/core/_index.import.scss +6 -0
  233. data/node_modules/govuk-frontend/dist/govuk/core/_index.scss +6 -10
  234. data/node_modules/govuk-frontend/dist/govuk/core/_links.import.scss +10 -0
  235. data/node_modules/govuk-frontend/dist/govuk/core/_links.mixin.scss +44 -0
  236. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss +3 -48
  237. data/node_modules/govuk-frontend/dist/govuk/core/_lists.import.scss +14 -0
  238. data/node_modules/govuk-frontend/dist/govuk/core/_lists.mixin.scss +74 -0
  239. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +6 -73
  240. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.import.scss +8 -0
  241. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.mixin.scss +54 -0
  242. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss +3 -55
  243. data/node_modules/govuk-frontend/dist/govuk/core/_typography.import.scss +8 -0
  244. data/node_modules/govuk-frontend/dist/govuk/core/_typography.mixin.scss +173 -0
  245. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +3 -174
  246. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.import.scss +8 -0
  247. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.mixin.scss +15 -0
  248. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.scss +2 -15
  249. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.import.scss +8 -0
  250. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.mixin.scss +13 -0
  251. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.scss +2 -13
  252. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.import.scss +8 -0
  253. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.mixin.scss +21 -0
  254. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.scss +2 -20
  255. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.import.scss +4 -0
  256. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.scss +3 -4
  257. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  258. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.import.scss +2 -0
  259. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss +0 -1
  260. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.import.scss +2 -0
  261. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +35 -17
  262. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.import.scss +2 -0
  263. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss +2 -3
  264. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.import.scss +2 -0
  265. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +3 -1
  266. data/node_modules/govuk-frontend/dist/govuk/helpers/{_font-faces.scss → _font-faces--internal.scss} +5 -5
  267. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.import.scss +2 -0
  268. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +3 -1
  269. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.import.scss +2 -0
  270. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.scss +12 -13
  271. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.import.scss +2 -0
  272. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +7 -2
  273. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.import.scss +2 -0
  274. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +2 -3
  275. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.import.scss +2 -0
  276. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss +0 -1
  277. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing--internal.scss +80 -0
  278. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.import.scss +2 -0
  279. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +18 -79
  280. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography--internal.scss +24 -0
  281. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.import.scss +2 -0
  282. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +20 -37
  283. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.import.scss +2 -0
  284. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +1 -2
  285. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.import.scss +2 -0
  286. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.scss +73 -0
  287. data/node_modules/govuk-frontend/dist/govuk/index.import.scss +10 -0
  288. data/node_modules/govuk-frontend/dist/govuk/index.scss +6 -7
  289. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.import.scss +8 -0
  290. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.mixin.scss +80 -0
  291. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +3 -78
  292. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.import.scss +8 -0
  293. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.mixin.scss +26 -0
  294. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss +3 -24
  295. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.import.scss +8 -0
  296. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.mixin.scss +28 -0
  297. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss +3 -26
  298. data/node_modules/govuk-frontend/dist/govuk/objects/_index.import.scss +7 -0
  299. data/node_modules/govuk-frontend/dist/govuk/objects/_index.scss +6 -7
  300. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.import.scss +8 -0
  301. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.mixin.scss +55 -0
  302. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +3 -53
  303. data/node_modules/govuk-frontend/dist/govuk/objects/_template.import.scss +8 -0
  304. data/node_modules/govuk-frontend/dist/govuk/objects/_template.mixin.scss +53 -0
  305. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +3 -51
  306. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.import.scss +8 -0
  307. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.mixin.scss +9 -0
  308. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +3 -76
  309. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.import.scss +8 -0
  310. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.mixin.scss +26 -0
  311. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +2 -26
  312. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.import.scss +6 -0
  313. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.scss +5 -9
  314. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.import.scss +8 -0
  315. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.mixin.scss +89 -0
  316. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss +2 -88
  317. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.import.scss +8 -0
  318. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.mixin.scss +16 -0
  319. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss +2 -16
  320. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.import.scss +8 -0
  321. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.mixin.scss +43 -0
  322. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +2 -43
  323. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.import.scss +8 -0
  324. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.mixin.scss +50 -0
  325. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +2 -49
  326. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.import.scss +13 -0
  327. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss +46 -35
  328. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.import.scss +13 -0
  329. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.import.scss +2 -0
  330. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.scss +13 -235
  331. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.import.scss +2 -0
  332. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.scss +188 -0
  333. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.import.scss +2 -0
  334. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +1 -20
  335. data/node_modules/govuk-frontend/dist/govuk/settings/{_colours-palette.scss → _colours-palette--internal.scss} +2 -3
  336. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.import.scss +2 -0
  337. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.scss +0 -1
  338. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.import.scss +2 -0
  339. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss +0 -1
  340. data/node_modules/govuk-frontend/dist/govuk/settings/_index.import.scss +24 -0
  341. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +13 -14
  342. data/node_modules/govuk-frontend/dist/govuk/settings/_links.import.scss +2 -0
  343. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss +0 -1
  344. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.import.scss +2 -0
  345. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss +2 -3
  346. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.import.scss +2 -0
  347. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +0 -1
  348. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.import.scss +2 -0
  349. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss +0 -1
  350. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.import.scss +2 -0
  351. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +2 -4
  352. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.import.scss +2 -0
  353. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +0 -1
  354. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings--internal.scss +69 -0
  355. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.import.scss +2 -0
  356. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss +9 -69
  357. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.import.scss +2 -0
  358. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss +11 -6
  359. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.import.scss +31 -0
  360. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss +9 -1
  361. data/node_modules/govuk-frontend/dist/govuk/tools/_if.import.scss +2 -0
  362. data/node_modules/govuk-frontend/dist/govuk/tools/_if.scss +0 -1
  363. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.import.scss +31 -0
  364. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss +9 -1
  365. data/node_modules/govuk-frontend/dist/govuk/tools/_index.import.scss +2 -0
  366. data/node_modules/govuk-frontend/dist/govuk/tools/_index.scss +6 -7
  367. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.import.scss +2 -0
  368. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +1 -2
  369. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.import.scss +2 -0
  370. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss +1 -2
  371. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.import.scss +8 -0
  372. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.mixin.scss +10 -0
  373. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss +2 -8
  374. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.import.scss +3 -0
  375. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.scss +2 -4
  376. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.import.scss +8 -0
  377. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.mixin.scss +14 -0
  378. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss +2 -12
  379. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +2 -3
  380. data/package-lock.json +229 -599
  381. data/package.json +3 -3
  382. metadata +263 -74
  383. data/.github/workflows/publish.yaml +0 -83
  384. data/docs/configuration.md +0 -3
  385. data/docs/frontmatter.md +0 -3
  386. data/docs/page-expiry.md +0 -3
  387. data/example/.ruby-version +0 -1
  388. data/example/Gemfile +0 -3
  389. data/example/config/tech-docs.yml +0 -67
  390. data/example/source/active-pages/index.html.md.erb +0 -7
  391. data/example/source/active-pages/sub-section/index.html.md.erb +0 -7
  392. data/example/source/api-path.html.md +0 -7
  393. data/example/source/api-reference.html.md +0 -5
  394. data/example/source/child-of-expired-page.html.md +0 -8
  395. data/example/source/code.html.md +0 -42
  396. data/example/source/core-layout-without-sidebar.html.md.erb +0 -7
  397. data/example/source/core-layout.html.md.erb +0 -12
  398. data/example/source/expired-page-with-owner.html.md +0 -10
  399. data/example/source/expired-page.html.md +0 -9
  400. data/example/source/headings.html.md +0 -11
  401. data/example/source/hidden-page.html.md +0 -10
  402. data/example/source/index.html.md.erb +0 -27
  403. data/example/source/javascripts/govuk_frontend.js +0 -1
  404. data/example/source/nested-page/another-nested-nested-page/index.html.md +0 -5
  405. data/example/source/nested-page/another-nested-page/index.html.md +0 -5
  406. data/example/source/nested-page/index.html.md +0 -5
  407. data/example/source/not-expired-page.html.md +0 -9
  408. data/example/source/pets.yml +0 -113
  409. data/example/source/prevent-index-page.html.md +0 -10
  410. data/example/source/single-page-nav.html.md +0 -13
  411. data/example/source/templates/proxy_template.html.md +0 -8
  412. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +0 -7
  413. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +0 -7
  414. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -7
  415. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +0 -7
  416. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +0 -7
  417. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +0 -7
  418. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +0 -7
  419. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +0 -7
  420. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +0 -7
  421. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +0 -7
  422. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +0 -7
  423. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +0 -7
  424. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +0 -7
  425. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +0 -7
  426. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +0 -7
  427. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +0 -7
  428. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss +0 -7
  429. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss +0 -7
  430. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +0 -7
  431. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss +0 -7
  432. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +0 -7
  433. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +0 -7
  434. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss +0 -7
  435. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +0 -7
  436. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +0 -7
  437. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +0 -7
  438. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +0 -7
  439. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +0 -7
  440. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +0 -7
  441. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +0 -7
  442. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss +0 -7
  443. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss +0 -7
  444. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss +0 -7
  445. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +0 -7
  446. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +0 -7
  447. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +0 -7
  448. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +0 -10
  449. /data/{example → documentation}/source/javascripts/application.js +0 -0
  450. /data/{example → documentation}/source/stylesheets/print.css.scss +0 -0
  451. /data/{example → documentation}/source/stylesheets/screen-old-ie.css.scss +0 -0
  452. /data/{example → documentation}/source/stylesheets/screen.css.scss +0 -0
@@ -1,14 +1,13 @@
1
- @import "clearfix";
2
- @import "colour";
3
- @import "device-pixels";
4
- @import "focused";
5
- @import "font-faces";
6
- @import "grid";
7
- @import "links";
8
- @import "media-queries";
9
- @import "shape-arrow";
10
- @import "spacing";
11
- @import "typography";
12
- @import "visually-hidden";
1
+ @forward "clearfix";
2
+ @forward "colour";
3
+ @forward "device-pixels";
4
+ @forward "focused";
5
+ @forward "grid";
6
+ @forward "links";
7
+ @forward "media-queries";
8
+ @forward "shape-arrow";
9
+ @forward "spacing";
10
+ @forward "typography";
11
+ @forward "visually-hidden";
12
+ @forward "width-container";
13
13
 
14
- /*# sourceMappingURL=_index.scss.map */
@@ -0,0 +1,2 @@
1
+ @forward "links";
2
+
@@ -2,6 +2,12 @@
2
2
  /// @group helpers/links
3
3
  ////
4
4
 
5
+ @use "../settings/links" as *;
6
+ @use "../settings/measurements" as *;
7
+ @use "colour" as *;
8
+ @use "focused" as *;
9
+ @use "typography" as *;
10
+
5
11
  /// Common link styles
6
12
  ///
7
13
  /// Provides the typography and focus state, regardless of link style.
@@ -253,7 +259,7 @@
253
259
  @mixin govuk-link-style-inverse {
254
260
  &:link,
255
261
  &:visited {
256
- color: govuk-colour("white");
262
+ color: govuk-functional-colour(inverse-text);
257
263
  }
258
264
 
259
265
  &:focus {
@@ -372,4 +378,3 @@
372
378
  }
373
379
  }
374
380
 
375
- /*# sourceMappingURL=_links.scss.map */
@@ -0,0 +1,2 @@
1
+ @forward "media-queries";
2
+
@@ -6,8 +6,8 @@
6
6
  @use "sass:meta";
7
7
  @use "sass:string";
8
8
 
9
- @import "../settings/media-queries";
10
- @import "../tools/px-to-em";
9
+ @use "../settings/media-queries" as *;
10
+ @use "../tools/px-to-em" as *;
11
11
 
12
12
  // =========================================================
13
13
  // Helpers
@@ -220,4 +220,3 @@
220
220
  }
221
221
  }
222
222
 
223
- /*# sourceMappingURL=_media-queries.scss.map */
@@ -0,0 +1,2 @@
1
+ @forward "shape-arrow";
2
+
@@ -79,4 +79,3 @@
79
79
  }
80
80
  }
81
81
 
82
- /*# sourceMappingURL=_shape-arrow.scss.map */
@@ -0,0 +1,80 @@
1
+ ////
2
+ /// @group helpers/spacing
3
+ ////
4
+ @use "sass:map";
5
+ @use "sass:meta";
6
+
7
+ @use "../settings/spacing" as *;
8
+ @use "media-queries" as *;
9
+
10
+ @use "../tools/if" as *;
11
+
12
+ /// Responsive spacing
13
+ ///
14
+ /// Adds responsive spacing (either padding or margin, depending on `$property`)
15
+ /// by fetching a 'spacing map' from the responsive spacing scale, which defines
16
+ /// different spacing values at different breakpoints.
17
+ ///
18
+ /// To generate responsive spacing, use 'govuk-responsive-margin' or
19
+ /// 'govuk-responsive-padding' mixins
20
+ ///
21
+ /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
22
+ /// scale, corresponds to a map of breakpoints and spacing values
23
+ /// @param {String} $property - Property to add spacing to (e.g. 'margin')
24
+ /// @param {String} $direction [all] - Direction to add spacing to
25
+ /// (`top`, `right`, `bottom`, `left`, `all`)
26
+ /// @param {Boolean} $important [false] - Whether to mark as `!important`
27
+ /// @param {Number} $adjustment [false] - Offset to adjust spacing by
28
+ ///
29
+ /// @access private
30
+
31
+ @mixin responsive-spacing(
32
+ $responsive-spacing-point,
33
+ $property,
34
+ $direction: "all",
35
+ $important: false,
36
+ $adjustment: false
37
+ ) {
38
+ $actual-input-type: meta.type-of($responsive-spacing-point);
39
+ @if $actual-input-type != "number" {
40
+ @error "Expected a number (integer), but got a " + "#{$actual-input-type}.";
41
+ }
42
+
43
+ @if not map.has-key($govuk-spacing-responsive-scale, $responsive-spacing-point) {
44
+ @error "Unknown spacing point `#{$responsive-spacing-point}`. Make sure you are using a point from the "
45
+ + "responsive spacing scale in `_settings/spacing.scss`.";
46
+ }
47
+
48
+ // Make sure that the return value from `_settings/spacing.scss` is a map.
49
+ $scale-map: map.get($govuk-spacing-responsive-scale, $responsive-spacing-point);
50
+ $actual-map-type: meta.type-of($scale-map);
51
+ @if $actual-map-type != "map" {
52
+ @error "Expected a number (integer), but got a "
53
+ + "#{$actual-map-type}. Make sure you are using a map to set the responsive spacing in `_settings/spacing.scss`)";
54
+ }
55
+
56
+ // Loop through each breakpoint in the map
57
+ @each $breakpoint, $breakpoint-value in $scale-map {
58
+ @if $adjustment {
59
+ $breakpoint-value: $breakpoint-value + $adjustment;
60
+ }
61
+
62
+ // The 'null' breakpoint is for mobile.
63
+ @if not $breakpoint {
64
+ @if $direction == all {
65
+ #{$property}: $breakpoint-value govuk-if($important, !important);
66
+ } @else {
67
+ #{$property}-#{$direction}: $breakpoint-value govuk-if($important, !important);
68
+ }
69
+ } @else {
70
+ @media #{govuk-from-breakpoint($breakpoint)} {
71
+ @if $direction == all {
72
+ #{$property}: $breakpoint-value govuk-if($important, !important);
73
+ } @else {
74
+ #{$property}-#{$direction}: $breakpoint-value govuk-if($important, !important);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ }
80
+
@@ -0,0 +1,2 @@
1
+ @forward "spacing";
2
+
@@ -5,8 +5,9 @@
5
5
  @use "sass:math";
6
6
  @use "sass:meta";
7
7
 
8
- @import "../tools/if";
9
- @import "../helpers/media-queries";
8
+ @use "../tools/if" as *;
9
+ @use "../settings/spacing" as *;
10
+ @use "spacing--internal";
10
11
 
11
12
  /// Single point spacing
12
13
  ///
@@ -55,82 +56,11 @@
55
56
  @return govuk-if($is-negative, $value * -1, $value);
56
57
  }
57
58
 
58
- /// Responsive spacing
59
- ///
60
- /// Adds responsive spacing (either padding or margin, depending on `$property`)
61
- /// by fetching a 'spacing map' from the responsive spacing scale, which defines
62
- /// different spacing values at different breakpoints.
63
- ///
64
- /// To generate responsive spacing, use 'govuk-responsive-margin' or
65
- /// 'govuk-responsive-padding' mixins
66
- ///
67
- /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
68
- /// scale, corresponds to a map of breakpoints and spacing values
69
- /// @param {String} $property - Property to add spacing to (e.g. 'margin')
70
- /// @param {String} $direction [all] - Direction to add spacing to
71
- /// (`top`, `right`, `bottom`, `left`, `all`)
72
- /// @param {Boolean} $important [false] - Whether to mark as `!important`
73
- /// @param {Number} $adjustment [false] - Offset to adjust spacing by
74
- ///
75
- /// @access private
76
-
77
- @mixin _govuk-responsive-spacing(
78
- $responsive-spacing-point,
79
- $property,
80
- $direction: "all",
81
- $important: false,
82
- $adjustment: false
83
- ) {
84
- $actual-input-type: meta.type-of($responsive-spacing-point);
85
- @if $actual-input-type != "number" {
86
- @error "Expected a number (integer), but got a " + "#{$actual-input-type}.";
87
- }
88
-
89
- @if not map.has-key($govuk-spacing-responsive-scale, $responsive-spacing-point) {
90
- @error "Unknown spacing point `#{$responsive-spacing-point}`. Make sure you are using a point from the "
91
- + "responsive spacing scale in `_settings/spacing.scss`.";
92
- }
93
-
94
- // Make sure that the return value from `_settings/spacing.scss` is a map.
95
- $scale-map: map.get($govuk-spacing-responsive-scale, $responsive-spacing-point);
96
- $actual-map-type: meta.type-of($scale-map);
97
- @if $actual-map-type != "map" {
98
- @error "Expected a number (integer), but got a "
99
- + "#{$actual-map-type}. Make sure you are using a map to set the responsive spacing in `_settings/spacing.scss`)";
100
- }
101
-
102
- // Loop through each breakpoint in the map
103
- @each $breakpoint, $breakpoint-value in $scale-map {
104
- @if $adjustment {
105
- $breakpoint-value: $breakpoint-value + $adjustment;
106
- }
107
-
108
- // The 'null' breakpoint is for mobile.
109
- @if not $breakpoint {
110
- @if $direction == all {
111
- #{$property}: $breakpoint-value govuk-if($important, !important);
112
- } @else {
113
- #{$property}-#{$direction}: $breakpoint-value govuk-if($important, !important);
114
- }
115
- } @else {
116
- @media #{govuk-from-breakpoint($breakpoint)} {
117
- @if $direction == all {
118
- #{$property}: $breakpoint-value govuk-if($important, !important);
119
- } @else {
120
- #{$property}-#{$direction}: $breakpoint-value govuk-if($important, !important);
121
- }
122
- }
123
- }
124
- }
125
- }
126
-
127
59
  /// Responsive margin
128
60
  ///
129
61
  /// Adds responsive margin by fetching a 'spacing map' from the responsive
130
62
  /// spacing scale, which defines different spacing values at different
131
- /// breakpoints. Wrapper for the `_govuk-responsive-spacing` mixin.
132
- ///
133
- /// @see {mixin} _govuk-responsive-spacing
63
+ /// breakpoints. Wrapper for the `govuk-responsive-spacing.govuk-responsive-spacing` mixin.
134
64
  ///
135
65
  /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
136
66
  /// scale, corresponds to a map of breakpoints and spacing values
@@ -147,7 +77,13 @@
147
77
  /// @access public
148
78
 
149
79
  @mixin govuk-responsive-margin($responsive-spacing-point, $direction: "all", $important: false, $adjustment: false) {
150
- @include _govuk-responsive-spacing($responsive-spacing-point, "margin", $direction, $important, $adjustment);
80
+ @include spacing--internal.responsive-spacing(
81
+ $responsive-spacing-point,
82
+ "margin",
83
+ $direction,
84
+ $important,
85
+ $adjustment
86
+ );
151
87
  }
152
88
 
153
89
  /// Responsive padding
@@ -156,8 +92,6 @@
156
92
  /// spacing scale, which defines different spacing values at different
157
93
  /// breakpoints. Wrapper for the `_govuk-responsive-spacing` mixin.
158
94
  ///
159
- /// @see {mixin} _govuk-responsive-spacing
160
- ///
161
95
  /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
162
96
  /// scale, corresponds to a map of breakpoints and spacing values
163
97
  /// @param {String} $direction [all] - Direction to add spacing to
@@ -173,7 +107,12 @@
173
107
  /// @access public
174
108
 
175
109
  @mixin govuk-responsive-padding($responsive-spacing-point, $direction: "all", $important: false, $adjustment: false) {
176
- @include _govuk-responsive-spacing($responsive-spacing-point, "padding", $direction, $important, $adjustment);
110
+ @include spacing--internal.responsive-spacing(
111
+ $responsive-spacing-point,
112
+ "padding",
113
+ $direction,
114
+ $important,
115
+ $adjustment
116
+ );
177
117
  }
178
118
 
179
- /*# sourceMappingURL=_spacing.scss.map */
@@ -0,0 +1,24 @@
1
+ ////
2
+ /// @group helpers/typography
3
+ ////
4
+
5
+ @use "sass:math";
6
+
7
+ /// Convert line-heights specified in pixels into a relative value, unless
8
+ /// they are already unit-less (and thus already treated as relative values)
9
+ /// or the units do not match the units used for the font size.
10
+ ///
11
+ /// @param {Number} $line-height Line height
12
+ /// @param {Number} $font-size Font size
13
+ /// @return {Number} The line height as either a relative value or unmodified
14
+ ///
15
+ /// @access private
16
+
17
+ @function line-height($line-height, $font-size) {
18
+ @if not math.is-unitless($line-height) and math.unit($line-height) == math.unit($font-size) {
19
+ $line-height: math.div($line-height, $font-size);
20
+ }
21
+
22
+ @return $line-height;
23
+ }
24
+
@@ -0,0 +1,2 @@
1
+ @forward "typography";
2
+
@@ -2,20 +2,22 @@
2
2
  /// @group helpers/typography
3
3
  ////
4
4
  @use "sass:map";
5
- @use "sass:math";
6
5
  @use "sass:string";
7
6
 
8
- @import "../settings/assets";
9
- @import "../settings/colours-functional";
10
- @import "../settings/spacing";
11
- @import "../settings/typography-font";
12
- @import "../settings/warnings";
13
- @import "../tools/font-url";
14
- @import "../tools/px-to-rem";
15
- @import "../tools/if";
16
- @import "font-faces";
17
- @import "media-queries";
18
- @import "spacing";
7
+ @use "../settings/warnings--internal";
8
+
9
+ @use "../settings/assets" as *;
10
+ @use "../settings/colours-functional" as *;
11
+ @use "../settings/spacing" as *;
12
+ @use "../settings/typography-font" as *;
13
+ @use "../settings/typography-responsive" as *;
14
+ @use "../tools/font-url" as *;
15
+ @use "../tools/px-to-rem" as *;
16
+ @use "../tools/if" as *;
17
+ @use "colour" as *;
18
+ @use "font-faces--internal";
19
+ @use "typography--internal";
20
+ @use "media-queries" as *;
19
21
 
20
22
  /// 'Common typography' helper
21
23
  ///
@@ -33,7 +35,7 @@
33
35
  // If the user is using the default GDS Transport font we need to include
34
36
  // the font-face declarations.
35
37
  @if $govuk-include-default-font-face {
36
- @include _govuk-font-face-gds-transport;
38
+ @include font-faces--internal.gds-transport;
37
39
  }
38
40
 
39
41
  @media print {
@@ -49,9 +51,9 @@
49
51
  /// @access public
50
52
 
51
53
  @mixin govuk-text-colour {
52
- @include _warning(
54
+ @include warnings--internal.warning(
53
55
  "govuk-text-colour",
54
- "The `govuk-text-colour` mixin is deprecated. Use `color: govuk-colour(text)` instead."
56
+ "The `govuk-text-colour` mixin is deprecated. Use `color: govuk-functional-colour(text)` instead."
55
57
  );
56
58
 
57
59
  color: govuk-functional-colour(text);
@@ -111,24 +113,6 @@
111
113
  overflow-wrap: break-word govuk-if($important, !important);
112
114
  }
113
115
 
114
- /// Convert line-heights specified in pixels into a relative value, unless
115
- /// they are already unit-less (and thus already treated as relative values)
116
- /// or the units do not match the units used for the font size.
117
- ///
118
- /// @param {Number} $line-height Line height
119
- /// @param {Number} $font-size Font size
120
- /// @return {Number} The line height as either a relative value or unmodified
121
- ///
122
- /// @access private
123
-
124
- @function _govuk-line-height($line-height, $font-size) {
125
- @if not math.is-unitless($line-height) and math.unit($line-height) == math.unit($font-size) {
126
- $line-height: math.div($line-height, $font-size);
127
- }
128
-
129
- @return $line-height;
130
- }
131
-
132
116
  /// Font size and line height helper
133
117
  ///
134
118
  /// Takes a point from the responsive 'font map' as an argument (the size as it
@@ -198,7 +182,7 @@
198
182
  @if $deprecation {
199
183
  // Warn on deprecated font sizes unless flagged for internal use
200
184
  @if not $size-internal-use-only {
201
- @include _warning(map.get($deprecation, "key"), map.get($deprecation, "message"));
185
+ @include warnings--internal.warning(map.get($deprecation, "key"), map.get($deprecation, "message"));
202
186
  }
203
187
 
204
188
  // remove the deprecation map keys so they do not break the breakpoint loop
@@ -211,7 +195,7 @@
211
195
 
212
196
  // $calculated-line-height is a separate variable from $line-height,
213
197
  // as otherwise the value would get redefined with each loop and
214
- // eventually break _govuk-line-height.
198
+ // eventually break typography--internal.line-height.
215
199
  // 1. See if the function was called with a specific line-height
216
200
  $calculated-line-height: $line-height;
217
201
  // 2. Default to the breakpoint-map if no specific value was given
@@ -222,7 +206,7 @@
222
206
  // 3. Turn the value into a unitless line-height if possible
223
207
  // We continue to call the param $line-height to stay consistent with the
224
208
  // naming with govuk-font.
225
- $calculated-line-height: _govuk-line-height(
209
+ $calculated-line-height: typography--internal.line-height(
226
210
  $line-height: $calculated-line-height,
227
211
  $font-size: $font-size
228
212
  );
@@ -283,4 +267,3 @@
283
267
  }
284
268
  }
285
269
 
286
- /*# sourceMappingURL=_typography.scss.map */
@@ -0,0 +1,2 @@
1
+ @forward "visually-hidden";
2
+
@@ -2,7 +2,7 @@
2
2
  /// @group helpers/accessibility
3
3
  ////
4
4
 
5
- @import "../tools/if";
5
+ @use "../tools/if" as *;
6
6
 
7
7
  /// Helper function containing the common code for the following two mixins
8
8
  ///
@@ -87,4 +87,3 @@
87
87
  }
88
88
  }
89
89
 
90
- /*# sourceMappingURL=_visually-hidden.scss.map */
@@ -0,0 +1,2 @@
1
+ @forward "width-container";
2
+
@@ -0,0 +1,73 @@
1
+ ////
2
+ /// @group helpers/width-container
3
+ ////
4
+
5
+ @use "sass:string";
6
+
7
+ @use "../settings/measurements" as *;
8
+ @use "media-queries" as *;
9
+
10
+ /// Width container mixin
11
+ ///
12
+ /// Used to create page width and custom width container classes.
13
+ ///
14
+ /// @param {String} $width [$govuk-page-width] - Width in pixels
15
+ ///
16
+ /// @example scss - Creating a 1200px wide container class
17
+ /// .app-width-container--wide {
18
+ /// @include govuk-width-container(1200px);
19
+ /// }
20
+ ///
21
+ /// @access public
22
+
23
+ @mixin govuk-width-container($width: $govuk-page-width) {
24
+ // By default, limit the width of the container to the page width
25
+ max-width: $width;
26
+
27
+ // On mobile, add half width gutters
28
+ margin-right: $govuk-gutter-half;
29
+ margin-left: $govuk-gutter-half;
30
+
31
+ // Respect 'display cutout' safe area (avoids notches and rounded corners)
32
+ @supports (margin: string.unquote("max(calc(0px))")) {
33
+ $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
34
+ $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
35
+
36
+ // Use max() to pick largest margin, default or with safe area
37
+ // Escaped due to Sass max() vs. CSS native max()
38
+ margin-right: string.unquote("max(#{$govuk-gutter-half}, #{$gutter-safe-area-right})");
39
+ margin-left: string.unquote("max(#{$govuk-gutter-half}, #{$gutter-safe-area-left})");
40
+ }
41
+
42
+ // On tablet, add full width gutters
43
+ @media #{govuk-from-breakpoint(tablet)} {
44
+ margin-right: $govuk-gutter;
45
+ margin-left: $govuk-gutter;
46
+
47
+ // Respect 'display cutout' safe area (avoids notches and rounded corners)
48
+ @supports (margin: string.unquote("max(calc(0px))")) {
49
+ $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
50
+ $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
51
+
52
+ // Use max() to pick largest margin, default or with safe area
53
+ // Escaped due to Sass max() vs. CSS native max()
54
+ margin-right: string.unquote("max(#{$govuk-gutter}, #{$gutter-safe-area-right})");
55
+ margin-left: string.unquote("max(#{$govuk-gutter}, #{$gutter-safe-area-left})");
56
+ }
57
+ }
58
+
59
+ // As soon as the viewport is greater than the width of the page plus the
60
+ // gutters, just centre the content instead of adding gutters.
61
+ @media (min-width: #{($width + $govuk-gutter * 2)}) {
62
+ margin-right: auto;
63
+ margin-left: auto;
64
+
65
+ // Since a safe area may have previously been set above,
66
+ // we need to duplicate this margin that centers the page.
67
+ @supports (margin: string.unquote("max(calc(0px))")) {
68
+ margin-right: auto;
69
+ margin-left: auto;
70
+ }
71
+ }
72
+ }
73
+
@@ -0,0 +1,10 @@
1
+ @import "base";
2
+
3
+ @import "core";
4
+ @import "objects";
5
+
6
+ @import "components";
7
+
8
+ @import "utilities";
9
+ @import "overrides";
10
+
@@ -1,11 +1,10 @@
1
- @import "base";
1
+ @forward "base";
2
2
 
3
- @import "core/index";
4
- @import "objects/index";
3
+ @use "core";
4
+ @use "objects";
5
5
 
6
- @import "components/index";
6
+ @use "components";
7
7
 
8
- @import "utilities/index";
9
- @import "overrides/index";
8
+ @use "utilities";
9
+ @use "overrides";
10
10
 
11
- /*# sourceMappingURL=index.scss.map */
@@ -0,0 +1,8 @@
1
+ @use "button-group.mixin" as button-group;
2
+
3
+ @import "../base";
4
+
5
+ @include govuk-exports("govuk/objects/button-group") {
6
+ @include button-group.styles;
7
+ }
8
+
@@ -0,0 +1,80 @@
1
+ @use "../base";
2
+
3
+ /// @access private
4
+ @mixin styles {
5
+ // Button groups can be used to group buttons and links together as a group.
6
+ //
7
+ // Within a button group:
8
+ //
9
+ // - links are styled to line up visually with the buttons, including being
10
+ // centre-aligned on mobile
11
+ // - spacing between the buttons and links is handled automatically, including
12
+ // when they wrap across multiple lines
13
+ .govuk-button-group {
14
+ $horizontal-gap: base.govuk-spacing(3);
15
+ $vertical-gap: base.govuk-spacing(3);
16
+
17
+ // These need to be kept in sync with the button component's styles
18
+ $button-padding: base.govuk-spacing(2);
19
+ $button-shadow-size: base.$govuk-border-width-form-element;
20
+
21
+ $link-spacing: base.govuk-spacing(1);
22
+
23
+ @include base.govuk-responsive-margin(6, "bottom", $adjustment: $vertical-gap * -1);
24
+
25
+ // Flexbox is used to center-align links on mobile, align everything along
26
+ // the baseline on tablet and above, and to removes extra whitespace that
27
+ // we'd get between the buttons and links because they're inline-blocks.
28
+ //
29
+ // Ideally we'd use `gap` with flexbox rather than having to do it all with
30
+ // margins, but unfortunately the support isn't there (yet) and @supports
31
+ // doesn't play nicely with it
32
+ // (https://github.com/w3c/csswg-drafts/issues/3559)
33
+ display: flex;
34
+ flex-direction: column;
35
+ align-items: center;
36
+
37
+ // Give links within the button group the same font-size and line-height
38
+ // as buttons.
39
+ //
40
+ // Because we want the focus state to be tight around the link text, we use
41
+ // margins where the buttons would use padding.
42
+ .govuk-link {
43
+ @include base.govuk-font($size: 19, $line-height: 19px);
44
+ display: inline-block;
45
+ // Prevent links overflowing their container in IE10/11 because of bug
46
+ // with align-items: center
47
+ max-width: 100%;
48
+ margin-top: $link-spacing;
49
+ margin-bottom: $link-spacing + $vertical-gap;
50
+ text-align: center;
51
+ }
52
+
53
+ // Reduce the bottom margin to the size of the vertical gap (accommodating
54
+ // the button shadow) – the 'lost' margin is moved to the button-group.
55
+ .govuk-button {
56
+ margin-bottom: $vertical-gap + $button-shadow-size;
57
+ }
58
+
59
+ // On tablet and above, we also introduce a 'column gap' between the
60
+ // buttons and links in each row and left align links
61
+ @media #{base.govuk-from-breakpoint(tablet)} {
62
+ flex-direction: row;
63
+ flex-wrap: wrap;
64
+ align-items: baseline;
65
+
66
+ // Cancel out the column gap for the last item in each row
67
+ margin-right: ($horizontal-gap * -1);
68
+
69
+ .govuk-button,
70
+ .govuk-link {
71
+ margin-right: $horizontal-gap;
72
+ }
73
+
74
+ .govuk-link {
75
+ text-align: left;
76
+ }
77
+ }
78
+ }
79
+ }
80
+