design_system 0.7.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 (411) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +91 -0
  4. data/Rakefile +47 -0
  5. data/app/assets/config/design_system_manifest.js +0 -0
  6. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/_base.scss +3 -0
  7. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/all.scss +7 -0
  8. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/_all.scss +8 -0
  9. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/_index.scss +38 -0
  10. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/accordion/_accordion.scss +2 -0
  11. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/accordion/_index.scss +368 -0
  12. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/back-link/_back-link.scss +2 -0
  13. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/back-link/_index.scss +81 -0
  14. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/breadcrumbs/_breadcrumbs.scss +2 -0
  15. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/breadcrumbs/_index.scss +132 -0
  16. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/button/_button.scss +2 -0
  17. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/button/_index.scss +260 -0
  18. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/character-count/_character-count.scss +2 -0
  19. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/character-count/_index.scss +42 -0
  20. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/checkboxes/_checkboxes.scss +2 -0
  21. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/checkboxes/_index.scss +309 -0
  22. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/cookie-banner/_cookie-banner.scss +2 -0
  23. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/cookie-banner/_index.scss +57 -0
  24. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/date-input/_date-input.scss +2 -0
  25. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/date-input/_index.scss +26 -0
  26. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/details/_details.scss +2 -0
  27. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/details/_index.scss +137 -0
  28. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/error-message/_error-message.scss +2 -0
  29. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/error-message/_index.scss +12 -0
  30. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/error-summary/_error-summary.scss +2 -0
  31. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/error-summary/_index.scss +54 -0
  32. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/exit-this-page/_exit-this-page.scss +2 -0
  33. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/exit-this-page/_index.scss +90 -0
  34. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/fieldset/_fieldset.scss +2 -0
  35. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/fieldset/_index.scss +67 -0
  36. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/file-upload/_file-upload.scss +2 -0
  37. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/file-upload/_index.scss +216 -0
  38. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/footer/_footer.scss +2 -0
  39. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/footer/_index.scss +192 -0
  40. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/header/_header.scss +2 -0
  41. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/header/_index.scss +546 -0
  42. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/hint/_hint.scss +2 -0
  43. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/hint/_index.scss +43 -0
  44. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/input/_index.scss +166 -0
  45. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/input/_input.scss +2 -0
  46. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/inset-text/_index.scss +24 -0
  47. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/inset-text/_inset-text.scss +2 -0
  48. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/label/_index.scss +44 -0
  49. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/label/_label.scss +2 -0
  50. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/notification-banner/_index.scss +91 -0
  51. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/notification-banner/_notification-banner.scss +2 -0
  52. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/pagination/_index.scss +226 -0
  53. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/pagination/_pagination.scss +2 -0
  54. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/panel/_index.scss +56 -0
  55. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/panel/_panel.scss +2 -0
  56. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/password-input/_index.scss +55 -0
  57. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/password-input/_password-input.scss +2 -0
  58. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/phase-banner/_index.scss +34 -0
  59. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/phase-banner/_phase-banner.scss +2 -0
  60. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/radios/_index.scss +326 -0
  61. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/radios/_radios.scss +2 -0
  62. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/select/_index.scss +57 -0
  63. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/select/_select.scss +2 -0
  64. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/service-navigation/_index.scss +252 -0
  65. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/service-navigation/_service-navigation.scss +2 -0
  66. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/skip-link/_index.scss +50 -0
  67. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/skip-link/_skip-link.scss +2 -0
  68. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/summary-list/_index.scss +267 -0
  69. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/summary-list/_summary-list.scss +2 -0
  70. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/table/_index.scss +73 -0
  71. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/table/_table.scss +2 -0
  72. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/tabs/_index.scss +132 -0
  73. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/tabs/_tabs.scss +2 -0
  74. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/tag/_index.scss +95 -0
  75. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/tag/_tag.scss +2 -0
  76. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/task-list/_index.scss +77 -0
  77. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/task-list/_task-list.scss +2 -0
  78. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/textarea/_index.scss +48 -0
  79. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/textarea/_textarea.scss +2 -0
  80. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/warning-text/_index.scss +64 -0
  81. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/components/warning-text/_warning-text.scss +2 -0
  82. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_all.scss +8 -0
  83. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_global-styles.scss +18 -0
  84. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_govuk-frontend-properties.scss +13 -0
  85. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_index.scss +6 -0
  86. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_links.scss +40 -0
  87. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_lists.scss +65 -0
  88. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_section-break.scss +49 -0
  89. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/core/_typography.scss +187 -0
  90. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_all.scss +8 -0
  91. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_clearfix.scss +15 -0
  92. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_colour.scss +165 -0
  93. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_device-pixels.scss +36 -0
  94. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_focused.scss +57 -0
  95. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_font-faces.scss +39 -0
  96. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_grid.scss +61 -0
  97. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_index.scss +12 -0
  98. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_links.scss +389 -0
  99. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_media-queries.scss +80 -0
  100. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_shape-arrow.scss +80 -0
  101. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_spacing.scss +171 -0
  102. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_typography.scss +286 -0
  103. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/helpers/_visually-hidden.scss +86 -0
  104. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/index.scss +9 -0
  105. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_all.scss +8 -0
  106. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_button-group.scss +78 -0
  107. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_form-group.scss +23 -0
  108. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_grid.scss +24 -0
  109. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_index.scss +6 -0
  110. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_main-wrapper.scss +53 -0
  111. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_template.scss +55 -0
  112. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/objects/_width-container.scss +75 -0
  113. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_all.scss +7 -0
  114. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_display.scss +24 -0
  115. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_index.scss +5 -0
  116. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_spacing.scss +84 -0
  117. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_text-align.scss +14 -0
  118. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_typography.scss +40 -0
  119. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/overrides/_width.scss +46 -0
  120. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_all.scss +8 -0
  121. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_assets.scss +82 -0
  122. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_colours-applied.scss +193 -0
  123. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_colours-organisations.scss +380 -0
  124. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_colours-palette.scss +35 -0
  125. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_global-styles.scss +13 -0
  126. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_index.scss +34 -0
  127. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_links.scss +47 -0
  128. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_measurements.scss +105 -0
  129. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_media-queries.scss +23 -0
  130. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_spacing.scss +76 -0
  131. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_typography-font.scss +50 -0
  132. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_typography-responsive.scss +315 -0
  133. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/settings/_warnings.scss +76 -0
  134. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_all.scss +8 -0
  135. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_exports.scss +33 -0
  136. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_font-url.scss +26 -0
  137. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_image-url.scss +26 -0
  138. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_index.scss +6 -0
  139. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_px-to-em.scss +20 -0
  140. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_px-to-rem.scss +20 -0
  141. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/tools/_rebrand.scss +63 -0
  142. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/utilities/_all.scss +8 -0
  143. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/utilities/_clearfix.scss +5 -0
  144. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/utilities/_index.scss +2 -0
  145. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/utilities/_visually-hidden.scss +9 -0
  146. data/app/assets/stylesheets/design_system/govuk-frontend-5.11.1/vendor/_sass-mq.scss +347 -0
  147. data/app/assets/stylesheets/design_system/govuk.scss +7 -0
  148. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/_index.scss +38 -0
  149. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/action-link/_action-link.scss +1 -0
  150. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/action-link/_index.scss +73 -0
  151. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/back-link/_back-link.scss +1 -0
  152. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/back-link/_index.scss +66 -0
  153. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/breadcrumb/_breadcrumb.scss +1 -0
  154. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/breadcrumb/_index.scss +138 -0
  155. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/button/_button.scss +1 -0
  156. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/button/_index.scss +257 -0
  157. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/card/_card.scss +1 -0
  158. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/card/_index.scss +321 -0
  159. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/character-count/_character-count.scss +1 -0
  160. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/character-count/_index.scss +19 -0
  161. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/checkboxes/_checkboxes.scss +1 -0
  162. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/checkboxes/_index.scss +155 -0
  163. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/contents-list/_contents-list.scss +1 -0
  164. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/contents-list/_index.scss +40 -0
  165. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/date-input/_date-input.scss +1 -0
  166. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/date-input/_index.scss +29 -0
  167. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/details/_details.scss +1 -0
  168. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/details/_index.scss +211 -0
  169. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/do-dont-list/_do-dont-list.scss +1 -0
  170. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/do-dont-list/_index.scss +23 -0
  171. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/error-message/_error-message.scss +1 -0
  172. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/error-message/_index.scss +17 -0
  173. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/error-summary/_error-summary.scss +1 -0
  174. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/error-summary/_index.scss +72 -0
  175. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/fieldset/_fieldset.scss +1 -0
  176. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/fieldset/_index.scss +65 -0
  177. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/footer/_footer.scss +1 -0
  178. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/footer/_index.scss +87 -0
  179. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header-base.scss +495 -0
  180. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header-organisation.scss +126 -0
  181. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header-service.scss +60 -0
  182. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header-transactional.scss +61 -0
  183. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header-white.scss +117 -0
  184. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_header.scss +1 -0
  185. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/header/_index.scss +5 -0
  186. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/hero/_hero.scss +1 -0
  187. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/hero/_index.scss +187 -0
  188. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/hint/_hint.scss +1 -0
  189. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/hint/_index.scss +51 -0
  190. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/images/_images.scss +1 -0
  191. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/images/_index.scss +48 -0
  192. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/input/_index.scss +149 -0
  193. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/input/_input.scss +1 -0
  194. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/inset-text/_index.scss +28 -0
  195. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/inset-text/_inset-text.scss +1 -0
  196. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/label/_index.scss +53 -0
  197. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/label/_label.scss +1 -0
  198. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/pagination/_index.scss +95 -0
  199. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/pagination/_pagination.scss +1 -0
  200. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/panel/_index.scss +57 -0
  201. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/panel/_panel.scss +1 -0
  202. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/radios/_index.scss +180 -0
  203. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/radios/_radios.scss +1 -0
  204. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/select/_index.scss +44 -0
  205. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/select/_select.scss +1 -0
  206. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/skip-link/_index.scss +34 -0
  207. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/skip-link/_skip-link.scss +1 -0
  208. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/summary-list/_index.scss +183 -0
  209. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/summary-list/_summary-list.scss +1 -0
  210. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tables/_index.scss +181 -0
  211. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tables/_tables.scss +1 -0
  212. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tabs/_index.scss +120 -0
  213. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tabs/_tabs.scss +1 -0
  214. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tag/_index.scss +92 -0
  215. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/tag/_tag.scss +1 -0
  216. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/task-list/_index.scss +101 -0
  217. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/task-list/_task-list.scss +1 -0
  218. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/textarea/_index.scss +30 -0
  219. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/textarea/_textarea.scss +1 -0
  220. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/warning-callout/_index.scss +19 -0
  221. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/components/warning-callout/_warning-callout.scss +1 -0
  222. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/_index.scss +11 -0
  223. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/all.scss +8 -0
  224. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/elements/_forms.scss +16 -0
  225. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/elements/_index.scss +8 -0
  226. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/elements/_links.scss +42 -0
  227. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/elements/_page.scss +43 -0
  228. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/elements/_table.scss +62 -0
  229. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/generic/_box-sizing.scss +26 -0
  230. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/generic/_font-face.scss +47 -0
  231. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/generic/_index.scss +6 -0
  232. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/objects/_form-group.scss +25 -0
  233. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/objects/_grid.scss +23 -0
  234. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/objects/_index.scss +8 -0
  235. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/objects/_main-wrapper.scss +96 -0
  236. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/objects/_width-container.scss +63 -0
  237. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_all.scss +8 -0
  238. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_breakpoints.scss +18 -0
  239. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_colours.scss +188 -0
  240. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_globals.scss +82 -0
  241. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_index.scss +10 -0
  242. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_spacing.scss +79 -0
  243. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_typography.scss +176 -0
  244. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/settings/_warnings.scss +82 -0
  245. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/styles/_icons.scss +105 -0
  246. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/styles/_index.scss +4 -0
  247. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/styles/_lists.scss +115 -0
  248. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/styles/_section-break.scss +71 -0
  249. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/styles/_typography.scss +297 -0
  250. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_all.scss +8 -0
  251. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_exports.scss +47 -0
  252. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_focused.scss +86 -0
  253. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_functions.scss +45 -0
  254. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_grid.scss +138 -0
  255. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_ifff.scss +19 -0
  256. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_index.scss +15 -0
  257. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_links.scss +184 -0
  258. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_mixins.scss +520 -0
  259. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_sass-mq.scss +79 -0
  260. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_shape-arrow.scss +91 -0
  261. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_spacing.scss +192 -0
  262. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/tools/_typography.scss +259 -0
  263. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_clearfix.scss +15 -0
  264. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_display.scss +15 -0
  265. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_float.scss +15 -0
  266. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_grid-widths.scss +97 -0
  267. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_index.scss +16 -0
  268. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_link-nowrap.scss +19 -0
  269. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_list-border.scss +20 -0
  270. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_reading-width.scss +16 -0
  271. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_spacing.scss +88 -0
  272. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_text-align.scss +19 -0
  273. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_typography.scss +72 -0
  274. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_visually-hidden.scss +20 -0
  275. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/utilities/_widths.scss +62 -0
  276. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/core/vendor/sass-mq.scss +316 -0
  277. data/app/assets/stylesheets/design_system/nhsuk-frontend-9.6.4/nhsuk.scss +1 -0
  278. data/app/assets/stylesheets/design_system/nhsuk.scss +5 -0
  279. data/app/controllers/concerns/design_system/branded.rb +21 -0
  280. data/app/helpers/css_helper.rb +13 -0
  281. data/app/helpers/design_system_helper.rb +113 -0
  282. data/app/javascript/design_system/controllers/hello_world_controller.js +7 -0
  283. data/app/javascript/design_system/controllers/show_password_controller.js +40 -0
  284. data/app/javascript/design_system/index.js +11 -0
  285. data/app/views/govuk/_navigation.html.erb +14 -0
  286. data/app/views/layouts/_alert_and_notice.html.erb +7 -0
  287. data/app/views/layouts/govuk/application.html.erb +196 -0
  288. data/app/views/layouts/govuk/full_page.html.erb +2 -0
  289. data/app/views/layouts/govuk/left_panel.html.erb +2 -0
  290. data/app/views/layouts/nhsuk/application.html.erb +132 -0
  291. data/app/views/layouts/nhsuk/full_page.html.erb +2 -0
  292. data/app/views/layouts/nhsuk/left_panel.html.erb +2 -0
  293. data/app/views/nhsuk/_navigation.html.erb +25 -0
  294. data/config/importmap.rb +4 -0
  295. data/config/initializers/govuk_form_builder_overrides.rb +128 -0
  296. data/config/routes.rb +3 -0
  297. data/lib/design_system/all.rb +3 -0
  298. data/lib/design_system/components/summary_list.rb +53 -0
  299. data/lib/design_system/components/tab.rb +20 -0
  300. data/lib/design_system/components/table.rb +68 -0
  301. data/lib/design_system/engine.rb +30 -0
  302. data/lib/design_system/generic/builders/base.rb +18 -0
  303. data/lib/design_system/generic/builders/button.rb +35 -0
  304. data/lib/design_system/generic/builders/callout.rb +28 -0
  305. data/lib/design_system/generic/builders/concerns/brand_derivable.rb +14 -0
  306. data/lib/design_system/generic/builders/elements/breadcrumbs.rb +45 -0
  307. data/lib/design_system/generic/builders/elements/form.rb +23 -0
  308. data/lib/design_system/generic/builders/elements/headings.rb +31 -0
  309. data/lib/design_system/generic/builders/fixed_elements.rb +38 -0
  310. data/lib/design_system/generic/builders/heading.rb +38 -0
  311. data/lib/design_system/generic/builders/link.rb +37 -0
  312. data/lib/design_system/generic/builders/notification.rb +43 -0
  313. data/lib/design_system/generic/builders/pagination_renderer.rb +85 -0
  314. data/lib/design_system/generic/builders/panel.rb +18 -0
  315. data/lib/design_system/generic/builders/summary_list.rb +84 -0
  316. data/lib/design_system/generic/builders/tab.rb +17 -0
  317. data/lib/design_system/generic/builders/table.rb +76 -0
  318. data/lib/design_system/generic/form_builder.rb +54 -0
  319. data/lib/design_system/generic.rb +15 -0
  320. data/lib/design_system/govuk/builders/button.rb +57 -0
  321. data/lib/design_system/govuk/builders/callout.rb +26 -0
  322. data/lib/design_system/govuk/builders/elements/breadcrumbs.rb +33 -0
  323. data/lib/design_system/govuk/builders/elements/headings.rb +18 -0
  324. data/lib/design_system/govuk/builders/fixed_elements.rb +17 -0
  325. data/lib/design_system/govuk/builders/heading.rb +11 -0
  326. data/lib/design_system/govuk/builders/link.rb +23 -0
  327. data/lib/design_system/govuk/builders/notification.rb +11 -0
  328. data/lib/design_system/govuk/builders/pagination_renderer.rb +80 -0
  329. data/lib/design_system/govuk/builders/panel.rb +18 -0
  330. data/lib/design_system/govuk/builders/summary_list.rb +44 -0
  331. data/lib/design_system/govuk/builders/tab.rb +56 -0
  332. data/lib/design_system/govuk/builders/table.rb +79 -0
  333. data/lib/design_system/govuk/form_builder.rb +430 -0
  334. data/lib/design_system/govuk.rb +19 -0
  335. data/lib/design_system/nhsuk/builders/button.rb +11 -0
  336. data/lib/design_system/nhsuk/builders/callout.rb +11 -0
  337. data/lib/design_system/nhsuk/builders/elements/breadcrumbs.rb +47 -0
  338. data/lib/design_system/nhsuk/builders/fixed_elements.rb +15 -0
  339. data/lib/design_system/nhsuk/builders/heading.rb +11 -0
  340. data/lib/design_system/nhsuk/builders/link.rb +21 -0
  341. data/lib/design_system/nhsuk/builders/notification.rb +17 -0
  342. data/lib/design_system/nhsuk/builders/pagination_renderer.rb +16 -0
  343. data/lib/design_system/nhsuk/builders/panel.rb +11 -0
  344. data/lib/design_system/nhsuk/builders/summary_list.rb +34 -0
  345. data/lib/design_system/nhsuk/builders/tab.rb +11 -0
  346. data/lib/design_system/nhsuk/builders/table.rb +68 -0
  347. data/lib/design_system/nhsuk/form_builder.rb +83 -0
  348. data/lib/design_system/nhsuk.rb +18 -0
  349. data/lib/design_system/registry.rb +40 -0
  350. data/lib/design_system/version.rb +3 -0
  351. data/lib/design_system.rb +7 -0
  352. data/lib/tasks/design_system_tasks.rake +4 -0
  353. data/lib/tasks/govuk.rake +122 -0
  354. data/lib/tasks/nhsuk.rake +108 -0
  355. data/public/design_system/static/design_system-0.7.0/design_system.js +1309 -0
  356. data/public/design_system/static/govuk-frontend-5.11.1/fonts/bold-affa96571d-v2.woff +0 -0
  357. data/public/design_system/static/govuk-frontend-5.11.1/fonts/bold-b542beb274-v2.woff2 +0 -0
  358. data/public/design_system/static/govuk-frontend-5.11.1/fonts/light-94a07e06a1-v2.woff2 +0 -0
  359. data/public/design_system/static/govuk-frontend-5.11.1/fonts/light-f591b13f7d-v2.woff +0 -0
  360. data/public/design_system/static/govuk-frontend-5.11.1/govuk-frontend.min.js +1 -0
  361. data/public/design_system/static/govuk-frontend-5.11.1/govuk-frontend.min.js.map +1 -0
  362. data/public/design_system/static/govuk-frontend-5.11.1/images/favicon.ico +0 -0
  363. data/public/design_system/static/govuk-frontend-5.11.1/images/favicon.svg +1 -0
  364. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-crest.svg +1 -0
  365. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-icon-180.png +0 -0
  366. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-icon-192.png +0 -0
  367. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-icon-512.png +0 -0
  368. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-icon-mask.svg +1 -0
  369. data/public/design_system/static/govuk-frontend-5.11.1/images/govuk-opengraph-image.png +0 -0
  370. data/public/design_system/static/govuk-frontend-5.11.1/manifest.json +39 -0
  371. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/favicon.ico +0 -0
  372. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/favicon.svg +1 -0
  373. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-crest.svg +1 -0
  374. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-icon-180.png +0 -0
  375. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-icon-192.png +0 -0
  376. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-icon-512.png +0 -0
  377. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-icon-mask.svg +1 -0
  378. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/images/govuk-opengraph-image.png +0 -0
  379. data/public/design_system/static/govuk-frontend-5.11.1/rebrand/manifest.json +39 -0
  380. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/apple-touch-icon-180x180.png +0 -0
  381. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/apple-touch-icon.png +0 -0
  382. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/favicon-192x192.png +0 -0
  383. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/favicon.ico +0 -0
  384. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/favicon.png +0 -0
  385. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/favicon.svg +3 -0
  386. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/largetile-310x310.png +0 -0
  387. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/mediumtile-144x144.png +0 -0
  388. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/mediumtile-150x150.png +0 -0
  389. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/smalltile-70x70.png +0 -0
  390. data/public/design_system/static/nhsuk-frontend-9.6.4/favicons/widetile-310x150.png +0 -0
  391. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-arrow-left.svg +3 -0
  392. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-arrow-right-circle.svg +4 -0
  393. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-arrow-right.svg +3 -0
  394. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-chevron-left.svg +3 -0
  395. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-chevron-right.svg +3 -0
  396. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-close.svg +3 -0
  397. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-cross.svg +4 -0
  398. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-emdash-small.svg +3 -0
  399. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-emdash.svg +3 -0
  400. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-minus.svg +4 -0
  401. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-plus.svg +4 -0
  402. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-search.svg +3 -0
  403. data/public/design_system/static/nhsuk-frontend-9.6.4/icons/icon-tick.svg +3 -0
  404. data/public/design_system/static/nhsuk-frontend-9.6.4/logos/logo-nhs.svg +5 -0
  405. data/public/design_system/static/nhsuk-frontend-9.6.4/logos/nhs-logo.png +0 -0
  406. data/public/design_system/static/nhsuk-frontend-9.6.4/logos/open-graph.png +0 -0
  407. data/public/design_system/static/nhsuk-frontend-9.6.4/nhsuk.js +4 -0
  408. data/public/design_system/static/nhsuk-frontend-9.6.4/nhsuk.min.js +1 -0
  409. data/public/design_system/static/stimulus-3.2.2/stimulus-loading.js +87 -0
  410. data/public/design_system/static/tailwind-4.1.6/index.js +8 -0
  411. metadata +517 -0
@@ -0,0 +1,26 @@
1
+ ////
2
+ /// @group tools/assets
3
+ ////
4
+
5
+ /// Font URL
6
+ ///
7
+ /// If a custom font-url handler is defined ($govuk-font-url-function) then
8
+ /// it will be called, otherwise a url will be returned with the filename
9
+ /// appended to the font path.
10
+ ///
11
+ /// @param {String} $filename - Font filename
12
+ /// @return {String} URL for the filename, wrapped in `url()`
13
+ /// @access public
14
+
15
+ @function govuk-font-url($filename) {
16
+ // prettier-ignore
17
+ $use-custom-function: variable-exists("govuk-font-url-function")
18
+ and $govuk-font-url-function
19
+ and function-exists($govuk-font-url-function);
20
+
21
+ @if $use-custom-function {
22
+ @return call(get-function($govuk-font-url-function), $filename);
23
+ } @else {
24
+ @return url($govuk-fonts-path + $filename);
25
+ }
26
+ }
@@ -0,0 +1,26 @@
1
+ ////
2
+ /// @group tools/assets
3
+ ////
4
+
5
+ /// Image URL
6
+ ///
7
+ /// If a custom image-url handler is defined ($govuk-image-url-function) then
8
+ /// it will be called, otherwise a url will be returned with the filename
9
+ /// appended to the image path.
10
+ ///
11
+ /// @param {String} Filename for the image to load
12
+ /// @return {String} URL for the filename, wrapped in `url()`
13
+ /// @access public
14
+
15
+ @function govuk-image-url($filename) {
16
+ // prettier-ignore
17
+ $use-custom-function: variable-exists("govuk-image-url-function")
18
+ and $govuk-image-url-function
19
+ and function-exists($govuk-image-url-function);
20
+
21
+ @if $use-custom-function {
22
+ @return call(get-function($govuk-image-url-function), $filename);
23
+ } @else {
24
+ @return url($govuk-images-path + $filename);
25
+ }
26
+ }
@@ -0,0 +1,6 @@
1
+ @import "exports";
2
+ @import "font-url";
3
+ @import "image-url";
4
+ @import "px-to-em";
5
+ @import "px-to-rem";
6
+ @import "rebrand";
@@ -0,0 +1,20 @@
1
+ ////
2
+ /// @group tools/unit-conversion
3
+ ////
4
+
5
+ /// Convert pixels to em
6
+ ///
7
+ /// @param {Number} $value - Length in pixels
8
+ /// @param {Number} $context-font-size - Font size of element
9
+ /// @return {Number} Length in ems
10
+ /// @access public
11
+
12
+ @function govuk-em($value, $context-font-size) {
13
+ @if unitless($value) {
14
+ $value: $value * 1px;
15
+ }
16
+ @if unitless($context-font-size) {
17
+ $context-font-size: $context-font-size * 1px;
18
+ }
19
+ @return $value / $context-font-size * 1em;
20
+ }
@@ -0,0 +1,20 @@
1
+ ////
2
+ /// @group tools/unit-conversion
3
+ ////
4
+
5
+ /// Convert pixels to rem
6
+ ///
7
+ /// The $govuk-root-font-size (defined in settings/_typography-responsive.scss)
8
+ /// must be configured to match the font-size of your root (html) element
9
+ ///
10
+ /// @param {Number} $value - Length in pixels
11
+ /// @return {Number} Length in rems
12
+ /// @access public
13
+
14
+ @function govuk-px-to-rem($value) {
15
+ @if unitless($value) {
16
+ $value: $value * 1px;
17
+ }
18
+
19
+ @return $value / $govuk-root-font-size * 1rem;
20
+ }
@@ -0,0 +1,63 @@
1
+ ////
2
+ /// @group tools
3
+ ////
4
+
5
+ /// Wraps rebranded properties in the feature flag selector
6
+ ///
7
+ /// @example scss - Wrap a block of multiple properties
8
+ /// .foo {
9
+ /// border-width: 1px;
10
+ /// border-colour: #fff;
11
+ ///
12
+ /// @include _govuk-rebrand() {
13
+ /// border-width: 10px;
14
+ /// border-colour: #000;
15
+ /// }
16
+ /// }
17
+ ///
18
+ /// @example scss - Wrap a single property
19
+ /// .foo {
20
+ /// @include _govuk-rebrand("background-color", $from: #fff, $to: #000)
21
+ /// }
22
+ ///
23
+ ///
24
+ /// @param {String} $property - The name of the property being rebranded
25
+ /// @param {String} $from - The original value of the property
26
+ /// @param {String} $to - The rebranded value of the property
27
+ /// @throw if `$property` is set but `$from` or `$to` are missing
28
+ /// @access private
29
+ @mixin _govuk-rebrand($property: null, $from: null, $to: null) {
30
+ @if $property {
31
+ @if not $from {
32
+ @error "`_govuk-rebrand` needs the original value, `$from`";
33
+ }
34
+
35
+ @if not $to {
36
+ @error "`_govuk-rebrand` needs the rebranded value, `$to`";
37
+ }
38
+
39
+ #{$property}: #{$from};
40
+
41
+ @include _govuk-rebrand-wrapper {
42
+ #{$property}: #{$to};
43
+ }
44
+ } @else {
45
+ @include _govuk-rebrand-wrapper {
46
+ @content;
47
+ }
48
+ }
49
+ }
50
+
51
+ @mixin _govuk-rebrand-wrapper() {
52
+ $selector: "#{&}";
53
+
54
+ @if $selector == ".govuk-template" {
55
+ @at-root .govuk-template--rebranded {
56
+ @content;
57
+ }
58
+ } @else {
59
+ .govuk-template--rebranded & {
60
+ @content;
61
+ }
62
+ }
63
+ }
@@ -0,0 +1,8 @@
1
+ @import "../settings/warnings";
2
+ @import "index";
3
+
4
+ @include _warning(
5
+ "import-using-all",
6
+ "Importing using 'govuk/utilities/all' is deprecated. Update your import statement to import 'govuk/utilities/index'.",
7
+ $silence-further-warnings: false
8
+ );
@@ -0,0 +1,5 @@
1
+ @include govuk-exports("govuk/utilities/clearfix") {
2
+ .govuk-clearfix {
3
+ @include govuk-clearfix;
4
+ }
5
+ }
@@ -0,0 +1,2 @@
1
+ @import "clearfix";
2
+ @import "visually-hidden";
@@ -0,0 +1,9 @@
1
+ @include govuk-exports("govuk/utilities/visually-hidden") {
2
+ .govuk-visually-hidden {
3
+ @include govuk-visually-hidden;
4
+ }
5
+
6
+ .govuk-visually-hidden-focusable {
7
+ @include govuk-visually-hidden-focusable;
8
+ }
9
+ }
@@ -0,0 +1,347 @@
1
+ // mq() v4.0.2
2
+ // sass-mq/sass-mq
3
+
4
+ @charset "UTF-8"; // Fixes an issue where Ruby locale is not set properly
5
+ // See https://github.com/sass-mq/sass-mq/pull/10
6
+
7
+ /// Base font size on the `<body>` element
8
+ /// @type Number (unit)
9
+ $mq-base-font-size: 16px !default;
10
+
11
+ /// Responsive mode
12
+ ///
13
+ /// Set to `false` to enable support for browsers that do not support @media queries,
14
+ /// (IE <= 8, Firefox <= 3, Opera <= 9)
15
+ ///
16
+ /// You could create a stylesheet served exclusively to older browsers,
17
+ /// where @media queries are rasterized
18
+ ///
19
+ /// @example scss
20
+ /// // old-ie.scss
21
+ /// $mq-responsive: false;
22
+ /// @import 'main'; // @media queries in this file will be rasterized up to $mq-static-breakpoint
23
+ /// // larger breakpoints will be ignored
24
+ ///
25
+ /// @type Boolean
26
+ /// @link https://github.com/sass-mq/sass-mq#responsive-mode-off Disabled responsive mode documentation
27
+ $mq-responsive: true !default;
28
+
29
+ /// Breakpoint list
30
+ ///
31
+ /// Name your breakpoints in a way that creates a ubiquitous language
32
+ /// across team members. It will improve communication between
33
+ /// stakeholders, designers, developers, and testers.
34
+ ///
35
+ /// @type Map
36
+ /// @link https://github.com/sass-mq/sass-mq#seeing-the-currently-active-breakpoint Full documentation and examples
37
+ $mq-breakpoints: (
38
+ mobile: 320px,
39
+ tablet: 740px,
40
+ desktop: 980px,
41
+ wide: 1300px
42
+ ) !default;
43
+
44
+ /// Static breakpoint (for fixed-width layouts)
45
+ ///
46
+ /// Define the breakpoint from $mq-breakpoints that should
47
+ /// be used as the target width for the fixed-width layout
48
+ /// (i.e. when $mq-responsive is set to 'false') in a old-ie.scss
49
+ ///
50
+ /// @example scss
51
+ /// // tablet-only.scss
52
+ /// //
53
+ /// // Ignore all styles above tablet breakpoint,
54
+ /// // and fix the styles (e.g. layout) at tablet width
55
+ /// $mq-responsive: false;
56
+ /// $mq-static-breakpoint: tablet;
57
+ /// @import 'main'; // @media queries in this file will be rasterized up to tablet
58
+ /// // larger breakpoints will be ignored
59
+ ///
60
+ /// @type String
61
+ /// @link https://github.com/sass-mq/sass-mq#adding-custom-breakpoints Full documentation and examples
62
+ $mq-static-breakpoint: desktop !default;
63
+
64
+ /// Show breakpoints in the top right corner
65
+ ///
66
+ /// If you want to display the currently active breakpoint in the top
67
+ /// right corner of your site during development, add the breakpoints
68
+ /// to this list, ordered by width, e.g. (mobile, tablet, desktop).
69
+ ///
70
+ /// @type map
71
+ $mq-show-breakpoints: () !default;
72
+
73
+ /// Customize the media type (e.g. `@media screen` or `@media print`)
74
+ /// By default sass-mq uses an "all" media type (`@media all and …`)
75
+ ///
76
+ /// @type String
77
+ /// @link https://github.com/sass-mq/sass-mq#changing-media-type Full documentation and examples
78
+ $mq-media-type: all !default;
79
+
80
+ /// Convert pixels to ems
81
+ ///
82
+ /// @param {Number} $px - value to convert
83
+ /// @param {Number} $base-font-size ($mq-base-font-size) - `<body>` font size
84
+ ///
85
+ /// @example scss
86
+ /// $font-size-in-ems: mq-px2em(16px);
87
+ /// p { font-size: mq-px2em(16px); }
88
+ ///
89
+ /// @requires $mq-base-font-size
90
+ /// @returns {Number}
91
+ @function mq-px2em($px, $base-font-size: $mq-base-font-size) {
92
+ @if unitless($px) {
93
+ @warn "Assuming #{$px} to be in pixels, attempting to convert it into pixels.";
94
+ @return mq-px2em($px * 1px, $base-font-size);
95
+ } @else if unit($px) == em {
96
+ @return $px;
97
+ }
98
+ @return ($px / $base-font-size) * 1em;
99
+ }
100
+
101
+ /// Get a breakpoint's width
102
+ ///
103
+ /// @param {String} $name - Name of the breakpoint. One of $mq-breakpoints
104
+ ///
105
+ /// @example scss
106
+ /// $tablet-width: mq-get-breakpoint-width(tablet);
107
+ /// @media (min-width: mq-get-breakpoint-width(desktop)) {}
108
+ ///
109
+ /// @requires {Variable} $mq-breakpoints
110
+ ///
111
+ /// @returns {Number} Value in pixels
112
+ @function mq-get-breakpoint-width($name, $breakpoints: $mq-breakpoints) {
113
+ @if map-has-key($breakpoints, $name) {
114
+ @return map-get($breakpoints, $name);
115
+ } @else {
116
+ @warn "Breakpoint #{$name} wasn't found in $breakpoints.";
117
+ }
118
+ }
119
+
120
+ /// Media Query mixin
121
+ ///
122
+ /// @param {String | Boolean} $from (false) - One of $mq-breakpoints
123
+ /// @param {String | Boolean} $until (false) - One of $mq-breakpoints
124
+ /// @param {String | Boolean} $and (false) - Additional media query parameters
125
+ /// @param {String} $media-type ($mq-media-type) - Media type: screen, print…
126
+ ///
127
+ /// @ignore Undocumented API, for advanced use only:
128
+ /// @ignore @param {Map} $breakpoints ($mq-breakpoints)
129
+ /// @ignore @param {String} $static-breakpoint ($mq-static-breakpoint)
130
+ ///
131
+ /// @content styling rules, wrapped into a @media query when $responsive is true
132
+ ///
133
+ /// @requires {Variable} $mq-media-type
134
+ /// @requires {Variable} $mq-breakpoints
135
+ /// @requires {Variable} $mq-static-breakpoint
136
+ /// @requires {function} mq-px2em
137
+ /// @requires {function} mq-get-breakpoint-width
138
+ ///
139
+ /// @link https://github.com/sass-mq/sass-mq#responsive-mode-on-default Full documentation and examples
140
+ ///
141
+ /// @example scss
142
+ /// .element {
143
+ /// @include mq($from: mobile) {
144
+ /// color: red;
145
+ /// }
146
+ /// @include mq($until: tablet) {
147
+ /// color: blue;
148
+ /// }
149
+ /// @include mq(mobile, tablet) {
150
+ /// color: green;
151
+ /// }
152
+ /// @include mq($from: tablet, $and: '(orientation: landscape)') {
153
+ /// color: teal;
154
+ /// }
155
+ /// @include mq(950px) {
156
+ /// color: hotpink;
157
+ /// }
158
+ /// @include mq(tablet, $media-type: screen) {
159
+ /// color: hotpink;
160
+ /// }
161
+ /// // Advanced use:
162
+ /// $my-breakpoints: (L: 900px, XL: 1200px);
163
+ /// @include mq(L, $breakpoints: $my-breakpoints, $static-breakpoint: L) {
164
+ /// color: hotpink;
165
+ /// }
166
+ /// }
167
+ @mixin mq(
168
+ $from: false,
169
+ $until: false,
170
+ $and: false,
171
+ $media-type: $mq-media-type,
172
+ $breakpoints: $mq-breakpoints,
173
+ $responsive: $mq-responsive,
174
+ $static-breakpoint: $mq-static-breakpoint
175
+ ) {
176
+ $min-width: 0;
177
+ $max-width: 0;
178
+ $media-query: '';
179
+
180
+ // From: this breakpoint (inclusive)
181
+ @if $from {
182
+ @if type-of($from) == number {
183
+ $min-width: mq-px2em($from);
184
+ } @else {
185
+ $min-width: mq-px2em(mq-get-breakpoint-width($from, $breakpoints));
186
+ }
187
+ }
188
+
189
+ // Until: that breakpoint (exclusive)
190
+ @if $until {
191
+ @if type-of($until) == number {
192
+ $max-width: mq-px2em($until);
193
+ } @else {
194
+ $max-width: mq-px2em(mq-get-breakpoint-width($until, $breakpoints)) - .01em;
195
+ }
196
+ }
197
+
198
+ // Responsive support is disabled, rasterize the output outside @media blocks
199
+ // The browser will rely on the cascade itself.
200
+ @if $responsive == false {
201
+ $static-breakpoint-width: mq-get-breakpoint-width($static-breakpoint, $breakpoints);
202
+ $target-width: mq-px2em($static-breakpoint-width);
203
+
204
+ // Output only rules that start at or span our target width
205
+ @if (
206
+ $and == false
207
+ and $min-width <= $target-width
208
+ and (
209
+ $until == false or $max-width >= $target-width
210
+ )
211
+ and $media-type != 'print'
212
+ ) {
213
+ @content;
214
+ }
215
+ }
216
+
217
+ // Responsive support is enabled, output rules inside @media queries
218
+ @else {
219
+ @if $min-width != 0 { $media-query: '#{$media-query} and (min-width: #{$min-width})'; }
220
+ @if $max-width != 0 { $media-query: '#{$media-query} and (max-width: #{$max-width})'; }
221
+ @if $and { $media-query: '#{$media-query} and #{$and}'; }
222
+
223
+ // Remove unnecessary media query prefix 'all and '
224
+ @if ($media-type == 'all' and $media-query != '') {
225
+ $media-type: '';
226
+ $media-query: str-slice(unquote($media-query), 6);
227
+ }
228
+
229
+ @media #{$media-type + $media-query} {
230
+ @content;
231
+ }
232
+ }
233
+ }
234
+
235
+ /// Quick sort
236
+ ///
237
+ /// @author Sam Richards
238
+ /// @access private
239
+ /// @param {List} $list - List to sort
240
+ /// @returns {List} Sorted List
241
+ @function _mq-quick-sort($list) {
242
+ $less: ();
243
+ $equal: ();
244
+ $large: ();
245
+
246
+ @if length($list) > 1 {
247
+ $seed: nth($list, ceil(length($list) / 2));
248
+
249
+ @each $item in $list {
250
+ @if ($item == $seed) {
251
+ $equal: append($equal, $item);
252
+ } @else if ($item < $seed) {
253
+ $less: append($less, $item);
254
+ } @else if ($item > $seed) {
255
+ $large: append($large, $item);
256
+ }
257
+ }
258
+
259
+ @return join(join(_mq-quick-sort($less), $equal), _mq-quick-sort($large));
260
+ }
261
+
262
+ @return $list;
263
+ }
264
+
265
+ /// Sort a map by values (works with numbers only)
266
+ ///
267
+ /// @access private
268
+ /// @param {Map} $map - Map to sort
269
+ /// @returns {Map} Map sorted by value
270
+ @function _mq-map-sort-by-value($map) {
271
+ $map-sorted: ();
272
+ $map-keys: map-keys($map);
273
+ $map-values: map-values($map);
274
+ $map-values-sorted: _mq-quick-sort($map-values);
275
+
276
+ // Reorder key/value pairs based on key values
277
+ @each $value in $map-values-sorted {
278
+ $index: index($map-values, $value);
279
+ $key: nth($map-keys, $index);
280
+ $map-sorted: map-merge($map-sorted, ($key: $value));
281
+
282
+ // Unset the value in $map-values to prevent the loop
283
+ // from finding the same index twice
284
+ $map-values: set-nth($map-values, $index, 0);
285
+ }
286
+
287
+ @return $map-sorted;
288
+ }
289
+
290
+ /// Add a breakpoint
291
+ ///
292
+ /// @param {String} $name - Name of the breakpoint
293
+ /// @param {Number} $width - Width of the breakpoint
294
+ ///
295
+ /// @requires {Variable} $mq-breakpoints
296
+ ///
297
+ /// @example scss
298
+ /// @include mq-add-breakpoint(tvscreen, 1920px);
299
+ /// @include mq(tvscreen) {}
300
+ @mixin mq-add-breakpoint($name, $width) {
301
+ $new-breakpoint: ($name: $width);
302
+ $mq-breakpoints: map-merge($mq-breakpoints, $new-breakpoint) !global;
303
+ $mq-breakpoints: _mq-map-sort-by-value($mq-breakpoints) !global;
304
+ }
305
+
306
+ /// Show the active breakpoint in the top right corner of the viewport
307
+ /// @link https://github.com/sass-mq/sass-mq#seeing-the-currently-active-breakpoint
308
+ ///
309
+ /// @param {List} $show-breakpoints ($mq-show-breakpoints) - List of breakpoints to show in the top right corner
310
+ /// @param {Map} $breakpoints ($mq-breakpoints) - Breakpoint names and sizes
311
+ ///
312
+ /// @requires {Variable} $mq-breakpoints
313
+ /// @requires {Variable} $mq-show-breakpoints
314
+ ///
315
+ /// @example scss
316
+ /// // Show breakpoints using global settings
317
+ /// @include mq-show-breakpoints;
318
+ ///
319
+ /// // Show breakpoints using custom settings
320
+ /// @include mq-show-breakpoints((L, XL), (S: 300px, L: 800px, XL: 1200px));
321
+ @mixin mq-show-breakpoints($show-breakpoints: $mq-show-breakpoints, $breakpoints: $mq-breakpoints) {
322
+ body::before {
323
+ background-color: #FCF8E3;
324
+ border-bottom: 1px solid #FBEED5;
325
+ border-left: 1px solid #FBEED5;
326
+ color: #C09853;
327
+ font: small-caption;
328
+ padding: 3px 6px;
329
+ pointer-events: none;
330
+ position: fixed;
331
+ right: 0;
332
+ top: 0;
333
+ z-index: 100;
334
+
335
+ // Loop through the breakpoints that should be shown
336
+ @each $show-breakpoint in $show-breakpoints {
337
+ $width: mq-get-breakpoint-width($show-breakpoint, $breakpoints);
338
+ @include mq($show-breakpoint, $breakpoints: $breakpoints) {
339
+ content: "#{$show-breakpoint} ≥ #{$width} (#{mq-px2em($width)})";
340
+ }
341
+ }
342
+ }
343
+ }
344
+
345
+ @if length($mq-show-breakpoints) > 0 {
346
+ @include mq-show-breakpoints;
347
+ }
@@ -0,0 +1,7 @@
1
+ // Using the GOVUK frontend with configuration.
2
+ // https://sass-lang.com/documentation/at-rules/use/#configuration
3
+ @use 'govuk-frontend-5.11.1/index' with (
4
+ $govuk-assets-path: "/design_system/static/govuk-frontend-5.11.1/"
5
+ );
6
+
7
+ // Use extreme caution when making any design system level style changes or additions here.
@@ -0,0 +1,38 @@
1
+ ////
2
+ /// Components
3
+ ////
4
+
5
+ @forward "action-link";
6
+ @forward "back-link";
7
+ @forward "breadcrumb";
8
+ @forward "button";
9
+ @forward "card";
10
+ @forward "contents-list";
11
+ @forward "date-input";
12
+ @forward "details";
13
+ @forward "do-dont-list";
14
+ @forward "error-message";
15
+ @forward "error-summary";
16
+ @forward "fieldset";
17
+ @forward "footer";
18
+ @forward "header";
19
+ @forward "hero";
20
+ @forward "hint";
21
+ @forward "images";
22
+ @forward "input";
23
+ @forward "inset-text";
24
+ @forward "label";
25
+ @forward "pagination";
26
+ @forward "panel";
27
+ @forward "checkboxes";
28
+ @forward "radios";
29
+ @forward "select";
30
+ @forward "skip-link";
31
+ @forward "summary-list";
32
+ @forward "tables";
33
+ @forward "tag";
34
+ @forward "task-list";
35
+ @forward "textarea";
36
+ @forward "warning-callout";
37
+ @forward "character-count";
38
+ @forward "tabs";
@@ -0,0 +1,73 @@
1
+ @use "../../core/settings" as *;
2
+ @use "../../core/tools" as *;
3
+
4
+ ////
5
+ /// Action link component
6
+ ///
7
+ /// 1. Display is inline-block so the top and bottom margins/paddings are
8
+ /// respected.
9
+ /// 2. 'Random number' is used to properly have sufficient space between icon
10
+ /// and text.
11
+ /// 3. Position is relative so the arrow icon can display absolute.
12
+ /// 4. Text decoration none used to override default <a> styling.
13
+ /// 5. Box shadow 8px used instead of the default 4px.
14
+ /// 6. Text decoration underline used to override default <a> styling.
15
+ ///
16
+ /// @group components
17
+ ////
18
+
19
+ .nhsuk-action-link {
20
+ @include nhsuk-responsive-margin(6, "bottom");
21
+ }
22
+
23
+ .nhsuk-action-link__link {
24
+ display: inline-block; // [1]
25
+ padding-left: 38px; // [2]
26
+ position: relative; // [3]
27
+ text-decoration: none; // [4]
28
+
29
+ @include nhsuk-font(22, $weight: bold);
30
+
31
+ &:not(:focus):hover {
32
+ .nhsuk-action-link__text {
33
+ text-decoration: underline; // [6]
34
+ }
35
+ }
36
+
37
+ @include nhsuk-media-query($until: tablet) {
38
+ padding-left: 26px; // [2]
39
+ }
40
+
41
+ @include nhsuk-media-query($media-type: print) {
42
+ color: $nhsuk-print-text-color;
43
+
44
+ &:visited {
45
+ color: $nhsuk-print-text-color;
46
+ }
47
+ }
48
+
49
+ .nhsuk-icon__arrow-right-circle {
50
+ // stylelint-disable-next-line declaration-no-important
51
+ fill: $color_nhsuk-green !important;
52
+ height: 36px;
53
+ left: -3px;
54
+ position: absolute;
55
+ top: -3px;
56
+ width: 36px;
57
+
58
+ @include nhsuk-print-color($nhsuk-print-text-color);
59
+
60
+ @include nhsuk-media-query($until: tablet) {
61
+ height: 24px;
62
+ left: -2px;
63
+ margin-bottom: 0;
64
+ top: 1px;
65
+ width: 24px;
66
+ }
67
+ }
68
+
69
+ &:focus .nhsuk-icon__arrow-right-circle {
70
+ // stylelint-disable-next-line declaration-no-important
71
+ fill: $color_nhsuk-black !important;
72
+ }
73
+ }