@moduk/frontend 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/assets/images/govuk-crest-2x.png +0 -0
  2. package/assets/images/govuk-crest.png +0 -0
  3. package/assets/svg/moduk-header-logo.svg +7 -0
  4. package/client/index.d.ts +2 -0
  5. package/client/index.d.ts.map +1 -0
  6. package/client/moduk-frontend.mjs +1 -0
  7. package/client/moduk-frontend.umd.js +2 -0
  8. package/client/moduk-frontend.umd.js.map +1 -0
  9. package/css/index.css +1 -0
  10. package/dist/nunjucks/moduk/components/table/__examples__/with-large-caption.njk +9 -9
  11. package/lib/index.d.ts +2 -0
  12. package/lib/index.d.ts.map +1 -0
  13. package/lib/index.js +18 -0
  14. package/lib/index.js.map +1 -0
  15. package/lib/utils.d.ts +25 -0
  16. package/lib/utils.d.ts.map +1 -0
  17. package/lib/utils.js +111 -0
  18. package/lib/utils.js.map +1 -0
  19. package/nunjucks/moduk/components/accordion/__examples__/default.njk +39 -0
  20. package/nunjucks/moduk/components/accordion/__examples__/with-custom-text.njk +45 -0
  21. package/nunjucks/moduk/components/accordion/__examples__/with-expanded-items.njk +41 -0
  22. package/nunjucks/moduk/components/accordion/__examples__/with-h3-headings.njk +40 -0
  23. package/nunjucks/moduk/components/accordion/__examples__/with-remember-expanded-off.njk +40 -0
  24. package/nunjucks/moduk/components/accordion/__examples__/with-summary-lines.njk +122 -0
  25. package/nunjucks/moduk/components/accordion/__examples__/with-text-items.njk +41 -0
  26. package/nunjucks/moduk/components/accordion/macro.njk +5 -0
  27. package/nunjucks/moduk/components/back-link/__examples__/default.njk +6 -0
  28. package/nunjucks/moduk/components/back-link/macro.njk +5 -0
  29. package/nunjucks/moduk/components/breadcrumbs/__examples__/default.njk +18 -0
  30. package/nunjucks/moduk/components/breadcrumbs/macro.njk +5 -0
  31. package/nunjucks/moduk/components/button/__examples__/default.njk +5 -0
  32. package/nunjucks/moduk/components/button/__examples__/disabled.njk +6 -0
  33. package/nunjucks/moduk/components/button/__examples__/group-link.njk +9 -0
  34. package/nunjucks/moduk/components/button/__examples__/grouping.njk +12 -0
  35. package/nunjucks/moduk/components/button/__examples__/prevent-double-click.njk +30 -0
  36. package/nunjucks/moduk/components/button/__examples__/secondary.njk +6 -0
  37. package/nunjucks/moduk/components/button/__examples__/start.njk +7 -0
  38. package/nunjucks/moduk/components/button/__examples__/warning.njk +6 -0
  39. package/nunjucks/moduk/components/button/macro.njk +5 -0
  40. package/nunjucks/moduk/components/character-count/__examples__/default.njk +15 -0
  41. package/nunjucks/moduk/components/character-count/__examples__/not-as-page-heading.njk +10 -0
  42. package/nunjucks/moduk/components/character-count/__examples__/with-error-message.njk +19 -0
  43. package/nunjucks/moduk/components/character-count/__examples__/with-threshold.njk +14 -0
  44. package/nunjucks/moduk/components/character-count/__examples__/word-count.njk +12 -0
  45. package/nunjucks/moduk/components/character-count/macro.njk +5 -0
  46. package/nunjucks/moduk/components/checkboxes/__examples__/default.njk +37 -0
  47. package/nunjucks/moduk/components/checkboxes/__examples__/not-as-page-heading.njk +35 -0
  48. package/nunjucks/moduk/components/checkboxes/__examples__/small.njk +31 -0
  49. package/nunjucks/moduk/components/checkboxes/__examples__/with-conditional-reveal.njk +80 -0
  50. package/nunjucks/moduk/components/checkboxes/__examples__/with-error-message.njk +40 -0
  51. package/nunjucks/moduk/components/checkboxes/__examples__/with-item-hint.njk +32 -0
  52. package/nunjucks/moduk/components/checkboxes/__examples__/with-none-option.njk +45 -0
  53. package/nunjucks/moduk/components/checkboxes/macro.njk +5 -0
  54. package/nunjucks/moduk/components/cookie-banner/__examples__/accepted.njk +47 -0
  55. package/nunjucks/moduk/components/cookie-banner/__examples__/default.njk +34 -0
  56. package/nunjucks/moduk/components/cookie-banner/__examples__/rejected.njk +47 -0
  57. package/nunjucks/moduk/components/cookie-banner/macro.njk +5 -0
  58. package/nunjucks/moduk/components/date-input/__examples__/default.njk +16 -0
  59. package/nunjucks/moduk/components/date-input/__examples__/not-as-page-heading.njk +14 -0
  60. package/nunjucks/moduk/components/date-input/__examples__/with-date-part-error.njk +35 -0
  61. package/nunjucks/moduk/components/date-input/__examples__/with-whole-date-error.njk +36 -0
  62. package/nunjucks/moduk/components/date-input/macro.njk +5 -0
  63. package/nunjucks/moduk/components/details/__examples__/default.njk +6 -0
  64. package/nunjucks/moduk/components/details/__examples__/open.njk +7 -0
  65. package/nunjucks/moduk/components/details/macro.njk +11 -0
  66. package/nunjucks/moduk/components/error-message/__examples__/default.njk +5 -0
  67. package/nunjucks/moduk/components/error-message/macro.njk +5 -0
  68. package/nunjucks/moduk/components/error-summary/__examples__/default.njk +15 -0
  69. package/nunjucks/moduk/components/error-summary/__examples__/with-description-and-error-list.njk +16 -0
  70. package/nunjucks/moduk/components/error-summary/__examples__/with-error-linked-to-checkbox.njk +54 -0
  71. package/nunjucks/moduk/components/error-summary/__examples__/with-error-linked-to-date-part.njk +45 -0
  72. package/nunjucks/moduk/components/error-summary/macro.njk +11 -0
  73. package/nunjucks/moduk/components/fieldset/__examples__/default.njk +45 -0
  74. package/nunjucks/moduk/components/fieldset/macro.njk +11 -0
  75. package/nunjucks/moduk/components/file-upload/__examples__/default.njk +9 -0
  76. package/nunjucks/moduk/components/file-upload/__examples__/with-error.njk +12 -0
  77. package/nunjucks/moduk/components/file-upload/macro.njk +5 -0
  78. package/nunjucks/moduk/components/footer/__examples__/default.njk +3 -0
  79. package/nunjucks/moduk/components/footer/__examples__/with-links.njk +20 -0
  80. package/nunjucks/moduk/components/footer/__examples__/with-secondary-navigation-and-links.njk +72 -0
  81. package/nunjucks/moduk/components/footer/__examples__/with-secondary-navigation.njk +55 -0
  82. package/nunjucks/moduk/components/footer/macro.njk +5 -0
  83. package/nunjucks/moduk/components/header/__examples__/default.njk +3 -0
  84. package/nunjucks/moduk/components/header/__examples__/with-service-name-and-navigation.njk +26 -0
  85. package/nunjucks/moduk/components/header/__examples__/with-service-name-and-no-service-url.njk +6 -0
  86. package/nunjucks/moduk/components/header/__examples__/with-service-name.njk +7 -0
  87. package/nunjucks/moduk/components/header/macro.njk +62 -0
  88. package/nunjucks/moduk/components/input/__examples__/default.njk +11 -0
  89. package/nunjucks/moduk/components/input/__examples__/not-as-page-heading.njk +9 -0
  90. package/nunjucks/moduk/components/input/__examples__/with-error.njk +17 -0
  91. package/nunjucks/moduk/components/input/__examples__/with-fixed-width.njk +57 -0
  92. package/nunjucks/moduk/components/input/__examples__/with-fluid-width.njk +57 -0
  93. package/nunjucks/moduk/components/input/__examples__/with-hint.njk +14 -0
  94. package/nunjucks/moduk/components/input/__examples__/with-numeric.njk +17 -0
  95. package/nunjucks/moduk/components/input/__examples__/with-prefix-and-suffix-error.njk +22 -0
  96. package/nunjucks/moduk/components/input/__examples__/with-prefix-and-suffix.njk +19 -0
  97. package/nunjucks/moduk/components/input/__examples__/with-prefix.njk +16 -0
  98. package/nunjucks/moduk/components/input/__examples__/with-suffix.njk +16 -0
  99. package/nunjucks/moduk/components/input/macro.njk +5 -0
  100. package/nunjucks/moduk/components/inset-text/__examples__/default.njk +5 -0
  101. package/nunjucks/moduk/components/inset-text/macro.njk +11 -0
  102. package/nunjucks/moduk/components/notification-banner/__examples__/default.njk +5 -0
  103. package/nunjucks/moduk/components/notification-banner/__examples__/success.njk +13 -0
  104. package/nunjucks/moduk/components/notification-banner/__examples__/with-html.njk +12 -0
  105. package/nunjucks/moduk/components/notification-banner/macro.njk +11 -0
  106. package/nunjucks/moduk/components/pagination/__examples__/default.njk +25 -0
  107. package/nunjucks/moduk/components/pagination/__examples__/on-the-first-page.njk +22 -0
  108. package/nunjucks/moduk/components/pagination/__examples__/on-the-last-page.njk +22 -0
  109. package/nunjucks/moduk/components/pagination/__examples__/with-ellipses.njk +39 -0
  110. package/nunjucks/moduk/components/pagination/__examples__/with-link-labels.njk +12 -0
  111. package/nunjucks/moduk/components/pagination/__examples__/with-next-and-previous-only.njk +12 -0
  112. package/nunjucks/moduk/components/pagination/macro.njk +5 -0
  113. package/nunjucks/moduk/components/panel/__examples__/default.njk +6 -0
  114. package/nunjucks/moduk/components/panel/macro.njk +11 -0
  115. package/nunjucks/moduk/components/phase-banner/__examples__/beta.njk +8 -0
  116. package/nunjucks/moduk/components/phase-banner/__examples__/default.njk +12 -0
  117. package/nunjucks/moduk/components/phase-banner/__examples__/with-tag-override.njk +9 -0
  118. package/nunjucks/moduk/components/phase-banner/__examples__/with-text.njk +8 -0
  119. package/nunjucks/moduk/components/phase-banner/macro.njk +5 -0
  120. package/nunjucks/moduk/components/radios/__examples__/default.njk +30 -0
  121. package/nunjucks/moduk/components/radios/__examples__/inline.njk +26 -0
  122. package/nunjucks/moduk/components/radios/__examples__/not-as-page-heading.njk +29 -0
  123. package/nunjucks/moduk/components/radios/__examples__/small.njk +31 -0
  124. package/nunjucks/moduk/components/radios/__examples__/with-conditional-reveal.njk +80 -0
  125. package/nunjucks/moduk/components/radios/__examples__/with-divider-option.njk +29 -0
  126. package/nunjucks/moduk/components/radios/__examples__/with-error-message.njk +33 -0
  127. package/nunjucks/moduk/components/radios/__examples__/with-item-hint.njk +31 -0
  128. package/nunjucks/moduk/components/radios/macro.njk +5 -0
  129. package/nunjucks/moduk/components/select/__examples__/default.njk +28 -0
  130. package/nunjucks/moduk/components/select/__examples__/with-hint.njk +55 -0
  131. package/nunjucks/moduk/components/select/macro.njk +5 -0
  132. package/nunjucks/moduk/components/skip-link/__examples__/default.njk +11 -0
  133. package/nunjucks/moduk/components/skip-link/macro.njk +5 -0
  134. package/nunjucks/moduk/components/summary-list/__examples__/cards-with-action.njk +83 -0
  135. package/nunjucks/moduk/components/summary-list/__examples__/cards.njk +221 -0
  136. package/nunjucks/moduk/components/summary-list/__examples__/default.njk +74 -0
  137. package/nunjucks/moduk/components/summary-list/__examples__/with-no-actions.njk +38 -0
  138. package/nunjucks/moduk/components/summary-list/__examples__/with-no-border.njk +39 -0
  139. package/nunjucks/moduk/components/summary-list/macro.njk +5 -0
  140. package/nunjucks/moduk/components/table/__examples__/default.njk +41 -0
  141. package/nunjucks/moduk/components/table/__examples__/with-comparative-numbers.njk +61 -0
  142. package/nunjucks/moduk/components/table/__examples__/with-customised-column-widths.njk +56 -0
  143. package/nunjucks/moduk/components/table/__examples__/with-large-caption.njk +41 -0
  144. package/nunjucks/moduk/components/table/macro.njk +5 -0
  145. package/nunjucks/moduk/components/tabs/__examples__/default.njk +243 -0
  146. package/nunjucks/moduk/components/tabs/macro.njk +5 -0
  147. package/nunjucks/moduk/components/tag/__examples__/blue.njk +6 -0
  148. package/nunjucks/moduk/components/tag/__examples__/default.njk +5 -0
  149. package/nunjucks/moduk/components/tag/__examples__/green.njk +6 -0
  150. package/nunjucks/moduk/components/tag/__examples__/grey.njk +6 -0
  151. package/nunjucks/moduk/components/tag/__examples__/orange.njk +6 -0
  152. package/nunjucks/moduk/components/tag/__examples__/pink.njk +6 -0
  153. package/nunjucks/moduk/components/tag/__examples__/purple.njk +6 -0
  154. package/nunjucks/moduk/components/tag/__examples__/red.njk +6 -0
  155. package/nunjucks/moduk/components/tag/__examples__/turquoise.njk +6 -0
  156. package/nunjucks/moduk/components/tag/__examples__/yellow.njk +6 -0
  157. package/nunjucks/moduk/components/tag/macro.njk +5 -0
  158. package/nunjucks/moduk/components/textarea/__examples__/default.njk +14 -0
  159. package/nunjucks/moduk/components/textarea/__examples__/not-as-page-heading.njk +9 -0
  160. package/nunjucks/moduk/components/textarea/__examples__/with-custom-height.njk +15 -0
  161. package/nunjucks/moduk/components/textarea/__examples__/with-error.njk +17 -0
  162. package/nunjucks/moduk/components/textarea/macro.njk +5 -0
  163. package/nunjucks/moduk/components/warning-text/__examples__/default.njk +6 -0
  164. package/nunjucks/moduk/components/warning-text/macro.njk +5 -0
  165. package/package.json +44 -35
  166. package/react/MODUKBody/MODUKBody.d.ts +6 -0
  167. package/react/MODUKBody/MODUKBody.d.ts.map +1 -0
  168. package/react/accordion/Accordion.d.ts +22 -0
  169. package/react/accordion/Accordion.d.ts.map +1 -0
  170. package/react/accordion/AccordionContext.d.ts +7 -0
  171. package/react/accordion/AccordionContext.d.ts.map +1 -0
  172. package/react/accordion/AccordionHeadingTag.d.ts +2 -0
  173. package/react/accordion/AccordionHeadingTag.d.ts.map +1 -0
  174. package/react/accordion/AccordionItem.d.ts +12 -0
  175. package/react/accordion/AccordionItem.d.ts.map +1 -0
  176. package/react/accordion/AccordionItemIndexContext.d.ts +2 -0
  177. package/react/accordion/AccordionItemIndexContext.d.ts.map +1 -0
  178. package/react/accordion/index.d.ts +4 -0
  179. package/react/accordion/index.d.ts.map +1 -0
  180. package/react/back-link/BackLink.d.ts +13 -0
  181. package/react/back-link/BackLink.d.ts.map +1 -0
  182. package/react/esm/MODUKBody/MODUKBody.js +37 -0
  183. package/react/esm/accordion/Accordion.js +81 -0
  184. package/react/esm/accordion/AccordionContext.js +5 -0
  185. package/react/esm/accordion/AccordionHeadingTag.js +1 -0
  186. package/react/esm/accordion/AccordionItem.js +45 -0
  187. package/react/esm/accordion/AccordionItemIndexContext.js +2 -0
  188. package/react/esm/accordion/index.js +5 -0
  189. package/react/esm/back-link/BackLink.js +25 -0
  190. package/react/esm/header/Header.js +124 -0
  191. package/react/esm/header/HeaderNavigationItem.js +29 -0
  192. package/react/esm/header/HeaderNavigationLink.js +25 -0
  193. package/react/esm/header/index.js +3 -0
  194. package/react/esm/index.js +7 -0
  195. package/react/esm/internal/Link/Link.js +23 -0
  196. package/react/esm/internal/hooks/useMODUKComponent/index.js +1 -0
  197. package/react/esm/internal/hooks/useMODUKComponent/useMODUKComponent.js +39 -0
  198. package/react/esm/internal/hooks/usePrevious/index.js +1 -0
  199. package/react/esm/internal/hooks/usePrevious/usePrevious.js +8 -0
  200. package/react/esm/internal/test-utils/Root.js +33 -0
  201. package/react/esm/table/Table.js +13 -0
  202. package/react/esm/table/TableBody.js +24 -0
  203. package/react/esm/table/TableCaption.js +24 -0
  204. package/react/esm/table/TableCell.js +25 -0
  205. package/react/esm/table/TableColumnHeader.js +26 -0
  206. package/react/esm/table/TableHead.js +24 -0
  207. package/react/esm/table/TableRow.js +24 -0
  208. package/react/esm/table/TableRowHeader.js +25 -0
  209. package/react/esm/table/index.js +8 -0
  210. package/react/header/Header.d.ts +20 -0
  211. package/react/header/Header.d.ts.map +1 -0
  212. package/react/header/HeaderNavigationItem.d.ts +11 -0
  213. package/react/header/HeaderNavigationItem.d.ts.map +1 -0
  214. package/react/header/HeaderNavigationLink.d.ts +11 -0
  215. package/react/header/HeaderNavigationLink.d.ts.map +1 -0
  216. package/react/header/index.d.ts +4 -0
  217. package/react/header/index.d.ts.map +1 -0
  218. package/react/index.d.ts +6 -0
  219. package/react/index.d.ts.map +1 -0
  220. package/react/index.js +3 -0
  221. package/react/index.js.LICENSE.txt +28 -0
  222. package/react/index.js.map +1 -0
  223. package/react/internal/Link/Link.d.ts +14 -0
  224. package/react/internal/Link/Link.d.ts.map +1 -0
  225. package/react/internal/hooks/useMODUKComponent/index.d.ts +2 -0
  226. package/react/internal/hooks/useMODUKComponent/index.d.ts.map +1 -0
  227. package/react/internal/hooks/useMODUKComponent/useMODUKComponent.d.ts +10 -0
  228. package/react/internal/hooks/useMODUKComponent/useMODUKComponent.d.ts.map +1 -0
  229. package/react/internal/hooks/usePrevious/index.d.ts +2 -0
  230. package/react/internal/hooks/usePrevious/index.d.ts.map +1 -0
  231. package/react/internal/hooks/usePrevious/usePrevious.d.ts +2 -0
  232. package/react/internal/hooks/usePrevious/usePrevious.d.ts.map +1 -0
  233. package/react/internal/test-utils/Root.d.ts +8 -0
  234. package/react/internal/test-utils/Root.d.ts.map +1 -0
  235. package/react/table/Table.d.ts +41 -0
  236. package/react/table/Table.d.ts.map +1 -0
  237. package/react/table/TableBody.d.ts +9 -0
  238. package/react/table/TableBody.d.ts.map +1 -0
  239. package/react/table/TableCaption.d.ts +9 -0
  240. package/react/table/TableCaption.d.ts.map +1 -0
  241. package/react/table/TableCell.d.ts +11 -0
  242. package/react/table/TableCell.d.ts.map +1 -0
  243. package/react/table/TableColumnHeader.d.ts +11 -0
  244. package/react/table/TableColumnHeader.d.ts.map +1 -0
  245. package/react/table/TableHead.d.ts +9 -0
  246. package/react/table/TableHead.d.ts.map +1 -0
  247. package/react/table/TableRow.d.ts +9 -0
  248. package/react/table/TableRow.d.ts.map +1 -0
  249. package/react/table/TableRowHeader.d.ts +9 -0
  250. package/react/table/TableRowHeader.d.ts.map +1 -0
  251. package/react/table/index.d.ts +9 -0
  252. package/react/table/index.d.ts.map +1 -0
  253. package/src/react/header/__examples__/with-service-name-and-navigation.tsx +13 -5
  254. package/src/react/table/__examples__/default.tsx +38 -0
  255. package/src/react/table/__examples__/with-comparative-numbers.tsx +42 -0
  256. package/src/react/table/__examples__/with-customised-column-widths.tsx +42 -0
  257. package/src/react/table/__examples__/with-large-caption.tsx +38 -0
  258. package/dist/nunjucks/moduk/components/accordion/__tests__/macro.test.ts +0 -9
  259. package/dist/nunjucks/moduk/components/back-link/__tests__/macro.test.ts +0 -9
  260. package/dist/nunjucks/moduk/components/breadcrumbs/__tests__/macro.test.ts +0 -31
  261. package/dist/nunjucks/moduk/components/button/__tests__/macro.test.ts +0 -25
  262. package/dist/nunjucks/moduk/components/character-count/__tests__/macro.test.ts +0 -9
  263. package/dist/nunjucks/moduk/components/checkboxes/__tests__/macro.test.ts +0 -9
  264. package/dist/nunjucks/moduk/components/cookie-banner/__tests__/macro.test.ts +0 -10
  265. package/dist/nunjucks/moduk/components/date-input/__tests__/macro.test.ts +0 -9
  266. package/dist/nunjucks/moduk/components/details/__tests__/macro.test.ts +0 -35
  267. package/dist/nunjucks/moduk/components/error-message/__tests__/macro.test.ts +0 -9
  268. package/dist/nunjucks/moduk/components/error-summary/__tests__/macro.test.ts +0 -55
  269. package/dist/nunjucks/moduk/components/fieldset/__tests__/macro.test.ts +0 -41
  270. package/dist/nunjucks/moduk/components/file-upload/__tests__/macro.test.ts +0 -9
  271. package/dist/nunjucks/moduk/components/footer/__tests__/macro.test.ts +0 -15
  272. package/dist/nunjucks/moduk/components/header/__tests__/macro.test.ts +0 -25
  273. package/dist/nunjucks/moduk/components/input/__tests__/macro.test.ts +0 -22
  274. package/dist/nunjucks/moduk/components/inset-text/__tests__/macro.test.ts +0 -35
  275. package/dist/nunjucks/moduk/components/notification-banner/__tests__/macro.test.ts +0 -32
  276. package/dist/nunjucks/moduk/components/pagination/__tests__/macro.test.ts +0 -9
  277. package/dist/nunjucks/moduk/components/panel/__tests__/macro.test.ts +0 -35
  278. package/dist/nunjucks/moduk/components/phase-banner/__tests__/macro.test.ts +0 -24
  279. package/dist/nunjucks/moduk/components/radios/__tests__/macro.test.ts +0 -9
  280. package/dist/nunjucks/moduk/components/select/__tests__/macro.test.ts +0 -9
  281. package/dist/nunjucks/moduk/components/skip-link/__tests__/macro.test.ts +0 -9
  282. package/dist/nunjucks/moduk/components/summary-list/__tests__/macro.test.ts +0 -9
  283. package/dist/nunjucks/moduk/components/table/__tests__/macro.test.ts +0 -9
  284. package/dist/nunjucks/moduk/components/tabs/__tests__/macro.test.ts +0 -9
  285. package/dist/nunjucks/moduk/components/tag/__tests__/macro.test.ts +0 -32
  286. package/dist/nunjucks/moduk/components/textarea/__tests__/macro.test.ts +0 -9
  287. package/dist/nunjucks/moduk/components/warning-text/__tests__/macro.test.ts +0 -9
  288. package/src/css/__tests__/_colour-palette.test.scss +0 -42
  289. package/src/css/__tests__/index.test.ts +0 -17
@@ -0,0 +1,13 @@
1
+ {% from "moduk/components/notification-banner/macro.njk" import modukNotificationBanner -%}
2
+
3
+ {% set html %}
4
+ <h3 class="govuk-notification-banner__heading">
5
+ Training outcome recorded and trainee withdrawn
6
+ </h3>
7
+ <p class="govuk-body">Contact <a class="govuk-notification-banner__link" href="#">example@department.gov.uk</a> if you think there’s a problem.</p>
8
+ {% endset -%}
9
+
10
+ {{ modukNotificationBanner({
11
+ html: html,
12
+ type: 'success'
13
+ }) -}}
@@ -0,0 +1,12 @@
1
+ {% from "moduk/components/notification-banner/macro.njk" import modukNotificationBanner -%}
2
+
3
+ {% set html %}
4
+ <p class="govuk-notification-banner__heading">
5
+ You have 7 days left to send your application.
6
+ <a class="govuk-notification-banner__link" href="#">View application</a>.
7
+ </p>
8
+ {% endset -%}
9
+
10
+ {{ modukNotificationBanner({
11
+ html: html
12
+ }) -}}
@@ -0,0 +1,11 @@
1
+ {% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner %}
2
+
3
+ {% macro modukNotificationBanner(params) -%}
4
+ {% if caller -%}
5
+ {% call govukNotificationBanner(params) -%}
6
+ {{- caller() -}}
7
+ {%- endcall %}
8
+ {%- else -%}
9
+ {{- govukNotificationBanner(params) -}}
10
+ {%- endif %}
11
+ {%- endmacro %}
@@ -0,0 +1,25 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ previous: {
5
+ href: "#"
6
+ },
7
+ next: {
8
+ href: "#"
9
+ },
10
+ items: [
11
+ {
12
+ number: 1,
13
+ href: "#"
14
+ },
15
+ {
16
+ number: 2,
17
+ current: true,
18
+ href: "#"
19
+ },
20
+ {
21
+ number: 3,
22
+ href: "#"
23
+ }
24
+ ]
25
+ }) -}}
@@ -0,0 +1,22 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ next: {
5
+ href: "#"
6
+ },
7
+ items: [
8
+ {
9
+ number: 1,
10
+ current: true,
11
+ href: "#"
12
+ },
13
+ {
14
+ number: 2,
15
+ href: "#"
16
+ },
17
+ {
18
+ number: 3,
19
+ href: "#"
20
+ }
21
+ ]
22
+ }) -}}
@@ -0,0 +1,22 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ previous: {
5
+ href: "#"
6
+ },
7
+ items: [
8
+ {
9
+ number: 1,
10
+ href: "#"
11
+ },
12
+ {
13
+ number: 2,
14
+ href: "#"
15
+ },
16
+ {
17
+ number: 3,
18
+ current: true,
19
+ href: "#"
20
+ }
21
+ ]
22
+ }) -}}
@@ -0,0 +1,39 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ previous: {
5
+ href: "#"
6
+ },
7
+ next: {
8
+ href: "#"
9
+ },
10
+ items: [
11
+ {
12
+ number: 1,
13
+ href: "#"
14
+ },
15
+ {
16
+ ellipsis: true
17
+ },
18
+ {
19
+ number: 6,
20
+ href: "#"
21
+ },
22
+ {
23
+ number: 7,
24
+ current: true,
25
+ href: "#"
26
+ },
27
+ {
28
+ number: 8,
29
+ href: "#"
30
+ },
31
+ {
32
+ ellipsis: true
33
+ },
34
+ {
35
+ number: 42,
36
+ href: "#"
37
+ }
38
+ ]
39
+ }) -}}
@@ -0,0 +1,12 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ previous: {
5
+ labelText: "Understanding military personnel",
6
+ href: "#"
7
+ },
8
+ next: {
9
+ labelText: "Find user research participants across Defence",
10
+ href: "#"
11
+ }
12
+ }) -}}
@@ -0,0 +1,12 @@
1
+ {% from "moduk/components/pagination/macro.njk" import modukPagination -%}
2
+
3
+ {{ modukPagination({
4
+ previous: {
5
+ labelText: "1 of 3",
6
+ href: "#"
7
+ },
8
+ next: {
9
+ labelText: "3 of 3",
10
+ href: "#"
11
+ }
12
+ }) -}}
@@ -0,0 +1,5 @@
1
+ {% from "govuk/components/pagination/macro.njk" import govukPagination %}
2
+
3
+ {% macro modukPagination(params) -%}
4
+ {{- govukPagination(params) -}}
5
+ {%- endmacro %}
@@ -0,0 +1,6 @@
1
+ {% from "moduk/components/panel/macro.njk" import modukPanel -%}
2
+
3
+ {{ modukPanel({
4
+ titleText: "Application complete",
5
+ html: "Your reference number<br><strong>HDJ2123F</strong>"
6
+ }) -}}
@@ -0,0 +1,11 @@
1
+ {% from "govuk/components/panel/macro.njk" import govukPanel %}
2
+
3
+ {% macro modukPanel(params) -%}
4
+ {% if caller -%}
5
+ {% call govukPanel(params) -%}
6
+ {{ caller() }}
7
+ {%- endcall %}
8
+ {%- else -%}
9
+ {{ govukPanel(params) }}
10
+ {%- endif %}
11
+ {%- endmacro %}
@@ -0,0 +1,8 @@
1
+ {% from "moduk/components/phase-banner/macro.njk" import modukPhaseBanner -%}
2
+
3
+ {{ modukPhaseBanner({
4
+ tag: {
5
+ text: "beta"
6
+ },
7
+ html: 'This is a new service – your <a class="govuk-link" href="#">feedback</a> will help us to improve it.'
8
+ }) -}}
@@ -0,0 +1,12 @@
1
+ {% from "moduk/components/phase-banner/macro.njk" import modukPhaseBanner -%}
2
+
3
+ {{ modukPhaseBanner({
4
+ tag: {
5
+ text: "alpha"
6
+ },
7
+ classes: "custom-class",
8
+ attributes: {
9
+ "data-testid": "phase-banner"
10
+ },
11
+ html: 'This is a new service – your <a class="govuk-link" href="#">feedback</a> will help us to improve it.'
12
+ }) -}}
@@ -0,0 +1,9 @@
1
+ {% from "moduk/components/phase-banner/macro.njk" import modukPhaseBanner -%}
2
+
3
+ {{ modukPhaseBanner({
4
+ tag: {
5
+ text: "beta",
6
+ classes: "govuk-tag--grey"
7
+ },
8
+ html: 'This is a new service – your <a class="govuk-link" href="#">feedback</a> will help us to improve it.'
9
+ }) -}}
@@ -0,0 +1,8 @@
1
+ {% from "moduk/components/phase-banner/macro.njk" import modukPhaseBanner -%}
2
+
3
+ {{ modukPhaseBanner({
4
+ tag: {
5
+ text: "beta"
6
+ },
7
+ text: 'This is a new service'
8
+ }) -}}
@@ -0,0 +1,5 @@
1
+ {% from "govuk/components/phase-banner/macro.njk" import govukPhaseBanner %}
2
+
3
+ {% macro modukPhaseBanner(params) -%}
4
+ {{- govukPhaseBanner(params | addCustomMODUKClass("moduk-tag--default", { not: r/^govuk-tag--/, path: "tag.classes" })) -}}
5
+ {%- endmacro %}
@@ -0,0 +1,30 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "organisation-default",
5
+ fieldset: {
6
+ legend: {
7
+ text: "Which organisation do you work for?",
8
+ isPageHeading: true,
9
+ classes: "govuk-fieldset__legend--l"
10
+ }
11
+ },
12
+ items: [
13
+ {
14
+ value: "royal-navy",
15
+ text: "Royal Navy"
16
+ },
17
+ {
18
+ value: "british-army",
19
+ text: "British Army"
20
+ },
21
+ {
22
+ value: "royal-air-force",
23
+ text: "Royal Air Force"
24
+ },
25
+ {
26
+ value: "strategic-command",
27
+ text: "Strategic Command"
28
+ }
29
+ ]
30
+ }) -}}
@@ -0,0 +1,26 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ classes: "govuk-radios--inline",
5
+ name: "changed-name",
6
+ fieldset: {
7
+ legend: {
8
+ text: "Have you changed your name?",
9
+ isPageHeading: true,
10
+ classes: "govuk-fieldset__legend--l"
11
+ }
12
+ },
13
+ hint: {
14
+ text: "This includes changing your last name or spelling your name differently."
15
+ },
16
+ items: [
17
+ {
18
+ value: "yes",
19
+ text: "Yes"
20
+ },
21
+ {
22
+ value: "no",
23
+ text: "No"
24
+ }
25
+ ]
26
+ }) -}}
@@ -0,0 +1,29 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "organisation-not-as-page-heading",
5
+ fieldset: {
6
+ legend: {
7
+ text: "Which organisation do you work for?"
8
+ }
9
+ },
10
+ items: [
11
+ {
12
+ value: "royal-navy",
13
+ text: "Royal Navy"
14
+ },
15
+ {
16
+ value: "british-army",
17
+ text: "British Army"
18
+ },
19
+ {
20
+ value: "royal-air-force",
21
+ text: "Royal Air Force"
22
+ },
23
+ {
24
+ value: "strategic-command",
25
+ text: "Strategic Command"
26
+ }
27
+ ]
28
+ }) -}}
29
+
@@ -0,0 +1,31 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "organisation-small",
5
+ classes: "govuk-radios--small",
6
+ fieldset: {
7
+ legend: {
8
+ text: "Organisation",
9
+ isPageHeading: true,
10
+ classes: "govuk-fieldset__legend--m"
11
+ }
12
+ },
13
+ items: [
14
+ {
15
+ value: "royal-navy",
16
+ text: "Royal Navy"
17
+ },
18
+ {
19
+ value: "british-army",
20
+ text: "British Army"
21
+ },
22
+ {
23
+ value: "royal-air-force",
24
+ text: "Royal Air Force"
25
+ },
26
+ {
27
+ value: "strategic-command",
28
+ text: "Strategic Command"
29
+ }
30
+ ]
31
+ }) -}}
@@ -0,0 +1,80 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+ {% from "moduk/components/input/macro.njk" import modukInput -%}
3
+
4
+ {% set emailHtml %}
5
+ {{- modukInput({
6
+ id: "contact-by-email",
7
+ name: "contact-by-email",
8
+ type: "email",
9
+ autocomplete: "email",
10
+ spellcheck: false,
11
+ classes: "govuk-!-width-one-third",
12
+ label: {
13
+ text: "Email address"
14
+ }
15
+ }) -}}
16
+ {% endset -%}
17
+
18
+ {% set phoneHtml %}
19
+ {{- modukInput({
20
+ id: "contact-by-phone",
21
+ name: "contact-by-phone",
22
+ type: "tel",
23
+ autocomplete: "tel",
24
+ classes: "govuk-!-width-one-third",
25
+ label: {
26
+ text: "Phone number"
27
+ }
28
+ }) -}}
29
+ {% endset -%}
30
+
31
+ {% set textHtml %}
32
+ {{- modukInput({
33
+ id: "contact-by-text",
34
+ name: "contact-by-text",
35
+ type: "tel",
36
+ autocomplete: "tel",
37
+ classes: "govuk-!-width-one-third",
38
+ label: {
39
+ text: "Mobile phone number"
40
+ }
41
+ }) -}}
42
+ {% endset -%}
43
+
44
+ {{ modukRadios({
45
+ name: "contact",
46
+ fieldset: {
47
+ legend: {
48
+ text: "How would you like to be contacted?",
49
+ isPageHeading: true,
50
+ classes: "govuk-fieldset__legend--l"
51
+ }
52
+ },
53
+ hint: {
54
+ text: "Select one option."
55
+ },
56
+ items: [
57
+ {
58
+ value: "email",
59
+ text: "Email",
60
+ checked: true,
61
+ conditional: {
62
+ html: emailHtml
63
+ }
64
+ },
65
+ {
66
+ value: "phone",
67
+ text: "Phone",
68
+ conditional: {
69
+ html: phoneHtml
70
+ }
71
+ },
72
+ {
73
+ value: "text message",
74
+ text: "Text message",
75
+ conditional: {
76
+ html: textHtml
77
+ }
78
+ }
79
+ ]
80
+ }) -}}
@@ -0,0 +1,29 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "with-divider-option",
5
+ fieldset: {
6
+ legend: {
7
+ text: "How do you want to sign in?",
8
+ isPageHeading: true,
9
+ classes: "govuk-fieldset__legend--l"
10
+ }
11
+ },
12
+ items: [
13
+ {
14
+ value: "biometric",
15
+ text: "Sign in with a security key"
16
+ },
17
+ {
18
+ value: "userpass",
19
+ text: "Sign in with a username and password"
20
+ },
21
+ {
22
+ divider: "or"
23
+ },
24
+ {
25
+ value: "register",
26
+ text: "Register for a new account"
27
+ }
28
+ ]
29
+ }) -}}
@@ -0,0 +1,33 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "organisation-with-error",
5
+ fieldset: {
6
+ legend: {
7
+ text: "Which organisation do you work for?",
8
+ isPageHeading: true,
9
+ classes: "govuk-fieldset__legend--l"
10
+ }
11
+ },
12
+ errorMessage: {
13
+ text: "Select an organisation"
14
+ },
15
+ items: [
16
+ {
17
+ value: "royal-navy",
18
+ text: "Royal Navy"
19
+ },
20
+ {
21
+ value: "british-army",
22
+ text: "British Army"
23
+ },
24
+ {
25
+ value: "royal-air-force",
26
+ text: "Royal Air Force"
27
+ },
28
+ {
29
+ value: "strategic-command",
30
+ text: "Strategic Command"
31
+ }
32
+ ]
33
+ }) -}}
@@ -0,0 +1,31 @@
1
+ {% from "moduk/components/radios/macro.njk" import modukRadios -%}
2
+
3
+ {{ modukRadios({
4
+ name: "sign-in-with-hint",
5
+ fieldset: {
6
+ legend: {
7
+ text: "How do you want to sign in?",
8
+ isPageHeading: true,
9
+ classes: "govuk-fieldset__legend--l"
10
+ }
11
+ },
12
+ hint: {
13
+ text: "You need an account to use this service."
14
+ },
15
+ items: [
16
+ {
17
+ value: "biometric",
18
+ text: "Sign in with a security key",
19
+ hint: {
20
+ text: "You’ll need a registered USB security key."
21
+ }
22
+ },
23
+ {
24
+ value: "userpass",
25
+ text: "Sign in with a username and password",
26
+ hint: {
27
+ text: "You’ll need access to your two-factor authentication device."
28
+ }
29
+ }
30
+ ]
31
+ }) -}}
@@ -0,0 +1,5 @@
1
+ {% from "govuk/components/radios/macro.njk" import govukRadios -%}
2
+
3
+ {% macro modukRadios(params) -%}
4
+ {{ govukRadios(params) }}
5
+ {%- endmacro %}
@@ -0,0 +1,28 @@
1
+ {% from "moduk/components/select/macro.njk" import modukSelect -%}
2
+
3
+ {{ modukSelect({
4
+ id: "sort",
5
+ name: "sort",
6
+ label: {
7
+ text: "Sort by"
8
+ },
9
+ items: [
10
+ {
11
+ value: "published",
12
+ text: "Recently published"
13
+ },
14
+ {
15
+ value: "updated",
16
+ text: "Recently updated",
17
+ selected: true
18
+ },
19
+ {
20
+ value: "views",
21
+ text: "Most views"
22
+ },
23
+ {
24
+ value: "comments",
25
+ text: "Most comments"
26
+ }
27
+ ]
28
+ }) -}}
@@ -0,0 +1,55 @@
1
+ {% from "moduk/components/select/macro.njk" import modukSelect -%}
2
+
3
+ {{ modukSelect({
4
+ id: "subject",
5
+ name: "subject",
6
+ label: {
7
+ text: "Choose location"
8
+ },
9
+ hint: {
10
+ text: "This can be different to where you went before"
11
+ },
12
+ items: [
13
+ {
14
+ value: "choose",
15
+ text: "Choose location",
16
+ selected: true
17
+ },
18
+ {
19
+ value: "eastmidlands",
20
+ text: "East Midlands"
21
+ },
22
+ {
23
+ value: "eastofengland",
24
+ text: "East of England"
25
+ },
26
+ {
27
+ value: "london",
28
+ text: "London"
29
+ },
30
+ {
31
+ value: "northeast",
32
+ text: "North East"
33
+ },
34
+ {
35
+ value: "northwest",
36
+ text: "North West"
37
+ },
38
+ {
39
+ value: "southeast",
40
+ text: "South East"
41
+ },
42
+ {
43
+ value: "southwest",
44
+ text: "South West"
45
+ },
46
+ {
47
+ value: "westmidlands",
48
+ text: "West Midlands"
49
+ },
50
+ {
51
+ value: "yorkshire",
52
+ text: "Yorkshire and the Humber"
53
+ }
54
+ ]
55
+ }) -}}
@@ -0,0 +1,5 @@
1
+ {% from "govuk/components/select/macro.njk" import govukSelect -%}
2
+
3
+ {% macro modukSelect(params) -%}
4
+ {{ govukSelect(params) }}
5
+ {%- endmacro %}
@@ -0,0 +1,11 @@
1
+ {%- from "moduk/components/skip-link/macro.njk" import modukSkipLink -%}
2
+
3
+ {# Wrapped in a <div> so there is one root element, for visual regression tests to use -#}
4
+
5
+ <div>
6
+ <p class="govuk-body" id="content">To view the skip link component tab to this example, or click inside this example and press tab.</p>
7
+ {{ modukSkipLink({
8
+ text: "Skip to main content",
9
+ href: "#content"
10
+ }) -}}
11
+ </div>
@@ -0,0 +1,5 @@
1
+ {% from "govuk/components/skip-link/macro.njk" import govukSkipLink %}
2
+
3
+ {% macro modukSkipLink(params) -%}
4
+ {{ govukSkipLink(params) }}
5
+ {%- endmacro %}