govuk_publishing_components 9.3.6 → 9.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -0
  3. data/app/assets/stylesheets/component_guide/application.scss +10 -0
  4. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  5. data/app/assets/stylesheets/govuk_publishing_components/admin_styles.scss +13 -0
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_highlight-boxes.scss +66 -0
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +1 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-for-admin.scss +1 -0
  9. data/app/models/govuk_publishing_components/component_doc.rb +12 -0
  10. data/app/views/govuk_publishing_components/component_guide/component_doc/_preview.html.erb +7 -5
  11. data/app/views/govuk_publishing_components/component_guide/show.html.erb +22 -0
  12. data/app/views/govuk_publishing_components/components/_highlight_boxes.html.erb +39 -0
  13. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +26 -0
  14. data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +10 -0
  15. data/app/views/govuk_publishing_components/components/docs/highlight_boxes.yml +142 -0
  16. data/app/views/govuk_publishing_components/components/docs/layout_footer.yml +12 -0
  17. data/app/views/govuk_publishing_components/components/docs/layout_for_admin.yml +28 -0
  18. data/app/views/govuk_publishing_components/components/docs/metadata.yml +1 -0
  19. data/app/views/layouts/govuk_publishing_components/application.html.erb +5 -0
  20. data/config/initializers/assets.rb +12 -0
  21. data/lib/govuk_publishing_components.rb +1 -0
  22. data/lib/govuk_publishing_components/presenters/highlight_boxes_helper.rb +13 -0
  23. data/lib/govuk_publishing_components/presenters/meta_tags.rb +1 -0
  24. data/lib/govuk_publishing_components/version.rb +1 -1
  25. data/node_modules/govuk-frontend/README.md +96 -0
  26. data/node_modules/govuk-frontend/all-ie8.scss +6 -0
  27. data/node_modules/govuk-frontend/all.js +1720 -0
  28. data/node_modules/govuk-frontend/all.scss +11 -0
  29. data/node_modules/govuk-frontend/assets/fonts/bold-a2452cb66f-v1.woff2 +0 -0
  30. data/node_modules/govuk-frontend/assets/fonts/bold-f38c792ac2-v1.woff +0 -0
  31. data/node_modules/govuk-frontend/assets/fonts/bold-fb2676462a-v1.eot +0 -0
  32. data/node_modules/govuk-frontend/assets/fonts/bold-tabular-357fdfbcc3-v1.eot +0 -0
  33. data/node_modules/govuk-frontend/assets/fonts/bold-tabular-784c21afb8-v1.woff +0 -0
  34. data/node_modules/govuk-frontend/assets/fonts/bold-tabular-b89238d840-v1.woff2 +0 -0
  35. data/node_modules/govuk-frontend/assets/fonts/light-2c037cf7e1-v1.eot +0 -0
  36. data/node_modules/govuk-frontend/assets/fonts/light-458f8ea81c-v1.woff +0 -0
  37. data/node_modules/govuk-frontend/assets/fonts/light-f38ad40456-v1.woff2 +0 -0
  38. data/node_modules/govuk-frontend/assets/fonts/light-tabular-498ea8ffe2-v1.eot +0 -0
  39. data/node_modules/govuk-frontend/assets/fonts/light-tabular-62cc6f0a28-v1.woff +0 -0
  40. data/node_modules/govuk-frontend/assets/fonts/light-tabular-851b10ccdd-v1.woff2 +0 -0
  41. data/node_modules/govuk-frontend/assets/images/favicon.ico +0 -0
  42. data/node_modules/govuk-frontend/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  43. data/node_modules/govuk-frontend/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  44. data/node_modules/govuk-frontend/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  45. data/node_modules/govuk-frontend/assets/images/govuk-apple-touch-icon.png +0 -0
  46. data/node_modules/govuk-frontend/assets/images/govuk-crest-2x.png +0 -0
  47. data/node_modules/govuk-frontend/assets/images/govuk-crest.png +0 -0
  48. data/node_modules/govuk-frontend/assets/images/govuk-logotype-crown.png +0 -0
  49. data/node_modules/govuk-frontend/assets/images/govuk-mask-icon.svg +7 -0
  50. data/node_modules/govuk-frontend/assets/images/govuk-opengraph-image.png +0 -0
  51. data/node_modules/govuk-frontend/assets/images/icon-arrow-left.png +0 -0
  52. data/node_modules/govuk-frontend/assets/images/icon-important.png +0 -0
  53. data/node_modules/govuk-frontend/assets/images/icon-pointer-2x.png +0 -0
  54. data/node_modules/govuk-frontend/assets/images/icon-pointer.png +0 -0
  55. data/node_modules/govuk-frontend/common.js +39 -0
  56. data/node_modules/govuk-frontend/components/_all.scss +26 -0
  57. data/node_modules/govuk-frontend/components/back-link/README.md +142 -0
  58. data/node_modules/govuk-frontend/components/back-link/_back-link.scss +54 -0
  59. data/node_modules/govuk-frontend/components/back-link/back-link.njk +3 -0
  60. data/node_modules/govuk-frontend/components/back-link/macro.njk +3 -0
  61. data/node_modules/govuk-frontend/components/back-link/template.njk +2 -0
  62. data/node_modules/govuk-frontend/components/breadcrumbs/README.md +335 -0
  63. data/node_modules/govuk-frontend/components/breadcrumbs/_breadcrumbs.scss +119 -0
  64. data/node_modules/govuk-frontend/components/breadcrumbs/breadcrumbs.njk +14 -0
  65. data/node_modules/govuk-frontend/components/breadcrumbs/macro.njk +3 -0
  66. data/node_modules/govuk-frontend/components/breadcrumbs/template.njk +13 -0
  67. data/node_modules/govuk-frontend/components/button/README.md +319 -0
  68. data/node_modules/govuk-frontend/components/button/_button.scss +185 -0
  69. data/node_modules/govuk-frontend/components/button/button.js +548 -0
  70. data/node_modules/govuk-frontend/components/button/button.njk +3 -0
  71. data/node_modules/govuk-frontend/components/button/macro.njk +3 -0
  72. data/node_modules/govuk-frontend/components/button/template.njk +35 -0
  73. data/node_modules/govuk-frontend/components/checkboxes/README.md +782 -0
  74. data/node_modules/govuk-frontend/components/checkboxes/_checkboxes.scss +151 -0
  75. data/node_modules/govuk-frontend/components/checkboxes/checkboxes.js +730 -0
  76. data/node_modules/govuk-frontend/components/checkboxes/checkboxes.njk +27 -0
  77. data/node_modules/govuk-frontend/components/checkboxes/macro.njk +3 -0
  78. data/node_modules/govuk-frontend/components/checkboxes/template.njk +86 -0
  79. data/node_modules/govuk-frontend/components/date-input/README.md +640 -0
  80. data/node_modules/govuk-frontend/components/date-input/_date-input.scss +35 -0
  81. data/node_modules/govuk-frontend/components/date-input/date-input.njk +23 -0
  82. data/node_modules/govuk-frontend/components/date-input/macro.njk +3 -0
  83. data/node_modules/govuk-frontend/components/date-input/template.njk +76 -0
  84. data/node_modules/govuk-frontend/components/details/README.md +237 -0
  85. data/node_modules/govuk-frontend/components/details/_details.scss +86 -0
  86. data/node_modules/govuk-frontend/components/details/details.js +836 -0
  87. data/node_modules/govuk-frontend/components/details/details.njk +7 -0
  88. data/node_modules/govuk-frontend/components/details/implementation.md +43 -0
  89. data/node_modules/govuk-frontend/components/details/macro.njk +3 -0
  90. data/node_modules/govuk-frontend/components/details/template.njk +10 -0
  91. data/node_modules/govuk-frontend/components/error-message/README.md +143 -0
  92. data/node_modules/govuk-frontend/components/error-message/_error-message.scss +15 -0
  93. data/node_modules/govuk-frontend/components/error-message/error-message.njk +7 -0
  94. data/node_modules/govuk-frontend/components/error-message/macro.njk +3 -0
  95. data/node_modules/govuk-frontend/components/error-message/template.njk +3 -0
  96. data/node_modules/govuk-frontend/components/error-summary/README.md +215 -0
  97. data/node_modules/govuk-frontend/components/error-summary/_error-summary.scss +68 -0
  98. data/node_modules/govuk-frontend/components/error-summary/error-summary.js +520 -0
  99. data/node_modules/govuk-frontend/components/error-summary/error-summary.njk +17 -0
  100. data/node_modules/govuk-frontend/components/error-summary/macro.njk +3 -0
  101. data/node_modules/govuk-frontend/components/error-summary/template.njk +25 -0
  102. data/node_modules/govuk-frontend/components/fieldset/README.md +213 -0
  103. data/node_modules/govuk-frontend/components/fieldset/_fieldset.scss +58 -0
  104. data/node_modules/govuk-frontend/components/fieldset/fieldset.njk +13 -0
  105. data/node_modules/govuk-frontend/components/fieldset/macro.njk +3 -0
  106. data/node_modules/govuk-frontend/components/fieldset/template.njk +17 -0
  107. data/node_modules/govuk-frontend/components/file-upload/README.md +332 -0
  108. data/node_modules/govuk-frontend/components/file-upload/_file-upload.scss +19 -0
  109. data/node_modules/govuk-frontend/components/file-upload/file-upload.njk +9 -0
  110. data/node_modules/govuk-frontend/components/file-upload/macro.njk +3 -0
  111. data/node_modules/govuk-frontend/components/file-upload/template.njk +42 -0
  112. data/node_modules/govuk-frontend/components/footer/README.md +284 -0
  113. data/node_modules/govuk-frontend/components/footer/_footer.scss +216 -0
  114. data/node_modules/govuk-frontend/components/footer/footer.njk +3 -0
  115. data/node_modules/govuk-frontend/components/footer/macro.njk +3 -0
  116. data/node_modules/govuk-frontend/components/footer/template.njk +80 -0
  117. data/node_modules/govuk-frontend/components/header/README.md +524 -0
  118. data/node_modules/govuk-frontend/components/header/_header.scss +285 -0
  119. data/node_modules/govuk-frontend/components/header/header.js +717 -0
  120. data/node_modules/govuk-frontend/components/header/header.njk +3 -0
  121. data/node_modules/govuk-frontend/components/header/macro.njk +3 -0
  122. data/node_modules/govuk-frontend/components/header/template.njk +82 -0
  123. data/node_modules/govuk-frontend/components/hint/README.md +157 -0
  124. data/node_modules/govuk-frontend/components/hint/_hint.scss +29 -0
  125. data/node_modules/govuk-frontend/components/hint/hint.njk +7 -0
  126. data/node_modules/govuk-frontend/components/hint/macro.njk +3 -0
  127. data/node_modules/govuk-frontend/components/hint/template.njk +4 -0
  128. data/node_modules/govuk-frontend/components/input/README.md +416 -0
  129. data/node_modules/govuk-frontend/components/input/_input.scss +62 -0
  130. data/node_modules/govuk-frontend/components/input/input.njk +9 -0
  131. data/node_modules/govuk-frontend/components/input/macro.njk +3 -0
  132. data/node_modules/govuk-frontend/components/input/template.njk +42 -0
  133. data/node_modules/govuk-frontend/components/inset-text/README.md +157 -0
  134. data/node_modules/govuk-frontend/components/inset-text/_inset-text.scss +28 -0
  135. data/node_modules/govuk-frontend/components/inset-text/inset-text.njk +7 -0
  136. data/node_modules/govuk-frontend/components/inset-text/macro.njk +3 -0
  137. data/node_modules/govuk-frontend/components/inset-text/template.njk +4 -0
  138. data/node_modules/govuk-frontend/components/label/README.md +193 -0
  139. data/node_modules/govuk-frontend/components/label/_label.scss +45 -0
  140. data/node_modules/govuk-frontend/components/label/label.njk +6 -0
  141. data/node_modules/govuk-frontend/components/label/macro.njk +3 -0
  142. data/node_modules/govuk-frontend/components/label/template.njk +15 -0
  143. data/node_modules/govuk-frontend/components/panel/README.md +151 -0
  144. data/node_modules/govuk-frontend/components/panel/_panel.scss +42 -0
  145. data/node_modules/govuk-frontend/components/panel/macro.njk +3 -0
  146. data/node_modules/govuk-frontend/components/panel/panel.njk +7 -0
  147. data/node_modules/govuk-frontend/components/panel/template.njk +12 -0
  148. data/node_modules/govuk-frontend/components/phase-banner/README.md +152 -0
  149. data/node_modules/govuk-frontend/components/phase-banner/_phase-banner.scss +31 -0
  150. data/node_modules/govuk-frontend/components/phase-banner/macro.njk +3 -0
  151. data/node_modules/govuk-frontend/components/phase-banner/phase-banner.njk +7 -0
  152. data/node_modules/govuk-frontend/components/phase-banner/template.njk +17 -0
  153. data/node_modules/govuk-frontend/components/radios/README.md +686 -0
  154. data/node_modules/govuk-frontend/components/radios/_radios.scss +157 -0
  155. data/node_modules/govuk-frontend/components/radios/macro.njk +3 -0
  156. data/node_modules/govuk-frontend/components/radios/radios.js +730 -0
  157. data/node_modules/govuk-frontend/components/radios/radios.njk +27 -0
  158. data/node_modules/govuk-frontend/components/radios/template.njk +85 -0
  159. data/node_modules/govuk-frontend/components/select/README.md +387 -0
  160. data/node_modules/govuk-frontend/components/select/_select.scss +35 -0
  161. data/node_modules/govuk-frontend/components/select/macro.njk +3 -0
  162. data/node_modules/govuk-frontend/components/select/select.njk +24 -0
  163. data/node_modules/govuk-frontend/components/select/template.njk +44 -0
  164. data/node_modules/govuk-frontend/components/skip-link/README.md +142 -0
  165. data/node_modules/govuk-frontend/components/skip-link/_skip-link.scss +15 -0
  166. data/node_modules/govuk-frontend/components/skip-link/macro.njk +3 -0
  167. data/node_modules/govuk-frontend/components/skip-link/skip-link.njk +3 -0
  168. data/node_modules/govuk-frontend/components/skip-link/template.njk +3 -0
  169. data/node_modules/govuk-frontend/components/table/README.md +585 -0
  170. data/node_modules/govuk-frontend/components/table/_table.scss +50 -0
  171. data/node_modules/govuk-frontend/components/table/macro.njk +3 -0
  172. data/node_modules/govuk-frontend/components/table/table.njk +45 -0
  173. data/node_modules/govuk-frontend/components/table/template.njk +39 -0
  174. data/node_modules/govuk-frontend/components/tabs/README.md +375 -0
  175. data/node_modules/govuk-frontend/components/tabs/_tabs.scss +120 -0
  176. data/node_modules/govuk-frontend/components/tabs/macro.njk +3 -0
  177. data/node_modules/govuk-frontend/components/tabs/tabs.js +1302 -0
  178. data/node_modules/govuk-frontend/components/tabs/tabs.njk +3 -0
  179. data/node_modules/govuk-frontend/components/tabs/template.njk +29 -0
  180. data/node_modules/govuk-frontend/components/tag/README.md +150 -0
  181. data/node_modules/govuk-frontend/components/tag/_tag.scss +23 -0
  182. data/node_modules/govuk-frontend/components/tag/macro.njk +3 -0
  183. data/node_modules/govuk-frontend/components/tag/tag.njk +7 -0
  184. data/node_modules/govuk-frontend/components/tag/template.njk +3 -0
  185. data/node_modules/govuk-frontend/components/textarea/README.md +350 -0
  186. data/node_modules/govuk-frontend/components/textarea/_textarea.scss +31 -0
  187. data/node_modules/govuk-frontend/components/textarea/macro.njk +3 -0
  188. data/node_modules/govuk-frontend/components/textarea/template.njk +41 -0
  189. data/node_modules/govuk-frontend/components/textarea/textarea.njk +11 -0
  190. data/node_modules/govuk-frontend/components/warning-text/README.md +148 -0
  191. data/node_modules/govuk-frontend/components/warning-text/_warning-text.scss +50 -0
  192. data/node_modules/govuk-frontend/components/warning-text/macro.njk +3 -0
  193. data/node_modules/govuk-frontend/components/warning-text/template.njk +9 -0
  194. data/node_modules/govuk-frontend/components/warning-text/warning-text.njk +9 -0
  195. data/node_modules/govuk-frontend/core/_all.scss +6 -0
  196. data/node_modules/govuk-frontend/core/_global-styles.scss +19 -0
  197. data/node_modules/govuk-frontend/core/_links.scss +40 -0
  198. data/node_modules/govuk-frontend/core/_lists.scss +63 -0
  199. data/node_modules/govuk-frontend/core/_section-break.scss +56 -0
  200. data/node_modules/govuk-frontend/core/_template.scss +16 -0
  201. data/node_modules/govuk-frontend/core/_typography.scss +186 -0
  202. data/node_modules/govuk-frontend/helpers/_all.scss +12 -0
  203. data/node_modules/govuk-frontend/helpers/_clearfix.scss +15 -0
  204. data/node_modules/govuk-frontend/helpers/_colour.scss +51 -0
  205. data/node_modules/govuk-frontend/helpers/_device-pixels.scss +38 -0
  206. data/node_modules/govuk-frontend/helpers/_focusable.scss +34 -0
  207. data/node_modules/govuk-frontend/helpers/_font-faces.scss +67 -0
  208. data/node_modules/govuk-frontend/helpers/_grid.scss +100 -0
  209. data/node_modules/govuk-frontend/helpers/_links.scss +149 -0
  210. data/node_modules/govuk-frontend/helpers/_media-queries.scss +95 -0
  211. data/node_modules/govuk-frontend/helpers/_shape-arrow.scss +80 -0
  212. data/node_modules/govuk-frontend/helpers/_spacing.scss +152 -0
  213. data/node_modules/govuk-frontend/helpers/_typography.scss +153 -0
  214. data/node_modules/govuk-frontend/helpers/_visually-hidden.scss +76 -0
  215. data/node_modules/govuk-frontend/objects/_all.scss +4 -0
  216. data/node_modules/govuk-frontend/objects/_form-group.scss +21 -0
  217. data/node_modules/govuk-frontend/objects/_grid.scss +10 -0
  218. data/node_modules/govuk-frontend/objects/_main-wrapper.scss +37 -0
  219. data/node_modules/govuk-frontend/objects/_width-container.scss +28 -0
  220. data/node_modules/govuk-frontend/overrides/_all.scss +4 -0
  221. data/node_modules/govuk-frontend/overrides/_display.scss +14 -0
  222. data/node_modules/govuk-frontend/overrides/_spacing.scss +58 -0
  223. data/node_modules/govuk-frontend/overrides/_typography.scss +21 -0
  224. data/node_modules/govuk-frontend/overrides/_width.scss +41 -0
  225. data/node_modules/govuk-frontend/package.json +89 -0
  226. data/node_modules/govuk-frontend/settings/_all.scss +21 -0
  227. data/node_modules/govuk-frontend/settings/_assets.scss +82 -0
  228. data/node_modules/govuk-frontend/settings/_colours-applied.scss +130 -0
  229. data/node_modules/govuk-frontend/settings/_colours-organisations.scss +136 -0
  230. data/node_modules/govuk-frontend/settings/_colours-palette.scss +37 -0
  231. data/node_modules/govuk-frontend/settings/_compatibility.scss +51 -0
  232. data/node_modules/govuk-frontend/settings/_global-styles.scss +13 -0
  233. data/node_modules/govuk-frontend/settings/_ie8.scss +18 -0
  234. data/node_modules/govuk-frontend/settings/_measurements.scss +85 -0
  235. data/node_modules/govuk-frontend/settings/_media-queries.scss +23 -0
  236. data/node_modules/govuk-frontend/settings/_spacing.scss +80 -0
  237. data/node_modules/govuk-frontend/settings/_typography-font-families.scss +22 -0
  238. data/node_modules/govuk-frontend/settings/_typography-font.scss +48 -0
  239. data/node_modules/govuk-frontend/settings/_typography-responsive.scss +138 -0
  240. data/node_modules/govuk-frontend/template.njk +56 -0
  241. data/node_modules/govuk-frontend/tools/_all.scss +7 -0
  242. data/node_modules/govuk-frontend/tools/_compatibility.scss +36 -0
  243. data/node_modules/govuk-frontend/tools/_exports.scss +33 -0
  244. data/node_modules/govuk-frontend/tools/_font-url.scss +28 -0
  245. data/node_modules/govuk-frontend/tools/_ie8.scss +51 -0
  246. data/node_modules/govuk-frontend/tools/_iff.scss +15 -0
  247. data/node_modules/govuk-frontend/tools/_image-url.scss +28 -0
  248. data/node_modules/govuk-frontend/tools/_px-to-em.scss +20 -0
  249. data/node_modules/govuk-frontend/utilities/_all.scss +2 -0
  250. data/node_modules/govuk-frontend/utilities/_clearfix.scss +5 -0
  251. data/node_modules/govuk-frontend/utilities/_visually-hidden.scss +9 -0
  252. data/node_modules/govuk-frontend/vendor/_sass-mq.scss +351 -0
  253. data/node_modules/govuk-frontend/vendor/polyfills/DOMTokenList.js +272 -0
  254. data/node_modules/govuk-frontend/vendor/polyfills/Document.js +34 -0
  255. data/node_modules/govuk-frontend/vendor/polyfills/Element.js +147 -0
  256. data/node_modules/govuk-frontend/vendor/polyfills/Element/prototype/classList.js +449 -0
  257. data/node_modules/govuk-frontend/vendor/polyfills/Event.js +504 -0
  258. data/node_modules/govuk-frontend/vendor/polyfills/Function/prototype/bind.js +252 -0
  259. data/node_modules/govuk-frontend/vendor/polyfills/Object/defineProperty.js +94 -0
  260. data/node_modules/govuk-frontend/vendor/polyfills/Window.js +28 -0
  261. metadata +249 -2
@@ -0,0 +1,50 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/table") {
6
+ .govuk-table {
7
+ @include govuk-font($size: 19);
8
+ @include govuk-text-colour;
9
+ width: 100%;
10
+ @include govuk-responsive-margin(6, "bottom");
11
+
12
+ border-spacing: 0;
13
+ border-collapse: collapse;
14
+ }
15
+
16
+ .govuk-table__header {
17
+ @include govuk-typography-weight-bold;
18
+
19
+ padding: govuk-em(govuk-spacing(2), 19px) govuk-em(govuk-spacing(4), 19px) govuk-em(govuk-spacing(2), 19px) 0;
20
+ border-bottom: 1px solid $govuk-border-colour;
21
+ text-align: left;
22
+ }
23
+
24
+ .govuk-table__cell {
25
+ padding: govuk-em(govuk-spacing(2), 19px) govuk-em(govuk-spacing(4), 19px) govuk-em(govuk-spacing(2), 19px) 0;
26
+ border-bottom: 1px solid $govuk-border-colour;
27
+ text-align: left;
28
+ }
29
+
30
+ .govuk-table__cell--numeric {
31
+ @include govuk-font($size: false, $tabular: true);
32
+ }
33
+
34
+ .govuk-table__header--numeric,
35
+ .govuk-table__cell--numeric {
36
+ text-align: right;
37
+ }
38
+
39
+ .govuk-table__header:last-child,
40
+ .govuk-table__cell:last-child {
41
+ padding-right: 0;
42
+ }
43
+
44
+ .govuk-table__caption {
45
+ @include govuk-typography-weight-bold;
46
+
47
+ display: table-caption;
48
+ text-align: left;
49
+ }
50
+ }
@@ -0,0 +1,3 @@
1
+ {% macro govukTable(params) %}
2
+ {%- include "./template.njk" -%}
3
+ {% endmacro %}
@@ -0,0 +1,45 @@
1
+ {% from 'table/macro.njk' import govukTable %}
2
+
3
+ {{ govukTable({
4
+ "rows": [
5
+ [
6
+ {
7
+ "text": "January"
8
+ },
9
+ {
10
+ "text": "£85",
11
+ "format": "numeric"
12
+ },
13
+ {
14
+ "text": "£95",
15
+ "format": "numeric"
16
+ }
17
+ ],
18
+ [
19
+ {
20
+ "text": "February"
21
+ },
22
+ {
23
+ "text": "£75",
24
+ "format": "numeric"
25
+ },
26
+ {
27
+ "text": "£55",
28
+ "format": "numeric"
29
+ }
30
+ ],
31
+ [
32
+ {
33
+ "text": "March"
34
+ },
35
+ {
36
+ "text": "£165",
37
+ "format": "numeric"
38
+ },
39
+ {
40
+ "text": "£125",
41
+ "format": "numeric"
42
+ }
43
+ ]
44
+ ]
45
+ }) }}
@@ -0,0 +1,39 @@
1
+ <table class="govuk-table
2
+ {%- if params.classes %} {{ params.classes }}{% endif %}"{% for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
3
+ {% if params.caption %}
4
+ <caption class="govuk-table__caption
5
+ {%- if params.captionClasses %} {{ params.captionClasses }}{% endif %}">{{ params.caption }}</caption>
6
+ {% endif %}
7
+ {% if params.head %}
8
+ <thead class="govuk-table__head">
9
+ <tr class="govuk-table__row">
10
+ {% for item in params.head %}
11
+ <th class="govuk-table__header
12
+ {%- if item.format %} govuk-table__header--{{ item.format }}{% endif %}"
13
+ {%- if item.colspan %} colspan="{{ item.colspan }}"{% endif %}
14
+ {%- if item.rowspan %} rowspan="{{ item.rowspan }}"{% endif %} scope="col">{{ item.html |safe if item.html else item.text }}</th>
15
+ {% endfor %}
16
+ </tr>
17
+ </thead>
18
+ {% endif %}
19
+ <tbody class="govuk-table__body">
20
+ {% for row in params.rows %}
21
+ <tr class="govuk-table__row">
22
+ {% for cell in row %}
23
+ {% if loop.first and params.firstCellIsHeader %}
24
+ <th class="govuk-table__header" scope="row">{{ cell.html | safe if cell.html else cell.text }}</th>
25
+ {% elseif loop.first %}
26
+ <td class="govuk-table__cell
27
+ {%- if cell.format %} govuk-table__cell--{{ cell.format }}{% endif %}"
28
+ {%- if cell.colspan %} colspan="{{ cell.colspan }}"{% endif %}
29
+ {%- if cell.rowspan %} rowspan="{{ cell.rowspan }}"{% endif %}>{{ cell.html | safe if cell.html else cell.text }}</td>
30
+ {% else %}
31
+ <td class="govuk-table__cell {% if cell.format %}govuk-table__cell--{{ cell.format }}{% endif %}"
32
+ {%- if cell.colspan %} colspan="{{ cell.colspan }}"{% endif %}
33
+ {%- if cell.rowspan %} rowspan="{{ cell.rowspan }}"{% endif %}>{{ cell.html | safe if cell.html else cell.text }}</td>
34
+ {% endif %}
35
+ {% endfor %}
36
+ </tr>
37
+ {% endfor %}
38
+ </tbody>
39
+ </table>
@@ -0,0 +1,375 @@
1
+ # Tabs
2
+
3
+ ## Introduction
4
+
5
+ Component for conditionally revealing content, using tabs and tabs panels.
6
+
7
+ ## Guidance
8
+
9
+ Find out when to use the Tabs component in your service in the [GOV.UK Design System](https://govuk-design-system-production.cloudapps.digital/components/tabs).
10
+
11
+ ## Quick start examples
12
+
13
+ ### Component default
14
+
15
+ [Preview the tabs component](http://govuk-frontend-review.herokuapp.com/components/tabs/preview)
16
+
17
+ #### Markup
18
+
19
+ <div class="govuk-tabs" data-module="tabs">
20
+ <h2 class="govuk-tabs__title">
21
+ Contents
22
+ </h2>
23
+
24
+ <ul class="govuk-tabs__list">
25
+
26
+ <li class="govuk-tabs__list-item">
27
+ <a class="govuk-tabs__tab" href="#past-day">
28
+ Past day
29
+ </a>
30
+ </li>
31
+
32
+ <li class="govuk-tabs__list-item">
33
+ <a class="govuk-tabs__tab" href="#past-week">
34
+ Past week
35
+ </a>
36
+ </li>
37
+
38
+ <li class="govuk-tabs__list-item">
39
+ <a class="govuk-tabs__tab" href="#past-month">
40
+ Past month
41
+ </a>
42
+ </li>
43
+
44
+ <li class="govuk-tabs__list-item">
45
+ <a class="govuk-tabs__tab" href="#past-year">
46
+ Past year
47
+ </a>
48
+ </li>
49
+
50
+ </ul>
51
+
52
+ <section class="govuk-tabs__panel" id="past-day">
53
+ <h2 class="govuk-heading-l">Past day</h2>
54
+ <table class="govuk-table">
55
+ <thead class="govuk-table__head">
56
+ <tr class="govuk-table__row">
57
+ <th class="govuk-table__header" scope="col">Case manager</th>
58
+ <th class="govuk-table__header" scope="col">Cases opened</th>
59
+ <th class="govuk-table__header" scope="col">Cases closed</th>
60
+ </tr>
61
+ </thead>
62
+ <tbody class="govuk-table__body">
63
+ <tr class="govuk-table__row">
64
+ <td class="govuk-table__cell">David Francis</td>
65
+ <td class="govuk-table__cell">3</td>
66
+ <td class="govuk-table__cell">0</td>
67
+ </tr>
68
+ <tr class="govuk-table__row">
69
+ <td class="govuk-table__cell">Paul Farmer</td>
70
+ <td class="govuk-table__cell">1</td>
71
+ <td class="govuk-table__cell">0</td>
72
+ </tr>
73
+ <tr class="govuk-table__row">
74
+ <td class="govuk-table__cell">Rita Patel</td>
75
+ <td class="govuk-table__cell">2</td>
76
+ <td class="govuk-table__cell">0</td>
77
+ </tr>
78
+ </tbody>
79
+ </table>
80
+
81
+ </section>
82
+
83
+ <section class="govuk-tabs__panel" id="past-week">
84
+ <h2 class="govuk-heading-l">Past week</h2>
85
+ <table class="govuk-table">
86
+ <thead class="govuk-table__head">
87
+ <tr class="govuk-table__row">
88
+ <th class="govuk-table__header" scope="col">Case manager</th>
89
+ <th class="govuk-table__header" scope="col">Cases opened</th>
90
+ <th class="govuk-table__header" scope="col">Cases closed</th>
91
+ </tr>
92
+ </thead>
93
+ <tbody class="govuk-table__body">
94
+ <tr class="govuk-table__row">
95
+ <td class="govuk-table__cell">David Francis</td>
96
+ <td class="govuk-table__cell">24</td>
97
+ <td class="govuk-table__cell">18</td>
98
+ </tr>
99
+ <tr class="govuk-table__row">
100
+ <td class="govuk-table__cell">Paul Farmer</td>
101
+ <td class="govuk-table__cell">16</td>
102
+ <td class="govuk-table__cell">20</td>
103
+ </tr>
104
+ <tr class="govuk-table__row">
105
+ <td class="govuk-table__cell">Rita Patel</td>
106
+ <td class="govuk-table__cell">24</td>
107
+ <td class="govuk-table__cell">27</td>
108
+ </tr>
109
+ </tbody>
110
+ </table>
111
+
112
+ </section>
113
+
114
+ <section class="govuk-tabs__panel" id="past-month">
115
+ <h2 class="govuk-heading-l">Past month</h2>
116
+ <table class="govuk-table">
117
+ <thead class="govuk-table__head">
118
+ <tr class="govuk-table__row">
119
+ <th class="govuk-table__header" scope="col">Case manager</th>
120
+ <th class="govuk-table__header" scope="col">Cases opened</th>
121
+ <th class="govuk-table__header" scope="col">Cases closed</th>
122
+ </tr>
123
+ </thead>
124
+ <tbody class="govuk-table__body">
125
+ <tr class="govuk-table__row">
126
+ <td class="govuk-table__cell">David Francis</td>
127
+ <td class="govuk-table__cell">98</td>
128
+ <td class="govuk-table__cell">95</td>
129
+ </tr>
130
+ <tr class="govuk-table__row">
131
+ <td class="govuk-table__cell">Paul Farmer</td>
132
+ <td class="govuk-table__cell">122</td>
133
+ <td class="govuk-table__cell">131</td>
134
+ </tr>
135
+ <tr class="govuk-table__row">
136
+ <td class="govuk-table__cell">Rita Patel</td>
137
+ <td class="govuk-table__cell">126</td>
138
+ <td class="govuk-table__cell">142</td>
139
+ </tr>
140
+ </tbody>
141
+ </table>
142
+
143
+ </section>
144
+
145
+ <section class="govuk-tabs__panel" id="past-year">
146
+ <h2 class="govuk-heading-l">Past year</h2>
147
+ <table class="govuk-table">
148
+ <thead class="govuk-table__head">
149
+ <tr class="govuk-table__row">
150
+ <th class="govuk-table__header" scope="col">Case manager</th>
151
+ <th class="govuk-table__header" scope="col">Cases opened</th>
152
+ <th class="govuk-table__header" scope="col">Cases closed</th>
153
+ </tr>
154
+ </thead>
155
+ <tbody class="govuk-table__body">
156
+ <tr class="govuk-table__row">
157
+ <td class="govuk-table__cell">David Francis</td>
158
+ <td class="govuk-table__cell">1380</td>
159
+ <td class="govuk-table__cell">1472</td>
160
+ </tr>
161
+ <tr class="govuk-table__row">
162
+ <td class="govuk-table__cell">Paul Farmer</td>
163
+ <td class="govuk-table__cell">1129</td>
164
+ <td class="govuk-table__cell">1083</td>
165
+ </tr>
166
+ <tr class="govuk-table__row">
167
+ <td class="govuk-table__cell">Rita Patel</td>
168
+ <td class="govuk-table__cell">1539</td>
169
+ <td class="govuk-table__cell">1265</td>
170
+ </tr>
171
+ </tbody>
172
+ </table>
173
+
174
+ </section>
175
+
176
+ </div>
177
+
178
+ #### Macro
179
+
180
+ {% from 'tabs/macro.njk' import govukTabs %}
181
+
182
+ {{ govukTabs({
183
+ "items": [
184
+ {
185
+ "label": "Past day",
186
+ "id": "past-day",
187
+ "panel": {
188
+ "html": "<h2 class=\"govuk-heading-l\">Past day</h2>\n<table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Case manager</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases opened</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases closed</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">David Francis</td>\n <td class=\"govuk-table__cell\">3</td>\n <td class=\"govuk-table__cell\">0</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Paul Farmer</td>\n <td class=\"govuk-table__cell\">1</td>\n <td class=\"govuk-table__cell\">0</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Rita Patel</td>\n <td class=\"govuk-table__cell\">2</td>\n <td class=\"govuk-table__cell\">0</td>\n </tr>\n </tbody>\n</table>\n"
189
+ }
190
+ },
191
+ {
192
+ "label": "Past week",
193
+ "id": "past-week",
194
+ "panel": {
195
+ "html": "<h2 class=\"govuk-heading-l\">Past week</h2>\n<table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Case manager</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases opened</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases closed</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">David Francis</td>\n <td class=\"govuk-table__cell\">24</td>\n <td class=\"govuk-table__cell\">18</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Paul Farmer</td>\n <td class=\"govuk-table__cell\">16</td>\n <td class=\"govuk-table__cell\">20</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Rita Patel</td>\n <td class=\"govuk-table__cell\">24</td>\n <td class=\"govuk-table__cell\">27</td>\n </tr>\n </tbody>\n</table>\n"
196
+ }
197
+ },
198
+ {
199
+ "label": "Past month",
200
+ "id": "past-month",
201
+ "panel": {
202
+ "html": "<h2 class=\"govuk-heading-l\">Past month</h2>\n<table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Case manager</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases opened</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases closed</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">David Francis</td>\n <td class=\"govuk-table__cell\">98</td>\n <td class=\"govuk-table__cell\">95</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Paul Farmer</td>\n <td class=\"govuk-table__cell\">122</td>\n <td class=\"govuk-table__cell\">131</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Rita Patel</td>\n <td class=\"govuk-table__cell\">126</td>\n <td class=\"govuk-table__cell\">142</td>\n </tr>\n </tbody>\n</table>\n"
203
+ }
204
+ },
205
+ {
206
+ "label": "Past year",
207
+ "id": "past-year",
208
+ "panel": {
209
+ "html": "<h2 class=\"govuk-heading-l\">Past year</h2>\n<table class=\"govuk-table\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"col\">Case manager</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases opened</th>\n <th class=\"govuk-table__header\" scope=\"col\">Cases closed</th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">David Francis</td>\n <td class=\"govuk-table__cell\">1380</td>\n <td class=\"govuk-table__cell\">1472</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Paul Farmer</td>\n <td class=\"govuk-table__cell\">1129</td>\n <td class=\"govuk-table__cell\">1083</td>\n </tr>\n <tr class=\"govuk-table__row\">\n <td class=\"govuk-table__cell\">Rita Patel</td>\n <td class=\"govuk-table__cell\">1539</td>\n <td class=\"govuk-table__cell\">1265</td>\n </tr>\n </tbody>\n</table>\n"
210
+ }
211
+ }
212
+ ]
213
+ }) }}
214
+
215
+ ## Requirements
216
+
217
+ ### Build tool configuration
218
+
219
+ When compiling the Sass files you'll need to define includePaths to reference the node_modules directory. Below is a sample configuration using gulp
220
+
221
+ .pipe(sass({
222
+ includePaths: 'node_modules/'
223
+ }))
224
+
225
+ ### Static asset path configuration
226
+
227
+ In order to include the images used in the components, you need to configure your app to show these assets. Below is a sample configuration using Express js:
228
+
229
+ app.use('/assets', express.static(path.join(__dirname, '/node_modules/govuk-frontend/assets')))
230
+
231
+ ## Component arguments
232
+
233
+ If you are using Nunjucks,then macros take the following arguments
234
+
235
+ **If you’re using Nunjucks macros in production be aware that using `html` arguments, or ones ending with `Html` can be a [security risk](https://en.wikipedia.org/wiki/Cross-site_scripting). More about it in the [Nunjucks documentation](https://mozilla.github.io/nunjucks/api.html#user-defined-templates-warning).**
236
+
237
+ <table class="govuk-table">
238
+
239
+ <thead class="govuk-table__head">
240
+
241
+ <tr class="govuk-table__row">
242
+
243
+ <th class="govuk-table__header" scope="col">Name</th>
244
+
245
+ <th class="govuk-table__header" scope="col">Type</th>
246
+
247
+ <th class="govuk-table__header" scope="col">Required</th>
248
+
249
+ <th class="govuk-table__header" scope="col">Description</th>
250
+
251
+ </tr>
252
+
253
+ </thead>
254
+
255
+ <tbody class="govuk-table__body">
256
+
257
+ <tr class="govuk-table__row">
258
+
259
+ <th class="govuk-table__header" scope="row">id</th>
260
+
261
+ <td class="govuk-table__cell ">string</td>
262
+
263
+ <td class="govuk-table__cell ">No</td>
264
+
265
+ <td class="govuk-table__cell ">Optional id</td>
266
+
267
+ </tr>
268
+
269
+ <tr class="govuk-table__row">
270
+
271
+ <th class="govuk-table__header" scope="row">classes</th>
272
+
273
+ <td class="govuk-table__cell ">string</td>
274
+
275
+ <td class="govuk-table__cell ">No</td>
276
+
277
+ <td class="govuk-table__cell ">Optional additional classes</td>
278
+
279
+ </tr>
280
+
281
+ <tr class="govuk-table__row">
282
+
283
+ <th class="govuk-table__header" scope="row">attributes</th>
284
+
285
+ <td class="govuk-table__cell ">object</td>
286
+
287
+ <td class="govuk-table__cell ">No</td>
288
+
289
+ <td class="govuk-table__cell ">Any extra HTML attributes (for example data attributes) to add to the details element</td>
290
+
291
+ </tr>
292
+
293
+ <tr class="govuk-table__row">
294
+
295
+ <th class="govuk-table__header" scope="row">idPrefix</th>
296
+
297
+ <td class="govuk-table__cell ">string</td>
298
+
299
+ <td class="govuk-table__cell ">No</td>
300
+
301
+ <td class="govuk-table__cell ">String to prefix id for each tab item if no id is specified on each item</td>
302
+
303
+ </tr>
304
+
305
+ <tr class="govuk-table__row">
306
+
307
+ <th class="govuk-table__header" scope="row">items</th>
308
+
309
+ <td class="govuk-table__cell ">array</td>
310
+
311
+ <td class="govuk-table__cell ">Yes</td>
312
+
313
+ <td class="govuk-table__cell ">Array of tab items</td>
314
+
315
+ </tr>
316
+
317
+ <tr class="govuk-table__row">
318
+
319
+ <th class="govuk-table__header" scope="row">items.{}.id</th>
320
+
321
+ <td class="govuk-table__cell ">string</td>
322
+
323
+ <td class="govuk-table__cell ">Yes</td>
324
+
325
+ <td class="govuk-table__cell ">Specific id attribute for the tab item. If ommited, then `idPrefix` string will be applied.</td>
326
+
327
+ </tr>
328
+
329
+ <tr class="govuk-table__row">
330
+
331
+ <th class="govuk-table__header" scope="row">items.{}.label</th>
332
+
333
+ <td class="govuk-table__cell ">string</td>
334
+
335
+ <td class="govuk-table__cell ">Yes</td>
336
+
337
+ <td class="govuk-table__cell ">The text label of a tab item</td>
338
+
339
+ </tr>
340
+
341
+ <tr class="govuk-table__row">
342
+
343
+ <th class="govuk-table__header" scope="row">items.{}.panel.text (or) items.{}.panel.html</th>
344
+
345
+ <td class="govuk-table__cell ">string</td>
346
+
347
+ <td class="govuk-table__cell ">No</td>
348
+
349
+ <td class="govuk-table__cell ">Text or HTML to use within each tab panel. If `html` is provided, the `text` argument will be ignored.</td>
350
+
351
+ </tr>
352
+
353
+ </tbody>
354
+
355
+ </table>
356
+
357
+ **If you’re using Nunjucks macros in production be aware that using `html` arguments, or ones ending with `Html` can be a [security risk](https://en.wikipedia.org/wiki/Cross-site_scripting). More about it in the [Nunjucks documentation](https://mozilla.github.io/nunjucks/api.html#user-defined-templates-warning).**
358
+
359
+ ### Setting up Nunjucks views and paths
360
+
361
+ Below is an example setup using express configure views:
362
+
363
+ nunjucks.configure('node_modules/govuk-frontend/components', {
364
+ autoescape: true,
365
+ cache: false,
366
+ express: app
367
+ })
368
+
369
+ ## Contribution
370
+
371
+ Guidelines can be found at [on our Github repository.](https://github.com/alphagov/govuk-frontend/blob/master/CONTRIBUTING.md "link to contributing guidelines on our github repository")
372
+
373
+ ## License
374
+
375
+ MIT