govuk_publishing_components 62.0.0 → 62.1.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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +4 -3
  3. data/app/assets/javascripts/govuk_publishing_components/lib/filter-list.js +48 -0
  4. data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +373 -245
  5. data/app/assets/stylesheets/component_guide/application.scss +1 -42
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_button.scss +5 -1
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +6 -11
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_option-select.scss +2 -2
  9. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +6 -38
  10. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_warning-callout.scss +2 -3
  11. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +6 -1
  12. data/app/controllers/govuk_publishing_components/applications_page_controller.rb +50 -0
  13. data/app/models/govuk_publishing_components/applications_page.rb +64 -0
  14. data/app/views/govuk_publishing_components/applications_page/_table-content.html.erb +39 -0
  15. data/app/views/govuk_publishing_components/applications_page/show.html.erb +37 -0
  16. data/app/views/govuk_publishing_components/audit/show.html.erb +5 -1
  17. data/app/views/govuk_publishing_components/component_guide/_component_list.html.erb +14 -0
  18. data/app/views/govuk_publishing_components/component_guide/example.html.erb +3 -3
  19. data/app/views/govuk_publishing_components/component_guide/index.html.erb +50 -75
  20. data/app/views/govuk_publishing_components/component_guide/show.html.erb +7 -7
  21. data/app/views/govuk_publishing_components/components/contextual_sidebar/_ukraine_cta.html.erb +27 -25
  22. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +6 -0
  23. data/app/views/govuk_publishing_components/components/docs/organisation_logo.yml +7 -1
  24. data/config/routes.rb +1 -0
  25. data/lib/govuk_publishing_components/minitest/component_guide_test.rb +1 -1
  26. data/lib/govuk_publishing_components/presenters/organisation_logo_helper.rb +7 -1
  27. data/lib/govuk_publishing_components/version.rb +1 -1
  28. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +37 -133
  29. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js.map +1 -1
  30. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +37 -133
  31. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs.map +1 -1
  32. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  33. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss +4 -4
  34. data/node_modules/govuk-frontend/dist/govuk/components/accordion/_index.scss.map +1 -1
  35. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +1 -126
  36. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js.map +1 -1
  37. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +1 -126
  38. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs.map +1 -1
  39. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss +1 -1
  40. data/node_modules/govuk-frontend/dist/govuk/components/breadcrumbs/_index.scss.map +1 -1
  41. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss +2 -2
  42. data/node_modules/govuk-frontend/dist/govuk/components/button/_index.scss.map +1 -1
  43. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +1 -126
  44. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js.map +1 -1
  45. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +1 -126
  46. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs.map +1 -1
  47. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/fixtures.json +34 -29
  48. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/macro-options.json +1 -1
  49. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-default.html +23 -23
  50. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-conditional-reveal.html +21 -21
  51. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-divider-and-none.html +30 -30
  52. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-error.html +26 -26
  53. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-hint.html +25 -25
  54. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small-with-long-text.html +23 -23
  55. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-small.html +23 -23
  56. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-conditional-items.html +35 -35
  57. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-and-none.html +30 -30
  58. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-divider-none-and-conditional-items.html +40 -40
  59. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-error-message.html +32 -32
  60. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hint.html +25 -25
  61. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-hints-on-items.html +21 -21
  62. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-legend-as-a-page-heading.html +27 -27
  63. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-optional-form-group-classes-showing-group-error.html +36 -36
  64. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-pre-checked-values.html +35 -35
  65. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template-with-very-long-option-text.html +25 -25
  66. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/template.njk +1 -1
  67. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss +1 -1
  68. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/_index.scss.map +1 -1
  69. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +1 -126
  70. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js.map +1 -1
  71. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +1 -126
  72. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs.map +1 -1
  73. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +2 -1
  74. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss.map +1 -1
  75. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +36 -132
  76. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js.map +1 -1
  77. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +36 -132
  78. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs.map +1 -1
  79. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +35 -6
  80. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs.map +1 -1
  81. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/fixtures.json +17 -0
  82. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/template-enhanced-multiple-files.html +10 -0
  83. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss +4 -4
  84. data/node_modules/govuk-frontend/dist/govuk/components/footer/_index.scss.map +1 -1
  85. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +20 -20
  86. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss.map +1 -1
  87. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss +7 -15
  88. data/node_modules/govuk-frontend/dist/govuk/components/input/_index.scss.map +1 -1
  89. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss +2 -2
  90. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/_index.scss.map +1 -1
  91. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss +4 -2
  92. data/node_modules/govuk-frontend/dist/govuk/components/pagination/_index.scss.map +1 -1
  93. data/node_modules/govuk-frontend/dist/govuk/components/pagination/fixtures.json +1 -1
  94. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template-with-many-pages.html +2 -2
  95. data/node_modules/govuk-frontend/dist/govuk/components/pagination/template.njk +1 -1
  96. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss +2 -2
  97. data/node_modules/govuk-frontend/dist/govuk/components/panel/_index.scss.map +1 -1
  98. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss +2 -2
  99. data/node_modules/govuk-frontend/dist/govuk/components/password-input/_index.scss.map +1 -1
  100. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +1 -126
  101. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js.map +1 -1
  102. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +1 -126
  103. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs.map +1 -1
  104. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss +1 -1
  105. data/node_modules/govuk-frontend/dist/govuk/components/phase-banner/_index.scss.map +1 -1
  106. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss +1 -1
  107. data/node_modules/govuk-frontend/dist/govuk/components/radios/_index.scss.map +1 -1
  108. data/node_modules/govuk-frontend/dist/govuk/components/radios/fixtures.json +36 -31
  109. data/node_modules/govuk-frontend/dist/govuk/components/radios/macro-options.json +3 -3
  110. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-default.html +17 -17
  111. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-inline.html +19 -19
  112. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-inline.html +23 -23
  113. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-a-divider.html +24 -24
  114. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-conditional-reveal.html +27 -27
  115. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-error.html +26 -26
  116. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-hint.html +25 -25
  117. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small-with-long-text.html +23 -23
  118. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-small.html +23 -23
  119. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-a-divider.html +24 -24
  120. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-item-checked.html +35 -35
  121. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items-and-pre-checked-value.html +35 -35
  122. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-conditional-items.html +35 -35
  123. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-fieldset-and-error-message.html +20 -20
  124. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hint.html +19 -19
  125. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-hints-on-items.html +23 -23
  126. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-legend-as-page-heading.html +21 -21
  127. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-optional-form-group-classes-showing-group-error.html +36 -36
  128. data/node_modules/govuk-frontend/dist/govuk/components/radios/template-with-very-long-option-text.html +28 -28
  129. data/node_modules/govuk-frontend/dist/govuk/components/radios/template.njk +1 -1
  130. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss +1 -7
  131. data/node_modules/govuk-frontend/dist/govuk/components/select/_index.scss.map +1 -1
  132. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss +5 -5
  133. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/_index.scss.map +1 -1
  134. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +16 -16
  135. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss.map +1 -1
  136. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss +1 -1
  137. data/node_modules/govuk-frontend/dist/govuk/components/table/_index.scss.map +1 -1
  138. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss +1 -1
  139. data/node_modules/govuk-frontend/dist/govuk/components/tabs/_index.scss.map +1 -1
  140. data/node_modules/govuk-frontend/dist/govuk/components/task-list/fixtures.json +46 -0
  141. data/node_modules/govuk-frontend/dist/govuk/components/task-list/template-forced-hover-state.html +37 -0
  142. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss +1 -7
  143. data/node_modules/govuk-frontend/dist/govuk/components/textarea/_index.scss.map +1 -1
  144. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss +1 -1
  145. data/node_modules/govuk-frontend/dist/govuk/components/warning-text/_index.scss.map +1 -1
  146. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +1 -1
  147. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss +2 -2
  148. data/node_modules/govuk-frontend/dist/govuk/core/_lists.scss.map +1 -1
  149. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss +3 -3
  150. data/node_modules/govuk-frontend/dist/govuk/core/_typography.scss.map +1 -1
  151. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css +2 -2
  152. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.css.map +1 -1
  153. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  154. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js.map +1 -1
  155. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss +34 -0
  156. data/node_modules/govuk-frontend/dist/govuk/helpers/_focused.scss.map +1 -1
  157. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss +1 -1
  158. data/node_modules/govuk-frontend/dist/govuk/helpers/_grid.scss.map +1 -1
  159. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss +1 -1
  160. data/node_modules/govuk-frontend/dist/govuk/helpers/_links.scss.map +1 -1
  161. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss +172 -33
  162. data/node_modules/govuk-frontend/dist/govuk/helpers/_media-queries.scss.map +1 -1
  163. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss +1 -1
  164. data/node_modules/govuk-frontend/dist/govuk/helpers/_spacing.scss.map +1 -1
  165. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss +4 -4
  166. data/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss.map +1 -1
  167. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs +1 -126
  168. data/node_modules/govuk-frontend/dist/govuk/i18n.mjs.map +1 -1
  169. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss +1 -1
  170. data/node_modules/govuk-frontend/dist/govuk/objects/_button-group.scss.map +1 -1
  171. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss +1 -1
  172. data/node_modules/govuk-frontend/dist/govuk/objects/_main-wrapper.scss.map +1 -1
  173. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss +1 -1
  174. data/node_modules/govuk-frontend/dist/govuk/objects/_template.scss.map +1 -1
  175. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss +2 -2
  176. data/node_modules/govuk-frontend/dist/govuk/objects/_width-container.scss.map +1 -1
  177. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss +1 -1
  178. data/node_modules/govuk-frontend/dist/govuk/overrides/_display.scss.map +1 -1
  179. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss +5 -5
  180. data/node_modules/govuk-frontend/dist/govuk/overrides/_width.scss.map +1 -1
  181. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss +7 -0
  182. data/node_modules/govuk-frontend/dist/govuk/settings/_media-queries.scss.map +1 -1
  183. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss +4 -2
  184. data/node_modules/govuk-frontend/dist/govuk/tools/_px-to-em.scss.map +1 -1
  185. data/node_modules/govuk-frontend/govuk-prototype-kit.config.json +1 -1
  186. data/node_modules/govuk-frontend/package.json +9 -8
  187. metadata +9 -4
  188. data/app/assets/javascripts/component_guide/filter-components.js +0 -35
  189. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss +0 -349
  190. data/node_modules/govuk-frontend/dist/govuk/vendor/_sass-mq.scss.map +0 -1
@@ -7,39 +7,8 @@
7
7
 
8
8
  $gem-guide-border-width: 1px;
9
9
 
10
- .component-list {
11
- @include govuk-text-colour;
12
- @extend %govuk-list--bullet;
13
-
14
- li {
15
- margin-bottom: govuk-spacing(3);
16
- @include govuk-font($size: 19);
17
- }
18
-
19
- p {
20
- margin: 0;
21
- }
22
- }
23
-
24
- .component-search {
25
- display: none;
26
-
27
- .js-enabled & {
28
- display: block;
29
- margin-top: govuk-spacing(9);
30
- }
31
- }
32
-
33
- .component-guide-hidden {
34
- display: none;
35
- }
36
-
37
10
  .component-doc {
38
11
  @include govuk-font($size: 16);
39
-
40
- .component-doc-h2:first-child {
41
- margin-top: 0;
42
- }
43
12
  }
44
13
 
45
14
  .component-violation {
@@ -61,16 +30,6 @@ $gem-guide-border-width: 1px;
61
30
  }
62
31
  }
63
32
 
64
- .component-doc-h2 {
65
- margin: (govuk-spacing(6) * 1.5) 0 govuk-spacing(6);
66
- @include govuk-text-colour;
67
- @include govuk-font($size: 27, $weight: bold);
68
-
69
- small {
70
- @include govuk-font($size: 16, $weight: bold);
71
- }
72
- }
73
-
74
33
  .component-call {
75
34
  margin-top: -$gem-guide-border-width;
76
35
  margin-bottom: govuk-spacing(3);
@@ -109,7 +68,7 @@ $gem-guide-border-width: 1px;
109
68
  }
110
69
 
111
70
  .component-guide-preview {
112
- padding: govuk-spacing(6);
71
+ padding: govuk-spacing(8) govuk-spacing(6) govuk-spacing(6) govuk-spacing(6);
113
72
  border: $gem-guide-border-width solid $govuk-border-colour;
114
73
  position: relative;
115
74
 
@@ -108,7 +108,11 @@
108
108
  display: inline-block;
109
109
  padding: govuk-spacing(1);
110
110
  border: solid 1px govuk-colour("black");
111
- color: $govuk-text-colour;
111
+ color: $govuk-print-text-colour !important; // stylelint-disable-line declaration-no-important
112
112
  text-decoration: none;
113
+
114
+ &::after {
115
+ display: none;
116
+ }
113
117
  }
114
118
  }
@@ -34,16 +34,11 @@
34
34
  text-decoration: none;
35
35
  }
36
36
 
37
- .gem-c-contextual-sidebar__cta--ukraine {
38
- border-top: 7px solid #fed700;
39
- position: relative;
40
-
41
- &::before {
42
- content: "";
43
- position: absolute;
44
- left: 0;
45
- right: 0;
46
- top: -14px;
47
- border-top: 7px solid #4b7ec1;
37
+ .gem-c-contextual-sidebar__cta-ukraine {
38
+ margin-top: -7px;
39
+ border-top: 7px solid #4b7ec1;
40
+
41
+ .gem-c-contextual-sidebar__cta {
42
+ border-top: 7px solid #fed700;
48
43
  }
49
44
  }
@@ -85,7 +85,7 @@
85
85
 
86
86
  .gem-c-option-select__container {
87
87
  position: relative;
88
- max-height: 200px;
88
+ max-height: 180px;
89
89
  overflow-y: auto;
90
90
  overflow-x: hidden;
91
91
  background-color: govuk-colour("white");
@@ -144,7 +144,7 @@
144
144
  }
145
145
 
146
146
  .gem-c-option-select__container {
147
- height: 200px;
147
+ height: 180px;
148
148
  }
149
149
 
150
150
  .gem-c-option-select__container--large {
@@ -1,44 +1,12 @@
1
- // stylelint-disable scss/at-extend-no-missing-placeholder
1
+ @import "govuk/components/button/button";
2
+
2
3
  .govspeak, // Legacy class name that's still used in some content items - needs to be kept until `.govspeak` is removed from the content items.
3
4
  .gem-c-govspeak {
4
- @import "govuk/components/button/button";
5
-
6
- // Some links in Govspeak should look like buttons[1] when using:
7
- // ```
8
- // {button}[Random page](https://gov.uk/random){/button}
9
- // ```.
10
- //
11
- // To make sure that the link styles don't override the button styles this
12
- // needs more specificity.
13
- //
14
- // Govspeak targets link by using element selectors; so the selector
15
- // `.gem-c-govspeak a:link` will override `.govuk-button`. Extending
16
- // `govuk-button` here gives `gem-c-govspeak .gem-c-button` and prevents the
17
- // link-that-looks-like-a-button from being overriden.
18
-
19
- // [1]: https://github.com/alphagov/govspeak#button
20
- .gem-c-button {
21
- @extend .govuk-button;
22
- }
23
-
24
- .govuk-button--start {
25
- @extend .govuk-button--start;
26
- }
27
-
28
- @include govuk-media-query($media-type: print) {
29
- .gem-c-button {
30
- box-shadow: none;
31
- border: 2pt solid $govuk-print-text-colour;
32
-
33
- &,
34
- & * {
35
- background: none;
36
- color: $govuk-print-text-colour !important; // stylelint-disable-line declaration-no-important
37
- }
5
+ .govuk-button {
6
+ margin-bottom: 32px;
38
7
 
39
- &::after {
40
- display: none;
41
- }
8
+ @include govuk-media-query($until: tablet) {
9
+ margin-bottom: 22px;
42
10
  }
43
11
  }
44
12
  }
@@ -6,12 +6,11 @@
6
6
  // - alphagov/whitehall: ✔︎
7
7
  // - alphagov/govspeak: ✔︎
8
8
 
9
- // stylelint-disable max-nesting-depth
9
+ @import "govuk/components/warning-text/warning-text";
10
10
 
11
+ // stylelint-disable max-nesting-depth
11
12
  .govspeak, // Legacy class name that's still used in some content items - needs to be kept until `.govspeak` is removed from the content items.
12
13
  .gem-c-govspeak {
13
- @import "govuk/components/warning-text/warning-text";
14
-
15
14
  .help-notice {
16
15
  $icon-size: 35px;
17
16
  $icon-spacing: 10px;
@@ -49,7 +49,7 @@
49
49
 
50
50
  // Links
51
51
 
52
- a {
52
+ a:not(.govuk-button) {
53
53
  @include govuk-link-common;
54
54
  @include govuk-link-style-default;
55
55
  @include govuk-text-break-word;
@@ -75,6 +75,11 @@
75
75
  list-style: disc;
76
76
  }
77
77
 
78
+ .list-no-bullets {
79
+ list-style: none;
80
+ margin: 0;
81
+ }
82
+
78
83
  li {
79
84
  margin: 0 0 govuk-spacing(2);
80
85
  padding: 0;
@@ -0,0 +1,50 @@
1
+ module GovukPublishingComponents
2
+ class ApplicationsPageController < GovukPublishingComponents::ApplicationController
3
+ def show
4
+ applications = [
5
+ {
6
+ type: "public-facing",
7
+ apps: %w[collections email-alert-frontend feedback finder-frontend frontend government-frontend smart-answers static].sort,
8
+ },
9
+ {
10
+ type: "publishing",
11
+ apps: %w[content-data-admin collections-publisher travel-advice-publisher whitehall datagovuk_find local-links-manager places-manager support manuals-publisher service-manual-publisher short-url-manager specialist-publisher content-tagger publisher transition search-admin].sort,
12
+ },
13
+ {
14
+ type: "utility",
15
+ apps: %w[account-api signon govspeak govspeak-preview release govuk-developer-docs govuk-chat].sort,
16
+ },
17
+ ]
18
+
19
+ @cache_status = Rails.application.config.cache_store != :null_store
20
+ @performcache_status = Rails.application.config.action_controller.perform_caching
21
+
22
+ @applications_output = Rails.cache.fetch("applications_cache", expires_in: 5.minutes) do
23
+ applications_data(applications)
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def applications_data(applications)
30
+ output = []
31
+ applications.each do |type|
32
+ type[:apps].each do |application|
33
+ app = ApplicationsPage.new(application)
34
+
35
+ output << {
36
+ name: app.readable_name,
37
+ type: type[:type],
38
+ link: "https://github.com/alphagov/#{application}",
39
+ source: app.source,
40
+ gem_version: app.gem_version,
41
+ gem_version_status: app.gem_version == GovukPublishingComponents::VERSION ? "green" : "red",
42
+ slimmer_version: app.slimmer_version,
43
+ sass_version: app.sass_version,
44
+ }
45
+ end
46
+ end
47
+ output
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,64 @@
1
+ module GovukPublishingComponents
2
+ class ApplicationsPage
3
+ attr_reader :source
4
+
5
+ def initialize(application)
6
+ @application = application
7
+ @dir = get_directory
8
+ @gemfilelock = get_gemfile
9
+ end
10
+
11
+ def readable_name
12
+ @application.gsub("-", " ").capitalize
13
+ end
14
+
15
+ def gem_version
16
+ parse_file(@gemfilelock, /govuk_publishing_components \(([^)>=~ ]+)\)/)
17
+ end
18
+
19
+ def slimmer_version
20
+ parse_file(@gemfilelock, /slimmer \(([^)>=~ ]+)\)/)
21
+ end
22
+
23
+ def sass_version
24
+ parse_file(@gemfilelock, /sass-embedded \(([^)>=~ ]+)\)/)
25
+ end
26
+
27
+ private
28
+
29
+ def get_directory
30
+ app_dir = "#{File.expand_path('..')}/#{@application}"
31
+ Dir.exist?(app_dir) ? app_dir : false
32
+ end
33
+
34
+ def get_gemfile
35
+ @dir ? get_gemfile_local : get_gemfile_remote
36
+ end
37
+
38
+ def get_gemfile_local
39
+ lockfile = "#{@dir}/Gemfile.lock"
40
+ return unless File.file?(lockfile)
41
+
42
+ @source = "local"
43
+ File.read(lockfile)
44
+ end
45
+
46
+ def get_gemfile_remote
47
+ uri = URI("https://raw.githubusercontent.com/alphagov/#{@application}/main/Gemfile.lock")
48
+ result = Net::HTTP.get_response(uri)
49
+ if result.is_a?(Net::HTTPSuccess)
50
+ @source = "remote"
51
+ result.body
52
+ end
53
+ rescue StandardError
54
+ @source = nil
55
+ end
56
+
57
+ def parse_file(src, regex)
58
+ return unless src
59
+
60
+ matches = src.match(regex)
61
+ matches[1] if matches
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,39 @@
1
+ <% content.each do |app| %>
2
+ <tr class="govuk-table__row" data-filter-item>
3
+ <td class="govuk-table__cell">
4
+ <a href="<%= app[:link] %>" class="govuk-link"><%= app[:name] %></a>
5
+ </td>
6
+ <td class="govuk-table__cell">
7
+ <%= type %>
8
+ </td>
9
+ <td class="govuk-table__cell">
10
+ <% if app[:source] %>
11
+ <%= app[:source] %>
12
+ <% else %>
13
+ not found
14
+ <% end %>
15
+ </td>
16
+ <td class="govuk-table__cell">
17
+ <% if app[:gem_version] %>
18
+ <%= render "govuk_publishing_components/components/tag", {
19
+ text: app[:gem_version],
20
+ colour: app[:gem_version_status],
21
+ } %>
22
+ <% end %>
23
+ </td>
24
+ <td class="govuk-table__cell">
25
+ <% if app[:slimmer_version] %>
26
+ <%= render "govuk_publishing_components/components/tag", {
27
+ text: app[:slimmer_version],
28
+ } %>
29
+ <% end %>
30
+ </td>
31
+ <td class="govuk-table__cell">
32
+ <% if app[:sass_version] %>
33
+ <%= render "govuk_publishing_components/components/tag", {
34
+ text: app[:sass_version],
35
+ } %>
36
+ <% end %>
37
+ </td>
38
+ </tr>
39
+ <% end %>
@@ -0,0 +1,37 @@
1
+ <% content_for :title, "Applications consistency" %>
2
+ <% add_gem_component_stylesheet("table") %>
3
+
4
+ <%= render "govuk_publishing_components/components/back_link", {
5
+ href: "/component-guide",
6
+ } %>
7
+
8
+ <%= render "govuk_publishing_components/components/heading", {
9
+ text: "Applications",
10
+ heading_level: 1,
11
+ font_size: "xl",
12
+ margin_bottom: 8,
13
+ } %>
14
+
15
+ <% if @cache_status && @performcache_status %>
16
+ <p class="govuk-body">The results below are cached for 5 minutes. If you are expecting a change and cannot see it, try again later.</p>
17
+ <% end %>
18
+
19
+ <div data-module="filter-list">
20
+ <table class="govuk-table">
21
+ <thead class="govuk-table__head">
22
+ <tr class="govuk-table__row">
23
+ <th scope="col" class="govuk-table__header sticky-table-header">Application</th>
24
+ <th scope="col" class="govuk-table__header sticky-table-header">Type</th>
25
+ <th scope="col" class="govuk-table__header sticky-table-header">Source</th>
26
+ <th scope="col" class="govuk-table__header sticky-table-header">Gem version</th>
27
+ <th scope="col" class="govuk-table__header sticky-table-header">Slimmer version</th>
28
+ <th scope="col" class="govuk-table__header sticky-table-header">Sass version</th>
29
+ </tr>
30
+ </thead>
31
+ <tbody class="govuk-table__body">
32
+ <%= render "table-content", content: @applications_output.select { |a| a[:type] == "public-facing" }, type: "Public facing" %>
33
+ <%= render "table-content", content: @applications_output.select { |a| a[:type] == "publishing" }, type: "Publishing" %>
34
+ <%= render "table-content", content: @applications_output.select { |a| a[:type] == "utility" }, type: "Utility" %>
35
+ </tbody>
36
+ </table>
37
+ </div>
@@ -2,9 +2,13 @@
2
2
  add_gem_component_stylesheet("table")
3
3
  add_gem_component_stylesheet("select")
4
4
  add_gem_component_stylesheet("summary-list")
5
+ content_for :title, "Component audit"
5
6
  %>
6
7
 
7
- <% content_for :title, "Component audit" %>
8
+ <%= render "govuk_publishing_components/components/back_link", {
9
+ href: "/component-guide",
10
+ } %>
11
+
8
12
  <%= render "govuk_publishing_components/components/heading", {
9
13
  text: "Components audit",
10
14
  heading_level: 1,
@@ -0,0 +1,14 @@
1
+ <% if local_assigns[:heading] %>
2
+ <h2 class="govuk-heading-m"><%= local_assigns[:heading] %> (<%= local_assigns[:size] %>)</h2>
3
+ <% end %>
4
+ <%= local_assigns[:details] if local_assigns[:details] %>
5
+ <ul class="govuk-list govuk-list--bullet govuk-list--spaced">
6
+ <% local_assigns[:components].each do |component_doc| %>
7
+ <li data-filter-item>
8
+ <%= link_to component_doc.name, component_doc_path(component_doc.id), class: "govuk-link" %>
9
+ <p class="govuk-body">
10
+ <%= component_doc.description %>
11
+ </p>
12
+ </li>
13
+ <% end %>
14
+ </ul>
@@ -22,13 +22,13 @@
22
22
  <div class="component-markdown">
23
23
  <%= raw(@component_example.html_description) %>
24
24
  </div>
25
- <h2 class="component-doc-h2">
25
+ <h2 class="govuk-heading-m">
26
26
  How it looks
27
- <small>(<a href="<%= component_preview_path(@component_doc.id, @component_example.id) %>" class="govuk-link">preview</a>)</small>
27
+ <small class="govuk-!-font-size-16">(<a href="<%= component_preview_path(@component_doc.id, @component_example.id) %>" class="govuk-link">preview</a>)</small>
28
28
  </h2>
29
29
  <%= render partial: "govuk_publishing_components/component_guide/component_doc/preview", locals: { component_doc: @component_doc, example: @component_example } %>
30
30
 
31
- <h2 class="component-doc-h2">How to call this example</h2>
31
+ <h2 class="govuk-heading-m govuk-!-margin-top-4">How to call this example</h2>
32
32
  <%= code_example %>
33
33
  </div>
34
34
  </div>
@@ -5,94 +5,69 @@
5
5
  margin_bottom: 8,
6
6
  } %>
7
7
 
8
- <div class="component-markdown">
8
+ <div class="component-markdown govuk-!-margin-bottom-8">
9
9
  <p>Components are packages of template, style, behaviour and documentation that live in your application.</p>
10
10
  <p>See the <a href="https://github.com/alphagov/govuk_publishing_components">govuk_publishing_components gem</a> for further details, or <a href="https://docs.publishing.service.gov.uk/manual/components.html#component-guides">a list of all component guides</a>.</p>
11
11
  <ul>
12
12
  <li>Read about how to <a href="https://github.com/alphagov/govuk_publishing_components/blob/main/docs/publishing-to-rubygems.md">release a new version of the gem</a></li>
13
13
  <li><a href="/component-guide/audit">View component audits</a></li>
14
+ <li><a href="/component-guide/applications">View application information</a></li>
14
15
  </ul>
15
16
  </div>
16
17
 
17
- <form role="search" data-module="filter-components" class="component-search">
18
- <%= render "govuk_publishing_components/components/search", {
19
- label_text: "Search components",
20
- } %>
21
- </form>
18
+ <div data-module="filter-list" data-filter-label="Search components">
19
+ <% if !ENV["MAIN_COMPONENT_GUIDE"] %>
20
+ <%= render partial: "component_list", locals: {
21
+ heading: "Components in this application",
22
+ size: @component_docs.length,
23
+ components: @component_docs,
24
+ } %>
22
25
 
23
- <% if !ENV["MAIN_COMPONENT_GUIDE"] %>
24
- <h2 class="component-doc-h2">Components in this application (<%= @component_docs.length %>)</h2>
25
- <ul class="component-list" id="list-components-in-this-application">
26
- <% @component_docs.each do |component_doc| %>
27
- <li>
28
- <%= link_to component_doc.name, component_doc_path(component_doc.id), class: "govuk-link" %>
29
- <p>
30
- <%= component_doc.description %>
31
- </p>
32
- </li>
26
+ <% details = capture do %>
27
+ <%= render "govuk_publishing_components/components/details", {
28
+ title: "Suggested imports for this application",
29
+ margin_bottom: 6,
30
+ } do %>
31
+ <%= render "govuk_publishing_components/components/textarea", {
32
+ label: {
33
+ text: "Add this to your application's main scss file, before your other local imports.",
34
+ },
35
+ name: "main-sass",
36
+ value: @components_in_use_sass,
37
+ } %>
38
+ <%= render "govuk_publishing_components/components/textarea", {
39
+ label: {
40
+ text: "Add this to your application's main js file, before your other local imports.",
41
+ },
42
+ name: "main-js",
43
+ value: @components_in_use_js,
44
+ margin_bottom: 0,
45
+ } %>
46
+ <% end %>
33
47
  <% end %>
34
- </ul>
35
-
36
- <h2 class="component-doc-h2">Gem components used by this app (<%= @used_components.length %>)</h2>
37
48
 
38
- <%= render "govuk_publishing_components/components/details", {
39
- title: "Suggested imports for this application",
40
- } do %>
41
- <%= render "govuk_publishing_components/components/textarea", {
42
- label: {
43
- text: "Add this to your application's main scss file, before your other local imports.",
44
- },
45
- name: "main-sass",
46
- value: @components_in_use_sass,
49
+ <%= render partial: "component_list", locals: {
50
+ heading: "Gem components used by this app",
51
+ size: @used_components.length,
52
+ components: @used_components,
53
+ details: details,
47
54
  } %>
48
- <%= render "govuk_publishing_components/components/textarea", {
49
- label: {
50
- text: "Add this to your application's main js file, before your other local imports.",
51
- },
52
- name: "main-js",
53
- value: @components_in_use_js,
55
+
56
+ <%= render partial: "component_list", locals: {
57
+ heading: "Gem components not used by this app",
58
+ size: @unused_components.length,
59
+ components: @unused_components,
54
60
  } %>
61
+ <% else %>
62
+ <div id="list-all-components-in-the-gem">
63
+ <%= render partial: "component_list", locals: {
64
+ size: @gem_component_docs.length,
65
+ components: @gem_component_docs,
66
+ } %>
67
+ </div>
55
68
  <% end %>
56
- <pre>
57
-
58
- </pre>
59
-
60
- <ul class="component-list">
61
- <% @used_components.each do |component_doc| %>
62
- <li>
63
- <%= link_to component_doc.name, component_doc_path(component_doc.id), class: "govuk-link" %>
64
- <p>
65
- <%= component_doc.description %>
66
- </p>
67
- </li>
68
- <% end %>
69
- </ul>
70
-
71
- <h2 class="component-doc-h2">Gem components not used by this app (<%= @unused_components.length %>)</h2>
72
- <ul class="component-list">
73
- <% @unused_components.each do |component_doc| %>
74
- <li>
75
- <%= link_to component_doc.name, component_doc_path(component_doc.id), class: "govuk-link" %>
76
- <p>
77
- <%= component_doc.description %>
78
- </p>
79
- </li>
80
- <% end %>
81
- </ul>
82
-
83
- <% else %>
84
- <ul class="component-list" id="list-all-components-in-the-gem">
85
- <% @gem_component_docs.each do |component_doc| %>
86
- <li>
87
- <%= link_to component_doc.name, component_doc_path(component_doc.id), class: "govuk-link" %>
88
- <p>
89
- <%= component_doc.description %>
90
- </p>
91
- </li>
92
- <% end %>
93
- </ul>
94
- <% end %>
95
69
 
96
- <div class="component-markdown">
97
- <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/main/docs/generate-a-new-component.md">creating a new one</a>.</p>
70
+ <div class="component-markdown">
71
+ <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/main/docs/generate-a-new-component.md">creating a new one</a>.</p>
72
+ </div>
98
73
  </div>
@@ -64,18 +64,18 @@
64
64
  } %>
65
65
  </div>
66
66
 
67
- <h2 class="component-doc-h2" id="how-it-looks">
67
+ <h2 class="govuk-heading-m" id="how-it-looks">
68
68
  <a href="<%= component_example_path(@component_doc.id, "default") %>" class="govuk-link">How it looks</a>
69
- <small>(<a href="<%= component_preview_path(@component_doc.id, "default") %>" class="govuk-link">preview</a>)</small>
70
- <small>(<a href="<%= component_preview_all_path(@component_doc.id) %>" class="govuk-link">preview all</a>)</small>
69
+ <small class="govuk-!-font-size-16">(<a href="<%= component_preview_path(@component_doc.id, "default") %>" class="govuk-link">preview</a>)</small>
70
+ <small class="govuk-!-font-size-16">(<a href="<%= component_preview_all_path(@component_doc.id) %>" class="govuk-link">preview all</a>)</small>
71
71
  </h2>
72
72
  <%= render "govuk_publishing_components/component_guide/component_doc/preview", component_doc: @component_doc, example: @component_doc.example %>
73
73
 
74
- <h2 class="component-doc-h2" id="how-to-call-this-component">How to call this component</h2>
74
+ <h2 class="govuk-heading-m govuk-!-margin-top-4" id="how-to-call-this-component">How to call this component</h2>
75
75
  <%= render "govuk_publishing_components/component_guide/component_doc/call", component_doc: @component_doc, example: @component_doc.example %>
76
76
 
77
77
  <% if @component_doc.govuk_frontend_components.any? %>
78
- <h2 class="component-doc-h2" id="govuk-design-system">GOV.UK Design System</h2>
78
+ <h2 class="govuk-heading-m" id="govuk-design-system">GOV.UK Design System</h2>
79
79
  <div class="component-markdown">
80
80
  <p>This component incorporates components from the <%= link_to "GOV.UK Design System", "https://design-system.service.gov.uk" %>:</p>
81
81
 
@@ -90,7 +90,7 @@
90
90
  <% if @component_doc.accessibility_criteria.present? %>
91
91
  <div class="govuk-grid-row component-accessibility-criteria" id="accessibility-acceptance-criteria">
92
92
  <div class="govuk-grid-column-two-thirds">
93
- <h2 class="component-doc-h2">Accessibility acceptance criteria</h2>
93
+ <h2 class="govuk-heading-m">Accessibility acceptance criteria</h2>
94
94
  <div class="component-markdown">
95
95
  <%= raw(@component_doc.html_accessibility_criteria) %>
96
96
  </div>
@@ -100,7 +100,7 @@
100
100
 
101
101
  <% if @component_doc.other_examples.any? or @component_doc.uses_component_wrapper_helper? %>
102
102
  <div class="examples">
103
- <h2 class="component-doc-h2" id="other-examples">Other examples</h2>
103
+ <h2 class="govuk-heading-m" id="other-examples">Other examples</h2>
104
104
 
105
105
  <% if @component_doc.uses_component_wrapper_helper? %>
106
106
  <div class="component-example" id="standard-options">