defra_ruby_template 3.13.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 (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,240 @@
1
+ {
2
+ "component": "character-count",
3
+ "fixtures": [
4
+ {
5
+ "name": "default",
6
+ "options": {
7
+ "name": "more-detail",
8
+ "id": "more-detail",
9
+ "maxlength": 10,
10
+ "label": {
11
+ "text": "Can you provide more detail?"
12
+ }
13
+ },
14
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"more-detail\">\n Can you provide more detail?\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"more-detail\" name=\"more-detail\" rows=\"5\" aria-describedby=\"more-detail-info\"></textarea>\n</div>\n\n <div id=\"more-detail-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
15
+ "hidden": false
16
+ },
17
+ {
18
+ "name": "with hint",
19
+ "options": {
20
+ "name": "with-hint",
21
+ "id": "with-hint",
22
+ "maxlength": 10,
23
+ "label": {
24
+ "text": "Can you provide more detail?"
25
+ },
26
+ "hint": {
27
+ "text": "Don't include personal or financial information, eg your National Insurance number or credit card details."
28
+ }
29
+ },
30
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-hint\">\n Can you provide more detail?\n </label>\n\n \n \n <div id=\"with-hint-hint\" class=\"govuk-hint\">\n Don&#39;t include personal or financial information, eg your National Insurance number or credit card details.\n </div>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-hint\" name=\"with-hint\" rows=\"5\" aria-describedby=\"with-hint-info with-hint-hint\"></textarea>\n</div>\n\n <div id=\"with-hint-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
31
+ "hidden": false
32
+ },
33
+ {
34
+ "name": "with default value",
35
+ "options": {
36
+ "id": "with-default-value",
37
+ "name": "default-value",
38
+ "maxlength": 100,
39
+ "label": {
40
+ "text": "Full address"
41
+ },
42
+ "value": "221B Baker Street\nLondon\nNW1 6XE\n"
43
+ },
44
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"100\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-default-value\">\n Full address\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-default-value\" name=\"default-value\" rows=\"5\" aria-describedby=\"with-default-value-info\">221B Baker Street\nLondon\nNW1 6XE\n</textarea>\n</div>\n\n <div id=\"with-default-value-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 100 characters\n</div>\n\n</div>",
45
+ "hidden": false
46
+ },
47
+ {
48
+ "name": "with default value exceeding limit",
49
+ "options": {
50
+ "id": "exceeding-characters",
51
+ "name": "exceeding",
52
+ "maxlength": 10,
53
+ "value": "221B Baker Street\nLondon\nNW1 6XE\n",
54
+ "label": {
55
+ "text": "Full address"
56
+ },
57
+ "errorMessage": {
58
+ "text": "Please do not exceed the maximum allowed limit"
59
+ }
60
+ },
61
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"exceeding-characters\">\n Full address\n </label>\n\n\n \n \n <span id=\"exceeding-characters-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Please do not exceed the maximum allowed limit\n </span>\n\n <textarea class=\"govuk-textarea govuk-textarea--error govuk-js-character-count govuk-textarea--error\" id=\"exceeding-characters\" name=\"exceeding\" rows=\"5\" aria-describedby=\"exceeding-characters-info exceeding-characters-error\">221B Baker Street\nLondon\nNW1 6XE\n</textarea>\n</div>\n\n <div id=\"exceeding-characters-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
62
+ "hidden": false
63
+ },
64
+ {
65
+ "name": "with custom rows",
66
+ "options": {
67
+ "id": "custom-rows",
68
+ "name": "custom",
69
+ "maxlength": 10,
70
+ "label": {
71
+ "text": "Full address"
72
+ },
73
+ "rows": 8
74
+ },
75
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"custom-rows\">\n Full address\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"custom-rows\" name=\"custom\" rows=\"8\" aria-describedby=\"custom-rows-info\"></textarea>\n</div>\n\n <div id=\"custom-rows-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
76
+ "hidden": false
77
+ },
78
+ {
79
+ "name": "with label as page heading",
80
+ "options": {
81
+ "id": "textarea-with-page-heading",
82
+ "name": "address",
83
+ "maxlength": 10,
84
+ "label": {
85
+ "text": "Full address",
86
+ "isPageHeading": true
87
+ }
88
+ },
89
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label\" for=\"textarea-with-page-heading\">\n Full address\n </label>\n </h1>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"textarea-with-page-heading\" name=\"address\" rows=\"5\" aria-describedby=\"textarea-with-page-heading-info\"></textarea>\n</div>\n\n <div id=\"textarea-with-page-heading-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
90
+ "hidden": false
91
+ },
92
+ {
93
+ "name": "with word count",
94
+ "options": {
95
+ "id": "word-count",
96
+ "name": "word-count",
97
+ "maxwords": 10,
98
+ "label": {
99
+ "text": "Full address"
100
+ }
101
+ },
102
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxwords=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"word-count\">\n Full address\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"word-count\" name=\"word-count\" rows=\"5\" aria-describedby=\"word-count-info\"></textarea>\n</div>\n\n <div id=\"word-count-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 words\n</div>\n\n</div>",
103
+ "hidden": false
104
+ },
105
+ {
106
+ "name": "with threshold",
107
+ "options": {
108
+ "id": "with-threshold",
109
+ "name": "with-threshold",
110
+ "maxlength": 10,
111
+ "threshold": 75,
112
+ "label": {
113
+ "text": "Full address"
114
+ }
115
+ },
116
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\" data-threshold=\"75\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-threshold\">\n Full address\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-threshold\" name=\"with-threshold\" rows=\"5\" aria-describedby=\"with-threshold-info\"></textarea>\n</div>\n\n <div id=\"with-threshold-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
117
+ "hidden": false
118
+ },
119
+ {
120
+ "name": "classes",
121
+ "options": {
122
+ "id": "with-classes",
123
+ "name": "with-classes",
124
+ "maxlength": 10,
125
+ "label": {
126
+ "text": "With classes"
127
+ },
128
+ "classes": "app-character-count--custom-modifier"
129
+ },
130
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-classes\">\n With classes\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count app-character-count--custom-modifier\" id=\"with-classes\" name=\"with-classes\" rows=\"5\" aria-describedby=\"with-classes-info\"></textarea>\n</div>\n\n <div id=\"with-classes-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
131
+ "hidden": true
132
+ },
133
+ {
134
+ "name": "attributes",
135
+ "options": {
136
+ "id": "with-attributes",
137
+ "name": "with-attributes",
138
+ "maxlength": 10,
139
+ "label": {
140
+ "text": "With attributes"
141
+ },
142
+ "attributes": {
143
+ "data-attribute": "my data value"
144
+ }
145
+ },
146
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-attributes\">\n With attributes\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-attributes\" name=\"with-attributes\" rows=\"5\" aria-describedby=\"with-attributes-info\" data-attribute=\"my data value\"></textarea>\n</div>\n\n <div id=\"with-attributes-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
147
+ "hidden": true
148
+ },
149
+ {
150
+ "name": "formGroup with classes",
151
+ "options": {
152
+ "id": "with-formgroup",
153
+ "name": "with-formgroup",
154
+ "maxlength": 10,
155
+ "label": {
156
+ "text": "With formgroup"
157
+ },
158
+ "formGroup": {
159
+ "classes": "app-character-count--custom-modifier"
160
+ }
161
+ },
162
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group app-character-count--custom-modifier\">\n <label class=\"govuk-label\" for=\"with-formgroup\">\n With formgroup\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-formgroup\" name=\"with-formgroup\" rows=\"5\" aria-describedby=\"with-formgroup-info\"></textarea>\n</div>\n\n <div id=\"with-formgroup-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
163
+ "hidden": true
164
+ },
165
+ {
166
+ "name": "custom classes on countMessage",
167
+ "options": {
168
+ "id": "with-custom-countmessage-class",
169
+ "name": "with-custom-countmessage-class",
170
+ "maxlength": 10,
171
+ "label": {
172
+ "text": "With custom countMessage class"
173
+ },
174
+ "countMessage": {
175
+ "classes": "app-custom-count-message"
176
+ }
177
+ },
178
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-custom-countmessage-class\">\n With custom countMessage class\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-custom-countmessage-class\" name=\"with-custom-countmessage-class\" rows=\"5\" aria-describedby=\"with-custom-countmessage-class-info\"></textarea>\n</div>\n\n <div id=\"with-custom-countmessage-class-info\" class=\"govuk-hint govuk-character-count__message app-custom-count-message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
179
+ "hidden": true
180
+ },
181
+ {
182
+ "name": "spellcheck enabled",
183
+ "options": {
184
+ "id": "with-spellcheck",
185
+ "name": "with-spellcheck",
186
+ "maxlength": 10,
187
+ "label": {
188
+ "text": "With spellcheck"
189
+ },
190
+ "spellcheck": true
191
+ },
192
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"with-spellcheck\">\n With spellcheck\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"with-spellcheck\" name=\"with-spellcheck\" rows=\"5\" spellcheck=\"true\" aria-describedby=\"with-spellcheck-info\"></textarea>\n</div>\n\n <div id=\"with-spellcheck-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
193
+ "hidden": true
194
+ },
195
+ {
196
+ "name": "spellcheck disabled",
197
+ "options": {
198
+ "id": "without-spellcheck",
199
+ "name": "without-spellcheck",
200
+ "maxlength": 10,
201
+ "label": {
202
+ "text": "Without spellcheck"
203
+ },
204
+ "spellcheck": false
205
+ },
206
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"without-spellcheck\">\n Without spellcheck\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"without-spellcheck\" name=\"without-spellcheck\" rows=\"5\" spellcheck=\"false\" aria-describedby=\"without-spellcheck-info\"></textarea>\n</div>\n\n <div id=\"without-spellcheck-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
207
+ "hidden": true
208
+ },
209
+ {
210
+ "name": "custom classes with error message",
211
+ "options": {
212
+ "id": "with-custom-error-class",
213
+ "name": "with-custom-error-class",
214
+ "maxlength": 10,
215
+ "label": {
216
+ "text": "With custom error class"
217
+ },
218
+ "classes": "app-character-count--custom-modifier",
219
+ "errorMessage": {
220
+ "text": "Error message"
221
+ }
222
+ },
223
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group govuk-form-group--error\">\n <label class=\"govuk-label\" for=\"with-custom-error-class\">\n With custom error class\n </label>\n\n\n \n \n <span id=\"with-custom-error-class-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </span>\n\n <textarea class=\"govuk-textarea govuk-textarea--error govuk-js-character-count govuk-textarea--error app-character-count--custom-modifier\" id=\"with-custom-error-class\" name=\"with-custom-error-class\" rows=\"5\" aria-describedby=\"with-custom-error-class-info with-custom-error-class-error\"></textarea>\n</div>\n\n <div id=\"with-custom-error-class-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
224
+ "hidden": true
225
+ },
226
+ {
227
+ "name": "with id starting with number",
228
+ "options": {
229
+ "name": "more-detail",
230
+ "id": "1_more-detail",
231
+ "maxlength": 10,
232
+ "label": {
233
+ "text": "Can you provide more detail?"
234
+ }
235
+ },
236
+ "html": "<div class=\"govuk-character-count\" data-module=\"govuk-character-count\" data-maxlength=\"10\">\n \n\n<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"1_more-detail\">\n Can you provide more detail?\n </label>\n\n\n <textarea class=\"govuk-textarea govuk-js-character-count\" id=\"1_more-detail\" name=\"more-detail\" rows=\"5\" aria-describedby=\"1_more-detail-info\"></textarea>\n</div>\n\n <div id=\"1_more-detail-info\" class=\"govuk-hint govuk-character-count__message\" aria-live=\"polite\">\n You can enter up to 10 characters\n</div>\n\n</div>",
237
+ "hidden": true
238
+ }
239
+ ]
240
+ }
@@ -0,0 +1,111 @@
1
+ [
2
+ {
3
+ "name": "id",
4
+ "type": "string",
5
+ "required": true,
6
+ "description": "The id of the textarea."
7
+ },
8
+ {
9
+ "name": "name",
10
+ "type": "string",
11
+ "required": true,
12
+ "description": "The name of the textarea, which is submitted with the form data."
13
+ },
14
+ {
15
+ "name": "rows",
16
+ "type": "string",
17
+ "required": false,
18
+ "description": "Optional number of textarea rows (default is 5 rows)."
19
+ },
20
+ {
21
+ "name": "value",
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Optional initial value of the textarea."
25
+ },
26
+ {
27
+ "name": "maxlength",
28
+ "type": "string",
29
+ "required": true,
30
+ "description": "If `maxwords` is set, this is not required. The maximum number of characters. If `maxwords` is provided, the `maxlength` argument will be ignored."
31
+ },
32
+ {
33
+ "name": "maxwords",
34
+ "type": "string",
35
+ "required": true,
36
+ "description": "If `maxlength` is set, this is not required. The maximum number of words. If `maxwords` is provided, the `maxlength` argument will be ignored."
37
+ },
38
+ {
39
+ "name": "threshold",
40
+ "type": "string",
41
+ "required": false,
42
+ "description": "The percentage value of the limit at which point the count message is displayed. If this attribute is set, the count message will be hidden by default."
43
+ },
44
+ {
45
+ "name": "label",
46
+ "type": "object",
47
+ "required": true,
48
+ "description": "Options for the label component.",
49
+ "isComponent": true
50
+ },
51
+ {
52
+ "name": "hint",
53
+ "type": "object",
54
+ "required": false,
55
+ "description": "Options for the hint component.",
56
+ "isComponent": true
57
+ },
58
+ {
59
+ "name": "errorMessage",
60
+ "type": "object",
61
+ "required": false,
62
+ "description": "Options for the error message component. The error message component will not display if you use a falsy value for `errorMessage`, for example `false` or `null`.",
63
+ "isComponent": true
64
+ },
65
+ {
66
+ "name": "formGroup",
67
+ "type": "object",
68
+ "required": false,
69
+ "description": "Options for the form-group wrapper",
70
+ "params": [
71
+ {
72
+ "name": "classes",
73
+ "type": "string",
74
+ "required": false,
75
+ "description": "Classes to add to the form group (for example to show error state for the whole group)"
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "name": "classes",
81
+ "type": "string",
82
+ "required": false,
83
+ "description": "Classes to add to the textarea."
84
+ },
85
+ {
86
+ "name": "attributes",
87
+ "type": "object",
88
+ "required": false,
89
+ "description": "HTML attributes (for example data attributes) to add to the textarea."
90
+ },
91
+ {
92
+ "name": "spellcheck",
93
+ "type": "boolean",
94
+ "required": false,
95
+ "description": "Optional field to enable or disable the spellcheck attribute on the character count."
96
+ },
97
+ {
98
+ "name": "countMessage",
99
+ "type": "object",
100
+ "required": false,
101
+ "description": "Options for the count message",
102
+ "params": [
103
+ {
104
+ "name": "classes",
105
+ "type": "string",
106
+ "required": false,
107
+ "description": "Classes to add to the count message"
108
+ }
109
+ ]
110
+ }
111
+ ]
@@ -0,0 +1,3 @@
1
+ {% macro govukCharacterCount(params) %}
2
+ {%- include "./template.njk" -%}
3
+ {% endmacro %}
@@ -0,0 +1,37 @@
1
+ {% from "../textarea/macro.njk" import govukTextarea %}
2
+ {% from "../hint/macro.njk" import govukHint %}
3
+
4
+ <div class="govuk-character-count" data-module="govuk-character-count"
5
+ {%- if params.maxlength %} data-maxlength="{{ params.maxlength }}"{% endif %}
6
+ {%- if params.threshold %} data-threshold="{{ params.threshold }}"{% endif %}
7
+ {%- if params.maxwords %} data-maxwords="{{ params.maxwords }}"{% endif %}>
8
+ {{ govukTextarea({
9
+ id: params.id,
10
+ name: params.name,
11
+ describedBy: params.id + '-info',
12
+ rows: params.rows,
13
+ spellcheck: params.spellcheck,
14
+ value: params.value,
15
+ formGroup: params.formGroup,
16
+ classes: 'govuk-js-character-count' + (' govuk-textarea--error' if params.errorMessage) + (' ' + params.classes if params.classes),
17
+ label: {
18
+ html: params.label.html,
19
+ text: params.label.text,
20
+ classes: params.label.classes,
21
+ isPageHeading: params.label.isPageHeading,
22
+ attributes: params.label.attributes,
23
+ for: params.id
24
+ },
25
+ hint: params.hint,
26
+ errorMessage: params.errorMessage,
27
+ attributes: params.attributes
28
+ }) }}
29
+ {{ govukHint({
30
+ text: 'You can enter up to ' + (params.maxlength or params.maxwords) + (' words' if params.maxwords else ' characters'),
31
+ id: params.id + '-info',
32
+ classes: 'govuk-character-count__message' + (' ' + params.countMessage.classes if params.countMessage.classes),
33
+ attributes: {
34
+ 'aria-live': 'polite'
35
+ }
36
+ }) }}
37
+ </div>
@@ -0,0 +1,15 @@
1
+ # Checkboxes
2
+
3
+ ## Installation
4
+
5
+ See the [main README quick start guide](https://github.com/alphagov/govuk-frontend#quick-start) for how to install this component.
6
+
7
+ ## Guidance and Examples
8
+
9
+ Find out when to use the checkboxes component in your service in the [GOV.UK Design System](https://design-system.service.gov.uk/components/checkboxes).
10
+
11
+ ## Component options
12
+
13
+ Use options to customise the appearance, content and behaviour of a component when using a macro, for example, changing the text.
14
+
15
+ See [options table](https://design-system.service.gov.uk/components/checkboxes/#options-checkboxes-example) for details.
@@ -0,0 +1,2 @@
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,320 @@
1
+ @import "../error-message/index";
2
+ @import "../fieldset/index";
3
+ @import "../hint/index";
4
+ @import "../label/index";
5
+
6
+ @include govuk-exports("govuk/component/checkboxes") {
7
+
8
+ $govuk-touch-target-size: 44px;
9
+ $govuk-checkboxes-size: 40px;
10
+ $govuk-small-checkboxes-size: 24px;
11
+ $govuk-checkboxes-label-padding-left-right: govuk-spacing(3);
12
+
13
+ .govuk-checkboxes__item {
14
+ @include govuk-font($size: 19);
15
+
16
+ display: block;
17
+ position: relative;
18
+
19
+ min-height: $govuk-checkboxes-size;
20
+
21
+ margin-bottom: govuk-spacing(2);
22
+ padding-left: $govuk-checkboxes-size;
23
+
24
+ clear: left;
25
+ }
26
+
27
+ .govuk-checkboxes__item:last-child,
28
+ .govuk-checkboxes__item:last-of-type {
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ .govuk-checkboxes__input {
33
+ $input-offset: ($govuk-touch-target-size - $govuk-checkboxes-size) / 2;
34
+
35
+ cursor: pointer;
36
+
37
+ // IE8 doesn’t support pseudo-elements, so we don’t want to hide native
38
+ // elements there.
39
+ @include govuk-not-ie8 {
40
+ position: absolute;
41
+
42
+ z-index: 1;
43
+ top: $input-offset * -1;
44
+ left: $input-offset * -1;
45
+
46
+ width: $govuk-touch-target-size;
47
+ height: $govuk-touch-target-size;
48
+ margin: 0;
49
+
50
+ opacity: 0;
51
+ }
52
+
53
+ @include govuk-if-ie8 {
54
+ margin-top: 10px;
55
+ margin-right: $govuk-checkboxes-size / -2;
56
+ margin-left: $govuk-checkboxes-size / -2;
57
+ float: left;
58
+
59
+ // add focus outline to input
60
+ &:focus {
61
+ outline: $govuk-focus-width solid $govuk-focus-colour;
62
+ }
63
+ }
64
+ }
65
+
66
+ .govuk-checkboxes__label {
67
+ display: inline-block;
68
+ margin-bottom: 0;
69
+ padding: 8px $govuk-checkboxes-label-padding-left-right govuk-spacing(1);
70
+ cursor: pointer;
71
+ // remove 300ms pause on mobile
72
+ -ms-touch-action: manipulation;
73
+ touch-action: manipulation;
74
+ }
75
+
76
+ @include govuk-not-ie8 {
77
+ // [ ] Check box
78
+ .govuk-checkboxes__label:before {
79
+ content: "";
80
+ box-sizing: border-box;
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: $govuk-checkboxes-size;
85
+ height: $govuk-checkboxes-size;
86
+ border: $govuk-border-width-form-element solid currentColor;
87
+ background: transparent;
88
+ }
89
+
90
+ // ✔ Check mark
91
+ //
92
+ // The check mark is a box with a border on the left and bottom side (└──),
93
+ // rotated 45 degrees
94
+ .govuk-checkboxes__label:after {
95
+ content: "";
96
+ box-sizing: border-box;
97
+
98
+ position: absolute;
99
+ top: 11px;
100
+ left: 9px;
101
+ width: 23px;
102
+ height: 12px;
103
+
104
+ -webkit-transform: rotate(-45deg);
105
+
106
+ -ms-transform: rotate(-45deg);
107
+
108
+ transform: rotate(-45deg);
109
+ border: solid;
110
+ border-width: 0 0 5px 5px;
111
+ // Fix bug in IE11 caused by transform rotate (-45deg).
112
+ // See: alphagov/govuk_elements/issues/518
113
+ border-top-color: transparent;
114
+
115
+ opacity: 0;
116
+
117
+ background: transparent;
118
+ }
119
+ }
120
+
121
+ .govuk-checkboxes__hint {
122
+ display: block;
123
+ padding-right: $govuk-checkboxes-label-padding-left-right;
124
+ padding-left: $govuk-checkboxes-label-padding-left-right;
125
+ }
126
+
127
+ // Focused state
128
+ .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
129
+ border-width: 4px;
130
+ box-shadow: 0 0 0 $govuk-focus-width $govuk-focus-colour;
131
+ }
132
+
133
+ // Selected state
134
+ .govuk-checkboxes__input:checked + .govuk-checkboxes__label:after {
135
+ opacity: 1;
136
+ }
137
+
138
+ // Disabled state
139
+ .govuk-checkboxes__input:disabled,
140
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
141
+ cursor: default;
142
+ }
143
+
144
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
145
+ opacity: .5;
146
+ }
147
+
148
+ // =========================================================
149
+ // Dividers ('or')
150
+ // =========================================================
151
+
152
+ .govuk-checkboxes__divider {
153
+ $govuk-divider-size: $govuk-checkboxes-size !default;
154
+ @include govuk-font($size: 19);
155
+ @include govuk-text-colour;
156
+ width: $govuk-divider-size;
157
+ margin-bottom: govuk-spacing(2);
158
+ text-align: center;
159
+ }
160
+
161
+ // =========================================================
162
+ // Conditional reveals
163
+ // =========================================================
164
+
165
+ // The narrow border is used in the conditional reveals because the border has
166
+ // to be an even number in order to be centred under the 40px checkbox or radio.
167
+ $conditional-border-width: $govuk-border-width-narrow;
168
+ // Calculate the amount of padding needed to keep the border centered against the checkbox.
169
+ $conditional-border-padding: ($govuk-checkboxes-size / 2) - ($conditional-border-width / 2);
170
+ // Move the border centered with the checkbox
171
+ $conditional-margin-left: $conditional-border-padding;
172
+ // Move the contents of the conditional inline with the label
173
+ $conditional-padding-left: $conditional-border-padding + $govuk-checkboxes-label-padding-left-right;
174
+
175
+ .govuk-checkboxes__conditional {
176
+ @include govuk-responsive-margin(4, "bottom");
177
+ margin-left: $conditional-margin-left;
178
+ padding-left: $conditional-padding-left;
179
+ border-left: $conditional-border-width solid $govuk-border-colour;
180
+
181
+ .js-enabled &--hidden {
182
+ display: none;
183
+ }
184
+
185
+ & > :last-child {
186
+ margin-bottom: 0;
187
+ }
188
+ }
189
+
190
+ // =========================================================
191
+ // Small checkboxes
192
+ // =========================================================
193
+
194
+ .govuk-checkboxes--small {
195
+
196
+ $input-offset: ($govuk-touch-target-size - $govuk-small-checkboxes-size) / 2;
197
+ $label-offset: $govuk-touch-target-size - $input-offset;
198
+
199
+ .govuk-checkboxes__item {
200
+ @include govuk-clearfix;
201
+ min-height: 0;
202
+ margin-bottom: 0;
203
+ padding-left: $label-offset;
204
+ float: left;
205
+ }
206
+
207
+ // Shift the touch target into the left margin so that the visible edge of
208
+ // the control is aligned
209
+ //
210
+ // ┆What colours do you like?
211
+ // ┌┆───┐
212
+ // │┆[] │ Purple
213
+ // └┆▲──┘
214
+ // ▲┆└─ Check box pseudo element, aligned with margin
215
+ // └─── Touch target (invisible input), shifted into the margin
216
+ .govuk-checkboxes__input {
217
+ @include govuk-not-ie8 {
218
+ left: $input-offset * -1;
219
+ }
220
+
221
+ @include govuk-if-ie8 {
222
+ margin-left: $govuk-small-checkboxes-size * -1;
223
+ }
224
+ }
225
+
226
+ // Adjust the size and position of the label.
227
+ //
228
+ // Unlike larger checkboxes, we also have to float the label in order to
229
+ // 'shrink' it, preventing the hover state from kicking in across the full
230
+ // width of the parent element.
231
+ .govuk-checkboxes__label {
232
+ margin-top: -2px;
233
+ padding: 13px govuk-spacing(3) 13px 1px;
234
+ float: left;
235
+
236
+ @include govuk-media-query($from: tablet) {
237
+ padding: 11px govuk-spacing(3) 10px 1px;
238
+ }
239
+ }
240
+
241
+ // [ ] Check box
242
+ //
243
+ // Reduce the size of the check box [1], vertically center it within the
244
+ // touch target [2]
245
+ .govuk-checkboxes__label:before {
246
+ top: $input-offset - $govuk-border-width-form-element; // 2
247
+ width: $govuk-small-checkboxes-size; // 1
248
+ height: $govuk-small-checkboxes-size; // 1
249
+ }
250
+
251
+ // ✔ Check mark
252
+ //
253
+ // Reduce the size of the check mark and re-align within the checkbox
254
+ .govuk-checkboxes__label:after {
255
+ top: 15px;
256
+ left: 6px;
257
+ width: 12px;
258
+ height: 6.5px;
259
+ border-width: 0 0 3px 3px;
260
+ }
261
+
262
+ // Fix position of hint with small checkboxes
263
+ //
264
+ // Do not use hints with small checkboxes – because they're within the input
265
+ // wrapper they trigger the hover state, but clicking them doesn't actually
266
+ // activate the control.
267
+ //
268
+ // (If you do use them, they won't look completely broken... but seriously,
269
+ // don't use them)
270
+ .govuk-checkboxes__hint {
271
+ padding: 0;
272
+ clear: both;
273
+ }
274
+
275
+ // Align conditional reveals with small checkboxes
276
+ .govuk-checkboxes__conditional {
277
+ $margin-left: ($govuk-small-checkboxes-size / 2) - ($conditional-border-width / 2);
278
+ margin-left: $margin-left;
279
+ padding-left: $label-offset - ($margin-left + $conditional-border-width);
280
+ clear: both;
281
+ }
282
+
283
+ // Hover state for small checkboxes.
284
+ //
285
+ // We use a hover state for small checkboxes because the touch target size
286
+ // is so much larger than their visible size, and so we need to provide
287
+ // feedback to the user as to which checkbox they will select when their
288
+ // cursor is outside of the visible area.
289
+ .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label:before {
290
+ box-shadow: 0 0 0 $govuk-hover-width $govuk-hover-colour;
291
+ }
292
+
293
+ // Because we've overridden the border-shadow provided by the focus state,
294
+ // we need to redefine that too.
295
+ //
296
+ // We use two box shadows, one that restores the original focus state [1]
297
+ // and another that then applies the hover state [2].
298
+ .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
299
+ box-shadow:
300
+ 0 0 0 $govuk-focus-width $govuk-focus-colour, // 1
301
+ 0 0 0 $govuk-hover-width $govuk-hover-colour; // 2
302
+ }
303
+
304
+ // For devices that explicitly don't support hover, don't provide a hover
305
+ // state (e.g. on touch devices like iOS).
306
+ //
307
+ // We can't use `@media (hover: hover)` because we wouldn't get the hover
308
+ // state in browsers that don't support `@media (hover)` (like Internet
309
+ // Explorer) – so we have to 'undo' the hover state instead.
310
+ @media (hover: none), (pointer: coarse) {
311
+ .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label:before {
312
+ box-shadow: initial;
313
+ }
314
+
315
+ .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
316
+ box-shadow: 0 0 0 $govuk-focus-width $govuk-focus-colour;
317
+ }
318
+ }
319
+ }
320
+ }