govuk_tech_docs 6.3.0.beta → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) 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/deploy-to-pages.yaml +39 -0
  5. data/.github/workflows/publish.yaml +2 -2
  6. data/.github/workflows/test.yaml +9 -3
  7. data/.gitignore +5 -4
  8. data/CHANGELOG.md +9 -4
  9. data/README.md +9 -9
  10. data/Rakefile +1 -1
  11. data/documentation/.nvmrc +1 -0
  12. data/documentation/Gemfile +11 -0
  13. data/documentation/LICENSE +21 -0
  14. data/documentation/README.md +30 -0
  15. data/documentation/Staticfile +4 -0
  16. data/documentation/config/tech-docs.yml +45 -0
  17. data/{example → documentation}/config.rb +3 -6
  18. data/documentation/source/accessibility/index.html.md.erb +64 -0
  19. data/documentation/source/configure_project/frontmatter/index.html.md.erb +206 -0
  20. data/documentation/source/configure_project/global_configuration/index.html.md.erb +328 -0
  21. data/documentation/source/configure_project/index.html.md.erb +17 -0
  22. data/documentation/source/configure_project/page_expiry_and_review/index.html.md.erb +93 -0
  23. data/documentation/source/configure_project/structure_docs/index.html.md.erb +117 -0
  24. data/documentation/source/create_project/build/index.html.md.erb +20 -0
  25. data/documentation/source/create_project/create_new_project/index.html.md.erb +23 -0
  26. data/documentation/source/create_project/get_started/index.html.md.erb +58 -0
  27. data/documentation/source/create_project/index.html.md.erb +17 -0
  28. data/documentation/source/create_project/preview/index.html.md.erb +26 -0
  29. data/documentation/source/images/Basic multipage.svg +1 -0
  30. data/documentation/source/images/Basic_multipage.svg +1 -0
  31. data/documentation/source/images/Nested multipage.svg +1 -0
  32. data/documentation/source/images/Nested_multipage.svg +1 -0
  33. data/documentation/source/images/Single_page.svg +1 -0
  34. data/documentation/source/images/core-layout-without-sidebar.png +0 -0
  35. data/documentation/source/images/core-layout.png +0 -0
  36. data/documentation/source/images/daniel-the-manual-spaniel-screenshot.svg +1 -0
  37. data/documentation/source/images/expired-page.png +0 -0
  38. data/documentation/source/images/last-reviewed-only.png +0 -0
  39. data/documentation/source/images/last-reviewed-only.svg +1 -0
  40. data/documentation/source/images/layout-layout.png +0 -0
  41. data/documentation/source/images/multipage.svg +3 -0
  42. data/documentation/source/images/not-expired-page.png +0 -0
  43. data/documentation/source/index.html.md.erb +19 -0
  44. data/documentation/source/maintain_project/index.html.md.erb +18 -0
  45. data/documentation/source/maintain_project/redirects/index.html.md.erb +22 -0
  46. data/documentation/source/maintain_project/review_content/index.html.md.erb +45 -0
  47. data/documentation/source/maintain_project/use_latest_template/index.html.md.erb +34 -0
  48. data/documentation/source/partials/_links.erb +81 -0
  49. data/documentation/source/publish_project/deploy/index.html.md.erb +44 -0
  50. data/documentation/source/publish_project/index.html.md.erb +15 -0
  51. data/documentation/source/publish_project/version/index.html.md.erb +12 -0
  52. data/documentation/source/support/index.html.md.erb +46 -0
  53. data/documentation/source/write_docs/add_openapi_spec/index.html.md.erb +48 -0
  54. data/documentation/source/write_docs/content/index.html.md.erb +128 -0
  55. data/documentation/source/write_docs/index.html.md.erb +15 -0
  56. data/lib/govuk_tech_docs/version.rb +1 -1
  57. data/lib/source/layouts/_footer.erb +2 -2
  58. data/lib/source/layouts/_header.erb +2 -2
  59. data/lib/source/layouts/_service_navigation.erb +1 -6
  60. data/lib/source/layouts/core.erb +15 -7
  61. data/node_modules/govuk-frontend/dist/govuk/_base.import.scss +6 -0
  62. data/node_modules/govuk-frontend/dist/govuk/_base.scss +4 -5
  63. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +31 -22
  64. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +31 -22
  65. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-180.png +0 -0
  66. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-192.png +0 -0
  67. data/node_modules/govuk-frontend/dist/govuk/assets/images/govuk-icon-512.png +0 -0
  68. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  69. data/node_modules/govuk-frontend/dist/govuk/components/_index.import.scss +37 -0
  70. data/node_modules/govuk-frontend/dist/govuk/components/_index.scss +36 -39
  71. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.import.scss +6 -0
  72. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.import.scss +8 -0
  73. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +3 -373
  74. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_mixin.scss +375 -0
  75. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.import.scss +6 -0
  76. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.import.scss +8 -0
  77. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_index.scss +3 -85
  78. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_mixin.scss +87 -0
  79. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.import.scss +6 -0
  80. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.import.scss +8 -0
  81. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +3 -136
  82. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_mixin.scss +138 -0
  83. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.import.scss +6 -0
  84. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.import.scss +13 -0
  85. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +9 -259
  86. data/node_modules/govuk-frontend/dist/govuk/components/button/_mixin.scss +233 -0
  87. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.import.scss +32 -0
  88. data/node_modules/govuk-frontend/dist/govuk/components/button/_settings.scss +34 -0
  89. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.import.scss +6 -0
  90. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.import.scss +12 -0
  91. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +7 -44
  92. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_mixin.scss +41 -0
  93. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.import.scss +6 -0
  94. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.import.scss +12 -0
  95. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_index.scss +7 -314
  96. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_mixin.scss +311 -0
  97. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.import.scss +6 -0
  98. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.import.scss +9 -0
  99. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_index.scss +4 -55
  100. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_mixin.scss +56 -0
  101. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.import.scss +6 -0
  102. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.import.scss +13 -0
  103. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_index.scss +8 -33
  104. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_mixin.scss +29 -0
  105. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.import.scss +6 -0
  106. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.import.scss +8 -0
  107. data/node_modules/govuk-frontend/dist/govuk/components/details/_index.scss +3 -141
  108. data/node_modules/govuk-frontend/dist/govuk/components/details/_mixin.scss +143 -0
  109. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.import.scss +6 -0
  110. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.import.scss +8 -0
  111. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_index.scss +3 -14
  112. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_mixin.scss +16 -0
  113. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.import.scss +6 -0
  114. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.import.scss +8 -0
  115. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_index.scss +3 -57
  116. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_mixin.scss +58 -0
  117. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.import.scss +6 -0
  118. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.import.scss +9 -0
  119. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +4 -91
  120. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_mixin.scss +92 -0
  121. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.import.scss +6 -0
  122. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.import.scss +8 -0
  123. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_index.scss +3 -69
  124. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_mixin.scss +71 -0
  125. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.import.scss +6 -0
  126. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.import.scss +11 -0
  127. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +6 -211
  128. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_mixin.scss +217 -0
  129. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +30 -21
  130. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +30 -21
  131. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +30 -21
  132. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.import.scss +6 -0
  133. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.import.scss +8 -0
  134. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +3 -197
  135. data/node_modules/govuk-frontend/dist/govuk/components/footer/_mixin.scss +199 -0
  136. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.import.scss +6 -0
  137. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.import.scss +8 -0
  138. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +3 -188
  139. data/node_modules/govuk-frontend/dist/govuk/components/header/_mixin.scss +175 -0
  140. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.import.scss +6 -0
  141. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.import.scss +8 -0
  142. data/node_modules/govuk-frontend/dist/govuk/components/hint/_index.scss +3 -45
  143. data/node_modules/govuk-frontend/dist/govuk/components/hint/_mixin.scss +47 -0
  144. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.import.scss +11 -0
  145. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +6 -162
  146. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.import.scss +6 -0
  147. data/node_modules/govuk-frontend/dist/govuk/components/input/_mixin.scss +160 -0
  148. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.import.scss +8 -0
  149. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_index.scss +3 -29
  150. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.import.scss +6 -0
  151. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_mixin.scss +31 -0
  152. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.import.scss +8 -0
  153. data/node_modules/govuk-frontend/dist/govuk/components/label/_index.scss +3 -46
  154. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.import.scss +6 -0
  155. data/node_modules/govuk-frontend/dist/govuk/components/label/_mixin.scss +48 -0
  156. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.import.scss +8 -0
  157. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +3 -97
  158. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_mixin.scss +99 -0
  159. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.import.scss +6 -0
  160. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.import.scss +8 -0
  161. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +3 -233
  162. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_mixin.scss +235 -0
  163. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.import.scss +6 -0
  164. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.import.scss +8 -0
  165. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +3 -58
  166. data/node_modules/govuk-frontend/dist/govuk/components/panel/_mixin.scss +60 -0
  167. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.import.scss +6 -0
  168. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.import.scss +10 -0
  169. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +5 -56
  170. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_mixin.scss +56 -0
  171. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.import.scss +6 -0
  172. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.import.scss +9 -0
  173. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +4 -41
  174. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_mixin.scss +42 -0
  175. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.import.scss +6 -0
  176. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.import.scss +12 -0
  177. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +7 -330
  178. data/node_modules/govuk-frontend/dist/govuk/components/radios/_mixin.scss +330 -0
  179. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.import.scss +6 -0
  180. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.import.scss +11 -0
  181. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +6 -53
  182. data/node_modules/govuk-frontend/dist/govuk/components/select/_mixin.scss +52 -0
  183. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.import.scss +6 -0
  184. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.import.scss +8 -0
  185. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +3 -235
  186. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_mixin.scss +237 -0
  187. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.import.scss +6 -0
  188. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.import.scss +8 -0
  189. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_index.scss +3 -58
  190. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_mixin.scss +60 -0
  191. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.import.scss +6 -0
  192. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.import.scss +8 -0
  193. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +3 -284
  194. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_mixin.scss +286 -0
  195. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.import.scss +6 -0
  196. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.import.scss +8 -0
  197. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +3 -75
  198. data/node_modules/govuk-frontend/dist/govuk/components/table/_mixin.scss +77 -0
  199. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.import.scss +6 -0
  200. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.import.scss +8 -0
  201. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +3 -138
  202. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_mixin.scss +140 -0
  203. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.import.scss +6 -0
  204. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.import.scss +8 -0
  205. data/node_modules/govuk-frontend/dist/govuk/components/tag/_index.scss +3 -132
  206. data/node_modules/govuk-frontend/dist/govuk/components/tag/_mixin.scss +135 -0
  207. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.import.scss +6 -0
  208. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.import.scss +9 -0
  209. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_index.scss +4 -82
  210. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_mixin.scss +83 -0
  211. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.import.scss +6 -0
  212. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.import.scss +11 -0
  213. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +6 -44
  214. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_mixin.scss +43 -0
  215. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.import.scss +6 -0
  216. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.import.scss +8 -0
  217. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +3 -67
  218. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_mixin.scss +69 -0
  219. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.import.scss +6 -0
  220. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.import.scss +10 -0
  221. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.mixin.scss +19 -0
  222. data/node_modules/govuk-frontend/dist/govuk/core/_global-styles.scss +5 -22
  223. data/node_modules/govuk-frontend/dist/govuk/core/_index.import.scss +6 -0
  224. data/node_modules/govuk-frontend/dist/govuk/core/_index.scss +6 -10
  225. data/node_modules/govuk-frontend/dist/govuk/core/_links.import.scss +10 -0
  226. data/node_modules/govuk-frontend/dist/govuk/core/_links.mixin.scss +44 -0
  227. data/node_modules/govuk-frontend/dist/govuk/core/_links.scss +3 -48
  228. data/node_modules/govuk-frontend/dist/govuk/core/_lists.import.scss +14 -0
  229. data/node_modules/govuk-frontend/dist/govuk/core/_lists.mixin.scss +74 -0
  230. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +6 -73
  231. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.import.scss +8 -0
  232. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.mixin.scss +54 -0
  233. data/node_modules/govuk-frontend/dist/govuk/core/_section-break.scss +3 -55
  234. data/node_modules/govuk-frontend/dist/govuk/core/_typography.import.scss +8 -0
  235. data/node_modules/govuk-frontend/dist/govuk/core/_typography.mixin.scss +173 -0
  236. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +3 -174
  237. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.import.scss +8 -0
  238. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.mixin.scss +15 -0
  239. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_breakpoints.scss +2 -15
  240. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.import.scss +8 -0
  241. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.mixin.scss +13 -0
  242. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_frontend-version.scss +2 -13
  243. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.import.scss +8 -0
  244. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.mixin.scss +21 -0
  245. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_functional-colours.scss +2 -20
  246. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.import.scss +4 -0
  247. data/node_modules/govuk-frontend/dist/govuk/custom-properties/_index.scss +3 -4
  248. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  249. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.import.scss +2 -0
  250. data/node_modules/govuk-frontend/dist/govuk/helpers/_clearfix.scss +0 -1
  251. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.import.scss +2 -0
  252. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +35 -17
  253. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.import.scss +2 -0
  254. data/node_modules/govuk-frontend/dist/govuk/helpers/_device-pixels.scss +2 -3
  255. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.import.scss +2 -0
  256. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +3 -1
  257. data/node_modules/govuk-frontend/dist/govuk/helpers/{_font-faces.scss → _font-faces--internal.scss} +5 -5
  258. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.import.scss +2 -0
  259. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +3 -1
  260. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.import.scss +2 -0
  261. data/node_modules/govuk-frontend/dist/govuk/helpers/_index.scss +12 -13
  262. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.import.scss +2 -0
  263. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +6 -1
  264. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.import.scss +2 -0
  265. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +2 -3
  266. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.import.scss +2 -0
  267. data/node_modules/govuk-frontend/dist/govuk/helpers/_shape-arrow.scss +0 -1
  268. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing--internal.scss +80 -0
  269. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.import.scss +2 -0
  270. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +18 -79
  271. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography--internal.scss +24 -0
  272. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.import.scss +2 -0
  273. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +20 -37
  274. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.import.scss +2 -0
  275. data/node_modules/govuk-frontend/dist/govuk/helpers/_visually-hidden.scss +1 -2
  276. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.import.scss +2 -0
  277. data/node_modules/govuk-frontend/dist/govuk/helpers/_width-container.scss +73 -0
  278. data/node_modules/govuk-frontend/dist/govuk/index.import.scss +10 -0
  279. data/node_modules/govuk-frontend/dist/govuk/index.scss +6 -7
  280. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.import.scss +8 -0
  281. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.mixin.scss +80 -0
  282. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +3 -78
  283. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.import.scss +8 -0
  284. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.mixin.scss +26 -0
  285. data/node_modules/govuk-frontend/dist/govuk/objects/_form-group.scss +3 -24
  286. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.import.scss +8 -0
  287. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.mixin.scss +28 -0
  288. data/node_modules/govuk-frontend/dist/govuk/objects/_grid.scss +3 -26
  289. data/node_modules/govuk-frontend/dist/govuk/objects/_index.import.scss +7 -0
  290. data/node_modules/govuk-frontend/dist/govuk/objects/_index.scss +6 -7
  291. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.import.scss +8 -0
  292. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.mixin.scss +55 -0
  293. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +3 -53
  294. data/node_modules/govuk-frontend/dist/govuk/objects/_template.import.scss +8 -0
  295. data/node_modules/govuk-frontend/dist/govuk/objects/_template.mixin.scss +53 -0
  296. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +3 -51
  297. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.import.scss +8 -0
  298. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.mixin.scss +9 -0
  299. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +3 -76
  300. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.import.scss +8 -0
  301. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.mixin.scss +26 -0
  302. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +2 -26
  303. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.import.scss +6 -0
  304. data/node_modules/govuk-frontend/dist/govuk/overrides/_index.scss +5 -9
  305. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.import.scss +8 -0
  306. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.mixin.scss +89 -0
  307. data/node_modules/govuk-frontend/dist/govuk/overrides/_spacing.scss +2 -88
  308. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.import.scss +8 -0
  309. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.mixin.scss +16 -0
  310. data/node_modules/govuk-frontend/dist/govuk/overrides/_text-align.scss +2 -16
  311. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.import.scss +8 -0
  312. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.mixin.scss +43 -0
  313. data/node_modules/govuk-frontend/dist/govuk/overrides/_typography.scss +2 -43
  314. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.import.scss +8 -0
  315. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.mixin.scss +50 -0
  316. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +2 -49
  317. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.import.scss +13 -0
  318. data/node_modules/govuk-frontend/dist/govuk/settings/_assets.scss +46 -35
  319. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.import.scss +13 -0
  320. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.import.scss +2 -0
  321. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-functional.scss +10 -235
  322. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.import.scss +2 -0
  323. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-legacy-functional.scss +188 -0
  324. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.import.scss +2 -0
  325. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +1 -20
  326. data/node_modules/govuk-frontend/dist/govuk/settings/{_colours-palette.scss → _colours-palette--internal.scss} +2 -3
  327. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.import.scss +2 -0
  328. data/node_modules/govuk-frontend/dist/govuk/settings/_custom-properties.scss +0 -1
  329. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.import.scss +2 -0
  330. data/node_modules/govuk-frontend/dist/govuk/settings/_global-styles.scss +0 -1
  331. data/node_modules/govuk-frontend/dist/govuk/settings/_index.import.scss +24 -0
  332. data/node_modules/govuk-frontend/dist/govuk/settings/_index.scss +13 -14
  333. data/node_modules/govuk-frontend/dist/govuk/settings/_links.import.scss +2 -0
  334. data/node_modules/govuk-frontend/dist/govuk/settings/_links.scss +0 -1
  335. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.import.scss +2 -0
  336. data/node_modules/govuk-frontend/dist/govuk/settings/_measurements.scss +2 -3
  337. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.import.scss +2 -0
  338. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +0 -1
  339. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.import.scss +2 -0
  340. data/node_modules/govuk-frontend/dist/govuk/settings/_spacing.scss +0 -1
  341. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.import.scss +2 -0
  342. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss +2 -4
  343. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.import.scss +2 -0
  344. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +0 -1
  345. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings--internal.scss +69 -0
  346. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.import.scss +2 -0
  347. data/node_modules/govuk-frontend/dist/govuk/settings/_warnings.scss +9 -69
  348. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.import.scss +2 -0
  349. data/node_modules/govuk-frontend/dist/govuk/tools/_exports.scss +10 -5
  350. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.import.scss +31 -0
  351. data/node_modules/govuk-frontend/dist/govuk/tools/_font-url.scss +9 -1
  352. data/node_modules/govuk-frontend/dist/govuk/tools/_if.import.scss +2 -0
  353. data/node_modules/govuk-frontend/dist/govuk/tools/_if.scss +0 -1
  354. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.import.scss +31 -0
  355. data/node_modules/govuk-frontend/dist/govuk/tools/_image-url.scss +9 -1
  356. data/node_modules/govuk-frontend/dist/govuk/tools/_index.import.scss +2 -0
  357. data/node_modules/govuk-frontend/dist/govuk/tools/_index.scss +6 -7
  358. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.import.scss +2 -0
  359. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +1 -2
  360. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.import.scss +2 -0
  361. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-rem.scss +1 -2
  362. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.import.scss +8 -0
  363. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.mixin.scss +10 -0
  364. data/node_modules/govuk-frontend/dist/govuk/utilities/_clearfix.scss +2 -8
  365. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.import.scss +3 -0
  366. data/node_modules/govuk-frontend/dist/govuk/utilities/_index.scss +2 -4
  367. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.import.scss +8 -0
  368. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.mixin.scss +14 -0
  369. data/node_modules/govuk-frontend/dist/govuk/utilities/_visually-hidden.scss +2 -12
  370. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +2 -3
  371. data/package-lock.json +153 -124
  372. metadata +255 -73
  373. data/docs/configuration.md +0 -3
  374. data/docs/frontmatter.md +0 -3
  375. data/docs/page-expiry.md +0 -3
  376. data/example/.ruby-version +0 -1
  377. data/example/Gemfile +0 -3
  378. data/example/config/tech-docs.yml +0 -67
  379. data/example/source/active-pages/index.html.md.erb +0 -7
  380. data/example/source/active-pages/sub-section/index.html.md.erb +0 -7
  381. data/example/source/api-path.html.md +0 -7
  382. data/example/source/api-reference.html.md +0 -5
  383. data/example/source/child-of-expired-page.html.md +0 -8
  384. data/example/source/code.html.md +0 -42
  385. data/example/source/core-layout-without-sidebar.html.md.erb +0 -7
  386. data/example/source/core-layout.html.md.erb +0 -12
  387. data/example/source/expired-page-with-owner.html.md +0 -10
  388. data/example/source/expired-page.html.md +0 -9
  389. data/example/source/headings.html.md +0 -11
  390. data/example/source/hidden-page.html.md +0 -10
  391. data/example/source/index.html.md.erb +0 -27
  392. data/example/source/javascripts/govuk_frontend.js +0 -1
  393. data/example/source/nested-page/another-nested-nested-page/index.html.md +0 -5
  394. data/example/source/nested-page/another-nested-page/index.html.md +0 -5
  395. data/example/source/nested-page/index.html.md +0 -5
  396. data/example/source/not-expired-page.html.md +0 -9
  397. data/example/source/pets.yml +0 -113
  398. data/example/source/prevent-index-page.html.md +0 -10
  399. data/example/source/single-page-nav.html.md +0 -13
  400. data/example/source/templates/proxy_template.html.md +0 -8
  401. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_accordion.scss +0 -7
  402. data/node_modules/govuk-frontend/dist/govuk/components/back-link/_back-link.scss +0 -7
  403. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_breadcrumbs.scss +0 -7
  404. data/node_modules/govuk-frontend/dist/govuk/components/button/_button.scss +0 -7
  405. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_character-count.scss +0 -7
  406. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/_checkboxes.scss +0 -7
  407. data/node_modules/govuk-frontend/dist/govuk/components/cookie-banner/_cookie-banner.scss +0 -7
  408. data/node_modules/govuk-frontend/dist/govuk/components/date-input/_date-input.scss +0 -7
  409. data/node_modules/govuk-frontend/dist/govuk/components/details/_details.scss +0 -7
  410. data/node_modules/govuk-frontend/dist/govuk/components/error-message/_error-message.scss +0 -7
  411. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/_error-summary.scss +0 -7
  412. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_exit-this-page.scss +0 -7
  413. data/node_modules/govuk-frontend/dist/govuk/components/fieldset/_fieldset.scss +0 -7
  414. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_file-upload.scss +0 -7
  415. data/node_modules/govuk-frontend/dist/govuk/components/footer/_footer.scss +0 -7
  416. data/node_modules/govuk-frontend/dist/govuk/components/header/_header.scss +0 -7
  417. data/node_modules/govuk-frontend/dist/govuk/components/hint/_hint.scss +0 -7
  418. data/node_modules/govuk-frontend/dist/govuk/components/input/_input.scss +0 -7
  419. data/node_modules/govuk-frontend/dist/govuk/components/inset-text/_inset-text.scss +0 -7
  420. data/node_modules/govuk-frontend/dist/govuk/components/label/_label.scss +0 -7
  421. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_notification-banner.scss +0 -7
  422. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_pagination.scss +0 -7
  423. data/node_modules/govuk-frontend/dist/govuk/components/panel/_panel.scss +0 -7
  424. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_password-input.scss +0 -7
  425. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_phase-banner.scss +0 -7
  426. data/node_modules/govuk-frontend/dist/govuk/components/radios/_radios.scss +0 -7
  427. data/node_modules/govuk-frontend/dist/govuk/components/select/_select.scss +0 -7
  428. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_service-navigation.scss +0 -7
  429. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/_skip-link.scss +0 -7
  430. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_summary-list.scss +0 -7
  431. data/node_modules/govuk-frontend/dist/govuk/components/table/_table.scss +0 -7
  432. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_tabs.scss +0 -7
  433. data/node_modules/govuk-frontend/dist/govuk/components/tag/_tag.scss +0 -7
  434. data/node_modules/govuk-frontend/dist/govuk/components/task-list/_task-list.scss +0 -7
  435. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_textarea.scss +0 -7
  436. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_warning-text.scss +0 -7
  437. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-applied.scss +0 -10
  438. /data/{example → documentation}/source/javascripts/application.js +0 -0
  439. /data/{example → documentation}/source/stylesheets/print.css.scss +0 -0
  440. /data/{example → documentation}/source/stylesheets/screen-old-ie.css.scss +0 -0
  441. /data/{example → documentation}/source/stylesheets/screen.css.scss +0 -0
@@ -1,333 +1,10 @@
1
- @import "../../base";
1
+ @use "../../custom-properties";
2
2
 
3
- @import "../error-message/index";
4
- @import "../fieldset/index";
5
- @import "../hint/index";
6
- @import "../label/index";
3
+ @use "mixin";
4
+ @use "../error-message";
5
+ @use "../fieldset";
6
+ @use "../hint";
7
+ @use "../label";
7
8
 
8
- @include govuk-exports("govuk/component/radios") {
9
- $govuk-touch-target-gutter: 4px;
10
- $govuk-radios-size: 40px;
11
- $govuk-touch-target-size: ($govuk-radios-size + $govuk-touch-target-gutter);
12
- $govuk-small-radios-size: 24px;
13
- $govuk-radios-label-padding-left-right: govuk-spacing(3);
14
- // When the default focus width is used on a curved edge it looks visually
15
- // smaller. So for the circular radios we bump the default to make it look
16
- // visually consistent.
17
- $govuk-radios-focus-width: $govuk-focus-width + 1px;
9
+ @include mixin.styles;
18
10
 
19
- .govuk-radios__item {
20
- display: flex;
21
- flex-wrap: wrap;
22
- position: relative;
23
- margin-bottom: govuk-spacing(2);
24
- }
25
-
26
- .govuk-radios__item:last-child,
27
- .govuk-radios__item:last-of-type {
28
- margin-bottom: 0;
29
- }
30
-
31
- .govuk-radios__input {
32
- // Allow the input to sit above the label, enabling its proper detection
33
- // when exploring by touch or using automation tools like Selenium
34
- z-index: 1;
35
- width: $govuk-touch-target-size;
36
- height: $govuk-touch-target-size;
37
- margin: 0;
38
- opacity: 0;
39
- cursor: pointer;
40
- }
41
-
42
- .govuk-radios__label {
43
- align-self: center;
44
-
45
- // Ensure that the width of the label is never more than the width of the
46
- // container minus the input width minus the padding on either side of
47
- // the label. This prevents the label from going onto the next line due to
48
- // __item using flex-wrap because we want hints on a separate line
49
- max-width: calc(100% - #{($govuk-radios-label-padding-left-right + $govuk-touch-target-size + govuk-spacing(3))});
50
- margin-bottom: 0;
51
- padding: (govuk-spacing(1) + $govuk-border-width-form-element) govuk-spacing(3);
52
- cursor: pointer;
53
- // remove 300ms pause on mobile
54
- touch-action: manipulation;
55
- }
56
-
57
- // ( ) Radio ring
58
- .govuk-radios__label::before {
59
- content: "";
60
- box-sizing: border-box;
61
- position: absolute;
62
- top: ($govuk-touch-target-gutter * 0.5);
63
- left: ($govuk-touch-target-gutter * 0.5);
64
- width: $govuk-radios-size;
65
- height: $govuk-radios-size;
66
- border: $govuk-border-width-form-element solid currentcolor;
67
- border-radius: 50%;
68
- background: transparent;
69
- }
70
-
71
- // • Radio button
72
- //
73
- // We create the 'button' entirely out of 'border' so that they remain
74
- // 'filled' even when colours are overridden in the browser.
75
- .govuk-radios__label::after {
76
- $radio-button-size: govuk-spacing(2);
77
-
78
- content: "";
79
- position: absolute;
80
-
81
- // Positioned by getting half the touch target, so we have the centre of the
82
- // input, and then moving back by the button's border width, thus positioning
83
- // the centre of the button in the centre of the input.
84
- top: (($govuk-touch-target-size * 0.5) - $radio-button-size);
85
- left: (($govuk-touch-target-size * 0.5) - $radio-button-size);
86
- width: 0;
87
- height: 0;
88
- border: $radio-button-size solid currentcolor;
89
- border-radius: 50%;
90
- opacity: 0;
91
- background: currentcolor;
92
- }
93
-
94
- .govuk-radios__hint {
95
- display: block;
96
- width: 100%;
97
- margin-top: govuk-spacing(-1);
98
- padding-right: $govuk-radios-label-padding-left-right;
99
- padding-left: ($govuk-radios-label-padding-left-right + $govuk-touch-target-size);
100
- }
101
-
102
- // This is to bypass govuk-hint's specificity on hints following labels having
103
- // a margin bottom of 10px (govuk-spacing(2)). Because radios are flexbox,
104
- // the margin doesn't collapse so we have to do this manually.
105
- .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-radios__hint {
106
- margin-bottom: 0;
107
- }
108
-
109
- // Focused state
110
- .govuk-radios__input:focus + .govuk-radios__label::before {
111
- border-width: 4px;
112
-
113
- // When colours are overridden, the yellow box-shadow becomes invisible
114
- // which means the focus state is less obvious. By adding a transparent
115
- // outline, which becomes solid (text-coloured) in that context, we ensure
116
- // the focus remains clearly visible.
117
- outline: $govuk-focus-width solid transparent;
118
- outline-offset: 1px;
119
-
120
- // When in an explicit forced-color mode, we can use the Highlight system
121
- // color for the outline to better match focus states of native controls
122
- @media screen and (forced-colors: active), (-ms-high-contrast: active) {
123
- outline-color: Highlight;
124
- }
125
-
126
- box-shadow: 0 0 0 $govuk-radios-focus-width govuk-functional-colour(focus);
127
- }
128
-
129
- // Selected state
130
- .govuk-radios__input:checked + .govuk-radios__label::after {
131
- opacity: 1;
132
- }
133
-
134
- // Disabled state
135
- .govuk-radios__input:disabled,
136
- .govuk-radios__input:disabled + .govuk-radios__label {
137
- cursor: not-allowed;
138
- }
139
-
140
- .govuk-radios__input:disabled + .govuk-radios__label,
141
- .govuk-radios__input:disabled ~ .govuk-hint {
142
- opacity: 0.5;
143
- }
144
-
145
- // =========================================================
146
- // Inline radios
147
- // =========================================================
148
-
149
- .govuk-radios--inline {
150
- @media #{govuk-from-breakpoint(tablet)} {
151
- display: flex;
152
- flex-wrap: wrap;
153
- align-items: flex-start;
154
-
155
- .govuk-radios__item {
156
- margin-right: govuk-spacing(4);
157
- }
158
- }
159
- }
160
-
161
- // =========================================================
162
- // Dividers ('or')
163
- // =========================================================
164
-
165
- .govuk-radios__divider {
166
- @include govuk-font($size: 19);
167
-
168
- $govuk-divider-size: $govuk-radios-size !default;
169
- width: $govuk-divider-size;
170
-
171
- margin-bottom: govuk-spacing(2);
172
- color: govuk-functional-colour(text);
173
- text-align: center;
174
- }
175
-
176
- // =========================================================
177
- // Conditional reveals
178
- // =========================================================
179
-
180
- // The narrow border is used in the conditional reveals because the border has
181
- // to be an even number in order to be centred under the 40px checkbox radio.
182
- $conditional-border-width: $govuk-border-width-narrow;
183
- // Calculate the amount of padding needed to keep the border centered against
184
- // the radios.
185
- $conditional-border-padding: ($govuk-touch-target-size * 0.5) - ($conditional-border-width * 0.5);
186
- // Move the border centered with the radios
187
- $conditional-margin-left: $conditional-border-padding;
188
- // Move the contents of the conditional inline with the label
189
- $conditional-padding-left: $conditional-border-padding + $govuk-radios-label-padding-left-right;
190
-
191
- .govuk-radios__conditional {
192
- @include govuk-responsive-margin(4, "bottom");
193
- margin-left: $conditional-margin-left;
194
- padding-left: $conditional-padding-left;
195
- border-left: $conditional-border-width solid;
196
- border-left-color: govuk-functional-colour(border);
197
-
198
- .govuk-frontend-supported &--hidden {
199
- display: none;
200
- }
201
-
202
- & > :last-child {
203
- margin-bottom: 0;
204
- }
205
- }
206
-
207
- // =========================================================
208
- // Small checkboxes
209
- // =========================================================
210
-
211
- .govuk-radios--small {
212
- $input-offset: ($govuk-touch-target-size - $govuk-small-radios-size) * 0.5;
213
-
214
- .govuk-radios__item {
215
- margin-bottom: 0;
216
- }
217
-
218
- // Shift the touch target into the left margin so that the visible edge of
219
- // the control is aligned
220
- //
221
- // ┆Which colour is your favourite?
222
- // ┌┆───┐
223
- // │┆() │ Purple
224
- // └┆▲──┘
225
- // ▲┆└─ Radio pseudo element, aligned with margin
226
- // └─── Touch target (invisible input), shifted into the margin
227
- .govuk-radios__input {
228
- margin-left: $input-offset * -1;
229
- }
230
-
231
- .govuk-radios__label {
232
- // Create a tiny space between the small radio hover state so that it
233
- // doesn't clash with the label
234
- padding-left: 1px;
235
- }
236
-
237
- // ( ) Radio ring
238
- //
239
- // Reduce the size of the control [1], vertically centering it within the
240
- // touch target [2]
241
- // Left here is 0 because we've shifted the input into the left margin
242
- .govuk-radios__label::before {
243
- top: $input-offset; // 2
244
- left: 0;
245
- width: $govuk-small-radios-size; // 1
246
- height: $govuk-small-radios-size; // 1
247
- }
248
-
249
- // • Radio button
250
- //
251
- // Reduce the size of the 'button' and center it within the ring
252
- .govuk-radios__label::after {
253
- $radio-button-size: govuk-spacing(1);
254
-
255
- // The same calculation as normal radio buttons but reduce the border width
256
- top: (($govuk-touch-target-size * 0.5) - $radio-button-size);
257
- left: ((($govuk-touch-target-size * 0.5) - $radio-button-size) - $input-offset);
258
- border-width: $radio-button-size;
259
- }
260
-
261
- // Fix position of hint with small radios
262
- //
263
- // Do not use hints with small radios – because they're within the input
264
- // wrapper they trigger the hover state, but clicking them doesn't actually
265
- // activate the control.
266
- //
267
- // (If you do use them, they won't look completely broken... but seriously,
268
- // don't use them)
269
- .govuk-radios__hint {
270
- padding-left: ($govuk-small-radios-size + $input-offset);
271
- }
272
-
273
- // Align conditional reveals with small radios
274
- .govuk-radios__conditional {
275
- $margin-left: ($govuk-small-radios-size * 0.5) - ($conditional-border-width * 0.5);
276
- margin-left: $margin-left;
277
- padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
278
- }
279
-
280
- .govuk-radios__divider {
281
- width: $govuk-small-radios-size;
282
- margin-bottom: govuk-spacing(1);
283
- }
284
-
285
- // Hover state for small radios.
286
- //
287
- // We use a hover state for small radios because the touch target size
288
- // is so much larger than their visible size, and so we need to provide
289
- // feedback to the user as to which radio they will select when their
290
- // cursor is outside of the visible area.
291
- .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
292
- // Forced colours modes tend to ignore box-shadow.
293
- // Apply an outline for those modes to use instead.
294
- outline: $govuk-radios-focus-width dashed transparent;
295
- outline-offset: 1px;
296
- box-shadow: 0 0 0 $govuk-hover-width govuk-functional-colour(hover);
297
- }
298
-
299
- // Because we've overridden the border-shadow provided by the focus state,
300
- // we need to redefine that too.
301
- //
302
- // We use two box shadows, one that restores the original focus state [1]
303
- // and another that then applies the hover state [2].
304
- .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
305
- // Set different HCM colour when we have both hover/focus applied at once
306
- @media screen and (forced-colors: active), (-ms-high-contrast: active) {
307
- outline-color: Highlight;
308
- }
309
- // prettier-ignore
310
- box-shadow:
311
- 0 0 0 $govuk-radios-focus-width govuk-functional-colour(focus), // 1
312
- 0 0 0 $govuk-hover-width govuk-functional-colour(hover); // 2
313
- }
314
-
315
- // For devices that explicitly don't support hover, don't provide a hover
316
- // state (e.g. on touch devices like iOS).
317
- //
318
- // We can't use `@media (hover: hover)` because we wouldn't get the hover
319
- // state in browsers that don't support `@media (hover)` (like Internet
320
- // Explorer) – so we have to 'undo' the hover state instead.
321
- @media (hover: none), (pointer: coarse) {
322
- .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
323
- box-shadow: initial;
324
- }
325
-
326
- .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
327
- box-shadow: 0 0 0 $govuk-radios-focus-width govuk-functional-colour(focus);
328
- }
329
- }
330
- }
331
- }
332
-
333
- /*# sourceMappingURL=_index.scss.map */
@@ -0,0 +1,330 @@
1
+ @use "../../base";
2
+
3
+ /// @access private
4
+ @mixin styles {
5
+ $govuk-touch-target-gutter: 4px;
6
+ $govuk-radios-size: 40px;
7
+ $govuk-touch-target-size: ($govuk-radios-size + $govuk-touch-target-gutter);
8
+ $govuk-small-radios-size: 24px;
9
+ $govuk-radios-label-padding-left-right: base.govuk-spacing(3);
10
+ // When the default focus width is used on a curved edge it looks visually
11
+ // smaller. So for the circular radios we bump the default to make it look
12
+ // visually consistent.
13
+ $govuk-radios-focus-width: base.$govuk-focus-width + 1px;
14
+
15
+ .govuk-radios__item {
16
+ display: flex;
17
+ position: relative;
18
+ flex-wrap: wrap;
19
+ margin-bottom: base.govuk-spacing(2);
20
+ }
21
+
22
+ .govuk-radios__item:last-child,
23
+ .govuk-radios__item:last-of-type {
24
+ margin-bottom: 0;
25
+ }
26
+
27
+ .govuk-radios__input {
28
+ // Allow the input to sit above the label, enabling its proper detection
29
+ // when exploring by touch or using automation tools like Selenium
30
+ z-index: 1;
31
+ width: $govuk-touch-target-size;
32
+ height: $govuk-touch-target-size;
33
+ margin: 0;
34
+ opacity: 0;
35
+ cursor: pointer;
36
+ }
37
+
38
+ .govuk-radios__label {
39
+ align-self: center;
40
+
41
+ // Ensure that the width of the label is never more than the width of the
42
+ // container minus the input width minus the padding on either side of
43
+ // the label. This prevents the label from going onto the next line due to
44
+ // __item using flex-wrap because we want hints on a separate line
45
+ max-width: calc(
46
+ 100% - #{($govuk-radios-label-padding-left-right + $govuk-touch-target-size + base.govuk-spacing(3))}
47
+ );
48
+ margin-bottom: 0;
49
+ padding: (base.govuk-spacing(1) + base.$govuk-border-width-form-element) base.govuk-spacing(3);
50
+ cursor: pointer;
51
+ // remove 300ms pause on mobile
52
+ touch-action: manipulation;
53
+ }
54
+
55
+ // ( ) Radio ring
56
+ .govuk-radios__label::before {
57
+ content: "";
58
+ box-sizing: border-box;
59
+ position: absolute;
60
+ top: ($govuk-touch-target-gutter * 0.5);
61
+ left: ($govuk-touch-target-gutter * 0.5);
62
+ width: $govuk-radios-size;
63
+ height: $govuk-radios-size;
64
+ border: base.$govuk-border-width-form-element solid currentcolor;
65
+ border-radius: 50%;
66
+ background: transparent;
67
+ }
68
+
69
+ // • Radio button
70
+ //
71
+ // We create the 'button' entirely out of 'border' so that they remain
72
+ // 'filled' even when colours are overridden in the browser.
73
+ .govuk-radios__label::after {
74
+ $radio-button-size: base.govuk-spacing(2);
75
+
76
+ content: "";
77
+ position: absolute;
78
+
79
+ // Positioned by getting half the touch target, so we have the centre of the
80
+ // input, and then moving back by the button's border width, thus positioning
81
+ // the centre of the button in the centre of the input.
82
+ top: (($govuk-touch-target-size * 0.5) - $radio-button-size);
83
+ left: (($govuk-touch-target-size * 0.5) - $radio-button-size);
84
+ width: 0;
85
+ height: 0;
86
+ border: $radio-button-size solid currentcolor;
87
+ border-radius: 50%;
88
+ opacity: 0;
89
+ background: currentcolor;
90
+ }
91
+
92
+ .govuk-radios__hint {
93
+ display: block;
94
+ width: 100%;
95
+ margin-top: base.govuk-spacing(-1);
96
+ padding-right: $govuk-radios-label-padding-left-right;
97
+ padding-left: ($govuk-radios-label-padding-left-right + $govuk-touch-target-size);
98
+ }
99
+
100
+ // This is to bypass govuk-hint's specificity on hints following labels having
101
+ // a margin bottom of 10px (govuk-spacing(2)). Because radios are flexbox,
102
+ // the margin doesn't collapse so we have to do this manually.
103
+ .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-radios__hint {
104
+ margin-bottom: 0;
105
+ }
106
+
107
+ // Focused state
108
+ .govuk-radios__input:focus + .govuk-radios__label::before {
109
+ border-width: 4px;
110
+
111
+ // When colours are overridden, the yellow box-shadow becomes invisible
112
+ // which means the focus state is less obvious. By adding a transparent
113
+ // outline, which becomes solid (text-coloured) in that context, we ensure
114
+ // the focus remains clearly visible.
115
+ outline: base.$govuk-focus-width solid transparent;
116
+ outline-offset: 1px;
117
+
118
+ // When in an explicit forced-color mode, we can use the Highlight system
119
+ // color for the outline to better match focus states of native controls
120
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
121
+ outline-color: Highlight;
122
+ }
123
+
124
+ box-shadow: 0 0 0 $govuk-radios-focus-width base.govuk-functional-colour(focus);
125
+ }
126
+
127
+ // Selected state
128
+ .govuk-radios__input:checked + .govuk-radios__label::after {
129
+ opacity: 1;
130
+ }
131
+
132
+ // Disabled state
133
+ .govuk-radios__input:disabled,
134
+ .govuk-radios__input:disabled + .govuk-radios__label {
135
+ cursor: not-allowed;
136
+ }
137
+
138
+ .govuk-radios__input:disabled + .govuk-radios__label,
139
+ .govuk-radios__input:disabled ~ .govuk-hint {
140
+ opacity: 0.5;
141
+ }
142
+
143
+ // =========================================================
144
+ // Inline radios
145
+ // =========================================================
146
+
147
+ .govuk-radios--inline {
148
+ @media #{base.govuk-from-breakpoint(tablet)} {
149
+ display: flex;
150
+ flex-wrap: wrap;
151
+ align-items: flex-start;
152
+
153
+ .govuk-radios__item {
154
+ margin-right: base.govuk-spacing(4);
155
+ }
156
+ }
157
+ }
158
+
159
+ // =========================================================
160
+ // Dividers ('or')
161
+ // =========================================================
162
+
163
+ .govuk-radios__divider {
164
+ @include base.govuk-font($size: 19);
165
+
166
+ $govuk-divider-size: $govuk-radios-size !default;
167
+ width: $govuk-divider-size;
168
+
169
+ margin-bottom: base.govuk-spacing(2);
170
+ color: base.govuk-functional-colour(text);
171
+ text-align: center;
172
+ }
173
+
174
+ // =========================================================
175
+ // Conditional reveals
176
+ // =========================================================
177
+
178
+ // The narrow border is used in the conditional reveals because the border has
179
+ // to be an even number in order to be centred under the 40px checkbox radio.
180
+ $conditional-border-width: base.$govuk-border-width-narrow;
181
+ // Calculate the amount of padding needed to keep the border centered against
182
+ // the radios.
183
+ $conditional-border-padding: ($govuk-touch-target-size * 0.5) - ($conditional-border-width * 0.5);
184
+ // Move the border centered with the radios
185
+ $conditional-margin-left: $conditional-border-padding;
186
+ // Move the contents of the conditional inline with the label
187
+ $conditional-padding-left: $conditional-border-padding + $govuk-radios-label-padding-left-right;
188
+
189
+ .govuk-radios__conditional {
190
+ @include base.govuk-responsive-margin(4, "bottom");
191
+ margin-left: $conditional-margin-left;
192
+ padding-left: $conditional-padding-left;
193
+ border-left: $conditional-border-width solid;
194
+ border-left-color: base.govuk-functional-colour(border);
195
+
196
+ .govuk-frontend-supported &--hidden {
197
+ display: none;
198
+ }
199
+
200
+ & > :last-child {
201
+ margin-bottom: 0;
202
+ }
203
+ }
204
+
205
+ // =========================================================
206
+ // Small checkboxes
207
+ // =========================================================
208
+
209
+ .govuk-radios--small {
210
+ $input-offset: ($govuk-touch-target-size - $govuk-small-radios-size) * 0.5;
211
+
212
+ .govuk-radios__item {
213
+ margin-bottom: 0;
214
+ }
215
+
216
+ // Shift the touch target into the left margin so that the visible edge of
217
+ // the control is aligned
218
+ //
219
+ // ┆Which colour is your favourite?
220
+ // ┌┆───┐
221
+ // │┆() │ Purple
222
+ // └┆▲──┘
223
+ // ▲┆└─ Radio pseudo element, aligned with margin
224
+ // └─── Touch target (invisible input), shifted into the margin
225
+ .govuk-radios__input {
226
+ margin-left: $input-offset * -1;
227
+ }
228
+
229
+ .govuk-radios__label {
230
+ // Create a tiny space between the small radio hover state so that it
231
+ // doesn't clash with the label
232
+ padding-left: 1px;
233
+ }
234
+
235
+ // ( ) Radio ring
236
+ //
237
+ // Reduce the size of the control [1], vertically centering it within the
238
+ // touch target [2]
239
+ // Left here is 0 because we've shifted the input into the left margin
240
+ .govuk-radios__label::before {
241
+ top: $input-offset; // 2
242
+ left: 0;
243
+ width: $govuk-small-radios-size; // 1
244
+ height: $govuk-small-radios-size; // 1
245
+ }
246
+
247
+ // • Radio button
248
+ //
249
+ // Reduce the size of the 'button' and center it within the ring
250
+ .govuk-radios__label::after {
251
+ $radio-button-size: base.govuk-spacing(1);
252
+
253
+ // The same calculation as normal radio buttons but reduce the border width
254
+ top: (($govuk-touch-target-size * 0.5) - $radio-button-size);
255
+ left: ((($govuk-touch-target-size * 0.5) - $radio-button-size) - $input-offset);
256
+ border-width: $radio-button-size;
257
+ }
258
+
259
+ // Fix position of hint with small radios
260
+ //
261
+ // Do not use hints with small radios – because they're within the input
262
+ // wrapper they trigger the hover state, but clicking them doesn't actually
263
+ // activate the control.
264
+ //
265
+ // (If you do use them, they won't look completely broken... but seriously,
266
+ // don't use them)
267
+ .govuk-radios__hint {
268
+ padding-left: ($govuk-small-radios-size + $input-offset);
269
+ }
270
+
271
+ // Align conditional reveals with small radios
272
+ .govuk-radios__conditional {
273
+ $margin-left: ($govuk-small-radios-size * 0.5) - ($conditional-border-width * 0.5);
274
+ margin-left: $margin-left;
275
+ padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
276
+ }
277
+
278
+ .govuk-radios__divider {
279
+ width: $govuk-small-radios-size;
280
+ margin-bottom: base.govuk-spacing(1);
281
+ }
282
+
283
+ // Hover state for small radios.
284
+ //
285
+ // We use a hover state for small radios because the touch target size
286
+ // is so much larger than their visible size, and so we need to provide
287
+ // feedback to the user as to which radio they will select when their
288
+ // cursor is outside of the visible area.
289
+ .govuk-radios__input:not(:disabled):hover + .govuk-radios__label::before {
290
+ // Forced colours modes tend to ignore box-shadow.
291
+ // Apply an outline for those modes to use instead.
292
+ outline: $govuk-radios-focus-width dashed transparent;
293
+ outline-offset: 1px;
294
+ box-shadow: 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover);
295
+ }
296
+
297
+ // Because we've overridden the border-shadow provided by the focus state,
298
+ // we need to redefine that too.
299
+ //
300
+ // We use two box shadows, one that restores the original focus state [1]
301
+ // and another that then applies the hover state [2].
302
+ .govuk-radios__input:focus:hover + .govuk-radios__label::before {
303
+ // Set different HCM colour when we have both hover/focus applied at once
304
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
305
+ outline-color: Highlight;
306
+ }
307
+ // prettier-ignore
308
+ box-shadow:
309
+ 0 0 0 $govuk-radios-focus-width base.govuk-functional-colour(focus), // 1
310
+ 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover); // 2
311
+ }
312
+
313
+ // For devices that explicitly don't support hover, don't provide a hover
314
+ // state (e.g. on touch devices like iOS).
315
+ //
316
+ // We can't use `@media (hover: hover)` because we wouldn't get the hover
317
+ // state in browsers that don't support `@media (hover)` (like Internet
318
+ // Explorer) – so we have to 'undo' the hover state instead.
319
+ @media (hover: none), (pointer: coarse) {
320
+ .govuk-radios__input:not(:disabled):hover + .govuk-radios__label::before {
321
+ box-shadow: initial;
322
+ }
323
+
324
+ .govuk-radios__input:focus:hover + .govuk-radios__label::before {
325
+ box-shadow: 0 0 0 $govuk-radios-focus-width base.govuk-functional-colour(focus);
326
+ }
327
+ }
328
+ }
329
+ }
330
+
@@ -0,0 +1,6 @@
1
+ @use "../../settings/warnings--internal";
2
+
3
+ @include warnings--internal.component-scss-file-warning("radios");
4
+
5
+ @import "index";
6
+
@@ -0,0 +1,11 @@
1
+ @use "mixin";
2
+
3
+ @import "../../base";
4
+ @import "../error-message";
5
+ @import "../hint";
6
+ @import "../label";
7
+
8
+ @include govuk-exports("govuk/component/select") {
9
+ @include mixin.styles;
10
+ }
11
+