govuk_publishing_components 58.2.0 → 59.0.1

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 (27) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  3. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +14 -136
  4. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +0 -5
  5. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +6 -48
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_select-with-search.scss +2 -1
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_tag.scss +14 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +1 -1
  9. data/app/views/govuk_publishing_components/components/_action_link.html.erb +4 -37
  10. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +0 -2
  11. data/app/views/govuk_publishing_components/components/_share_links.html.erb +17 -9
  12. data/app/views/govuk_publishing_components/components/_tag.html.erb +20 -0
  13. data/app/views/govuk_publishing_components/components/docs/action_link.yml +0 -62
  14. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +13 -0
  15. data/app/views/govuk_publishing_components/components/docs/share_links.yml +10 -0
  16. data/app/views/govuk_publishing_components/components/docs/signup_link.yml +0 -7
  17. data/app/views/govuk_publishing_components/components/docs/single_page_notification_button.yml +1 -7
  18. data/app/views/govuk_publishing_components/components/docs/subscription_links.yml +1 -7
  19. data/app/views/govuk_publishing_components/components/docs/tag.yml +57 -0
  20. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +16 -5
  21. data/lib/govuk_publishing_components/presenters/heading_helper.rb +1 -2
  22. data/lib/govuk_publishing_components/presenters/single_page_notification_button_helper.rb +1 -1
  23. data/lib/govuk_publishing_components/version.rb +1 -1
  24. metadata +5 -5
  25. data/app/assets/images/govuk_publishing_components/action-link-arrow--dark.svg +0 -5
  26. data/app/assets/images/govuk_publishing_components/action-link-arrow--simple-light.svg +0 -4
  27. data/app/assets/images/govuk_publishing_components/action-link-arrow.svg +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8766d04b5c4c4d7fab4d972b014cc0ac72f541321146789b75c64414b60aeb08
4
- data.tar.gz: d6915e235caf1ea065a3f6f001ef34d797f76187cd58f199ba8ff20e242fb062
3
+ metadata.gz: f549979959a86cf945676068de299c2d00a19ce4c3e8ccdd8d8d85879057d239
4
+ data.tar.gz: baeb31f253180567c2810c48fbcac1c15cd720a6b85fa891926b8fc53d4a2a43
5
5
  SHA512:
6
- metadata.gz: 1aaa22f84475dd4bd8b5bd26d6af93a3e456c999ff9eeffd4631dac8d87b50e7dfed42db8b845cff27408812d7314d9acfb8440109887e137b9208b13ccce8c2
7
- data.tar.gz: bb8b3b01adf12c73c771b6366abf277fb263d33149a853188785e308389b9d6c8202c6fcf3301c037a3ac602b65861a4bcdcb210646736dd9dfeb9e3109424a0
6
+ metadata.gz: 7266e69e402b5f8ce042a4b76b37afbd846241912f8fe19fe09b333d6c618ba10a4b961fdf0b692d58c179afcbf7acfa2e235345361d55776e93460922084b02
7
+ data.tar.gz: eb1054ccb1591b786297f2fe4e478b11df0a16ba14a7f403118556456aba5294a16a6fb0795cd73a9cbac2eaa62505c2e18a52626f0434777f52720e63aeba7c
@@ -91,6 +91,7 @@
91
91
  @import "components/summary-list";
92
92
  @import "components/tabs";
93
93
  @import "components/table";
94
+ @import "components/tag";
94
95
  @import "components/textarea";
95
96
  @import "components/translation-nav";
96
97
  @import "components/warning-text";
@@ -3,27 +3,28 @@
3
3
  .gem-c-action-link {
4
4
  display: table;
5
5
 
6
+ @include govuk-media-query($until: tablet) {
7
+ max-width: 410px;
8
+ }
9
+
6
10
  &::before {
7
11
  content: "";
8
12
  display: table-cell;
9
- width: 60px;
10
- height: 45px;
11
- background: url("govuk_publishing_components/action-link-arrow.svg");
13
+ width: 36px;
14
+ height: 28px;
15
+ background: url("govuk_publishing_components/action-link-arrow--light.svg");
12
16
  background-repeat: no-repeat;
13
- background-position: 0 50%;
14
- background-size: 45px auto;
15
- }
17
+ background-size: 28px auto;
18
+ background-position: 0 0;
16
19
 
17
- @include govuk-media-query($until: tablet) {
18
- max-width: 410px;
20
+ @include govuk-media-query($from: tablet) {
21
+ width: 45px;
22
+ height: 35px;
23
+ background-size: 35px auto;
24
+ }
19
25
  }
20
26
  }
21
27
 
22
- .gem-c-action-link__contents-wrapper {
23
- display: table-cell;
24
- vertical-align: middle;
25
- }
26
-
27
28
  .gem-c-action-link__link-wrapper {
28
29
  display: table-cell;
29
30
  vertical-align: middle;
@@ -39,59 +40,6 @@
39
40
  }
40
41
  }
41
42
 
42
- .gem-c-action-link__nowrap-text {
43
- white-space: nowrap;
44
- }
45
-
46
- .gem-c-action-link--with-subtext {
47
- max-width: none;
48
-
49
- .gem-c-action-link__link-wrapper,
50
- .gem-c-action-link__subtext-wrapper {
51
- display: block;
52
-
53
- @include govuk-media-query($from: tablet) {
54
- display: table-cell;
55
- vertical-align: middle;
56
- }
57
- }
58
- }
59
-
60
- .gem-c-action-link--mobile-subtext {
61
- .gem-c-action-link__subtext-wrapper {
62
- display: block;
63
- }
64
-
65
- .gem-c-action-link__subtext {
66
- padding: 0;
67
-
68
- &::before {
69
- display: none;
70
- }
71
- }
72
- }
73
-
74
- .gem-c-action-link__subtext {
75
- display: block;
76
- color: inherit;
77
- @include govuk-font(19);
78
-
79
- @include govuk-media-query($from: tablet) {
80
- position: relative;
81
- padding-left: govuk-spacing(4);
82
-
83
- &::before {
84
- content: "";
85
- position: absolute;
86
- top: 10%;
87
- left: govuk-spacing(2);
88
- width: govuk-spacing(2);
89
- height: 80%;
90
- border-left: solid 1px $govuk-text-colour;
91
- }
92
- }
93
- }
94
-
95
43
  .gem-c-action-link--simple {
96
44
  &::before {
97
45
  width: 30px;
@@ -103,76 +51,6 @@
103
51
  }
104
52
  }
105
53
 
106
- .gem-c-action-link--simple-light {
107
- &::before {
108
- width: 30px;
109
- height: 30px;
110
- background: url("govuk_publishing_components/action-link-arrow--simple-light.svg");
111
- background-repeat: no-repeat;
112
- background-size: 25px auto;
113
- background-position: 0 2px;
114
- }
115
- }
116
-
117
- .gem-c-action-link--dark-large-icon {
118
- &::before {
119
- background: url("govuk_publishing_components/action-link-arrow--dark.svg");
120
- height: 34px;
121
- width: 40px;
122
- background-repeat: no-repeat;
123
- background-size: 32px auto;
124
- background-position: 0 2px;
125
- }
126
-
127
- @include govuk-media-query($until: tablet) {
128
- margin-bottom: govuk-spacing(2);
129
- }
130
- }
131
-
132
- .gem-c-action-link--light-icon {
133
- &::before {
134
- width: 36px;
135
- height: 28px;
136
- background: url("govuk_publishing_components/action-link-arrow--light.svg");
137
- background-repeat: no-repeat;
138
- background-size: 28px auto;
139
- background-position: 0 0;
140
-
141
- @include govuk-media-query($from: tablet) {
142
- width: 45px;
143
- height: 35px;
144
- background-size: 35px auto;
145
- }
146
- }
147
- }
148
-
149
- .gem-c-action-link--dark-icon {
150
- max-width: none;
151
-
152
- @include govuk-media-query($until: tablet) {
153
- margin-bottom: govuk-spacing(2);
154
- }
155
-
156
- &::before {
157
- height: 30px;
158
- width: 35px;
159
- background: url("govuk_publishing_components/action-link-arrow--dark.svg");
160
- background-repeat: no-repeat;
161
- background-size: 25px auto;
162
- background-position: 0 2px;
163
- }
164
- }
165
-
166
- .gem-c-action-link--inverse {
167
- color: govuk-colour("white");
168
-
169
- .gem-c-action-link__subtext {
170
- &::before {
171
- border-color: govuk-colour("white");
172
- }
173
- }
174
- }
175
-
176
54
  @include govuk-media-query($media-type: print) {
177
55
  .gem-c-action-link {
178
56
  * {
@@ -5,11 +5,6 @@
5
5
  margin: 0;
6
6
  }
7
7
 
8
- .gem-c-heading--font-size-27 {
9
- @include govuk-text-colour;
10
- @include govuk-font(27, $weight: bold);
11
- }
12
-
13
8
  .gem-c-heading--padding {
14
9
  padding: govuk-spacing(3) 0;
15
10
  }
@@ -2,24 +2,6 @@
2
2
  @import "govuk_publishing_components/components/search";
3
3
  @import "govuk_publishing_components/components/skip-link";
4
4
  @import "govuk/components/header/header";
5
- @import "govuk/components/tag/tag";
6
-
7
- .gem-c-layout-header--production .govuk-header__container {
8
- border-bottom-color: govuk-colour("red");
9
- }
10
-
11
- .gem-c-layout-header--integration .govuk-header__container,
12
- .gem-c-layout-header--staging .govuk-header__container {
13
- border-bottom-color: govuk-colour("yellow");
14
- }
15
-
16
- .gem-c-layout-header--example .govuk-header__container {
17
- border-bottom-color: govuk-colour("bright-purple");
18
- }
19
-
20
- .gem-c-layout-header--development .govuk-header__container {
21
- border-bottom-color: govuk-colour("dark-grey");
22
- }
23
5
 
24
6
  .gem-c-layout-header--no-bottom-border,
25
7
  .gem-c-layout-header--no-bottom-border .govuk-header__container {
@@ -76,6 +58,11 @@
76
58
  }
77
59
  }
78
60
 
61
+ .gem-c-header__environment {
62
+ padding-top: 2px;
63
+ padding-bottom: 3px;
64
+ }
65
+
79
66
  .gem-c-header__logo {
80
67
  @include govuk-media-query($from: desktop) {
81
68
  white-space: nowrap;
@@ -98,34 +85,6 @@
98
85
  }
99
86
  }
100
87
 
101
- .gem-c-environment-tag {
102
- padding: 2px 5px 0;
103
- margin-left: 3px;
104
- margin-top: govuk-spacing(-2);
105
- vertical-align: middle;
106
- @include govuk-font($size: 16, $weight: "bold");
107
- }
108
-
109
- .gem-c-environment-tag--production {
110
- background-color: govuk-colour("red");
111
- color: govuk-colour("white");
112
- }
113
-
114
- .gem-c-environment-tag--example {
115
- background-color: govuk-colour("bright-purple");
116
- }
117
-
118
- .gem-c-environment-tag--development {
119
- background-color: govuk-colour("dark-grey");
120
- color: govuk-colour("white");
121
- }
122
-
123
- .gem-c-environment-tag--staging,
124
- .gem-c-environment-tag--integration {
125
- background-color: govuk-colour("yellow");
126
- color: govuk-colour("black");
127
- }
128
-
129
88
  .govuk-header__navigation-item--collapsed-menu-only {
130
89
  @include govuk-media-query($from: desktop) {
131
90
  display: none;
@@ -155,8 +114,7 @@
155
114
  padding: 0 2mm 2mm 0;
156
115
  }
157
116
 
158
- .gem-c-header__product-name,
159
- .gem-c-environment-tag {
117
+ .gem-c-header__product-name {
160
118
  color: $govuk-print-text-colour;
161
119
  background: none;
162
120
  }
@@ -1,5 +1,7 @@
1
1
  // overload the choices.js variables
2
2
 
3
+ @import "govuk_publishing_components/individual_component_support";
4
+
3
5
  $font-size: 19px;
4
6
 
5
7
  $choices-bg-color: govuk-colour("white") !default;
@@ -14,7 +16,6 @@ $choices-border-radius-item: 0 !default;
14
16
  $choices-z-index: 2 !default;
15
17
  $choices-button-dimension: 12px !default;
16
18
 
17
- @import "govuk_publishing_components/individual_component_support";
18
19
  @import "mixins/prefixed-transform";
19
20
  @import "govuk/components/label/label";
20
21
  @import "choices.js/src/styles/choices";
@@ -0,0 +1,14 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+ @import "govuk/components/tag/tag";
3
+
4
+ .gem-c-tag {
5
+ max-width: none;
6
+ }
7
+
8
+ @include govuk-media-query($media-type: print) {
9
+ .gem-c-tag.govuk-tag {
10
+ color: $govuk-print-text-colour;
11
+ background: none;
12
+ border: 2px solid govuk-colour("black");
13
+ }
14
+ }
@@ -30,7 +30,7 @@
30
30
 
31
31
  h2 {
32
32
  margin: 0 0 govuk-spacing(4) 0;
33
- @include govuk-font($size: 27, $weight: bold);
33
+ @include govuk-font($size: 24, $weight: bold);
34
34
  }
35
35
 
36
36
  h3 {
@@ -3,33 +3,18 @@
3
3
 
4
4
  local_assigns[:margin_bottom] ||= 0
5
5
  text ||= false
6
- nowrap_text ||= false
7
6
  href ||= false
8
- subtext ||= false
9
- subtext_href ||= false
10
- mobile_subtext ||= false
11
7
  inverse ||= false
12
8
  simple ||= false
13
9
  simple_light ||= false
14
- dark_icon ||= false
15
- dark_large_icon ||= false
16
- light_icon ||= false
17
-
18
- css_classes = %w(gem-c-action-link)
19
- css_classes << "gem-c-action-link--inverse" if inverse
20
- css_classes << "gem-c-action-link--dark-icon" if dark_icon
21
- css_classes << "gem-c-action-link--dark-large-icon" if dark_large_icon
22
- css_classes << "gem-c-action-link--light-icon" if light_icon
23
- css_classes << "gem-c-action-link--simple" if simple
24
- css_classes << "gem-c-action-link--simple-light" if simple_light
25
- css_classes << "gem-c-action-link--with-subtext" if subtext
26
- css_classes << "gem-c-action-link--mobile-subtext" if mobile_subtext
27
10
 
28
11
  link_classes = %w(govuk-link gem-c-action-link__link gem-c-force-print-link-styles)
29
12
  link_classes << "govuk-link--inverse" if inverse
30
13
 
31
14
  component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
32
- component_helper.add_class(css_classes.join(" "))
15
+ component_helper.add_class("gem-c-action-link")
16
+ component_helper.add_class("gem-c-action-link--inverse") if inverse
17
+ component_helper.add_class("gem-c-action-link--simple") if simple
33
18
  %>
34
19
  <% if text.present? %>
35
20
  <%= tag.div(**component_helper.all_attributes) do %>
@@ -37,7 +22,6 @@
37
22
  <span class="gem-c-action-link__link-wrapper">
38
23
  <% main_text = capture do %>
39
24
  <%= text %>
40
- <%= content_tag(:span, nowrap_text, class: "gem-c-action-link__nowrap-text") if nowrap_text %>
41
25
  <% end %>
42
26
 
43
27
  <% if href.present? %>
@@ -48,24 +32,7 @@
48
32
  <%= main_text %>
49
33
  <% end %>
50
34
  </span>
51
-
52
- <% if subtext %>
53
- <span class="gem-c-action-link__subtext-wrapper">
54
- <% if subtext_href %>
55
- <%= content_tag(:span, subtext, class: "gem-c-action-link__subtext") do %>
56
- <%= link_to subtext, subtext_href, class: link_classes %>
57
- <% end %>
58
- <% else %>
59
- <%= content_tag(:span, subtext, class: "gem-c-action-link__subtext") %>
60
- <% end %>
61
- </span>
62
- <% end %>
63
- <% end %>
64
-
65
- <% if subtext %>
66
- <%= content_tag(:span, contents, class: "gem-c-action-link__contents-wrapper") %>
67
- <% else %>
68
- <%= contents %>
69
35
  <% end %>
36
+ <%= contents %>
70
37
  <% end %>
71
38
  <% end %>
@@ -12,10 +12,8 @@
12
12
 
13
13
  component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
14
14
  component_helper.add_class("gem-c-layout-header govuk-header")
15
- component_helper.add_class("gem-c-layout-header--#{environment}") if environment
16
15
  component_helper.add_class("gem-c-layout-header--no-bottom-border") if remove_bottom_border
17
16
  component_helper.add_data_attribute({ module: "govuk-header" })
18
-
19
17
  %>
20
18
 
21
19
  <%= tag.header(**component_helper.all_attributes) do %>
@@ -77,18 +77,18 @@
77
77
  data: data_attributes,
78
78
  class: "govuk-link govuk-link--no-underline gem-c-share-links__link" do %>
79
79
  <span class="gem-c-share-links__link-icon">
80
- <% if link[:icon] == 'facebook' %>
81
- <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
82
- <path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
83
- </svg>
84
- <% elsif link[:icon] == 'twitter' %>
85
- <svg viewBox="0 0 1200 1227" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
86
- <path fill="currentColor" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/>
80
+ <% if link[:icon] == 'bluesky' %>
81
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
82
+ <path fill="currentColor" d="M5.2,2.9c2.8,2.1,5.7,6.3,6.8,8.5,1.1-2.2,4-6.4,6.8-8.5,2-1.5,5.2-2.6,5.2,1s-.4,6.2-.7,7c-.9,3.1-4,3.8-6.8,3.4,4.9.8,6.1,3.6,3.4,6.3-5.1,5.2-7.3-1.3-7.8-3-.1-.3-.2-.4-.2-.3,0-.1,0,0-.2.3-.6,1.7-2.8,8.2-7.8,3-2.7-2.7-1.4-5.5,3.4-6.3-2.8.5-5.9-.3-6.8-3.4-.2-.9-.7-6.3-.7-7C0,.2,3.2,1.4,5.2,2.9Z"/>
87
83
  </svg>
88
84
  <% elsif link[:icon] == 'email' %>
89
85
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73.84 73.84" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
90
86
  <path fill="currentColor" d="M36.92,0A36.92,36.92,0,1,0,73.84,36.92,36.92,36.92,0,0,0,36.92,0ZM58.37,21,36.92,39.45,15.47,21ZM11.65,23.66,26.27,36.23,11.65,49.9ZM15.1,52.83,29.7,39.18l7.22,6.21,7.22-6.21,14.6,13.65ZM62.19,49.9,47.57,36.23,62.19,23.66Z"/>
91
87
  </svg>
88
+ <% elsif link[:icon] == 'facebook' %>
89
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
90
+ <path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/>
91
+ </svg>
92
92
  <% elsif link[:icon] == 'flickr' %>
93
93
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
94
94
  <path fill="currentColor" d="M5.334 6.666C2.3884 6.666 0 9.055 0 12c0 2.9456 2.3884 5.334 5.334 5.334 2.9456 0 5.332-2.3884 5.332-5.334 0-2.945-2.3864-5.334-5.332-5.334zm13.332 0c-2.9456 0-5.332 2.389-5.332 5.334 0 2.9456 2.3864 5.334 5.332 5.334C21.6116 17.334 24 14.9456 24 12c0-2.945-2.3884-5.334-5.334-5.334Z"/>
@@ -101,14 +101,22 @@
101
101
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
102
102
  <path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
103
103
  </svg>
104
- <% elsif link[:icon] == 'youtube' %>
104
+ <% elsif link[:icon] == 'threads' %>
105
105
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
106
- <path fill="currentColor" d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>
106
+ <path fill="currentColor" d="M12.2,24h0c-3.6,0-6.3-1.2-8.2-3.5-1.6-2.1-2.5-4.9-2.5-8.5h0c0-3.6.9-6.4,2.5-8.5C5.8,1.2,8.6,0,12.2,0h0c2.7,0,5,.7,6.8,2.1,1.7,1.3,2.9,3.1,3.5,5.5l-2,.6c-1.1-4-3.9-6-8.3-6s-5.1.9-6.5,2.7c-1.3,1.7-2,4.1-2.1,7.2,0,3.1.7,5.5,2.1,7.2,1.4,1.8,3.6,2.7,6.5,2.7s4.4-.6,5.8-2,1.6-3.6,1.1-4.8c-.3-.7-.9-1.3-1.6-1.7-.2,1.4-.6,2.4-1.3,3.3-.9,1.1-2.1,1.7-3.7,1.8-1.2,0-2.4-.2-3.3-.8-1.1-.7-1.7-1.7-1.8-3,0-1.2.4-2.3,1.3-3.1.9-.8,2.1-1.2,3.6-1.3,1.1,0,2.1,0,3,.1-.1-.7-.4-1.3-.7-1.8-.5-.6-1.3-.9-2.4-.9h0c-.8,0-2,.2-2.7,1.3l-1.8-1.2c1-1.5,2.6-2.3,4.5-2.3h0c3.2,0,5.1,2,5.3,5.4.1,0,.2,0,.3.1,1.5.7,2.6,1.8,3.2,3.1.8,1.8.9,4.8-1.5,7.2-1.9,1.8-4.1,2.6-7.3,2.6h0ZM13.2,12.3h-.7c-1.8.1-3,.9-2.9,2.1,0,1.3,1.5,1.8,2.8,1.8s2.8-.5,3.1-3.7c-.7-.1-1.4-.2-2.2-.2h-.1Z"/>
107
+ </svg>
108
+ <% elsif link[:icon] == 'twitter' %>
109
+ <svg viewBox="0 0 1200 1227" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
110
+ <path fill="currentColor" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/>
107
111
  </svg>
108
112
  <% elsif link[:icon] == 'whatsapp' %>
109
113
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
110
114
  <path fill="currentColor" d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"/>
111
115
  </svg>
116
+ <% elsif link[:icon] == 'youtube' %>
117
+ <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
118
+ <path fill="currentColor" d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/>
119
+ </svg>
112
120
  <% else %>
113
121
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73.84 73.84" aria-hidden="true" focusable="false" width="0" height="0" class="gem-c-share-links__svg">
114
122
  <path fill="currentColor" d="M36.92,0A36.92,36.92,0,1,0,73.84,36.92,36.92,36.92,0,0,0,36.92,0ZM56.3,48.27a1.42,1.42,0,0,1-1.42,1.42h-19v9.18l-9.18-9.18H19a1.43,1.43,0,0,1-1.43-1.43V20.52A1.43,1.43,0,0,1,19,19.09H54.88a1.43,1.43,0,0,1,1.42,1.42Z"/>
@@ -0,0 +1,20 @@
1
+ <%
2
+ add_gem_component_stylesheet("tag")
3
+
4
+ text ||= nil
5
+ if text.blank?
6
+ raise ArgumentError, "The tag component requires text"
7
+ end
8
+ text = text.capitalize
9
+
10
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
11
+ component_helper.add_class('govuk-tag gem-c-tag')
12
+
13
+ colours = %w[grey green turquoise blue light-blue purple pink red orange yellow]
14
+ colour ||= nil
15
+ component_helper.add_class("govuk-tag--#{colour}") if colours.include?(colour)
16
+ %>
17
+
18
+ <%= tag.strong(**component_helper.all_attributes) do %>
19
+ <%= text %>
20
+ <% end %>
@@ -13,11 +13,6 @@ examples:
13
13
  text: Look at this margin
14
14
  href: "/page"
15
15
  margin_bottom: 9
16
- with_no_wrapping_text:
17
- data:
18
- text: "Coronavirus (COVID-19):"
19
- nowrap_text: what you need to do
20
- href: "/page"
21
16
  inverse:
22
17
  data:
23
18
  text: "Coronavirus (COVID-19)"
@@ -25,65 +20,8 @@ examples:
25
20
  inverse: true
26
21
  context:
27
22
  dark_background: true
28
- with_subtext:
29
- data:
30
- text: Emergency something
31
- href: "/page"
32
- subtext: This is about the emergency
33
- with_subtext_on_a_dark_background:
34
- data:
35
- text: Emergency something
36
- href: "/page"
37
- subtext: This is about the emergency that is happening right now unfortunately so pay attention
38
- inverse: true
39
- context:
40
- dark_background: true
41
- mobile_subtext:
42
- description: Lock the subtext beneath the main text, so the component with subtext always appears as it does on mobile.
43
- data:
44
- text: Try not to panic now
45
- href: "/page"
46
- subtext: "The thing that is happening is pretty scary but we'll get through it"
47
- mobile_subtext: true
48
- with_link_on_subtext:
49
- description: The subtext can also be a link if required. The link on the main text is optional.
50
- data:
51
- text: Remain calm
52
- subtext: Better things are ahead
53
- subtext_href: "/page"
54
- with_link_on_subtext_on_a_dark_background:
55
- data:
56
- text: Remain calm
57
- subtext: Better things are ahead
58
- subtext_href: "/page"
59
- inverse: true
60
- context:
61
- dark_background: true
62
23
  simple_arrow:
63
24
  data:
64
25
  text: Getting financial help and keeping your business safe
65
26
  href: "/financial-help"
66
27
  simple: true
67
- simple_light_arrow:
68
- data:
69
- text: Getting financial help and keeping your business safe
70
- href: "/financial-help"
71
- inverse: true
72
- simple_light: true
73
- context:
74
- dark_background: true
75
- with_dark_icon:
76
- data:
77
- text: Coronavirus (COVID-19)
78
- href: "/my-test-page"
79
- dark_icon: true
80
- with_dark_large_icon:
81
- data:
82
- text: Coronavirus (COVID-19)
83
- href: "/my-test-page"
84
- dark_large_icon: true
85
- with_light_icon:
86
- data:
87
- text: Coronavirus (COVID-19)
88
- href: "/my-test-page"
89
- light_icon: true
@@ -42,6 +42,19 @@ examples:
42
42
  - text: Hidden on desktop
43
43
  href: "item-3"
44
44
  show_only_in_collapsed_menu: true
45
+ with_product_name_and_navigation:
46
+ data:
47
+ product_name: Component Guide 999.9.9
48
+ environment: production
49
+ navigation_items:
50
+ - text: Navigation item 1
51
+ href: "item-1"
52
+ active: true
53
+ - text: Navigation item 2
54
+ href: "item-2"
55
+ - text: Hidden on desktop
56
+ href: "item-3"
57
+ show_only_in_collapsed_menu: true
45
58
  with_navigation_link_data_attributes:
46
59
  description: Supports adding data attributes i.e for tracking
47
60
  data:
@@ -251,6 +251,16 @@ examples:
251
251
  text: 'Linkedin',
252
252
  icon: 'linkedin'
253
253
  },
254
+ {
255
+ href: '/threads-share-link',
256
+ text: 'Threads',
257
+ icon: 'threads'
258
+ },
259
+ {
260
+ href: '/bluesky-share-link',
261
+ text: 'Bluesky',
262
+ icon: 'bluesky'
263
+ },
254
264
  {
255
265
  href: '/whatsapp-share-link',
256
266
  text: 'WhatsApp',
@@ -24,13 +24,6 @@ examples:
24
24
  data:
25
25
  link_text: 'Click right here to sign up!!'
26
26
  link_href: '/this-signs-you-up'
27
- with_custom_margin_bottom:
28
- description: The component accepts a number for margin bottom from `0` to `9` (`0px` to `60px`) using the [GOV.UK Frontend spacing scale](https://design-system.service.gov.uk/styles/spacing/#the-responsive-spacing-scale). It defaults to having no margin bottom.
29
- data:
30
- heading: 'Sign up for email notifications'
31
- link_text: 'Click right here to sign up!!'
32
- link_href: '/this-signs-you-up'
33
- margin_bottom: 8
34
27
  with_custom_heading_level:
35
28
  description: Override default heading level by passing through `heading_level` parameter (defaults to `h3`).
36
29
  data:
@@ -9,7 +9,7 @@ body: |
9
9
  When the button is clicked, the `base_path` is submitted to an endpoint which proceeds to check the user's authentication status and whether they are already subscribed to the page or not. Depending on these factors, they will be routed accordingly.
10
10
  accessibility_criteria: |
11
11
  - The bell icon must be presentational and ignored by screen readers.
12
- uses_component_wrapper_helper: true
12
+ uses_component_wrapper_helper: true
13
13
  examples:
14
14
  default:
15
15
  description: By default this component prompts the user to subscribe to email notifications to this page.
@@ -33,12 +33,6 @@ examples:
33
33
  index_link: 1
34
34
  index_total: 1
35
35
  section: "Top"
36
- with_margin_bottom:
37
- description: |
38
- The component accepts a number for margin bottom from `0` to `9` (`0px` to `60px`) using the [GOV.UK Frontend spacing scale](https://design-system.service.gov.uk/styles/spacing/#the-responsive-spacing-scale). It defaults to having a margin bottom of 15px.
39
- data:
40
- base_path: '/current-page-path'
41
- margin_bottom: 5
42
36
  with_js_enhancement:
43
37
  description: |
44
38
  If the `js-enhancement` flag is present, the component uses JavaScript to check if the user has already subscribed to email notifications on the current page and accordingly updates its tracking attribute and (optionally) button text.
@@ -20,12 +20,6 @@ examples:
20
20
  data:
21
21
  email_signup_link: '/foreign-travel-advice/singapore/email-signup'
22
22
  feed_link: '/foreign-travel-advice/singapore.atom'
23
- with_margin:
24
- description: The component accepts a number for margin bottom from `0` to `9` (`0px` to `60px`) using the [GOV.UK Frontend spacing scale](https://design-system.service.gov.uk/styles/spacing/#the-responsive-spacing-scale). It defaults to having no margin bottom, although some margin is supplied by the links themselves (so that when they stack on mobile there is space between them).
25
- data:
26
- email_signup_link: '/foreign-travel-advice/singapore/email-signup'
27
- feed_link: '/foreign-travel-advice/singapore.atom'
28
- margin_bottom: 9
29
23
  with_only_email_signup_link:
30
24
  data:
31
25
  email_signup_link: '/foreign-travel-advice/singapore/email-signup'
@@ -70,7 +64,7 @@ examples:
70
64
  small_form: true
71
65
  without_heading:
72
66
  description: |
73
- By default the component includes an h2 heading. The component could be used anywhere on the page and could mean that it produces invalid markup or make the site unaccessible.
67
+ By default the component includes a visually hidden h2 heading. This option removes it, because the component could be used anywhere on the page and could otherwise break the heading structure.
74
68
  data:
75
69
  email_signup_link: '/foreign-travel-advice/singapore/email-signup'
76
70
  feed_link: '/foreign-travel-advice/singapore.atom'
@@ -0,0 +1,57 @@
1
+ name: Tag
2
+ description: Use the tag component to show users the status of something. For example, the server environment the page is being rendered from.
3
+ accessibility_criteria: |
4
+ - should have a text colour contrast ratio of more than 4.5:1 with its background to be visually distinct
5
+ - does not use colour alone to convey information
6
+ - should not be used within a link, as a button, or for interactivity
7
+ uses_component_wrapper_helper: true
8
+ govuk_frontend_components:
9
+ - tag
10
+ examples:
11
+ default:
12
+ data:
13
+ text: Hello world!
14
+ sentence_case_conversion:
15
+ description: The component automatically converts text to sentence case as shown.
16
+ data:
17
+ text: HELLO WORLD!
18
+ grey:
19
+ data:
20
+ text: Hello world!
21
+ colour: grey
22
+ green:
23
+ data:
24
+ text: Hello world!
25
+ colour: green
26
+ turquoise:
27
+ data:
28
+ text: Hello world!
29
+ colour: turquoise
30
+ blue:
31
+ data:
32
+ text: Hello world!
33
+ colour: blue
34
+ light_blue:
35
+ data:
36
+ text: Hello world!
37
+ colour: light-blue
38
+ purple:
39
+ data:
40
+ text: Hello world!
41
+ colour: purple
42
+ pink:
43
+ data:
44
+ text: Hello world!
45
+ colour: pink
46
+ red:
47
+ data:
48
+ text: Hello world!
49
+ colour: red
50
+ orange:
51
+ data:
52
+ text: Hello world!
53
+ colour: orange
54
+ yellow:
55
+ data:
56
+ text: Hello world!
57
+ colour: yellow
@@ -1,3 +1,19 @@
1
+ <%
2
+ colour_map = {
3
+ "production" => "red",
4
+ "staging" => "yellow",
5
+ "integration" => "yellow",
6
+ "example" => "purple",
7
+ "development" => "grey",
8
+ }
9
+
10
+ environment_exists = !environment.blank?
11
+ %>
12
+ <% if environment_exists %>
13
+ <div class="gem-c-header__environment">
14
+ <%= render "govuk_publishing_components/components/tag", { text: environment, colour: colour_map[environment.downcase] } %>
15
+ </div>
16
+ <% end %>
1
17
  <div class="govuk-header__logo gem-c-header__logo">
2
18
  <a href="<%= logo_link %>" class="govuk-header__link govuk-header__link--homepage">
3
19
  <%= render "govuk_publishing_components/components/govuk_logo/govuk_logo" %>
@@ -6,10 +22,5 @@
6
22
  <%= product_name %>
7
23
  </span>
8
24
  <% end %>
9
- <% if environment %>
10
- <span class="gem-c-environment-tag govuk-tag gem-c-environment-tag--<%= environment %>">
11
- <%= environment.titleize %>
12
- </span>
13
- <% end %>
14
25
  </a>
15
26
  </div>
@@ -17,7 +17,6 @@ module GovukPublishingComponents
17
17
  private
18
18
 
19
19
  def heading_size(option)
20
- gem_class = "gem-c-heading--font-size-"
21
20
  govuk_class = "govuk-heading-"
22
21
 
23
22
  case option
@@ -30,7 +29,7 @@ module GovukPublishingComponents
30
29
  when 19, "s"
31
30
  "#{govuk_class}s"
32
31
  else
33
- "#{gem_class}27"
32
+ "#{govuk_class}m"
34
33
  end
35
34
  end
36
35
  end
@@ -64,7 +64,7 @@ module GovukPublishingComponents
64
64
  end
65
65
 
66
66
  def skip_the_gov_uk_account?
67
- @skip_account == "true"
67
+ @skip_account == "true" || @skip_account == true
68
68
  end
69
69
  end
70
70
  end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "58.2.0".freeze
2
+ VERSION = "59.0.1".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 58.2.0
4
+ version: 59.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -397,11 +397,8 @@ files:
397
397
  - LICENCE.md
398
398
  - README.md
399
399
  - app/assets/config/govuk_publishing_components_manifest.js
400
- - app/assets/images/govuk_publishing_components/action-link-arrow--dark.svg
401
400
  - app/assets/images/govuk_publishing_components/action-link-arrow--light.svg
402
- - app/assets/images/govuk_publishing_components/action-link-arrow--simple-light.svg
403
401
  - app/assets/images/govuk_publishing_components/action-link-arrow--simple.svg
404
- - app/assets/images/govuk_publishing_components/action-link-arrow.svg
405
402
  - app/assets/images/govuk_publishing_components/crests/bis_crest_18px_x2.png
406
403
  - app/assets/images/govuk_publishing_components/crests/coastguard_18px_x2.png
407
404
  - app/assets/images/govuk_publishing_components/crests/dbt_crest_18px_x2.png
@@ -615,6 +612,7 @@ files:
615
612
  - app/assets/stylesheets/govuk_publishing_components/components/_summary-list.scss
616
613
  - app/assets/stylesheets/govuk_publishing_components/components/_table.scss
617
614
  - app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss
615
+ - app/assets/stylesheets/govuk_publishing_components/components/_tag.scss
618
616
  - app/assets/stylesheets/govuk_publishing_components/components/_textarea.scss
619
617
  - app/assets/stylesheets/govuk_publishing_components/components/_translation-nav.scss
620
618
  - app/assets/stylesheets/govuk_publishing_components/components/_warning-text.scss
@@ -767,6 +765,7 @@ files:
767
765
  - app/views/govuk_publishing_components/components/_summary_list.html.erb
768
766
  - app/views/govuk_publishing_components/components/_table.html.erb
769
767
  - app/views/govuk_publishing_components/components/_tabs.html.erb
768
+ - app/views/govuk_publishing_components/components/_tag.html.erb
770
769
  - app/views/govuk_publishing_components/components/_textarea.html.erb
771
770
  - app/views/govuk_publishing_components/components/_translation_nav.html.erb
772
771
  - app/views/govuk_publishing_components/components/_warning_text.html.erb
@@ -868,6 +867,7 @@ files:
868
867
  - app/views/govuk_publishing_components/components/docs/summary_list.yml
869
868
  - app/views/govuk_publishing_components/components/docs/table.yml
870
869
  - app/views/govuk_publishing_components/components/docs/tabs.yml
870
+ - app/views/govuk_publishing_components/components/docs/tag.yml
871
871
  - app/views/govuk_publishing_components/components/docs/textarea.yml
872
872
  - app/views/govuk_publishing_components/components/docs/translation_nav.yml
873
873
  - app/views/govuk_publishing_components/components/docs/warning_text.yml
@@ -2186,7 +2186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2186
2186
  - !ruby/object:Gem::Version
2187
2187
  version: '0'
2188
2188
  requirements: []
2189
- rubygems_version: 3.6.9
2189
+ rubygems_version: 3.7.0
2190
2190
  specification_version: 4
2191
2191
  summary: A gem to document components in GOV.UK frontend applications
2192
2192
  test_files: []
@@ -1,5 +0,0 @@
1
- <svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="11.5" cy="11.5" r="11.5" fill="#272828"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M14.9429 11.7949L10.4402 7.29222L11.7327 5.99967L17.528 11.7949L11.7327 17.5902L10.4402 16.2976L14.9429 11.7949Z" fill="#ffffff"/>
4
- <path fill-rule="evenodd" clip-rule="evenodd" d="M3.95631 10.881L15.4414 10.881L15.4414 12.709L3.95631 12.709L3.95631 10.881Z" fill="#ffffff"/>
5
- </svg>
@@ -1,4 +0,0 @@
1
- <svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M14.9429 11.7949L10.4402 7.29222L11.7327 5.99967L17.528 11.7949L11.7327 17.5902L10.4402 16.2976L14.9429 11.7949Z" fill="#ffffff"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M3.95631 10.881L15.4414 10.881L15.4414 12.709L3.95631 12.709L3.95631 10.881Z" fill="#ffffff"/>
4
- </svg>
@@ -1,5 +0,0 @@
1
- <svg width="39" height="39" viewBox="0 0 39 39" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="19.5" cy="19.5" r="19.5" fill="#fff500"/>
3
- <path fill-rule="evenodd" clip-rule="evenodd" d="M24.0343 20L14.1812 10.1469L17.0096 7.31848L29.6912 20L17.0096 32.6815L14.1812 29.8531L24.0343 20Z" fill="#272828"/>
4
- <path fill-rule="evenodd" clip-rule="evenodd" d="M0.000423781 18L25.1328 18L25.1328 22L0.000423431 22L0.000423781 18Z" fill="#272828"/>
5
- </svg>