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,316 +1,9 @@
1
- @import "../../base";
1
+ @use "../../custom-properties";
2
+ @use "mixin";
3
+ @use "../error-message";
4
+ @use "../fieldset";
5
+ @use "../hint";
6
+ @use "../label";
2
7
 
3
- @import "../error-message/index";
4
- @import "../fieldset/index";
5
- @import "../hint/index";
6
- @import "../label/index";
8
+ @include mixin.styles;
7
9
 
8
- @include govuk-exports("govuk/component/checkboxes") {
9
- $govuk-touch-target-gutter: 4px;
10
- $govuk-checkboxes-size: 40px;
11
- $govuk-touch-target-size: ($govuk-checkboxes-size + $govuk-touch-target-gutter);
12
- $govuk-small-checkboxes-size: 24px;
13
- $govuk-checkboxes-label-padding-left-right: govuk-spacing(3);
14
- $govuk-checkbox-check-horizontal-position: 10px;
15
-
16
- .govuk-checkboxes__item {
17
- display: flex;
18
- flex-wrap: wrap;
19
- position: relative;
20
- margin-bottom: govuk-spacing(2);
21
- }
22
-
23
- .govuk-checkboxes__item:last-child,
24
- .govuk-checkboxes__item:last-of-type {
25
- margin-bottom: 0;
26
- }
27
-
28
- .govuk-checkboxes__input {
29
- // Allow the input to sit above the label, enabling its proper detection
30
- // when exploring by touch or using automation tools like Selenium
31
- z-index: 1;
32
- width: $govuk-touch-target-size;
33
- height: $govuk-touch-target-size;
34
- margin: 0;
35
- opacity: 0;
36
- cursor: pointer;
37
- }
38
-
39
- .govuk-checkboxes__label {
40
- align-self: center;
41
-
42
- // Ensure that the width of the label is never more than the width of the
43
- // container minus the input width minus the padding on either side of
44
- // the label. This prevents the label from going onto the next line due to
45
- // __item using flex-wrap because we want hints on a separate line.
46
- max-width: calc(100% - #{(($govuk-checkboxes-label-padding-left-right * 2) + $govuk-touch-target-size)});
47
- margin-bottom: 0;
48
- padding: (govuk-spacing(1) + $govuk-border-width-form-element) govuk-spacing(3);
49
- cursor: pointer;
50
- // remove 300ms pause on mobile
51
- touch-action: manipulation;
52
- }
53
-
54
- // [ ] Check box
55
- .govuk-checkboxes__label::before {
56
- content: "";
57
- box-sizing: border-box;
58
- position: absolute;
59
- top: ($govuk-touch-target-gutter * 0.5);
60
- left: ($govuk-touch-target-gutter * 0.5);
61
- width: $govuk-checkboxes-size;
62
- height: $govuk-checkboxes-size;
63
- border: $govuk-border-width-form-element solid currentcolor;
64
- background: transparent;
65
- }
66
-
67
- // ✔ Check mark
68
- //
69
- // The check mark is a box with a border on the left and bottom side (└──),
70
- // rotated 45 degrees
71
- .govuk-checkboxes__label::after {
72
- content: "";
73
- box-sizing: border-box;
74
- position: absolute;
75
-
76
- // Use "magic numbers" to define shape and position of check mark because
77
- // the complexity of the shape makes it difficult to calculate dynamically.
78
- top: 13px;
79
- left: $govuk-checkbox-check-horizontal-position;
80
- width: 23px;
81
- height: 12px;
82
- transform: rotate(-45deg);
83
- border: solid;
84
- border-width: 0 0 5px 5px;
85
- // Fix bug in IE11 caused by transform rotate (-45deg).
86
- // See: alphagov/govuk_elements/issues/518
87
- border-top-color: transparent;
88
- opacity: 0;
89
- background: transparent;
90
- }
91
-
92
- .govuk-checkboxes__hint {
93
- display: block;
94
- width: 100%;
95
- margin-top: govuk-spacing(-1);
96
- padding-right: $govuk-checkboxes-label-padding-left-right;
97
- padding-left: ($govuk-checkboxes-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 checkboxes 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-checkboxes__hint {
104
- margin-bottom: 0;
105
- }
106
-
107
- // Focused state
108
- .govuk-checkboxes__input:focus + .govuk-checkboxes__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: $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-focus-width govuk-functional-colour(focus);
125
- }
126
-
127
- // Selected state
128
- .govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
129
- opacity: 1;
130
- }
131
-
132
- // Disabled state
133
- .govuk-checkboxes__input:disabled,
134
- .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
135
- cursor: not-allowed;
136
- }
137
-
138
- .govuk-checkboxes__input:disabled + .govuk-checkboxes__label,
139
- .govuk-checkboxes__input:disabled ~ .govuk-hint {
140
- opacity: 0.5;
141
- }
142
-
143
- // =========================================================
144
- // Dividers ('or')
145
- // =========================================================
146
-
147
- .govuk-checkboxes__divider {
148
- @include govuk-font($size: 19);
149
-
150
- $govuk-divider-size: $govuk-checkboxes-size !default;
151
- width: $govuk-divider-size;
152
-
153
- margin-bottom: govuk-spacing(2);
154
- color: govuk-functional-colour(text);
155
- text-align: center;
156
- }
157
-
158
- // =========================================================
159
- // Conditional reveals
160
- // =========================================================
161
-
162
- // The narrow border is used in the conditional reveals because the border has
163
- // to be an even number in order to be centred under the 40px checkbox or radio.
164
- $conditional-border-width: $govuk-border-width-narrow;
165
- // Calculate the amount of padding needed to keep the border centered against the checkbox.
166
- $conditional-border-padding: ($govuk-touch-target-size * 0.5) - ($conditional-border-width * 0.5);
167
- // Move the border centered with the checkbox
168
- $conditional-margin-left: $conditional-border-padding;
169
- // Move the contents of the conditional inline with the label
170
- $conditional-padding-left: $conditional-border-padding + $govuk-checkboxes-label-padding-left-right;
171
-
172
- .govuk-checkboxes__conditional {
173
- @include govuk-responsive-margin(4, "bottom");
174
- margin-left: $conditional-margin-left;
175
- padding-left: $conditional-padding-left;
176
- border-left: $conditional-border-width solid;
177
- border-left-color: govuk-functional-colour(border);
178
-
179
- .govuk-frontend-supported &--hidden {
180
- display: none;
181
- }
182
-
183
- & > :last-child {
184
- margin-bottom: 0;
185
- }
186
- }
187
-
188
- // =========================================================
189
- // Small checkboxes
190
- // =========================================================
191
-
192
- .govuk-checkboxes--small {
193
- $input-offset: ($govuk-touch-target-size - $govuk-small-checkboxes-size) * 0.5;
194
-
195
- .govuk-checkboxes__item {
196
- margin-bottom: 0;
197
- }
198
-
199
- // Shift the touch target into the left margin so that the visible edge of
200
- // the control is aligned
201
- //
202
- // ┆What colours do you like?
203
- // ┌┆───┐
204
- // │┆[] │ Purple
205
- // └┆▲──┘
206
- // ▲┆└─ Check box pseudo element, aligned with margin
207
- // └─── Touch target (invisible input), shifted into the margin
208
- .govuk-checkboxes__input {
209
- margin-left: $input-offset * -1;
210
- }
211
-
212
- .govuk-checkboxes__label {
213
- // Create a tiny space between the small checkbox hover state so that it
214
- // doesn't clash with the label
215
- padding-left: 1px;
216
- }
217
-
218
- // [ ] Check box
219
- //
220
- // Reduce the size of the check box [1], vertically center it within the
221
- // touch target [2]
222
- // Left here is 0 because we've shifted the input into the left margin
223
- .govuk-checkboxes__label::before {
224
- top: $input-offset; // 2
225
- left: 0;
226
- width: $govuk-small-checkboxes-size; // 1
227
- height: $govuk-small-checkboxes-size; // 1
228
- }
229
-
230
- // ✔ Check mark
231
- //
232
- // Reduce the size of the check mark and re-align within the checkbox
233
- .govuk-checkboxes__label::after {
234
- top: 17px;
235
-
236
- // Horizontal position is just the normal sized left value accounting for
237
- // the new width of the smaller checkbox
238
- left: (16px - $govuk-checkbox-check-horizontal-position);
239
- width: 12px;
240
- height: 6.5px;
241
- border-width: 0 0 3px 3px;
242
- }
243
-
244
- // Fix position of hint with small checkboxes
245
- //
246
- // Do not use hints with small checkboxes – because they're within the input
247
- // wrapper they trigger the hover state, but clicking them doesn't actually
248
- // activate the control.
249
- //
250
- // (If you do use them, they won't look completely broken... but seriously,
251
- // don't use them)
252
- .govuk-checkboxes__hint {
253
- padding-left: ($govuk-small-checkboxes-size + $input-offset);
254
- }
255
-
256
- // Align conditional reveals with small checkboxes
257
- .govuk-checkboxes__conditional {
258
- $margin-left: ($govuk-small-checkboxes-size * 0.5) - ($conditional-border-width * 0.5);
259
- margin-left: $margin-left;
260
- padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
261
- }
262
-
263
- .govuk-checkboxes__divider {
264
- width: $govuk-small-checkboxes-size;
265
- margin-bottom: govuk-spacing(1);
266
- }
267
-
268
- // Hover state for small checkboxes.
269
- //
270
- // We use a hover state for small checkboxes because the touch target size
271
- // is so much larger than their visible size, and so we need to provide
272
- // feedback to the user as to which checkbox they will select when their
273
- // cursor is outside of the visible area.
274
- .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
275
- // Forced colours modes tend to ignore box-shadow.
276
- // Apply an outline for those modes to use instead.
277
- outline: $govuk-focus-width dashed transparent;
278
- outline-offset: 1px;
279
- box-shadow: 0 0 0 $govuk-hover-width govuk-functional-colour(hover);
280
- }
281
-
282
- // Because we've overridden the border-shadow provided by the focus state,
283
- // we need to redefine that too.
284
- //
285
- // We use two box shadows, one that restores the original focus state [1]
286
- // and another that then applies the hover state [2].
287
- .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
288
- // Set different HCM colour when we have both hover/focus applied at once
289
- @media screen and (forced-colors: active), (-ms-high-contrast: active) {
290
- outline-color: Highlight;
291
- }
292
- // prettier-ignore
293
- box-shadow:
294
- 0 0 0 $govuk-focus-width govuk-functional-colour(focus), // 1
295
- 0 0 0 $govuk-hover-width govuk-functional-colour(hover); // 2
296
- }
297
-
298
- // For devices that explicitly don't support hover, don't provide a hover
299
- // state (e.g. on touch devices like iOS).
300
- //
301
- // We can't use `@media (hover: hover)` because we wouldn't get the hover
302
- // state in browsers that don't support `@media (hover)` (like Internet
303
- // Explorer) – so we have to 'undo' the hover state instead.
304
- @media (hover: none), (pointer: coarse) {
305
- .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
306
- box-shadow: initial;
307
- }
308
-
309
- .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
310
- box-shadow: 0 0 0 $govuk-focus-width govuk-functional-colour(focus);
311
- }
312
- }
313
- }
314
- }
315
-
316
- /*# sourceMappingURL=_index.scss.map */
@@ -0,0 +1,311 @@
1
+ @use "../../base";
2
+
3
+ /// @access private
4
+ @mixin styles {
5
+ $govuk-touch-target-gutter: 4px;
6
+ $govuk-checkboxes-size: 40px;
7
+ $govuk-touch-target-size: ($govuk-checkboxes-size + $govuk-touch-target-gutter);
8
+ $govuk-small-checkboxes-size: 24px;
9
+ $govuk-checkboxes-label-padding-left-right: base.govuk-spacing(3);
10
+ $govuk-checkbox-check-horizontal-position: 10px;
11
+
12
+ .govuk-checkboxes__item {
13
+ display: flex;
14
+ position: relative;
15
+ flex-wrap: wrap;
16
+ margin-bottom: base.govuk-spacing(2);
17
+ }
18
+
19
+ .govuk-checkboxes__item:last-child,
20
+ .govuk-checkboxes__item:last-of-type {
21
+ margin-bottom: 0;
22
+ }
23
+
24
+ .govuk-checkboxes__input {
25
+ // Allow the input to sit above the label, enabling its proper detection
26
+ // when exploring by touch or using automation tools like Selenium
27
+ z-index: 1;
28
+ width: $govuk-touch-target-size;
29
+ height: $govuk-touch-target-size;
30
+ margin: 0;
31
+ opacity: 0;
32
+ cursor: pointer;
33
+ }
34
+
35
+ .govuk-checkboxes__label {
36
+ align-self: center;
37
+
38
+ // Ensure that the width of the label is never more than the width of the
39
+ // container minus the input width minus the padding on either side of
40
+ // the label. This prevents the label from going onto the next line due to
41
+ // __item using flex-wrap because we want hints on a separate line.
42
+ max-width: calc(100% - #{(($govuk-checkboxes-label-padding-left-right * 2) + $govuk-touch-target-size)});
43
+ margin-bottom: 0;
44
+ padding: (base.govuk-spacing(1) + base.$govuk-border-width-form-element) base.govuk-spacing(3);
45
+ cursor: pointer;
46
+ // remove 300ms pause on mobile
47
+ touch-action: manipulation;
48
+ }
49
+
50
+ // [ ] Check box
51
+ .govuk-checkboxes__label::before {
52
+ content: "";
53
+ box-sizing: border-box;
54
+ position: absolute;
55
+ top: ($govuk-touch-target-gutter * 0.5);
56
+ left: ($govuk-touch-target-gutter * 0.5);
57
+ width: $govuk-checkboxes-size;
58
+ height: $govuk-checkboxes-size;
59
+ border: base.$govuk-border-width-form-element solid currentcolor;
60
+ background: transparent;
61
+ }
62
+
63
+ // ✔ Check mark
64
+ //
65
+ // The check mark is a box with a border on the left and bottom side (└──),
66
+ // rotated 45 degrees
67
+ .govuk-checkboxes__label::after {
68
+ content: "";
69
+ box-sizing: border-box;
70
+ position: absolute;
71
+
72
+ // Use "magic numbers" to define shape and position of check mark because
73
+ // the complexity of the shape makes it difficult to calculate dynamically.
74
+ top: 13px;
75
+ left: $govuk-checkbox-check-horizontal-position;
76
+ width: 23px;
77
+ height: 12px;
78
+ transform: rotate(-45deg);
79
+ border: solid;
80
+ border-width: 0 0 5px 5px;
81
+ // Fix bug in IE11 caused by transform rotate (-45deg).
82
+ // See: alphagov/govuk_elements/issues/518
83
+ border-top-color: transparent;
84
+ opacity: 0;
85
+ background: transparent;
86
+ }
87
+
88
+ .govuk-checkboxes__hint {
89
+ display: block;
90
+ width: 100%;
91
+ margin-top: base.govuk-spacing(-1);
92
+ padding-right: $govuk-checkboxes-label-padding-left-right;
93
+ padding-left: ($govuk-checkboxes-label-padding-left-right + $govuk-touch-target-size);
94
+ }
95
+
96
+ // This is to bypass govuk-hint's specificity on hints following labels having
97
+ // a margin bottom of 10px (base.govuk-spacing(2)). Because checkboxes are flexbox,
98
+ // the margin doesn't collapse so we have to do this manually.
99
+ .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-checkboxes__hint {
100
+ margin-bottom: 0;
101
+ }
102
+
103
+ // Focused state
104
+ .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
105
+ border-width: 4px;
106
+
107
+ // When colours are overridden, the yellow box-shadow becomes invisible
108
+ // which means the focus state is less obvious. By adding a transparent
109
+ // outline, which becomes solid (text-coloured) in that context, we ensure
110
+ // the focus remains clearly visible.
111
+ outline: base.$govuk-focus-width solid transparent;
112
+ outline-offset: 1px;
113
+
114
+ // When in an explicit forced-color mode, we can use the Highlight system
115
+ // color for the outline to better match focus states of native controls
116
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
117
+ outline-color: Highlight;
118
+ }
119
+
120
+ box-shadow: 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus);
121
+ }
122
+
123
+ // Selected state
124
+ .govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
125
+ opacity: 1;
126
+ }
127
+
128
+ // Disabled state
129
+ .govuk-checkboxes__input:disabled,
130
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
131
+ cursor: not-allowed;
132
+ }
133
+
134
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label,
135
+ .govuk-checkboxes__input:disabled ~ .govuk-hint {
136
+ opacity: 0.5;
137
+ }
138
+
139
+ // =========================================================
140
+ // Dividers ('or')
141
+ // =========================================================
142
+
143
+ .govuk-checkboxes__divider {
144
+ @include base.govuk-font($size: 19);
145
+
146
+ $govuk-divider-size: $govuk-checkboxes-size !default;
147
+ width: $govuk-divider-size;
148
+
149
+ margin-bottom: base.govuk-spacing(2);
150
+ color: base.govuk-functional-colour(text);
151
+ text-align: center;
152
+ }
153
+
154
+ // =========================================================
155
+ // Conditional reveals
156
+ // =========================================================
157
+
158
+ // The narrow border is used in the conditional reveals because the border has
159
+ // to be an even number in order to be centred under the 40px checkbox or radio.
160
+ $conditional-border-width: base.$govuk-border-width-narrow;
161
+ // Calculate the amount of padding needed to keep the border centered against the checkbox.
162
+ $conditional-border-padding: ($govuk-touch-target-size * 0.5) - ($conditional-border-width * 0.5);
163
+ // Move the border centered with the checkbox
164
+ $conditional-margin-left: $conditional-border-padding;
165
+ // Move the contents of the conditional inline with the label
166
+ $conditional-padding-left: $conditional-border-padding + $govuk-checkboxes-label-padding-left-right;
167
+
168
+ .govuk-checkboxes__conditional {
169
+ @include base.govuk-responsive-margin(4, "bottom");
170
+ margin-left: $conditional-margin-left;
171
+ padding-left: $conditional-padding-left;
172
+ border-left: $conditional-border-width solid;
173
+ border-left-color: base.govuk-functional-colour(border);
174
+
175
+ .govuk-frontend-supported &--hidden {
176
+ display: none;
177
+ }
178
+
179
+ & > :last-child {
180
+ margin-bottom: 0;
181
+ }
182
+ }
183
+
184
+ // =========================================================
185
+ // Small checkboxes
186
+ // =========================================================
187
+
188
+ .govuk-checkboxes--small {
189
+ $input-offset: ($govuk-touch-target-size - $govuk-small-checkboxes-size) * 0.5;
190
+
191
+ .govuk-checkboxes__item {
192
+ margin-bottom: 0;
193
+ }
194
+
195
+ // Shift the touch target into the left margin so that the visible edge of
196
+ // the control is aligned
197
+ //
198
+ // ┆What colours do you like?
199
+ // ┌┆───┐
200
+ // │┆[] │ Purple
201
+ // └┆▲──┘
202
+ // ▲┆└─ Check box pseudo element, aligned with margin
203
+ // └─── Touch target (invisible input), shifted into the margin
204
+ .govuk-checkboxes__input {
205
+ margin-left: $input-offset * -1;
206
+ }
207
+
208
+ .govuk-checkboxes__label {
209
+ // Create a tiny space between the small checkbox hover state so that it
210
+ // doesn't clash with the label
211
+ padding-left: 1px;
212
+ }
213
+
214
+ // [ ] Check box
215
+ //
216
+ // Reduce the size of the check box [1], vertically center it within the
217
+ // touch target [2]
218
+ // Left here is 0 because we've shifted the input into the left margin
219
+ .govuk-checkboxes__label::before {
220
+ top: $input-offset; // 2
221
+ left: 0;
222
+ width: $govuk-small-checkboxes-size; // 1
223
+ height: $govuk-small-checkboxes-size; // 1
224
+ }
225
+
226
+ // ✔ Check mark
227
+ //
228
+ // Reduce the size of the check mark and re-align within the checkbox
229
+ .govuk-checkboxes__label::after {
230
+ top: 17px;
231
+
232
+ // Horizontal position is just the normal sized left value accounting for
233
+ // the new width of the smaller checkbox
234
+ left: (16px - $govuk-checkbox-check-horizontal-position);
235
+ width: 12px;
236
+ height: 6.5px;
237
+ border-width: 0 0 3px 3px;
238
+ }
239
+
240
+ // Fix position of hint with small checkboxes
241
+ //
242
+ // Do not use hints with small checkboxes – because they're within the input
243
+ // wrapper they trigger the hover state, but clicking them doesn't actually
244
+ // activate the control.
245
+ //
246
+ // (If you do use them, they won't look completely broken... but seriously,
247
+ // don't use them)
248
+ .govuk-checkboxes__hint {
249
+ padding-left: ($govuk-small-checkboxes-size + $input-offset);
250
+ }
251
+
252
+ // Align conditional reveals with small checkboxes
253
+ .govuk-checkboxes__conditional {
254
+ $margin-left: ($govuk-small-checkboxes-size * 0.5) - ($conditional-border-width * 0.5);
255
+ margin-left: $margin-left;
256
+ padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
257
+ }
258
+
259
+ .govuk-checkboxes__divider {
260
+ width: $govuk-small-checkboxes-size;
261
+ margin-bottom: base.govuk-spacing(1);
262
+ }
263
+
264
+ // Hover state for small checkboxes.
265
+ //
266
+ // We use a hover state for small checkboxes because the touch target size
267
+ // is so much larger than their visible size, and so we need to provide
268
+ // feedback to the user as to which checkbox they will select when their
269
+ // cursor is outside of the visible area.
270
+ .govuk-checkboxes__input:not(:disabled):hover + .govuk-checkboxes__label::before {
271
+ // Forced colours modes tend to ignore box-shadow.
272
+ // Apply an outline for those modes to use instead.
273
+ outline: base.$govuk-focus-width dashed transparent;
274
+ outline-offset: 1px;
275
+ box-shadow: 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover);
276
+ }
277
+
278
+ // Because we've overridden the border-shadow provided by the focus state,
279
+ // we need to redefine that too.
280
+ //
281
+ // We use two box shadows, one that restores the original focus state [1]
282
+ // and another that then applies the hover state [2].
283
+ .govuk-checkboxes__input:focus:hover + .govuk-checkboxes__label::before {
284
+ // Set different HCM colour when we have both hover/focus applied at once
285
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
286
+ outline-color: Highlight;
287
+ }
288
+ // prettier-ignore
289
+ box-shadow:
290
+ 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus), // 1
291
+ 0 0 0 base.$govuk-hover-width base.govuk-functional-colour(hover); // 2
292
+ }
293
+
294
+ // For devices that explicitly don't support hover, don't provide a hover
295
+ // state (e.g. on touch devices like iOS).
296
+ //
297
+ // We can't use `@media (hover: hover)` because we wouldn't get the hover
298
+ // state in browsers that don't support `@media (hover)` (like Internet
299
+ // Explorer) – so we have to 'undo' the hover state instead.
300
+ @media (hover: none), (pointer: coarse) {
301
+ .govuk-checkboxes__input:not(:disabled):hover + .govuk-checkboxes__label::before {
302
+ box-shadow: initial;
303
+ }
304
+
305
+ .govuk-checkboxes__input:focus:hover + .govuk-checkboxes__label::before {
306
+ box-shadow: 0 0 0 base.$govuk-focus-width base.govuk-functional-colour(focus);
307
+ }
308
+ }
309
+ }
310
+ }
311
+
@@ -0,0 +1,6 @@
1
+ @use "../../settings/warnings--internal";
2
+
3
+ @include warnings--internal.component-scss-file-warning("cookie-banner");
4
+
5
+ @import "index";
6
+
@@ -0,0 +1,9 @@
1
+ @use "mixin";
2
+
3
+ @import "../../base";
4
+ @import "../button";
5
+
6
+ @include govuk-exports("govuk/component/cookie-banner") {
7
+ @include mixin.styles;
8
+ }
9
+