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,34 @@
1
+ @import "../tag/index";
2
+
3
+ @include govuk-exports("govuk/component/phase-banner") {
4
+ .govuk-phase-banner {
5
+ padding-top: govuk-spacing(2);
6
+ padding-bottom: govuk-spacing(2);
7
+
8
+ border-bottom: 1px solid $govuk-border-colour;
9
+ }
10
+
11
+ .govuk-phase-banner__content {
12
+ @include govuk-font($size: 16);
13
+ @include govuk-text-colour;
14
+
15
+ display: table;
16
+ margin: 0;
17
+ }
18
+
19
+ .govuk-phase-banner__content__tag {
20
+ @include govuk-font-size($size: 16);
21
+ margin-right: govuk-spacing(if($govuk-new-typography-scale, 3, 2));
22
+
23
+ @if $govuk-new-typography-scale {
24
+ @include govuk-media-query($from: tablet) {
25
+ margin-right: govuk-spacing(2);
26
+ }
27
+ }
28
+ }
29
+
30
+ .govuk-phase-banner__text {
31
+ display: table-cell;
32
+ vertical-align: middle;
33
+ }
34
+ }
@@ -0,0 +1,326 @@
1
+ @import "../error-message/index";
2
+ @import "../fieldset/index";
3
+ @import "../hint/index";
4
+ @import "../label/index";
5
+
6
+ @include govuk-exports("govuk/component/radios") {
7
+ $govuk-touch-target-gutter: 4px;
8
+ $govuk-radios-size: 40px;
9
+ $govuk-touch-target-size: ($govuk-radios-size + $govuk-touch-target-gutter);
10
+ $govuk-small-radios-size: 24px;
11
+ $govuk-radios-label-padding-left-right: govuk-spacing(3);
12
+ // When the default focus width is used on a curved edge it looks visually
13
+ // smaller. So for the circular radios we bump the default to make it look
14
+ // visually consistent.
15
+ $govuk-radios-focus-width: $govuk-focus-width + 1px;
16
+
17
+ .govuk-radios__item {
18
+ display: flex;
19
+ flex-wrap: wrap;
20
+ position: relative;
21
+ margin-bottom: govuk-spacing(2);
22
+ }
23
+
24
+ .govuk-radios__item:last-child,
25
+ .govuk-radios__item:last-of-type {
26
+ margin-bottom: 0;
27
+ }
28
+
29
+ .govuk-radios__input {
30
+ // Allow the input to sit above the label, enabling its proper detection
31
+ // when exploring by touch or using automation tools like Selenium
32
+ z-index: 1;
33
+ width: $govuk-touch-target-size;
34
+ height: $govuk-touch-target-size;
35
+ margin: 0;
36
+ opacity: 0;
37
+ cursor: pointer;
38
+ }
39
+
40
+ .govuk-radios__label {
41
+ align-self: center;
42
+
43
+ // Ensure that the width of the label is never more than the width of the
44
+ // container minus the input width minus the padding on either side of
45
+ // the label. This prevents the label from going onto the next line due to
46
+ // __item using flex-wrap because we want hints on a separate line
47
+ max-width: calc(100% - #{($govuk-radios-label-padding-left-right + $govuk-touch-target-size + govuk-spacing(3))});
48
+ margin-bottom: 0;
49
+ padding: (govuk-spacing(1) + $govuk-border-width-form-element) govuk-spacing(3);
50
+ cursor: pointer;
51
+ // remove 300ms pause on mobile
52
+ touch-action: manipulation;
53
+ }
54
+
55
+ // ( ) Radio ring
56
+ .govuk-radios__label::before {
57
+ content: "";
58
+ box-sizing: border-box;
59
+ position: absolute;
60
+ top: ($govuk-touch-target-gutter / 2);
61
+ left: ($govuk-touch-target-gutter / 2);
62
+ width: $govuk-radios-size;
63
+ height: $govuk-radios-size;
64
+ border: $govuk-border-width-form-element solid currentcolor;
65
+ border-radius: 50%;
66
+ background: transparent;
67
+ }
68
+
69
+ // • Radio button
70
+ //
71
+ // We create the 'button' entirely out of 'border' so that they remain
72
+ // 'filled' even when colours are overridden in the browser.
73
+ .govuk-radios__label::after {
74
+ $radio-button-size: govuk-spacing(2);
75
+
76
+ content: "";
77
+ position: absolute;
78
+
79
+ // Positioned by getting half the touch target, so we have the centre of the
80
+ // input, and then moving back by the button's border width, thus positioning
81
+ // the centre of the button in the centre of the input.
82
+ top: (($govuk-touch-target-size / 2) - $radio-button-size);
83
+ left: (($govuk-touch-target-size / 2) - $radio-button-size);
84
+ width: 0;
85
+ height: 0;
86
+ border: $radio-button-size solid currentcolor;
87
+ border-radius: 50%;
88
+ opacity: 0;
89
+ background: currentcolor;
90
+ }
91
+
92
+ .govuk-radios__hint {
93
+ display: block;
94
+ width: 100%;
95
+ margin-top: govuk-spacing(-1);
96
+ padding-right: $govuk-radios-label-padding-left-right;
97
+ padding-left: ($govuk-radios-label-padding-left-right + $govuk-touch-target-size);
98
+ }
99
+
100
+ // This is to bypass govuk-hint's specificity on hints following labels having
101
+ // a margin bottom of 10px (govuk-spacing(2)). Because radios are flexbox,
102
+ // the margin doesn't collapse so we have to do this manually.
103
+ .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-radios__hint {
104
+ margin-bottom: 0;
105
+ }
106
+
107
+ // Focused state
108
+ .govuk-radios__input:focus + .govuk-radios__label::before {
109
+ border-width: 4px;
110
+
111
+ // When colours are overridden, the yellow box-shadow becomes invisible
112
+ // which means the focus state is less obvious. By adding a transparent
113
+ // outline, which becomes solid (text-coloured) in that context, we ensure
114
+ // the focus remains clearly visible.
115
+ outline: $govuk-focus-width solid transparent;
116
+ outline-offset: 1px;
117
+
118
+ // When in an explicit forced-color mode, we can use the Highlight system
119
+ // color for the outline to better match focus states of native controls
120
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
121
+ outline-color: Highlight;
122
+ }
123
+
124
+ box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
125
+ }
126
+
127
+ // Selected state
128
+ .govuk-radios__input:checked + .govuk-radios__label::after {
129
+ opacity: 1;
130
+ }
131
+
132
+ // Disabled state
133
+ .govuk-radios__input:disabled,
134
+ .govuk-radios__input:disabled + .govuk-radios__label {
135
+ cursor: not-allowed;
136
+ }
137
+
138
+ .govuk-radios__input:disabled + .govuk-radios__label,
139
+ .govuk-radios__input:disabled ~ .govuk-hint {
140
+ opacity: 0.5;
141
+ }
142
+
143
+ // =========================================================
144
+ // Inline radios
145
+ // =========================================================
146
+
147
+ .govuk-radios--inline {
148
+ @include govuk-media-query($from: tablet) {
149
+ display: flex;
150
+ flex-wrap: wrap;
151
+ align-items: flex-start;
152
+
153
+ .govuk-radios__item {
154
+ margin-right: govuk-spacing(4);
155
+ }
156
+ }
157
+ }
158
+
159
+ // =========================================================
160
+ // Dividers ('or')
161
+ // =========================================================
162
+
163
+ .govuk-radios__divider {
164
+ @include govuk-font($size: 19);
165
+ @include govuk-text-colour;
166
+ $govuk-divider-size: $govuk-radios-size !default;
167
+ width: $govuk-divider-size;
168
+ margin-bottom: govuk-spacing(2);
169
+ text-align: center;
170
+ }
171
+
172
+ // =========================================================
173
+ // Conditional reveals
174
+ // =========================================================
175
+
176
+ // The narrow border is used in the conditional reveals because the border has
177
+ // to be an even number in order to be centred under the 40px checkbox radio.
178
+ $conditional-border-width: $govuk-border-width-narrow;
179
+ // Calculate the amount of padding needed to keep the border centered against
180
+ // the radios.
181
+ $conditional-border-padding: ($govuk-touch-target-size / 2) - ($conditional-border-width / 2);
182
+ // Move the border centered with the radios
183
+ $conditional-margin-left: $conditional-border-padding;
184
+ // Move the contents of the conditional inline with the label
185
+ $conditional-padding-left: $conditional-border-padding + $govuk-radios-label-padding-left-right;
186
+
187
+ .govuk-radios__conditional {
188
+ @include govuk-responsive-margin(4, "bottom");
189
+ margin-left: $conditional-margin-left;
190
+ padding-left: $conditional-padding-left;
191
+ border-left: $conditional-border-width solid $govuk-border-colour;
192
+
193
+ .govuk-frontend-supported &--hidden {
194
+ display: none;
195
+ }
196
+
197
+ & > :last-child {
198
+ margin-bottom: 0;
199
+ }
200
+ }
201
+
202
+ // =========================================================
203
+ // Small checkboxes
204
+ // =========================================================
205
+
206
+ .govuk-radios--small {
207
+ $input-offset: ($govuk-touch-target-size - $govuk-small-radios-size) / 2;
208
+
209
+ .govuk-radios__item {
210
+ margin-bottom: 0;
211
+ }
212
+
213
+ // Shift the touch target into the left margin so that the visible edge of
214
+ // the control is aligned
215
+ //
216
+ // ┆Which colour is your favourite?
217
+ // ┌┆───┐
218
+ // │┆() │ Purple
219
+ // └┆▲──┘
220
+ // ▲┆└─ Radio pseudo element, aligned with margin
221
+ // └─── Touch target (invisible input), shifted into the margin
222
+ .govuk-radios__input {
223
+ margin-left: $input-offset * -1;
224
+ }
225
+
226
+ .govuk-radios__label {
227
+ // Create a tiny space between the small radio hover state so that it
228
+ // doesn't clash with the label
229
+ padding-left: 1px;
230
+ }
231
+
232
+ // ( ) Radio ring
233
+ //
234
+ // Reduce the size of the control [1], vertically centering it within the
235
+ // touch target [2]
236
+ // Left here is 0 because we've shifted the input into the left margin
237
+ .govuk-radios__label::before {
238
+ top: $input-offset; // 2
239
+ left: 0;
240
+ width: $govuk-small-radios-size; // 1
241
+ height: $govuk-small-radios-size; // 1
242
+ }
243
+
244
+ // • Radio button
245
+ //
246
+ // Reduce the size of the 'button' and center it within the ring
247
+ .govuk-radios__label::after {
248
+ $radio-button-size: govuk-spacing(1);
249
+
250
+ // The same calculation as normal radio buttons but reduce the border width
251
+ top: (($govuk-touch-target-size / 2) - $radio-button-size);
252
+ left: ((($govuk-touch-target-size / 2) - $radio-button-size) - $input-offset);
253
+ border-width: $radio-button-size;
254
+ }
255
+
256
+ // Fix position of hint with small radios
257
+ //
258
+ // Do not use hints with small radios – because they're within the input
259
+ // wrapper they trigger the hover state, but clicking them doesn't actually
260
+ // activate the control.
261
+ //
262
+ // (If you do use them, they won't look completely broken... but seriously,
263
+ // don't use them)
264
+ .govuk-radios__hint {
265
+ padding-left: ($govuk-small-radios-size + $input-offset);
266
+ }
267
+
268
+ // Align conditional reveals with small radios
269
+ .govuk-radios__conditional {
270
+ $margin-left: ($govuk-small-radios-size / 2) - ($conditional-border-width / 2);
271
+ margin-left: $margin-left;
272
+ padding-left: ($govuk-touch-target-size - $input-offset) - ($margin-left + $conditional-border-width);
273
+ }
274
+
275
+ .govuk-radios__divider {
276
+ width: $govuk-small-radios-size;
277
+ margin-bottom: govuk-spacing(1);
278
+ }
279
+
280
+ // Hover state for small radios.
281
+ //
282
+ // We use a hover state for small radios because the touch target size
283
+ // is so much larger than their visible size, and so we need to provide
284
+ // feedback to the user as to which radio they will select when their
285
+ // cursor is outside of the visible area.
286
+ .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
287
+ // Forced colours modes tend to ignore box-shadow.
288
+ // Apply an outline for those modes to use instead.
289
+ outline: $govuk-radios-focus-width dashed transparent;
290
+ outline-offset: 1px;
291
+ box-shadow: 0 0 0 $govuk-hover-width $govuk-hover-colour;
292
+ }
293
+
294
+ // Because we've overridden the border-shadow provided by the focus state,
295
+ // we need to redefine that too.
296
+ //
297
+ // We use two box shadows, one that restores the original focus state [1]
298
+ // and another that then applies the hover state [2].
299
+ .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
300
+ // Set different HCM colour when we have both hover/focus applied at once
301
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
302
+ outline-color: Highlight;
303
+ }
304
+ // prettier-ignore
305
+ box-shadow:
306
+ 0 0 0 $govuk-radios-focus-width $govuk-focus-colour // 1,
307
+ 0 0 0 $govuk-hover-width $govuk-hover-colour; // 2
308
+ }
309
+
310
+ // For devices that explicitly don't support hover, don't provide a hover
311
+ // state (e.g. on touch devices like iOS).
312
+ //
313
+ // We can't use `@media (hover: hover)` because we wouldn't get the hover
314
+ // state in browsers that don't support `@media (hover)` (like Internet
315
+ // Explorer) – so we have to 'undo' the hover state instead.
316
+ @media (hover: none), (pointer: coarse) {
317
+ .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
318
+ box-shadow: initial;
319
+ }
320
+
321
+ .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
322
+ box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
323
+ }
324
+ }
325
+ }
326
+ }
@@ -0,0 +1,2 @@
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,57 @@
1
+ @import "../error-message/index";
2
+ @import "../hint/index";
3
+ @import "../label/index";
4
+
5
+ @include govuk-exports("govuk/component/select") {
6
+ .govuk-select {
7
+ @include govuk-font($size: 19, $line-height: 1.25);
8
+
9
+ box-sizing: border-box;
10
+
11
+ // This min-width was chosen because:
12
+ // - it makes the Select wider than it is tall (which is what users expect)
13
+ // - 11.5em matches the 'length-10' variant of the input component
14
+ // - it fits comfortably on screens as narrow as 240px wide
15
+ min-width: 11.5em;
16
+ max-width: 100%;
17
+ height: govuk-px-to-rem(40px);
18
+ padding: govuk-spacing(1);
19
+ border: $govuk-border-width-form-element solid $govuk-input-border-colour;
20
+
21
+ // Default user agent colours for selects can have low contrast,
22
+ // and may look disabled (#2435)
23
+ color: $govuk-text-colour;
24
+ background-color: govuk-colour("white");
25
+
26
+ &:focus {
27
+ outline: $govuk-focus-width solid $govuk-focus-colour;
28
+ // Ensure outline appears outside of the element
29
+ outline-offset: 0;
30
+ // Double the border by adding its width again. Use `box-shadow` to do
31
+ // this instead of changing `border-width` (which changes element size)
32
+ // and since `outline` is already used for the yellow focus state.
33
+ box-shadow: inset 0 0 0 $govuk-border-width-form-element;
34
+ }
35
+
36
+ &:disabled {
37
+ opacity: 0.5;
38
+ color: inherit;
39
+ cursor: not-allowed;
40
+ }
41
+ }
42
+
43
+ .govuk-select option:active,
44
+ .govuk-select option:checked,
45
+ .govuk-select:focus::-ms-value {
46
+ color: govuk-colour("white");
47
+ background-color: govuk-colour("blue");
48
+ }
49
+
50
+ .govuk-select--error {
51
+ border-color: $govuk-error-colour;
52
+
53
+ &:focus {
54
+ border-color: $govuk-input-border-colour;
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,2 @@
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,252 @@
1
+ @include govuk-exports("govuk/component/service-navigation") {
2
+ $govuk-service-navigation-active-link-border-width: govuk-spacing(1);
3
+ $govuk-service-navigation-background: govuk-colour("light-grey");
4
+ $govuk-service-navigation-border-colour: $govuk-border-colour;
5
+
6
+ // We make the link colour a little darker than normal here so that it has
7
+ // better perceptual contrast with the navigation background.
8
+ $govuk-service-navigation-link-colour: govuk-shade($govuk-link-colour, 10%);
9
+
10
+ .govuk-service-navigation {
11
+ border-bottom-width: 1px;
12
+ border-bottom-style: solid;
13
+ @include _govuk-rebrand(
14
+ "border-bottom-color",
15
+ $from: $govuk-service-navigation-border-colour,
16
+ $to: $_govuk-rebrand-border-colour-on-blue-tint-95
17
+ );
18
+ @include _govuk-rebrand(
19
+ "background-color",
20
+ $from: $govuk-service-navigation-background,
21
+ $to: $_govuk-rebrand-template-background-colour
22
+ );
23
+ }
24
+
25
+ .govuk-service-navigation__container {
26
+ display: flex;
27
+ flex-direction: column;
28
+ align-items: start;
29
+
30
+ @include govuk-media-query($from: tablet) {
31
+ flex-direction: row;
32
+ flex-wrap: wrap;
33
+ }
34
+ }
35
+
36
+ // These styles are shared between nav items and the service name, they
37
+ // ensure that both of them remain vertically aligned with one another
38
+ .govuk-service-navigation__item,
39
+ .govuk-service-navigation__service-name {
40
+ position: relative;
41
+ margin: govuk-spacing(2) 0;
42
+ border: 0 solid $govuk-service-navigation-link-colour;
43
+
44
+ @include govuk-media-query($from: tablet) {
45
+ // inline-block is used as a fallback for browsers that don't support flexbox
46
+ display: inline-block;
47
+
48
+ margin-top: 0;
49
+ margin-bottom: 0;
50
+ padding: govuk-spacing(4) 0;
51
+
52
+ @include _govuk-rebrand {
53
+ padding: govuk-spacing(3) 0;
54
+
55
+ // More magic numbers ahoy:
56
+ // 29 is the desired height of the element (60), minus top and bottom
57
+ // padding (2×15), minus bottom border (1); 19 is the font-size at this
58
+ // point. This gives us the perfect fractional line height to make the
59
+ // overall component 60px high
60
+ line-height: (29 / 19);
61
+ }
62
+
63
+ &:not(:last-child) {
64
+ @include govuk-responsive-margin(6, $direction: right);
65
+ }
66
+ }
67
+ }
68
+
69
+ // Remove the top margin of the first nav item if there is a service name but
70
+ // there's no menu button (either because it doesn't exist or it's hidden)
71
+ .govuk-service-navigation__service-name + .govuk-service-navigation__wrapper {
72
+ .govuk-service-navigation__list:first-child,
73
+ .govuk-service-navigation__toggle[hidden] + .govuk-service-navigation__list {
74
+ .govuk-service-navigation__item:first-child {
75
+ margin-top: 0;
76
+ }
77
+ }
78
+ }
79
+
80
+ .govuk-service-navigation__item--active {
81
+ @include govuk-media-query($until: tablet) {
82
+ // Negative offset the left margin so we can place a current page indicator
83
+ // to the left without misaligning the list item text.
84
+ margin-left: ((govuk-spacing(2) + $govuk-service-navigation-active-link-border-width) * -1);
85
+ padding-left: govuk-spacing(2);
86
+ border-left-width: $govuk-service-navigation-active-link-border-width;
87
+ }
88
+
89
+ @include govuk-media-query($from: tablet) {
90
+ @include _govuk-rebrand(
91
+ "padding-bottom",
92
+ $from: govuk-spacing(4) - $govuk-service-navigation-active-link-border-width,
93
+ $to: govuk-spacing(3) - $govuk-service-navigation-active-link-border-width
94
+ );
95
+ border-bottom-width: $govuk-service-navigation-active-link-border-width;
96
+ }
97
+ }
98
+
99
+ .govuk-service-navigation__link {
100
+ @include govuk-link-common;
101
+ @include govuk-link-style-no-underline;
102
+ @include govuk-link-style-no-visited-state;
103
+
104
+ &:not(:hover):not(:focus) {
105
+ // We set the colour here as we don't want to override the hover or
106
+ // focus colours
107
+ color: $govuk-service-navigation-link-colour;
108
+ }
109
+ }
110
+
111
+ //
112
+ // Service name specific code
113
+ //
114
+
115
+ .govuk-service-navigation__service-name {
116
+ @include govuk-font($size: 19, $weight: bold);
117
+ }
118
+
119
+ // Annoyingly this requires a compound selector in order to overcome the
120
+ // specificity of the other link colour override we're doing
121
+ .govuk-service-navigation__service-name .govuk-service-navigation__link {
122
+ @include govuk-link-style-text;
123
+ }
124
+
125
+ // Allow navigation section to always take up maximum available space,
126
+ // rather than sizing to fit the content. This makes it easier to right align
127
+ // nav items and use slots.
128
+ .govuk-service-navigation__wrapper {
129
+ flex-grow: 1;
130
+ }
131
+
132
+ //
133
+ // Navigation list specific code
134
+ //
135
+
136
+ .govuk-service-navigation__toggle {
137
+ @include govuk-font($size: 19, $weight: bold);
138
+ display: inline-flex;
139
+ margin: govuk-spacing(2) 0;
140
+ padding: 0;
141
+ border: 0;
142
+ color: $govuk-service-navigation-link-colour;
143
+ background: none;
144
+ word-break: break-all;
145
+ cursor: pointer;
146
+ align-items: center;
147
+
148
+ &:focus {
149
+ @include govuk-focused-text;
150
+ }
151
+
152
+ &::after {
153
+ @include govuk-shape-arrow($direction: down, $base: 10px, $display: inline-block);
154
+ content: "";
155
+ margin-left: govuk-spacing(1);
156
+ }
157
+
158
+ &[aria-expanded="true"]::after {
159
+ @include govuk-shape-arrow($direction: up, $base: 10px, $display: inline-block);
160
+ }
161
+
162
+ // Ensure the button stays hidden if the hidden attribute is present
163
+ &[hidden] {
164
+ display: none;
165
+ }
166
+
167
+ // If we have both a service name and navigation toggle, remove the
168
+ // margin-top so that there isn't a bunch of space between them
169
+ .govuk-service-navigation__service-name + .govuk-service-navigation__wrapper & {
170
+ margin-top: 0;
171
+ }
172
+ }
173
+
174
+ .govuk-service-navigation__list {
175
+ @include govuk-font($size: 19);
176
+ margin: 0;
177
+ margin-bottom: govuk-spacing(3);
178
+ padding: 0;
179
+ list-style: none;
180
+
181
+ // Make the navigation list a flexbox. Doing so resolves a couple of
182
+ // accessibility problems caused by the list items being inline-blocks:
183
+ // - Removes the extra whitespace from between each list item that screen
184
+ // readers would pointlessly announce.
185
+ // - Fixes an NVDA issue in Firefox and Chrome <= 124 where it would read
186
+ // all of the links as a run-on sentence.
187
+ @include govuk-media-query($from: tablet) {
188
+ display: flex;
189
+ flex-wrap: wrap;
190
+ margin-bottom: 0;
191
+
192
+ // However... IE11 totally trips over flexbox and doesn't wrap anything,
193
+ // making all of the items into a single, horizontally scrolling row,
194
+ // which is no good. This CSS hack removes the flexbox definition for
195
+ // IE 9–11, reverting it to the flawed, but OK, non-flexbox version.
196
+ //
197
+ // CSS hack from http://browserhacks.com/#hack-a60b03e301a67f76a5a22221c739dc64
198
+ @media screen and (min-width: 0\0) {
199
+ display: block;
200
+ }
201
+ }
202
+ }
203
+
204
+ // This is a <strong> element that is used as a fallback mechanism for
205
+ // visually indicating the current page in scenarios where CSS isn't
206
+ // available. We don't actually want it to be bold normally, so set it to
207
+ // inherit the parent font-weight.
208
+ .govuk-service-navigation__active-fallback {
209
+ font-weight: inherit;
210
+ }
211
+
212
+ // Inverted colour scheme style intended for product pages
213
+ .govuk-service-navigation--inverse {
214
+ @include _govuk-rebrand {
215
+ // Remove bottom border to add width-container ones
216
+ border-bottom: none;
217
+
218
+ // Set colour here so non-link text (service name, slot content) can
219
+ // use it too.
220
+ color: govuk-colour("white");
221
+
222
+ background-color: $govuk-brand-colour;
223
+
224
+ .govuk-width-container {
225
+ border-width: 1px 0;
226
+ border-style: solid;
227
+ border-color: $_govuk-rebrand-border-colour-on-blue-tint-95;
228
+ }
229
+
230
+ // Subtract 1px of space to account for the extra border-top
231
+ .govuk-service-navigation__container {
232
+ margin-top: -1px;
233
+ }
234
+
235
+ // Override the 'active' border colour
236
+ .govuk-service-navigation__item,
237
+ .govuk-service-navigation__service-name {
238
+ border-color: govuk-colour("white");
239
+ }
240
+
241
+ // Override link styles
242
+ .govuk-service-navigation__link {
243
+ @include govuk-link-style-inverse;
244
+ }
245
+
246
+ // Override mobile menu toggle colour when not focused
247
+ .govuk-service-navigation__toggle:not(:focus) {
248
+ color: currentcolor;
249
+ }
250
+ }
251
+ }
252
+ }