govuk_publishing_components 21.4.1 → 21.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1703e7002bab51d2e1f5fafc2a457ef75de4c33daf18a9b8084daf30f6bd17c0
4
- data.tar.gz: fd2420507ba6ae0fef0df3173c1419fc2acd1942ddaad5d716581d02c7dec6c9
3
+ metadata.gz: 4a151a55dd93bf0dc6978eae16dfd6e4fc5b261de579dfa0a940eea3aa5cbb91
4
+ data.tar.gz: 5b10dd771a7caf700747044981f71b818f22dc1393115c0535c41df5501d432d
5
5
  SHA512:
6
- metadata.gz: bd5c994fe7b68806fdd21ac9fc59d50d05382aaec5c84c5b578c438bb61ca6ef52a86b2b6cb73d24bb1035e167c95c1cf9d59fe2b978ae93535822101c15ad34
7
- data.tar.gz: 4f6aef5635a1e886ca823487fd86540abc2ca7d36fdb53f4b6a103b8049002288cbae73ee1ad6db015655e56b648748ad12a9684e41506ad2a57ae340ffa724f
6
+ metadata.gz: 67260c1a1ca4009a8eaf0f6e93368809e9e7be1c219eccb645f24d725743087b4d6c1beee607e8aff886546e51e9bfce212abd4bab40aff1d861a6bd3a95bd7c
7
+ data.tar.gz: 27d04b9134b33a4106a9c6419424b0b865eb53fc399a170e5121e995d80b51c21d99fafd3fce4ee443b08c948e9e1d40696989b722620c9e32bb8681ba3d0fea
@@ -0,0 +1,32 @@
1
+ window.GOVUK = window.GOVUK || {}
2
+ window.GOVUK.Modules = window.GOVUK.Modules || {};
3
+
4
+ (function (Modules) {
5
+ function ContextualGuidance () { }
6
+
7
+ ContextualGuidance.prototype.start = function ($module) {
8
+ this.$module = $module[0]
9
+ this.$guidance = this.$module.querySelector('.gem-c-contextual-guidance__wrapper')
10
+ this.$inputId = this.$guidance.getAttribute('for')
11
+ this.$input = this.$module.querySelector('#' + this.$inputId)
12
+ if (!this.$input) return
13
+ this.$input.addEventListener('focus', this.handleFocus.bind(this))
14
+ }
15
+
16
+ ContextualGuidance.prototype.handleFocus = function (event) {
17
+ this.hideAllGuidance()
18
+ if (!event.target.dataset.contextualGuidanceHideOnly) {
19
+ this.$guidance.style.display = 'block'
20
+ }
21
+ }
22
+
23
+ ContextualGuidance.prototype.hideAllGuidance = function () {
24
+ var $guidances = document.querySelectorAll('.gem-c-contextual-guidance__wrapper')
25
+
26
+ for (var i = 0; i < $guidances.length; i++) {
27
+ $guidances[i].style.display = 'none'
28
+ }
29
+ }
30
+
31
+ Modules.ContextualGuidance = ContextualGuidance
32
+ })(window.GOVUK.Modules)
@@ -27,6 +27,7 @@
27
27
  @import "components/checkboxes";
28
28
  @import "components/chevron-banner";
29
29
  @import "components/contents-list";
30
+ @import "components/contextual-guidance";
30
31
  @import "components/cookie-banner";
31
32
  @import "components/copy-to-clipboard";
32
33
  @import "components/date-input";
@@ -0,0 +1,49 @@
1
+ .gem-c-contextual-guidance {
2
+ .govuk-grid-column-one-third {
3
+ position: relative;
4
+ }
5
+
6
+ &:last-of-type {
7
+ .gem-c-contextual-guidance__wrapper {
8
+ position: relative;
9
+ width: 100%;
10
+ }
11
+ }
12
+ }
13
+
14
+ .gem-c-contextual-guidance__wrapper {
15
+ position: relative;
16
+
17
+ @include govuk-font(19);
18
+
19
+ margin-bottom: govuk-spacing(7);
20
+
21
+ @include govuk-media-query($from: tablet) {
22
+ margin-bottom: govuk-spacing(7);
23
+ padding-top: govuk-spacing(6);
24
+ }
25
+ }
26
+
27
+ .js-enabled {
28
+ .gem-c-contextual-guidance__wrapper {
29
+ display: none;
30
+
31
+ @include govuk-media-query($from: tablet) {
32
+ position: absolute;
33
+ width: calc(100% - #{govuk-spacing(6)});
34
+ }
35
+ }
36
+ }
37
+
38
+ .gem-c-contextual-guidance__guidance {
39
+ padding-left: govuk-spacing(3);
40
+ border-left: 4px solid $govuk-focus-colour;
41
+ background: govuk-colour("white");
42
+
43
+ @include govuk-media-query($from: tablet) {
44
+ padding-top: govuk-spacing(5);
45
+ padding-left: 0;
46
+ border-top: 5px solid $govuk-focus-colour;
47
+ border-left: 0;
48
+ }
49
+ }
@@ -0,0 +1,25 @@
1
+ <%
2
+ id ||= nil
3
+ title ||= nil
4
+ content ||= nil
5
+ data_attributes ||= {}
6
+ data_attributes[:module] = "contextual-guidance"
7
+ %>
8
+
9
+ <%= tag.div class: "gem-c-contextual-guidance", id: id, data: data_attributes do %>
10
+ <%= tag.div class: "govuk-grid-row" do %>
11
+ <%= tag.div class: "govuk-grid-column-two-thirds" do %>
12
+ <%= tag.div class: "gem-c-contextual-guidance__input-field" do %>
13
+ <%= yield %>
14
+ <% end %>
15
+ <% end %>
16
+ <%= tag.div class: "govuk-grid-column-one-third" do %>
17
+ <%= tag.div class: "gem-c-contextual-guidance__wrapper", for: html_for do %>
18
+ <%= tag.div class: "gem-c-contextual-guidance__guidance" do %>
19
+ <%= tag.h2 title, class: "govuk-heading-s" %>
20
+ <%= content %>
21
+ <% end %>
22
+ <% end %>
23
+ <% end %>
24
+ <% end %>
25
+ <% end %>
@@ -0,0 +1,28 @@
1
+ name: Contextual guidance
2
+ description: Provides a container with additional information when focusing an input field (e.g. input, textarea)
3
+ body: |
4
+ This component is build to be used with an input field passed in as a block and must reference its ID using the `html_for` attribute.
5
+
6
+ On tablet and desktop, the guidance container is set to float on the page and prevent other elements from moving around (e.g. pushing next fields down the page).
7
+ part_of_admin_layout: true
8
+ accessibility_criteria: |
9
+ The component must:
10
+
11
+ * be hidden by default
12
+ * be visible when the associated input field if focused
13
+ * stay visible until another input field with guidance is being focused
14
+ shared_accessibility_criteria:
15
+ - link
16
+ examples:
17
+ default:
18
+ description: Reveals a contextul guidance on the side overflowing the container
19
+ data:
20
+ html_for: news-title
21
+ title: Writing a news title
22
+ content: |
23
+ <p>The title must make clear what the content offers users. Use the words your users do to help them find this. Avoid wordplay or teases.</p>
24
+ block: |
25
+ <div class="govuk-form-group">
26
+ <label class="gem-c-label govuk-label" for="news-title">News title</label>
27
+ <input id="news-title" type="text" class="gem-c-input govuk-input">
28
+ </div>
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = '21.4.1'.freeze
2
+ VERSION = '21.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 21.4.1
4
+ version: 21.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-04 00:00:00.000000000 Z
11
+ date: 2019-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gds-api-adapters
@@ -392,6 +392,7 @@ files:
392
392
  - app/assets/javascripts/govuk_publishing_components/components/accordion.js
393
393
  - app/assets/javascripts/govuk_publishing_components/components/character-count.js
394
394
  - app/assets/javascripts/govuk_publishing_components/components/checkboxes.js
395
+ - app/assets/javascripts/govuk_publishing_components/components/contextual-guidance.js
395
396
  - app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js
396
397
  - app/assets/javascripts/govuk_publishing_components/components/copy-to-clipboard.js
397
398
  - app/assets/javascripts/govuk_publishing_components/components/error-summary.js
@@ -426,6 +427,7 @@ files:
426
427
  - app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss
427
428
  - app/assets/stylesheets/govuk_publishing_components/components/_chevron-banner.scss
428
429
  - app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss
430
+ - app/assets/stylesheets/govuk_publishing_components/components/_contextual-guidance.scss
429
431
  - app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss
430
432
  - app/assets/stylesheets/govuk_publishing_components/components/_copy-to-clipboard.scss
431
433
  - app/assets/stylesheets/govuk_publishing_components/components/_date-input.scss
@@ -548,6 +550,7 @@ files:
548
550
  - app/views/govuk_publishing_components/components/_contents_list.html.erb
549
551
  - app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb
550
552
  - app/views/govuk_publishing_components/components/_contextual_footer.html.erb
553
+ - app/views/govuk_publishing_components/components/_contextual_guidance.html.erb
551
554
  - app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb
552
555
  - app/views/govuk_publishing_components/components/_cookie_banner.html.erb
553
556
  - app/views/govuk_publishing_components/components/_copy_to_clipboard.html.erb
@@ -620,6 +623,7 @@ files:
620
623
  - app/views/govuk_publishing_components/components/docs/contents_list.yml
621
624
  - app/views/govuk_publishing_components/components/docs/contextual_breadcrumbs.yml
622
625
  - app/views/govuk_publishing_components/components/docs/contextual_footer.yml
626
+ - app/views/govuk_publishing_components/components/docs/contextual_guidance.yml
623
627
  - app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml
624
628
  - app/views/govuk_publishing_components/components/docs/cookie_banner.yml
625
629
  - app/views/govuk_publishing_components/components/docs/copy_to_clipboard.yml