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,66 @@
1
+ @use "../../core/settings" as *;
2
+ @use "../../core/tools" as *;
3
+
4
+ ////
5
+ /// Back link component
6
+ ///
7
+ /// 1. Allow space for the arrow.
8
+ /// 2. Align the icon with the start of the back link.
9
+ /// 3. Align the icon with the middle of the text.
10
+ /// 4. Make back link same height as breadcrumb.
11
+ ///
12
+ /// @group components
13
+ ////
14
+
15
+ .nhsuk-back-link {
16
+ padding-top: nhsuk-spacing(3);
17
+ line-height: 1; // [4]
18
+
19
+ @include nhsuk-media-query($from: tablet) {
20
+ padding-top: nhsuk-spacing(4);
21
+ }
22
+ }
23
+
24
+ .nhsuk-back-link__link {
25
+ background: none;
26
+ border: 0;
27
+ cursor: pointer;
28
+ display: inline-block;
29
+ padding: 0 0 0 16px; // [1]
30
+ position: relative;
31
+
32
+ @include nhsuk-link-style-default;
33
+ @include nhsuk-link-style-no-visited-state;
34
+ @include nhsuk-font-size(16);
35
+
36
+ .nhsuk-icon__chevron-left {
37
+ height: 24px;
38
+ left: -8px; // [2]
39
+ position: absolute;
40
+ top: -1px; // [3]
41
+ width: 24px;
42
+
43
+ @include nhsuk-media-query($from: tablet) {
44
+ top: 0; // [3]
45
+ }
46
+ }
47
+
48
+ .nhsuk-back-link--reverse & {
49
+ @include nhsuk-link-style-white;
50
+ }
51
+
52
+ &:link,
53
+ .nhsuk-back-link--reverse &:link {
54
+ text-decoration: none;
55
+ }
56
+
57
+ &:hover,
58
+ .nhsuk-back-link--reverse &:hover {
59
+ text-decoration: underline;
60
+ }
61
+ }
62
+
63
+ // stylelint-disable-next-line selector-no-qualifying-type
64
+ button.nhsuk-back-link__link {
65
+ text-decoration: none;
66
+ }
@@ -0,0 +1,138 @@
1
+ @use "../../core/settings" as *;
2
+ @use "../../core/tools" as *;
3
+
4
+ ////
5
+ /// Breadcrumb component
6
+ ///
7
+ /// 1. Hide the breadcrumb on print stylesheets.
8
+ /// 3. Don't show the full breadcrumb below tablet size.
9
+ /// 4. Typography sizing mixin, see core/tools/_typography
10
+ /// 5. and core/settings/_typography for size maps.
11
+ /// .. but show a back to index page link.
12
+ /// 6. Spacing to align the chevron with breadcrumb items
13
+ ///
14
+ /// @group components
15
+ ////
16
+
17
+ .nhsuk-breadcrumb {
18
+ padding-top: nhsuk-spacing(3);
19
+ @include nhsuk-print-hide; // [1]
20
+
21
+ @include nhsuk-media-query($from: tablet) {
22
+ padding-top: nhsuk-spacing(4);
23
+ }
24
+ }
25
+
26
+ .nhsuk-breadcrumb__list {
27
+ list-style: none;
28
+ margin: 0;
29
+ padding: 0;
30
+
31
+ @include nhsuk-font(16); // [4]
32
+
33
+ @include nhsuk-media-query($until: tablet) {
34
+ display: none; // [3]
35
+ }
36
+ }
37
+
38
+ .nhsuk-breadcrumb__item {
39
+ $chevron-background: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23768692' height='18' width='18' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z'%3E%3C/path%3E%3C/svg%3E";
40
+ $chevron-background-reverse: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23aeb7bd' height='18' width='18' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 12a1 1 0 0 1-.29.71l-5 5a1 1 0 0 1-1.42-1.42l4.3-4.29-4.3-4.29a1 1 0 0 1 1.42-1.42l5 5a1 1 0 0 1 .29.71z'%3E%3C/path%3E%3C/svg%3E";
41
+
42
+ display: inline-block;
43
+ margin-bottom: 0;
44
+ @include nhsuk-font(16); // [4]
45
+
46
+ &:not(:last-child)::after {
47
+ background: url($chevron-background) no-repeat 0 0;
48
+ content: "";
49
+ display: inline-block;
50
+ height: 19px; // [6]
51
+ margin-left: 9px; // [6]
52
+ margin-right: 2px; // [6]
53
+ vertical-align: middle; // [6]
54
+ width: 18px; // [6]
55
+ }
56
+
57
+ .nhsuk-breadcrumb--reverse &:not(:last-child)::after {
58
+ background-image: url($chevron-background-reverse);
59
+ }
60
+ }
61
+
62
+ .nhsuk-breadcrumb__link {
63
+ @include nhsuk-link-style-no-visited-state;
64
+
65
+ .nhsuk-breadcrumb--reverse & {
66
+ @include nhsuk-link-style-white;
67
+ }
68
+ }
69
+
70
+ .nhsuk-breadcrumb__back {
71
+ margin: 0;
72
+ line-height: 1;
73
+
74
+ @include nhsuk-media-query($from: tablet) {
75
+ display: none; // [5]
76
+ }
77
+ }
78
+
79
+ .nhsuk-breadcrumb__backlink {
80
+ $icon-background: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23005eb8' height='24' width='24' viewBox='8 0 24 24'%3E%3Cpath d='M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z'%3E%3C/path%3E%3C/svg%3E";
81
+ $icon-background-hover: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%237c2855' height='24' width='24' viewBox='8 0 24 24'%3E%3Cpath d='M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z'%3E%3C/path%3E%3C/svg%3E";
82
+ $icon-background-focus: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23212b32' height='24' width='24' viewBox='8 0 24 24'%3E%3Cpath d='M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z'%3E%3C/path%3E%3C/svg%3E";
83
+ $icon-background-reverse: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' height='24' width='24' viewBox='8 0 24 24'%3E%3Cpath d='M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z'%3E%3C/path%3E%3C/svg%3E";
84
+
85
+ background: none;
86
+ border: 0;
87
+ cursor: pointer;
88
+ display: inline-block;
89
+ padding: 0 0 0 16px;
90
+ position: relative;
91
+
92
+ @include nhsuk-link-style-no-visited-state;
93
+ @include nhsuk-font(16); // [4]
94
+
95
+ &::before {
96
+ background: url($icon-background) no-repeat 8px 0;
97
+ content: "";
98
+ display: block;
99
+
100
+ height: 24px;
101
+ left: -8px;
102
+ position: absolute;
103
+ top: -1px;
104
+ width: 24px;
105
+
106
+ @include nhsuk-media-query($from: tablet) {
107
+ top: 0; // [3]
108
+ }
109
+ }
110
+
111
+ .nhsuk-breadcrumb--reverse & {
112
+ @include nhsuk-link-style-white;
113
+ }
114
+
115
+ &:link,
116
+ .nhsuk-breadcrumb--reverse &:link {
117
+ text-decoration: none;
118
+ }
119
+
120
+ &:hover,
121
+ .nhsuk-breadcrumb--reverse &:hover {
122
+ text-decoration: underline;
123
+ }
124
+
125
+ &:hover::before {
126
+ background-image: url($icon-background-hover);
127
+ }
128
+
129
+ .nhsuk-breadcrumb--reverse &::before,
130
+ .nhsuk-breadcrumb--reverse &:active::before {
131
+ background-image: url($icon-background-reverse);
132
+ }
133
+
134
+ &:focus::before,
135
+ &:active::before {
136
+ background-image: url($icon-background-focus);
137
+ }
138
+ }
@@ -0,0 +1,257 @@
1
+ @use "sass:math";
2
+ @use "../../core/settings" as *;
3
+ @use "../../core/tools" as *;
4
+
5
+ ////
6
+ /// Button component
7
+ ///
8
+ /// 1. Ensure that any global link styles are overridden.
9
+ /// 2. Fix unwanted button padding in Firefox.
10
+ /// 3. Use a pseudo element to expand the click target area to include the
11
+ /// button's shadow as well, in case users try to click it.
12
+ /// 4. Use a pseudo element to expand and cover the button's bounds, used to
13
+ /// add a button shadow or border without affecting the total height
14
+ ///
15
+ /// @group components
16
+ ////
17
+
18
+ // Because the shadow (s0) is visually 'part of' the button, we need to reduce
19
+ // the height of the button to compensate by adjusting its padding (s2) and
20
+ // increase the bottom margin to include it (s1).
21
+ $button-border-radius: $nhsuk-border-width-form-element * 2;
22
+ $button-shadow-size: $button-border-radius;
23
+ $button-padding-top-bottom-mobile: 8px;
24
+ $button-padding-top-bottom-desktop: 12px;
25
+ $button-padding-left-right: 16px;
26
+
27
+ .nhsuk-button {
28
+ -webkit-appearance: none;
29
+ // Set shadow below the button [4]
30
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-button-shadow-color; // s0
31
+ background-color: $nhsuk-button-color;
32
+ border: $nhsuk-border-width-form-element solid transparent;
33
+ border-radius: $button-border-radius;
34
+ box-sizing: border-box;
35
+ cursor: pointer;
36
+ display: inline-block;
37
+ overflow: visible;
38
+ margin-top: 0;
39
+ padding: $button-padding-top-bottom-mobile $button-padding-left-right; // s2
40
+ position: relative;
41
+ text-align: center;
42
+ vertical-align: top;
43
+ width: auto;
44
+
45
+ @include nhsuk-font(19, $weight: bold);
46
+ @include nhsuk-responsive-margin(5, "bottom", $adjustment: $button-shadow-size); // s1
47
+
48
+ @include nhsuk-media-query($from: tablet) {
49
+ padding: $button-padding-top-bottom-desktop $button-padding-left-right; // s2
50
+ }
51
+
52
+ // [1]
53
+ &,
54
+ &:hover,
55
+ &:active {
56
+ text-decoration: none;
57
+
58
+ &,
59
+ &:visited {
60
+ color: $nhsuk-button-text-color;
61
+ }
62
+ }
63
+
64
+ // [2]
65
+ &::-moz-focus-inner {
66
+ border: 0;
67
+ padding: 0;
68
+ }
69
+
70
+ &:hover {
71
+ background-color: $nhsuk-button-hover-color;
72
+ }
73
+
74
+ // Reset focus styles added to buttons as links
75
+ &:focus {
76
+ box-shadow: none;
77
+ outline: none;
78
+ }
79
+
80
+ // Add button focus styles ensuring the active "pressed" state has priority
81
+ &:focus:not(:active),
82
+ &:focus:not(:active):hover {
83
+ @include nhsuk-focused-button;
84
+
85
+ // stylelint-disable-next-line no-duplicate-selectors
86
+ & {
87
+ // Set shadow below the button [4]
88
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-focus-text-color; // s0
89
+ }
90
+ }
91
+
92
+ // Remove button shadow when pressed
93
+ &:active,
94
+ &:active:focus {
95
+ box-shadow: none;
96
+ background-color: $nhsuk-button-active-color;
97
+ top: $button-shadow-size;
98
+ }
99
+
100
+ // Default pseudo element styles for [3] and [4] below
101
+ &::before,
102
+ &::after {
103
+ content: "";
104
+ display: block;
105
+ position: absolute;
106
+ top: -$nhsuk-border-width-form-element;
107
+ right: -$nhsuk-border-width-form-element;
108
+ bottom: -$nhsuk-border-width-form-element;
109
+ left: -$nhsuk-border-width-form-element;
110
+ border-radius: $button-border-radius;
111
+ }
112
+
113
+ // Use a pseudo element to expand the click target area to include the
114
+ // button's shadow as well, in case users try to click it [3]
115
+ &::before {
116
+ bottom: -($nhsuk-border-width-form-element + $button-shadow-size);
117
+ border: $nhsuk-border-width-form-element solid transparent;
118
+ background-color: transparent;
119
+ }
120
+
121
+ // When the button is active it is shifted down by $button-shadow-size to
122
+ // denote a 'pressed' state. If the user happened to click at the very top
123
+ // of the button, their mouse is no longer over the button (because it has
124
+ // 'moved beneath them') and so the click event is not fired.
125
+ //
126
+ // This corrects that by shifting the top of the pseudo element so that it
127
+ // continues to cover the area that the user originally clicked, which means
128
+ // the click event is still fired.
129
+ &:active::before {
130
+ top: -($nhsuk-border-width-form-element + $button-shadow-size);
131
+ bottom: -$nhsuk-border-width-form-element;
132
+ }
133
+ }
134
+
135
+ /// Button variations
136
+
137
+ .nhsuk-button--secondary,
138
+ .nhsuk-button--secondary-solid {
139
+ &,
140
+ &:visited,
141
+ &:hover,
142
+ &:hover:visited,
143
+ &:active,
144
+ &:active:visited {
145
+ color: $nhsuk-secondary-button-text-color;
146
+ }
147
+
148
+ &:hover {
149
+ background-color: $nhsuk-secondary-button-hover-color;
150
+ }
151
+
152
+ // Set border for active state (no shadow)
153
+ &:active,
154
+ &:active:focus {
155
+ background-color: $nhsuk-secondary-button-active-color;
156
+ border-color: $nhsuk-secondary-button-border-color;
157
+ border-radius: $button-border-radius;
158
+ }
159
+
160
+ // Set border on click area for default and hover states which allows the
161
+ // border to render underneath the shadow and hide pixel artifacts, but
162
+ // ensuring the active "pressed" and focus states have priority [3]
163
+ &:not(:focus):not(:active)::before {
164
+ border-color: $nhsuk-secondary-button-border-color;
165
+ }
166
+
167
+ // Set shadow on both the button and the pseudo element. The button shadow
168
+ // remains in place to prevent any pixel gaps due to browser rounding [4]
169
+ &,
170
+ &::after {
171
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-secondary-button-shadow-color; // s0
172
+ }
173
+
174
+ // Inset the pseudo element shadow away from the edges, to restore lost
175
+ // border radius (and its shadow) previously hidden by the 2px border [4]
176
+ &:not(:focus)::after {
177
+ left: 0;
178
+ right: 0;
179
+ border-radius: math.div($button-border-radius, 2);
180
+ }
181
+
182
+ // Remove the pseudo element shadow when focused or pressed
183
+ &:focus::after,
184
+ &:active::after {
185
+ box-shadow: none;
186
+ }
187
+ }
188
+
189
+ .nhsuk-button--secondary {
190
+ background-color: $nhsuk-secondary-button-color;
191
+ }
192
+
193
+ .nhsuk-button--secondary-solid {
194
+ background-color: $nhsuk-secondary-button-solid-background-color;
195
+ }
196
+
197
+ .nhsuk-button--reverse {
198
+ // Set shadow below the button [4]
199
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-reverse-button-shadow-color; // s0
200
+ background-color: $nhsuk-reverse-button-color;
201
+
202
+ &,
203
+ &:visited,
204
+ &:hover,
205
+ &:hover:visited,
206
+ &:active,
207
+ &:active:visited {
208
+ color: $nhsuk-reverse-button-text-color;
209
+ }
210
+
211
+ &:hover {
212
+ background-color: $nhsuk-reverse-button-hover-color;
213
+ }
214
+
215
+ &:active,
216
+ &:active:focus {
217
+ background-color: $nhsuk-reverse-button-active-color;
218
+ }
219
+ }
220
+
221
+ .nhsuk-button--warning {
222
+ // Set shadow below the button [4]
223
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-warning-button-shadow-color; // s0
224
+ background-color: $nhsuk-warning-button-color;
225
+
226
+ &:hover {
227
+ background-color: $nhsuk-warning-button-hover-color;
228
+ }
229
+
230
+ &:active,
231
+ &:active:focus {
232
+ background-color: $nhsuk-warning-button-active-color;
233
+ }
234
+ }
235
+
236
+ .nhsuk-button--login {
237
+ // Set shadow below the button [4]
238
+ box-shadow: 0 $button-shadow-size 0 $nhsuk-login-button-shadow-color; // s0
239
+ background-color: $nhsuk-login-button-color;
240
+
241
+ &:hover {
242
+ background-color: $nhsuk-login-button-hover-color;
243
+ }
244
+
245
+ &:active,
246
+ &:active:focus {
247
+ background-color: $nhsuk-login-button-active-color;
248
+ }
249
+ }
250
+
251
+ /// Button disabled states
252
+
253
+ .nhsuk-button--disabled,
254
+ .nhsuk-button:disabled {
255
+ opacity: (0.5);
256
+ pointer-events: none;
257
+ }