defra_ruby_template 3.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (479) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/Gemfile +6 -0
  4. data/Gemfile.lock +20 -0
  5. data/README.md +71 -0
  6. data/Rakefile +50 -0
  7. data/app/views/layouts/defra_ruby_template.html.erb +83 -0
  8. data/bin/console +14 -0
  9. data/bin/setup +8 -0
  10. data/defra_ruby_template.gemspec +24 -0
  11. data/lib/defra_ruby_template.rb +23 -0
  12. data/lib/defra_ruby_template/version.rb +3 -0
  13. data/node_modules/govuk-frontend/README.md +91 -0
  14. data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +14 -0
  15. data/node_modules/govuk-frontend/govuk/_base.scss +3 -0
  16. data/node_modules/govuk-frontend/govuk/all-ie8.scss +6 -0
  17. data/node_modules/govuk-frontend/govuk/all.js +2616 -0
  18. data/node_modules/govuk-frontend/govuk/all.scss +9 -0
  19. data/node_modules/govuk-frontend/govuk/assets/fonts/bold-affa96571d-v2.woff +0 -0
  20. data/node_modules/govuk-frontend/govuk/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
  21. data/node_modules/govuk-frontend/govuk/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
  22. data/node_modules/govuk-frontend/govuk/assets/fonts/light-f591b13f7d-v2.woff +0 -0
  23. data/node_modules/govuk-frontend/govuk/assets/images/favicon.ico +0 -0
  24. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  25. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  26. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  27. data/node_modules/govuk-frontend/govuk/assets/images/govuk-apple-touch-icon.png +0 -0
  28. data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest-2x.png +0 -0
  29. data/node_modules/govuk-frontend/govuk/assets/images/govuk-crest.png +0 -0
  30. data/node_modules/govuk-frontend/govuk/assets/images/govuk-logotype-crown.png +0 -0
  31. data/node_modules/govuk-frontend/govuk/assets/images/govuk-mask-icon.svg +7 -0
  32. data/node_modules/govuk-frontend/govuk/assets/images/govuk-opengraph-image.png +0 -0
  33. data/node_modules/govuk-frontend/govuk/common.js +39 -0
  34. data/node_modules/govuk-frontend/govuk/components/_all.scss +33 -0
  35. data/node_modules/govuk-frontend/govuk/components/accordion/README.md +15 -0
  36. data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss +2 -0
  37. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +197 -0
  38. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +1011 -0
  39. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +250 -0
  40. data/node_modules/govuk-frontend/govuk/components/accordion/macro-options.json +76 -0
  41. data/node_modules/govuk-frontend/govuk/components/accordion/macro.njk +3 -0
  42. data/node_modules/govuk-frontend/govuk/components/accordion/template.njk +27 -0
  43. data/node_modules/govuk-frontend/govuk/components/back-link/README.md +15 -0
  44. data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss +2 -0
  45. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +99 -0
  46. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +62 -0
  47. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +32 -0
  48. data/node_modules/govuk-frontend/govuk/components/back-link/macro.njk +3 -0
  49. data/node_modules/govuk-frontend/govuk/components/back-link/template.njk +2 -0
  50. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/README.md +15 -0
  51. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss +2 -0
  52. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss +138 -0
  53. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +193 -0
  54. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +52 -0
  55. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro.njk +3 -0
  56. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/template.njk +24 -0
  57. data/node_modules/govuk-frontend/govuk/components/button/README.md +15 -0
  58. data/node_modules/govuk-frontend/govuk/components/button/_button.scss +2 -0
  59. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +288 -0
  60. data/node_modules/govuk-frontend/govuk/components/button/button.js +724 -0
  61. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +318 -0
  62. data/node_modules/govuk-frontend/govuk/components/button/macro-options.json +74 -0
  63. data/node_modules/govuk-frontend/govuk/components/button/macro.njk +3 -0
  64. data/node_modules/govuk-frontend/govuk/components/button/template.njk +60 -0
  65. data/node_modules/govuk-frontend/govuk/components/character-count/README.md +15 -0
  66. data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss +2 -0
  67. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss +25 -0
  68. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +1194 -0
  69. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +240 -0
  70. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +111 -0
  71. data/node_modules/govuk-frontend/govuk/components/character-count/macro.njk +3 -0
  72. data/node_modules/govuk-frontend/govuk/components/character-count/template.njk +37 -0
  73. data/node_modules/govuk-frontend/govuk/components/checkboxes/README.md +15 -0
  74. data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss +2 -0
  75. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss +320 -0
  76. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +1192 -0
  77. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +1189 -0
  78. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +161 -0
  79. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro.njk +3 -0
  80. data/node_modules/govuk-frontend/govuk/components/checkboxes/template.njk +119 -0
  81. data/node_modules/govuk-frontend/govuk/components/cookie-banner/README.md +15 -0
  82. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss +2 -0
  83. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss +51 -0
  84. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +443 -0
  85. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +132 -0
  86. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro.njk +3 -0
  87. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +73 -0
  88. data/node_modules/govuk-frontend/govuk/components/date-input/README.md +15 -0
  89. data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss +2 -0
  90. data/node_modules/govuk-frontend/govuk/components/date-input/_index.scss +26 -0
  91. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +549 -0
  92. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +117 -0
  93. data/node_modules/govuk-frontend/govuk/components/date-input/macro.njk +3 -0
  94. data/node_modules/govuk-frontend/govuk/components/date-input/template.njk +97 -0
  95. data/node_modules/govuk-frontend/govuk/components/details/README.md +15 -0
  96. data/node_modules/govuk-frontend/govuk/components/details/_details.scss +2 -0
  97. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +87 -0
  98. data/node_modules/govuk-frontend/govuk/components/details/details.js +828 -0
  99. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +103 -0
  100. data/node_modules/govuk-frontend/govuk/components/details/implementation.md +43 -0
  101. data/node_modules/govuk-frontend/govuk/components/details/macro-options.json +50 -0
  102. data/node_modules/govuk-frontend/govuk/components/details/macro.njk +3 -0
  103. data/node_modules/govuk-frontend/govuk/components/details/template.njk +10 -0
  104. data/node_modules/govuk-frontend/govuk/components/error-message/README.md +15 -0
  105. data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss +2 -0
  106. data/node_modules/govuk-frontend/govuk/components/error-message/_index.scss +11 -0
  107. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +77 -0
  108. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +38 -0
  109. data/node_modules/govuk-frontend/govuk/components/error-message/macro.njk +3 -0
  110. data/node_modules/govuk-frontend/govuk/components/error-message/template.njk +6 -0
  111. data/node_modules/govuk-frontend/govuk/components/error-summary/README.md +15 -0
  112. data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss +2 -0
  113. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +43 -0
  114. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +853 -0
  115. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +242 -0
  116. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +70 -0
  117. data/node_modules/govuk-frontend/govuk/components/error-summary/macro.njk +3 -0
  118. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +25 -0
  119. data/node_modules/govuk-frontend/govuk/components/fieldset/README.md +15 -0
  120. data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss +2 -0
  121. data/node_modules/govuk-frontend/govuk/components/fieldset/_index.scss +64 -0
  122. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +103 -0
  123. data/node_modules/govuk-frontend/govuk/components/fieldset/macro-options.json +70 -0
  124. data/node_modules/govuk-frontend/govuk/components/fieldset/macro.njk +3 -0
  125. data/node_modules/govuk-frontend/govuk/components/fieldset/template.njk +22 -0
  126. data/node_modules/govuk-frontend/govuk/components/file-upload/README.md +15 -0
  127. data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss +2 -0
  128. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +49 -0
  129. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +198 -0
  130. data/node_modules/govuk-frontend/govuk/components/file-upload/macro-options.json +73 -0
  131. data/node_modules/govuk-frontend/govuk/components/file-upload/macro.njk +3 -0
  132. data/node_modules/govuk-frontend/govuk/components/file-upload/template.njk +44 -0
  133. data/node_modules/govuk-frontend/govuk/components/footer/README.md +15 -0
  134. data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss +2 -0
  135. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +241 -0
  136. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +501 -0
  137. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +118 -0
  138. data/node_modules/govuk-frontend/govuk/components/footer/macro.njk +3 -0
  139. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +87 -0
  140. data/node_modules/govuk-frontend/govuk/components/header/README.md +15 -0
  141. data/node_modules/govuk-frontend/govuk/components/header/_header.scss +2 -0
  142. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +331 -0
  143. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +378 -0
  144. data/node_modules/govuk-frontend/govuk/components/header/header.js +1066 -0
  145. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +106 -0
  146. data/node_modules/govuk-frontend/govuk/components/header/macro.njk +3 -0
  147. data/node_modules/govuk-frontend/govuk/components/header/template.njk +79 -0
  148. data/node_modules/govuk-frontend/govuk/components/hint/README.md +15 -0
  149. data/node_modules/govuk-frontend/govuk/components/hint/_hint.scss +2 -0
  150. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss +44 -0
  151. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +59 -0
  152. data/node_modules/govuk-frontend/govuk/components/hint/macro-options.json +32 -0
  153. data/node_modules/govuk-frontend/govuk/components/hint/macro.njk +3 -0
  154. data/node_modules/govuk-frontend/govuk/components/hint/template.njk +4 -0
  155. data/node_modules/govuk-frontend/govuk/components/input/README.md +15 -0
  156. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +191 -0
  157. data/node_modules/govuk-frontend/govuk/components/input/_input.scss +2 -0
  158. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +628 -0
  159. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +167 -0
  160. data/node_modules/govuk-frontend/govuk/components/input/macro.njk +3 -0
  161. data/node_modules/govuk-frontend/govuk/components/input/template.njk +65 -0
  162. data/node_modules/govuk-frontend/govuk/components/inset-text/README.md +15 -0
  163. data/node_modules/govuk-frontend/govuk/components/inset-text/_index.scss +24 -0
  164. data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss +2 -0
  165. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +58 -0
  166. data/node_modules/govuk-frontend/govuk/components/inset-text/macro-options.json +32 -0
  167. data/node_modules/govuk-frontend/govuk/components/inset-text/macro.njk +3 -0
  168. data/node_modules/govuk-frontend/govuk/components/inset-text/template.njk +4 -0
  169. data/node_modules/govuk-frontend/govuk/components/label/README.md +15 -0
  170. data/node_modules/govuk-frontend/govuk/components/label/_index.scss +41 -0
  171. data/node_modules/govuk-frontend/govuk/components/label/_label.scss +2 -0
  172. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +84 -0
  173. data/node_modules/govuk-frontend/govuk/components/label/macro-options.json +38 -0
  174. data/node_modules/govuk-frontend/govuk/components/label/macro.njk +3 -0
  175. data/node_modules/govuk-frontend/govuk/components/label/template.njk +15 -0
  176. data/node_modules/govuk-frontend/govuk/components/notification-banner/README.md +15 -0
  177. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss +89 -0
  178. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +2 -0
  179. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +212 -0
  180. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +68 -0
  181. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk +3 -0
  182. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +61 -0
  183. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +47 -0
  184. data/node_modules/govuk-frontend/govuk/components/panel/README.md +15 -0
  185. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +44 -0
  186. data/node_modules/govuk-frontend/govuk/components/panel/_panel.scss +2 -0
  187. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +91 -0
  188. data/node_modules/govuk-frontend/govuk/components/panel/macro-options.json +44 -0
  189. data/node_modules/govuk-frontend/govuk/components/panel/macro.njk +3 -0
  190. data/node_modules/govuk-frontend/govuk/components/panel/template.njk +13 -0
  191. data/node_modules/govuk-frontend/govuk/components/phase-banner/README.md +15 -0
  192. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss +27 -0
  193. data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss +2 -0
  194. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +76 -0
  195. data/node_modules/govuk-frontend/govuk/components/phase-banner/macro-options.json +33 -0
  196. data/node_modules/govuk-frontend/govuk/components/phase-banner/macro.njk +3 -0
  197. data/node_modules/govuk-frontend/govuk/components/phase-banner/template.njk +15 -0
  198. data/node_modules/govuk-frontend/govuk/components/radios/README.md +15 -0
  199. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss +342 -0
  200. data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss +2 -0
  201. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +1183 -0
  202. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +143 -0
  203. data/node_modules/govuk-frontend/govuk/components/radios/macro.njk +3 -0
  204. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +1148 -0
  205. data/node_modules/govuk-frontend/govuk/components/radios/template.njk +116 -0
  206. data/node_modules/govuk-frontend/govuk/components/select/README.md +15 -0
  207. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +49 -0
  208. data/node_modules/govuk-frontend/govuk/components/select/_select.scss +2 -0
  209. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +327 -0
  210. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +105 -0
  211. data/node_modules/govuk-frontend/govuk/components/select/macro.njk +3 -0
  212. data/node_modules/govuk-frontend/govuk/components/select/template.njk +51 -0
  213. data/node_modules/govuk-frontend/govuk/components/skip-link/README.md +15 -0
  214. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +36 -0
  215. data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss +2 -0
  216. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +84 -0
  217. data/node_modules/govuk-frontend/govuk/components/skip-link/macro-options.json +32 -0
  218. data/node_modules/govuk-frontend/govuk/components/skip-link/macro.njk +3 -0
  219. data/node_modules/govuk-frontend/govuk/components/skip-link/template.njk +3 -0
  220. data/node_modules/govuk-frontend/govuk/components/summary-list/README.md +15 -0
  221. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +145 -0
  222. data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss +2 -0
  223. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +1084 -0
  224. data/node_modules/govuk-frontend/govuk/components/summary-list/macro-options.json +113 -0
  225. data/node_modules/govuk-frontend/govuk/components/summary-list/macro.njk +3 -0
  226. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +47 -0
  227. data/node_modules/govuk-frontend/govuk/components/table/README.md +15 -0
  228. data/node_modules/govuk-frontend/govuk/components/table/_index.scss +71 -0
  229. data/node_modules/govuk-frontend/govuk/components/table/_table.scss +2 -0
  230. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +538 -0
  231. data/node_modules/govuk-frontend/govuk/components/table/macro-options.json +132 -0
  232. data/node_modules/govuk-frontend/govuk/components/table/macro.njk +3 -0
  233. data/node_modules/govuk-frontend/govuk/components/table/template.njk +45 -0
  234. data/node_modules/govuk-frontend/govuk/components/tabs/README.md +15 -0
  235. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +130 -0
  236. data/node_modules/govuk-frontend/govuk/components/tabs/_tabs.scss +2 -0
  237. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +286 -0
  238. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +84 -0
  239. data/node_modules/govuk-frontend/govuk/components/tabs/macro.njk +3 -0
  240. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +1347 -0
  241. data/node_modules/govuk-frontend/govuk/components/tabs/template.njk +32 -0
  242. data/node_modules/govuk-frontend/govuk/components/tag/README.md +15 -0
  243. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +86 -0
  244. data/node_modules/govuk-frontend/govuk/components/tag/_tag.scss +2 -0
  245. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +131 -0
  246. data/node_modules/govuk-frontend/govuk/components/tag/macro-options.json +26 -0
  247. data/node_modules/govuk-frontend/govuk/components/tag/macro.njk +3 -0
  248. data/node_modules/govuk-frontend/govuk/components/tag/template.njk +3 -0
  249. data/node_modules/govuk-frontend/govuk/components/textarea/README.md +15 -0
  250. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss +47 -0
  251. data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss +2 -0
  252. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +250 -0
  253. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +91 -0
  254. data/node_modules/govuk-frontend/govuk/components/textarea/macro.njk +3 -0
  255. data/node_modules/govuk-frontend/govuk/components/textarea/template.njk +45 -0
  256. data/node_modules/govuk-frontend/govuk/components/warning-text/README.md +15 -0
  257. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +66 -0
  258. data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss +2 -0
  259. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +73 -0
  260. data/node_modules/govuk-frontend/govuk/components/warning-text/macro-options.json +32 -0
  261. data/node_modules/govuk-frontend/govuk/components/warning-text/macro.njk +3 -0
  262. data/node_modules/govuk-frontend/govuk/components/warning-text/template.njk +9 -0
  263. data/node_modules/govuk-frontend/govuk/core/_all.scss +6 -0
  264. data/node_modules/govuk-frontend/govuk/core/_global-styles.scss +25 -0
  265. data/node_modules/govuk-frontend/govuk/core/_links.scss +41 -0
  266. data/node_modules/govuk-frontend/govuk/core/_lists.scss +72 -0
  267. data/node_modules/govuk-frontend/govuk/core/_section-break.scss +62 -0
  268. data/node_modules/govuk-frontend/govuk/core/_template.scss +36 -0
  269. data/node_modules/govuk-frontend/govuk/core/_typography.scss +192 -0
  270. data/node_modules/govuk-frontend/govuk/helpers/_all.scss +12 -0
  271. data/node_modules/govuk-frontend/govuk/helpers/_clearfix.scss +15 -0
  272. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +95 -0
  273. data/node_modules/govuk-frontend/govuk/helpers/_device-pixels.scss +37 -0
  274. data/node_modules/govuk-frontend/govuk/helpers/_focused.scss +28 -0
  275. data/node_modules/govuk-frontend/govuk/helpers/_font-faces.scss +41 -0
  276. data/node_modules/govuk-frontend/govuk/helpers/_grid.scss +61 -0
  277. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +427 -0
  278. data/node_modules/govuk-frontend/govuk/helpers/_media-queries.scss +91 -0
  279. data/node_modules/govuk-frontend/govuk/helpers/_shape-arrow.scss +80 -0
  280. data/node_modules/govuk-frontend/govuk/helpers/_spacing.scss +153 -0
  281. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +207 -0
  282. data/node_modules/govuk-frontend/govuk/helpers/_visually-hidden.scss +84 -0
  283. data/node_modules/govuk-frontend/govuk/objects/_all.scss +5 -0
  284. data/node_modules/govuk-frontend/govuk/objects/_button-group.scss +101 -0
  285. data/node_modules/govuk-frontend/govuk/objects/_form-group.scss +23 -0
  286. data/node_modules/govuk-frontend/govuk/objects/_grid.scss +24 -0
  287. data/node_modules/govuk-frontend/govuk/objects/_main-wrapper.scss +68 -0
  288. data/node_modules/govuk-frontend/govuk/objects/_width-container.scss +88 -0
  289. data/node_modules/govuk-frontend/govuk/overrides/_all.scss +4 -0
  290. data/node_modules/govuk-frontend/govuk/overrides/_display.scss +30 -0
  291. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +64 -0
  292. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +27 -0
  293. data/node_modules/govuk-frontend/govuk/overrides/_width.scss +52 -0
  294. data/node_modules/govuk-frontend/govuk/settings/_all.scss +23 -0
  295. data/node_modules/govuk-frontend/govuk/settings/_assets.scss +82 -0
  296. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +155 -0
  297. data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss +139 -0
  298. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +108 -0
  299. data/node_modules/govuk-frontend/govuk/settings/_compatibility.scss +74 -0
  300. data/node_modules/govuk-frontend/govuk/settings/_global-styles.scss +13 -0
  301. data/node_modules/govuk-frontend/govuk/settings/_ie8.scss +18 -0
  302. data/node_modules/govuk-frontend/govuk/settings/_links.scss +62 -0
  303. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +105 -0
  304. data/node_modules/govuk-frontend/govuk/settings/_media-queries.scss +23 -0
  305. data/node_modules/govuk-frontend/govuk/settings/_spacing.scss +80 -0
  306. data/node_modules/govuk-frontend/govuk/settings/_typography-font-families.scss +32 -0
  307. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +89 -0
  308. data/node_modules/govuk-frontend/govuk/settings/_typography-responsive.scss +183 -0
  309. data/node_modules/govuk-frontend/govuk/template.njk +60 -0
  310. data/node_modules/govuk-frontend/govuk/tools/_all.scss +8 -0
  311. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +36 -0
  312. data/node_modules/govuk-frontend/govuk/tools/_exports.scss +33 -0
  313. data/node_modules/govuk-frontend/govuk/tools/_font-url.scss +25 -0
  314. data/node_modules/govuk-frontend/govuk/tools/_ie8.scss +51 -0
  315. data/node_modules/govuk-frontend/govuk/tools/_iff.scss +17 -0
  316. data/node_modules/govuk-frontend/govuk/tools/_image-url.scss +25 -0
  317. data/node_modules/govuk-frontend/govuk/tools/_px-to-em.scss +20 -0
  318. data/node_modules/govuk-frontend/govuk/tools/_px-to-rem.scss +20 -0
  319. data/node_modules/govuk-frontend/govuk/utilities/_all.scss +2 -0
  320. data/node_modules/govuk-frontend/govuk/utilities/_clearfix.scss +5 -0
  321. data/node_modules/govuk-frontend/govuk/utilities/_visually-hidden.scss +9 -0
  322. data/node_modules/govuk-frontend/govuk/vendor/_sass-mq.scss +347 -0
  323. data/node_modules/govuk-frontend/govuk/vendor/polyfills/DOMTokenList.js +272 -0
  324. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Document.js +34 -0
  325. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element.js +147 -0
  326. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/classList.js +589 -0
  327. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/closest.js +54 -0
  328. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/matches.js +31 -0
  329. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/nextElementSibling.js +254 -0
  330. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Element/prototype/previousElementSibling.js +254 -0
  331. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Event.js +504 -0
  332. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Function/prototype/bind.js +252 -0
  333. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Object/defineProperty.js +94 -0
  334. data/node_modules/govuk-frontend/govuk/vendor/polyfills/Window.js +28 -0
  335. data/node_modules/govuk-frontend/package.json +56 -0
  336. data/package-lock.json +13 -0
  337. data/package.json +29 -0
  338. data/vendor/assets/fonts/bold-affa96571d-v2.woff +0 -0
  339. data/vendor/assets/fonts/bold-b542beb274-v2.woff2 +0 -0
  340. data/vendor/assets/fonts/light-94a07e06a1-v2.woff2 +0 -0
  341. data/vendor/assets/fonts/light-f591b13f7d-v2.woff +0 -0
  342. data/vendor/assets/images/favicon.ico +0 -0
  343. data/vendor/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  344. data/vendor/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  345. data/vendor/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  346. data/vendor/assets/images/govuk-apple-touch-icon.png +0 -0
  347. data/vendor/assets/images/govuk-crest-2x.png +0 -0
  348. data/vendor/assets/images/govuk-crest.png +0 -0
  349. data/vendor/assets/images/govuk-logotype-crown.png +0 -0
  350. data/vendor/assets/images/govuk-mask-icon.svg +7 -0
  351. data/vendor/assets/images/govuk-opengraph-image.png +0 -0
  352. data/vendor/assets/javascripts/defra_ruby_template.js +2616 -0
  353. data/vendor/assets/stylesheets/_base.scss +3 -0
  354. data/vendor/assets/stylesheets/all-ie8.scss +6 -0
  355. data/vendor/assets/stylesheets/all.scss +9 -0
  356. data/vendor/assets/stylesheets/components/_all.scss +33 -0
  357. data/vendor/assets/stylesheets/components/accordion/_accordion.scss +2 -0
  358. data/vendor/assets/stylesheets/components/accordion/_index.scss +197 -0
  359. data/vendor/assets/stylesheets/components/back-link/_back-link.scss +2 -0
  360. data/vendor/assets/stylesheets/components/back-link/_index.scss +99 -0
  361. data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.scss +2 -0
  362. data/vendor/assets/stylesheets/components/breadcrumbs/_index.scss +138 -0
  363. data/vendor/assets/stylesheets/components/button/_button.scss +2 -0
  364. data/vendor/assets/stylesheets/components/button/_index.scss +288 -0
  365. data/vendor/assets/stylesheets/components/character-count/_character-count.scss +2 -0
  366. data/vendor/assets/stylesheets/components/character-count/_index.scss +25 -0
  367. data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.scss +2 -0
  368. data/vendor/assets/stylesheets/components/checkboxes/_index.scss +320 -0
  369. data/vendor/assets/stylesheets/components/cookie-banner/_cookie-banner.scss +2 -0
  370. data/vendor/assets/stylesheets/components/cookie-banner/_index.scss +51 -0
  371. data/vendor/assets/stylesheets/components/date-input/_date-input.scss +2 -0
  372. data/vendor/assets/stylesheets/components/date-input/_index.scss +26 -0
  373. data/vendor/assets/stylesheets/components/details/_details.scss +2 -0
  374. data/vendor/assets/stylesheets/components/details/_index.scss +87 -0
  375. data/vendor/assets/stylesheets/components/error-message/_error-message.scss +2 -0
  376. data/vendor/assets/stylesheets/components/error-message/_index.scss +11 -0
  377. data/vendor/assets/stylesheets/components/error-summary/_error-summary.scss +2 -0
  378. data/vendor/assets/stylesheets/components/error-summary/_index.scss +43 -0
  379. data/vendor/assets/stylesheets/components/fieldset/_fieldset.scss +2 -0
  380. data/vendor/assets/stylesheets/components/fieldset/_index.scss +64 -0
  381. data/vendor/assets/stylesheets/components/file-upload/_file-upload.scss +2 -0
  382. data/vendor/assets/stylesheets/components/file-upload/_index.scss +49 -0
  383. data/vendor/assets/stylesheets/components/footer/_footer.scss +2 -0
  384. data/vendor/assets/stylesheets/components/footer/_index.scss +241 -0
  385. data/vendor/assets/stylesheets/components/header/_header.scss +2 -0
  386. data/vendor/assets/stylesheets/components/header/_index.scss +331 -0
  387. data/vendor/assets/stylesheets/components/hint/_hint.scss +2 -0
  388. data/vendor/assets/stylesheets/components/hint/_index.scss +44 -0
  389. data/vendor/assets/stylesheets/components/input/_index.scss +191 -0
  390. data/vendor/assets/stylesheets/components/input/_input.scss +2 -0
  391. data/vendor/assets/stylesheets/components/inset-text/_index.scss +24 -0
  392. data/vendor/assets/stylesheets/components/inset-text/_inset-text.scss +2 -0
  393. data/vendor/assets/stylesheets/components/label/_index.scss +41 -0
  394. data/vendor/assets/stylesheets/components/label/_label.scss +2 -0
  395. data/vendor/assets/stylesheets/components/notification-banner/_index.scss +89 -0
  396. data/vendor/assets/stylesheets/components/notification-banner/_notification-banner.scss +2 -0
  397. data/vendor/assets/stylesheets/components/panel/_index.scss +44 -0
  398. data/vendor/assets/stylesheets/components/panel/_panel.scss +2 -0
  399. data/vendor/assets/stylesheets/components/phase-banner/_index.scss +27 -0
  400. data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.scss +2 -0
  401. data/vendor/assets/stylesheets/components/radios/_index.scss +342 -0
  402. data/vendor/assets/stylesheets/components/radios/_radios.scss +2 -0
  403. data/vendor/assets/stylesheets/components/select/_index.scss +49 -0
  404. data/vendor/assets/stylesheets/components/select/_select.scss +2 -0
  405. data/vendor/assets/stylesheets/components/skip-link/_index.scss +36 -0
  406. data/vendor/assets/stylesheets/components/skip-link/_skip-link.scss +2 -0
  407. data/vendor/assets/stylesheets/components/summary-list/_index.scss +145 -0
  408. data/vendor/assets/stylesheets/components/summary-list/_summary-list.scss +2 -0
  409. data/vendor/assets/stylesheets/components/table/_index.scss +71 -0
  410. data/vendor/assets/stylesheets/components/table/_table.scss +2 -0
  411. data/vendor/assets/stylesheets/components/tabs/_index.scss +130 -0
  412. data/vendor/assets/stylesheets/components/tabs/_tabs.scss +2 -0
  413. data/vendor/assets/stylesheets/components/tag/_index.scss +86 -0
  414. data/vendor/assets/stylesheets/components/tag/_tag.scss +2 -0
  415. data/vendor/assets/stylesheets/components/textarea/_index.scss +47 -0
  416. data/vendor/assets/stylesheets/components/textarea/_textarea.scss +2 -0
  417. data/vendor/assets/stylesheets/components/warning-text/_index.scss +66 -0
  418. data/vendor/assets/stylesheets/components/warning-text/_warning-text.scss +2 -0
  419. data/vendor/assets/stylesheets/core/_all.scss +6 -0
  420. data/vendor/assets/stylesheets/core/_global-styles.scss +25 -0
  421. data/vendor/assets/stylesheets/core/_links.scss +41 -0
  422. data/vendor/assets/stylesheets/core/_lists.scss +72 -0
  423. data/vendor/assets/stylesheets/core/_section-break.scss +62 -0
  424. data/vendor/assets/stylesheets/core/_template.scss +36 -0
  425. data/vendor/assets/stylesheets/core/_typography.scss +192 -0
  426. data/vendor/assets/stylesheets/defra_ruby_template.scss +16 -0
  427. data/vendor/assets/stylesheets/helpers/_all.scss +12 -0
  428. data/vendor/assets/stylesheets/helpers/_clearfix.scss +15 -0
  429. data/vendor/assets/stylesheets/helpers/_colour.scss +95 -0
  430. data/vendor/assets/stylesheets/helpers/_device-pixels.scss +37 -0
  431. data/vendor/assets/stylesheets/helpers/_focused.scss +28 -0
  432. data/vendor/assets/stylesheets/helpers/_font-faces.scss +41 -0
  433. data/vendor/assets/stylesheets/helpers/_grid.scss +61 -0
  434. data/vendor/assets/stylesheets/helpers/_links.scss +427 -0
  435. data/vendor/assets/stylesheets/helpers/_media-queries.scss +91 -0
  436. data/vendor/assets/stylesheets/helpers/_shape-arrow.scss +80 -0
  437. data/vendor/assets/stylesheets/helpers/_spacing.scss +153 -0
  438. data/vendor/assets/stylesheets/helpers/_typography.scss +207 -0
  439. data/vendor/assets/stylesheets/helpers/_visually-hidden.scss +84 -0
  440. data/vendor/assets/stylesheets/objects/_all.scss +5 -0
  441. data/vendor/assets/stylesheets/objects/_button-group.scss +101 -0
  442. data/vendor/assets/stylesheets/objects/_form-group.scss +23 -0
  443. data/vendor/assets/stylesheets/objects/_grid.scss +24 -0
  444. data/vendor/assets/stylesheets/objects/_main-wrapper.scss +68 -0
  445. data/vendor/assets/stylesheets/objects/_width-container.scss +88 -0
  446. data/vendor/assets/stylesheets/overrides/_all.scss +4 -0
  447. data/vendor/assets/stylesheets/overrides/_display.scss +30 -0
  448. data/vendor/assets/stylesheets/overrides/_spacing.scss +64 -0
  449. data/vendor/assets/stylesheets/overrides/_typography.scss +27 -0
  450. data/vendor/assets/stylesheets/overrides/_width.scss +52 -0
  451. data/vendor/assets/stylesheets/settings/_all.scss +23 -0
  452. data/vendor/assets/stylesheets/settings/_assets.scss +82 -0
  453. data/vendor/assets/stylesheets/settings/_colours-applied.scss +155 -0
  454. data/vendor/assets/stylesheets/settings/_colours-organisations.scss +139 -0
  455. data/vendor/assets/stylesheets/settings/_colours-palette.scss +108 -0
  456. data/vendor/assets/stylesheets/settings/_compatibility.scss +74 -0
  457. data/vendor/assets/stylesheets/settings/_global-styles.scss +13 -0
  458. data/vendor/assets/stylesheets/settings/_ie8.scss +18 -0
  459. data/vendor/assets/stylesheets/settings/_links.scss +62 -0
  460. data/vendor/assets/stylesheets/settings/_measurements.scss +105 -0
  461. data/vendor/assets/stylesheets/settings/_media-queries.scss +23 -0
  462. data/vendor/assets/stylesheets/settings/_spacing.scss +80 -0
  463. data/vendor/assets/stylesheets/settings/_typography-font-families.scss +32 -0
  464. data/vendor/assets/stylesheets/settings/_typography-font.scss +89 -0
  465. data/vendor/assets/stylesheets/settings/_typography-responsive.scss +183 -0
  466. data/vendor/assets/stylesheets/tools/_all.scss +8 -0
  467. data/vendor/assets/stylesheets/tools/_compatibility.scss +36 -0
  468. data/vendor/assets/stylesheets/tools/_exports.scss +33 -0
  469. data/vendor/assets/stylesheets/tools/_font-url.scss +25 -0
  470. data/vendor/assets/stylesheets/tools/_ie8.scss +51 -0
  471. data/vendor/assets/stylesheets/tools/_iff.scss +17 -0
  472. data/vendor/assets/stylesheets/tools/_image-url.scss +25 -0
  473. data/vendor/assets/stylesheets/tools/_px-to-em.scss +20 -0
  474. data/vendor/assets/stylesheets/tools/_px-to-rem.scss +20 -0
  475. data/vendor/assets/stylesheets/utilities/_all.scss +2 -0
  476. data/vendor/assets/stylesheets/utilities/_clearfix.scss +5 -0
  477. data/vendor/assets/stylesheets/utilities/_visually-hidden.scss +9 -0
  478. data/vendor/assets/stylesheets/vendor/_sass-mq.scss +347 -0
  479. metadata +520 -0
@@ -0,0 +1,91 @@
1
+ ////
2
+ /// @group helpers/layout
3
+ ////
4
+
5
+ // =========================================================
6
+ // Wrangle sass-mq config...
7
+ // =========================================================
8
+
9
+ // Pass our breakpoints and static breakpoint definitions through to sass-mq.
10
+ $mq-breakpoints: if(variable-exists(govuk-breakpoints), $govuk-breakpoints, ());
11
+ $mq-static-breakpoint: if(variable-exists(govuk-ie8-breakpoint), $govuk-ie8-breakpoint, desktop);
12
+
13
+ $mq-show-breakpoints: ();
14
+
15
+ @if (variable-exists(govuk-show-breakpoints) and $govuk-show-breakpoints) {
16
+ $mq-show-breakpoints: map-keys($govuk-breakpoints);
17
+ }
18
+
19
+ // When building a stylesheet for IE8, set $mq-responsive to false in order to
20
+ // 'rasterize' any media queries.
21
+
22
+ $mq-responsive: true;
23
+ @if (variable-exists(govuk-is-ie8) and $govuk-is-ie8) {
24
+ $mq-responsive: false;
25
+ }
26
+
27
+ // This is a horrible, horrible hack to prevent the 'dev mode' CSS to display
28
+ // the current breakpoint from being included multiple times.
29
+ //
30
+ // We can't use the `exports` mixin for this because import directives cannot be
31
+ // used within control directives 😠
32
+ $sass-mq-already-included: false !default;
33
+
34
+ @if $sass-mq-already-included {
35
+ $mq-show-breakpoints: ();
36
+ }
37
+
38
+ @import "../vendor/sass-mq";
39
+
40
+ $sass-mq-already-included: true;
41
+
42
+ // =========================================================
43
+ // Helpers
44
+ // =========================================================
45
+
46
+ /// Media Query
47
+ ///
48
+ /// This is a currently a wrapper for sass-mq - abstracted so that we can
49
+ /// replace it in the future if we so choose.
50
+ ///
51
+ /// @param {String | Boolean} $from [false] - One of $govuk-breakpoints
52
+ /// @param {String | Boolean} $until [false] - One of $govuk-breakpoints
53
+ /// @param {String | Boolean} $and [false] - Additional media query parameters
54
+ /// @param {String} $media-type [all] - Media type: screen, print…
55
+ ///
56
+ /// @ignore Undocumented mq API, for advanced use only:
57
+ /// @ignore @param {Map} $breakpoints [$govuk-breakpoints]
58
+ /// @ignore @param {String} $static-breakpoint [$govuk-ie8-breakpoint]
59
+ /// @ignore @param {Boolean} $responsive [$govuk-is-ie8]
60
+ ///
61
+ /// @content styling rules, wrapped into a @media query when $responsive is true
62
+ ///
63
+ /// @example scss
64
+ /// .element {
65
+ /// @include govuk-media-query($from: mobile) {
66
+ /// color: red;
67
+ /// }
68
+ /// @include govuk-media-query($until: tablet) {
69
+ /// color: blue;
70
+ /// }
71
+ /// @include govuk-media-query(mobile, tablet) {
72
+ /// color: green;
73
+ /// }
74
+ /// @include govuk-media-query($from: tablet, $and: '(orientation: landscape)') {
75
+ /// color: teal;
76
+ /// }
77
+ /// @include govuk-media-query(950px) {
78
+ /// color: hotpink;
79
+ /// }
80
+ /// @include govuk-media-query(tablet, $media-type: screen) {
81
+ /// color: hotpink;
82
+ /// }
83
+ /// }
84
+ ///
85
+ /// @access public
86
+
87
+ @mixin govuk-media-query($args...) {
88
+ @include mq($args...) {
89
+ @content;
90
+ }
91
+ }
@@ -0,0 +1,80 @@
1
+ ////
2
+ /// @group helpers/shapes
3
+ ////
4
+
5
+ /// Calculate the height of an equilateral triangle
6
+ ///
7
+ /// Multiplying half the length of the base of an equilateral triangle by the
8
+ /// square root of three gives us its height. We use 1.732 as an approximation.
9
+ ///
10
+ /// @param {Number} $base - Length of the base of the triangle
11
+ /// @return {Number} Calculated height of the triangle
12
+ /// @access private
13
+
14
+ @function _govuk-equilateral-height($base) {
15
+ $square-root-of-three: 1.732;
16
+
17
+ @return ($base / 2) * $square-root-of-three;
18
+ }
19
+
20
+ /// Arrow mixin
21
+ ///
22
+ /// Generate Arrows (triangles) by using a mix of transparent (1) and coloured
23
+ /// borders. The coloured borders inherit the text colour of the element (2).
24
+ ///
25
+ /// Ensure the arrow is rendered correctly if browser colours are overridden by
26
+ /// providing a clip path (3). Without this the transparent borders are
27
+ /// overridden to become visible which results in a square.
28
+ ///
29
+ /// We need both because older browsers do not support clip-path.
30
+ ///
31
+ /// @param {String} $direction - Direction for arrow: up, right, down, left.
32
+ /// @param {Number} $base - Length of the triangle 'base' side
33
+ /// @param {Number} $height [null] - Height of triangle. Omit for equilateral.
34
+ /// @param {String} $display [block] - CSS display property of the arrow
35
+ ///
36
+ /// @access public
37
+
38
+ @mixin govuk-shape-arrow($direction, $base, $height: null, $display: block) {
39
+ display: $display;
40
+
41
+ width: 0;
42
+ height: 0;
43
+
44
+ border-style: solid;
45
+ border-color: transparent; // 1
46
+
47
+ $perpendicular: $base / 2;
48
+
49
+ @if ($height == null) {
50
+ $height: _govuk-equilateral-height($base);
51
+ }
52
+
53
+ @if $direction == "up" {
54
+ -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
55
+ clip-path: polygon(50% 0%, 0% 100%, 100% 100%); // 3
56
+
57
+ border-width: 0 $perpendicular $height $perpendicular;
58
+ border-bottom-color: inherit; // 2
59
+ } @else if $direction == "right" {
60
+ -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
61
+ clip-path: polygon(0% 0%, 100% 50%, 0% 100%); // 3
62
+
63
+ border-width: $perpendicular 0 $perpendicular $height;
64
+ border-left-color: inherit; // 2
65
+ } @else if $direction == "down" {
66
+ -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
67
+ clip-path: polygon(0% 0%, 50% 100%, 100% 0%); // 3
68
+
69
+ border-width: $height $perpendicular 0 $perpendicular;
70
+ border-top-color: inherit; // 2
71
+ } @else if $direction == "left" {
72
+ -webkit-clip-path: polygon(0% 50%, 100% 100%, 100% 0%);
73
+ clip-path: polygon(0% 50%, 100% 100%, 100% 0%); // 3
74
+
75
+ border-width: $perpendicular $height $perpendicular 0;
76
+ border-right-color: inherit; // 2
77
+ } @else {
78
+ @error "Invalid arrow direction: expected `up`, `right`, `down` or `left`, got `#{$direction}`";
79
+ }
80
+ }
@@ -0,0 +1,153 @@
1
+ ////
2
+ /// @group helpers/spacing
3
+ ////
4
+
5
+ // stylelint-disable indentation
6
+
7
+ /// Single point spacing
8
+ ///
9
+ /// Returns measurement corresponding to the spacing point requested.
10
+ ///
11
+ /// @param {Number} $spacing-point - Point on the spacing scale (set in `settings/_spacing.sccs`)
12
+ ///
13
+ /// @returns {String} Spacing Measurement eg. 10px
14
+ ///
15
+ /// @example scss
16
+ /// .element {
17
+ /// padding: govuk-spacing(5);
18
+ /// top: govuk-spacing(2) !important; // if `!important` is required
19
+ /// }
20
+ /// @access public
21
+
22
+ @function govuk-spacing($spacing-point) {
23
+
24
+ $actual-input-type: type-of($spacing-point);
25
+ @if $actual-input-type != "number" {
26
+ @error "Expected a number (integer), but got a "
27
+ + "#{$actual-input-type}.";
28
+ }
29
+
30
+ @if not map-has-key($govuk-spacing-points, $spacing-point) {
31
+ @error "Unknown spacing variable `#{$spacing-point}`. Make sure you are using a point from the spacing scale in `_settings/spacing.scss`.";
32
+ }
33
+
34
+ @return map-get($govuk-spacing-points, $spacing-point);
35
+ }
36
+
37
+ /// Responsive spacing
38
+ ///
39
+ /// Adds responsive spacing (either padding or margin, depending on `$property`)
40
+ /// by fetching a 'spacing map' from the responsive spacing scale, which defines
41
+ /// different spacing values at different breakpoints.
42
+ ///
43
+ /// To generate responsive spacing, use 'govuk-responsive-margin' or
44
+ /// 'govuk-responsive-padding' mixins
45
+ ///
46
+ /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
47
+ /// scale, corresponds to a map of breakpoints and spacing values
48
+ /// @param {String} $property - Property to add spacing to (e.g. 'margin')
49
+ /// @param {String} $direction [all] - Direction to add spacing to
50
+ /// (`top`, `right`, `bottom`, `left`, `all`)
51
+ /// @param {Boolean} $important [false] - Whether to mark as `!important`
52
+ /// @param {Number} $adjustment [false] - Offset to adjust spacing by
53
+ ///
54
+ /// @access private
55
+
56
+ @mixin _govuk-responsive-spacing($responsive-spacing-point, $property, $direction: "all", $important: false, $adjustment: false) {
57
+
58
+ $actual-input-type: type-of($responsive-spacing-point);
59
+ @if $actual-input-type != "number" {
60
+ @error "Expected a number (integer), but got a " + "#{$actual-input-type}.";
61
+ }
62
+
63
+ @if not map-has-key($govuk-spacing-responsive-scale, $responsive-spacing-point) {
64
+ @error "Unknown spacing point `#{$responsive-spacing-point}`. Make sure you are using a point from the "
65
+ + "responsive spacing scale in `_settings/spacing.scss`.";
66
+ }
67
+
68
+ // Make sure that the return value from `_settings/spacing.scss` is a map.
69
+ $scale-map: map-get($govuk-spacing-responsive-scale, $responsive-spacing-point);
70
+ $actual-map-type: type-of($scale-map);
71
+ @if $actual-map-type != "map" {
72
+ @error "Expected a number (integer), but got a "
73
+ + "#{$actual-map-type}. Make sure you are using a map to set the responsive spacing in `_settings/spacing.scss`)";
74
+ }
75
+
76
+ // Loop through each breakpoint in the map
77
+ @each $breakpoint, $breakpoint-value in $scale-map {
78
+
79
+ @if ($adjustment) {
80
+ $breakpoint-value: $breakpoint-value + $adjustment;
81
+ }
82
+
83
+ // The 'null' breakpoint is for mobile.
84
+ @if $breakpoint == null {
85
+
86
+ @if $direction == all {
87
+ #{$property}: $breakpoint-value if($important, !important, null);
88
+ } @else {
89
+ #{$property}-#{$direction}: $breakpoint-value if($important, !important, null);
90
+ }
91
+ } @else {
92
+ @include govuk-media-query($from: $breakpoint) {
93
+ @if $direction == all {
94
+ #{$property}: $breakpoint-value if($important, !important, null);
95
+ } @else {
96
+ #{$property}-#{$direction}: $breakpoint-value if($important, !important, null);
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+
103
+ /// Responsive margin
104
+ ///
105
+ /// Adds responsive margin by fetching a 'spacing map' from the responsive
106
+ /// spacing scale, which defines different spacing values at different
107
+ /// breakpoints. Wrapper for the `_govuk-responsive-spacing` mixin.
108
+ ///
109
+ /// @see {mixin} _govuk-responsive-spacing
110
+ ///
111
+ /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
112
+ /// scale, corresponds to a map of breakpoints and spacing values
113
+ /// @param {String} $direction [all] - Direction to add spacing to
114
+ /// (`top`, `right`, `bottom`, `left`, `all`)
115
+ /// @param {Boolean} $important [false] - Whether to mark as `!important`
116
+ /// @param {Number} $adjustment [false] - Offset to adjust spacing by
117
+ ///
118
+ /// @example scss
119
+ /// .element {
120
+ /// @include govuk-responsive-margin(6, "left", $adjustment: 1px);
121
+ /// }
122
+ ///
123
+ /// @access public
124
+
125
+ @mixin govuk-responsive-margin($responsive-spacing-point, $direction: "all", $important: false, $adjustment: false) {
126
+ @include _govuk-responsive-spacing($responsive-spacing-point, "margin", $direction, $important, $adjustment);
127
+ }
128
+
129
+ /// Responsive padding
130
+ ///
131
+ /// Adds responsive padding by fetching a 'spacing map' from the responsive
132
+ /// spacing scale, which defines different spacing values at different
133
+ /// breakpoints. Wrapper for the `_govuk-responsive-spacing` mixin.
134
+ ///
135
+ /// @see {mixin} _govuk-responsive-spacing
136
+ ///
137
+ /// @param {Number} $responsive-spacing-point - Point on the responsive spacing
138
+ /// scale, corresponds to a map of breakpoints and spacing values
139
+ /// @param {String} $direction [all] - Direction to add spacing to
140
+ /// (`top`, `right`, `bottom`, `left`, `all`)
141
+ /// @param {Boolean} $important [false] - Whether to mark as `!important`
142
+ /// @param {Number} $adjustment [false] - Offset to adjust spacing
143
+ ///
144
+ /// @example scss
145
+ /// .element {
146
+ /// @include govuk-responsive-padding(6, "left", $adjustment: 1px);
147
+ /// }
148
+ ///
149
+ /// @access public
150
+
151
+ @mixin govuk-responsive-padding($responsive-spacing-point, $direction: "all", $important: false, $adjustment: false) {
152
+ @include _govuk-responsive-spacing($responsive-spacing-point, "padding", $direction, $important, $adjustment);
153
+ }
@@ -0,0 +1,207 @@
1
+ ////
2
+ /// @group helpers/typography
3
+ ////
4
+
5
+ @import "../tools/px-to-rem";
6
+
7
+ /// 'Common typography' helper
8
+ ///
9
+ /// Sets the font family and associated properties, such as font smoothing. Also
10
+ /// overrides the font for print.
11
+ ///
12
+ /// @param {List} $font-family [$govuk-font-family] Font family to use
13
+ /// @access public
14
+
15
+ @mixin govuk-typography-common($font-family: $govuk-font-family) {
16
+ font-family: $font-family;
17
+ -webkit-font-smoothing: antialiased;
18
+ -moz-osx-font-smoothing: grayscale;
19
+
20
+ // If the user is using the default GDS Transport font we need to include
21
+ // the font-face declarations.
22
+ //
23
+ // We do not need to include the GDS Transport font-face declarations if
24
+ // alphagov/govuk_template is being used since nta will already be included by
25
+ // default.
26
+ @if ($govuk-include-default-font-face) {
27
+ @include _govuk-font-face-gds-transport;
28
+ }
29
+
30
+ @include govuk-media-query($media-type: print) {
31
+ font-family: $govuk-font-family-print;
32
+ }
33
+ }
34
+
35
+ /// Text colour helper
36
+ ///
37
+ /// Sets the text colour, including a suitable override for print.
38
+ ///
39
+ /// @access public
40
+
41
+ @mixin govuk-text-colour {
42
+ color: $govuk-text-colour;
43
+
44
+ @include govuk-media-query($media-type: print) {
45
+ color: $govuk-print-text-colour;
46
+ }
47
+ }
48
+
49
+ /// Regular font weight helper
50
+ ///
51
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
52
+ /// `!important`. Generally Used to create override classes.
53
+ /// @access public
54
+
55
+ @mixin govuk-typography-weight-regular($important: false) {
56
+ font-weight: $govuk-font-weight-regular if($important, !important, null);
57
+ }
58
+
59
+ /// Bold font weight helper
60
+ ///
61
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
62
+ /// `!important`. Generally Used to create override classes.
63
+ /// @access public
64
+
65
+ @mixin govuk-typography-weight-bold($important: false) {
66
+ font-weight: $govuk-font-weight-bold if($important, !important, null);
67
+ }
68
+
69
+ /// Convert line-heights specified in pixels into a relative value, unless
70
+ /// they are already unit-less (and thus already treated as relative values)
71
+ /// or the units do not match the units used for the font size.
72
+ ///
73
+ /// @param {Number} $line-height Line height
74
+ /// @param {Number} $font-size Font size
75
+ /// @return {Number} The line height as either a relative value or unmodified
76
+ ///
77
+ /// @access private
78
+
79
+ @function _govuk-line-height($line-height, $font-size) {
80
+ @if not unitless($line-height) and unit($line-height) == unit($font-size) {
81
+ $line-height: $line-height / $font-size;
82
+ }
83
+
84
+ @return $line-height;
85
+ }
86
+
87
+ /// Responsive typography helper
88
+ ///
89
+ /// Takes a 'font map' as an argument and uses it to create font-size and
90
+ /// line-height declarations for different breakpoints, and for print.
91
+ ///
92
+ /// Example font map:
93
+ ///
94
+ /// $my-font-map: (
95
+ /// null: (
96
+ /// font-size: 16px,
97
+ /// line-height: 20px
98
+ /// ),
99
+ /// tablet: (
100
+ /// font-size: 19px,
101
+ /// line-height: 25px
102
+ /// ),
103
+ /// print: (
104
+ /// font-size: 14pt,
105
+ /// line-height: 1.15
106
+ /// )
107
+ /// );
108
+ ///
109
+ /// @param {Map} $font-map - Font map
110
+ /// @param {Number} $override-line-height [false] - Non responsive custom line
111
+ /// height. Omit to use the line height from the font map.
112
+ /// @param {Boolean} $important [false] - Whether to mark declarations as
113
+ /// `!important`.
114
+ ///
115
+ /// @access public
116
+
117
+ @mixin govuk-typography-responsive($size, $override-line-height: false, $important: false) {
118
+
119
+ @if not map-has-key($govuk-typography-scale, $size) {
120
+ @error "Unknown font size `#{$size}` - expected a point from the typography scale.";
121
+ }
122
+
123
+ $font-map: map-get($govuk-typography-scale, $size);
124
+
125
+ @each $breakpoint, $breakpoint-map in $font-map {
126
+ $font-size: map-get($breakpoint-map, "font-size");
127
+ $font-size-rem: govuk-px-to-rem($font-size);
128
+
129
+ $line-height: _govuk-line-height(
130
+ $line-height: if(
131
+ $override-line-height,
132
+ $override-line-height,
133
+ map-get($breakpoint-map, "line-height")
134
+ ),
135
+ $font-size: $font-size
136
+ );
137
+
138
+ // Mark rules as !important if $important is true - this will result in
139
+ // these variables becoming strings, so this needs to happen *after* they
140
+ // are used in calculations
141
+ $font-size: $font-size if($important, !important, null);
142
+ $font-size-rem: $font-size-rem if($important, !important, null);
143
+ $line-height: $line-height if($important, !important, null);
144
+
145
+ @if $breakpoint == null {
146
+ font-size: $font-size;
147
+ @if $govuk-typography-use-rem {
148
+ font-size: $font-size-rem;
149
+ }
150
+ line-height: $line-height;
151
+ } @else if $breakpoint == "print" {
152
+ @include govuk-media-query($media-type: print) {
153
+ font-size: $font-size;
154
+ line-height: $line-height;
155
+ }
156
+ } @else {
157
+ @include govuk-media-query($from: $breakpoint) {
158
+ font-size: $font-size;
159
+ @if $govuk-typography-use-rem {
160
+ font-size: $font-size-rem;
161
+ }
162
+ line-height: $line-height;
163
+ }
164
+ }
165
+ }
166
+ }
167
+
168
+ /// Font helper
169
+ ///
170
+ /// @param {Number} $size - Size of the font as it would appear on desktop -
171
+ /// uses the responsive font size map
172
+ /// @param {String} $weight [regular] - Weight: `bold` or `regular`
173
+ /// @param {Boolean} $tabular [false] - Whether to use tabular numbers or not
174
+ /// @param {Number} $line-height [false] - Line-height, if overriding the default
175
+ ///
176
+ /// @access public
177
+
178
+ @mixin govuk-font($size, $weight: regular, $tabular: false, $line-height: false) {
179
+ @if $tabular {
180
+ // if govuk-font-family-tabular is set use $govuk-font-family-tabular
181
+ @if $govuk-font-family-tabular {
182
+ @include govuk-typography-common($font-family: $govuk-font-family-tabular);
183
+ } @else {
184
+ @include govuk-typography-common;
185
+ -webkit-font-feature-settings: "tnum" 1;
186
+ font-feature-settings: "tnum" 1;
187
+
188
+ @supports (font-variant-numeric: tabular-nums) {
189
+ -webkit-font-feature-settings: normal;
190
+ font-feature-settings: normal;
191
+ font-variant-numeric: tabular-nums;
192
+ }
193
+ }
194
+ } @else {
195
+ @include govuk-typography-common;
196
+ }
197
+
198
+ @if $weight == regular {
199
+ @include govuk-typography-weight-regular;
200
+ } @else if $weight == bold {
201
+ @include govuk-typography-weight-bold;
202
+ }
203
+
204
+ @if $size {
205
+ @include govuk-typography-responsive($size, $override-line-height: $line-height);
206
+ }
207
+ }