govuk_publishing_components 21.58.0 → 21.60.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +31 -6
  3. data/app/assets/javascripts/component_guide/accessibility-test.js +21 -21
  4. data/app/assets/javascripts/component_guide/filter-components.js +19 -19
  5. data/app/assets/javascripts/component_guide/visual-regression.js +38 -37
  6. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +2 -2
  7. data/app/assets/javascripts/govuk_publishing_components/components/details.js +5 -3
  8. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +4 -4
  9. data/app/assets/javascripts/govuk_publishing_components/lib/auto-track-event.js +31 -0
  10. data/app/assets/javascripts/govuk_publishing_components/lib/cookie-functions.js +24 -24
  11. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +17 -17
  12. data/app/assets/stylesheets/component_guide/application.scss +15 -15
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +0 -8
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +1 -1
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_checkboxes.scss +4 -0
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss +1 -8
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +0 -1
  18. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +4 -5
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_heading.scss +3 -8
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +1 -1
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_input.scss +1 -1
  22. data/app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss +5 -8
  23. data/app/assets/stylesheets/govuk_publishing_components/components/_radio.scss +4 -0
  24. data/app/assets/stylesheets/govuk_publishing_components/components/_related-navigation.scss +2 -2
  25. data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +0 -1
  26. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +0 -5
  27. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +1 -4
  28. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +8 -12
  29. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +21 -24
  30. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +4 -8
  31. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +2 -0
  32. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +1 -4
  33. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +6 -6
  34. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +2 -0
  35. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +2 -0
  36. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +2 -0
  37. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +1 -1
  38. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +2 -0
  39. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_markdown-typography.scss +1 -1
  40. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +2 -0
  41. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -4
  42. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav.scss +2 -10
  43. data/app/controllers/govuk_publishing_components/audit_controller.rb +52 -0
  44. data/app/controllers/govuk_publishing_components/component_guide_controller.rb +2 -2
  45. data/app/models/govuk_publishing_components/audit_applications.rb +117 -0
  46. data/app/models/govuk_publishing_components/audit_comparer.rb +198 -0
  47. data/app/models/govuk_publishing_components/audit_components.rb +158 -0
  48. data/app/views/govuk_publishing_components/audit/show.html.erb +258 -0
  49. data/app/views/govuk_publishing_components/component_guide/index.html.erb +7 -1
  50. data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +1 -1
  51. data/app/views/govuk_publishing_components/components/_image_card.html.erb +1 -1
  52. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  53. data/app/views/govuk_publishing_components/components/_radio.html.erb +13 -5
  54. data/app/views/govuk_publishing_components/components/_share_links.html.erb +9 -9
  55. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +2 -2
  56. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +4 -0
  57. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +45 -0
  58. data/app/views/govuk_publishing_components/components/docs/heading.yml +6 -3
  59. data/app/views/govuk_publishing_components/components/docs/image_card.yml +13 -1
  60. data/app/views/govuk_publishing_components/components/docs/radio.yml +4 -0
  61. data/config/routes.rb +1 -0
  62. data/lib/govuk_publishing_components/presenters/checkboxes_helper.rb +15 -7
  63. data/lib/govuk_publishing_components/presenters/heading_helper.rb +21 -1
  64. data/lib/govuk_publishing_components/presenters/image_card_helper.rb +2 -1
  65. data/lib/govuk_publishing_components/version.rb +1 -1
  66. data/node_modules/axe-core/package.json +145 -220
  67. data/node_modules/govuk-frontend/govuk/all.js +160 -57
  68. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +16 -8
  69. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +6 -0
  70. data/node_modules/govuk-frontend/govuk/components/character-count/template.njk +1 -0
  71. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss +6 -5
  72. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +68 -21
  73. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +1 -1
  74. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +0 -27
  75. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +0 -3
  76. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +1 -1
  77. data/node_modules/govuk-frontend/govuk/components/header/template.njk +1 -1
  78. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss +2 -2
  79. data/node_modules/govuk-frontend/govuk/components/hint/template.njk +2 -2
  80. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +0 -3
  81. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +6 -0
  82. data/node_modules/govuk-frontend/govuk/components/input/template.njk +1 -0
  83. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +76 -28
  84. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +0 -3
  85. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +1 -0
  86. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss +0 -3
  87. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +6 -0
  88. data/node_modules/govuk-frontend/govuk/components/textarea/template.njk +1 -0
  89. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +4 -2
  90. data/node_modules/govuk-frontend/govuk/helpers/_colour.scss +1 -1
  91. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +2 -2
  92. data/node_modules/govuk-frontend/govuk/settings/_colours-palette.scss +1 -1
  93. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +4 -1
  94. data/node_modules/govuk-frontend/package.json +14 -81
  95. data/node_modules/jquery/package.json +44 -116
  96. metadata +29 -66
  97. data/Rakefile +0 -37
@@ -2,7 +2,13 @@
2
2
 
3
3
  <div class="component-markdown">
4
4
  <p>Components are packages of template, style, behaviour and documentation that live in your application.</p>
5
- <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>. Read about how to <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/publishing-to-rubygems.md">release a new version of the gem</a>.</p>
5
+ <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>
6
+ <ul>
7
+ <li>Read about how to <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/publishing-to-rubygems.md">release a new version of the gem</a></li>
8
+ <% if ENV["MAIN_COMPONENT_GUIDE"] %>
9
+ <li><a href="/component-guide/audit">View component audits</a></li>
10
+ <% end %>
11
+ </ul>
6
12
  </div>
7
13
 
8
14
  <form role="search" data-module="filter-components" class="component-search">
@@ -10,7 +10,7 @@
10
10
  %>
11
11
 
12
12
  <script type="application/ld+json">
13
- <%= raw breadcrumb_presenter.structured_data.to_json %>
13
+ <%= raw JSON.pretty_generate(breadcrumb_presenter.structured_data) %>
14
14
  </script>
15
15
 
16
16
  <div class="<%= classes %>" data-module="track-click">
@@ -7,7 +7,7 @@
7
7
  <% if card_helper.href || card_helper.extra_links.any? %>
8
8
  <div class="gem-c-image-card <%= "gem-c-image-card--large" if card_helper.large %> <%= brand_helper.brand_class %>"
9
9
  <%= "data-module=track-click" if card_helper.is_tracking? %>
10
- >
10
+ <%= "lang=#{card_helper.lang}" if card_helper.lang %>>
11
11
  <%= card_helper.image %>
12
12
 
13
13
  <div class="gem-c-image-card__text-wrapper">
@@ -9,7 +9,7 @@
9
9
  <% structured_data = GovukPublishingComponents::Presenters::SchemaOrg.new(page).structured_data %>
10
10
 
11
11
  <script type="application/ld+json">
12
- <%= raw structured_data.to_json %>
12
+ <%= raw JSON.pretty_generate(structured_data) %>
13
13
  </script>
14
14
 
15
15
  <link rel="canonical" href="<%= page.canonical_url %>" />
@@ -6,10 +6,18 @@
6
6
  label ||= nil
7
7
  heading ||= nil
8
8
  heading_caption ||= nil
9
+ heading_size ||= nil
9
10
  small ||= false
10
11
  inline ||= false
11
12
  is_page_heading ||= false
12
- heading_size = 'm' unless ['s', 'm', 'l', 'xl'].include?(heading_size)
13
+
14
+ if ['s', 'm', 'l', 'xl'].include?(heading_size)
15
+ size = heading_size
16
+ elsif is_page_heading
17
+ size = 'xl'
18
+ else
19
+ size = 'm'
20
+ end
13
21
 
14
22
  description ||= nil
15
23
  hint ||= nil
@@ -28,7 +36,7 @@
28
36
  radio_classes << "govuk-radios--inline" if inline
29
37
 
30
38
  legend_classes = %w(govuk-fieldset__legend)
31
- legend_classes << "govuk-fieldset__legend--#{heading_size}"
39
+ legend_classes << "govuk-fieldset__legend--#{size}"
32
40
 
33
41
  aria = "#{hint_id} #{"#{error_id}" if has_error}".strip if hint or has_error
34
42
 
@@ -40,9 +48,9 @@
40
48
 
41
49
  <% if heading.present? %>
42
50
  <% if is_page_heading %>
43
- <%= tag.legend class: "govuk-fieldset__legend govuk-fieldset__legend--xl gem-c-title" do %>
44
- <%= tag.span(heading_caption, class: "govuk-caption-xl") if heading_caption.present? %>
45
- <%= tag.h1 heading, class: "gem-c-title__text" %>
51
+ <%= tag.legend class: legend_classes do %>
52
+ <%= tag.span(heading_caption, class: "govuk-caption-#{size}") if heading_caption.present? %>
53
+ <%= tag.h1 heading, class: "gem-c-radio__heading-text govuk-fieldset__heading" %>
46
54
  <% end %>
47
55
  <% else %>
48
56
  <%= tag.legend heading, class: legend_classes %>
@@ -55,37 +55,37 @@
55
55
  class: "gem-c-share-links__link #{brand_helper.color_class}" do %>
56
56
  <span class="gem-c-share-links__link-icon">
57
57
  <% if link[:icon] == 'facebook' %>
58
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
58
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" aria-hidden="true">
59
59
  <path fill="currentColor" d="M31.006 0H.993A.997.997 0 0 0 0 .993v30.014c0 .55.452.993.993.993h30.013a.998.998 0 0 0 .994-.993V.993A.999.999 0 0 0 31.006 0z"/>
60
60
  <path fill="#FFF" d="M17.892 10.751h1.787V8.009L17.216 8c-2.73 0-3.352 2.045-3.352 3.353v1.828h-1.581v2.824h1.581V24h3.322v-7.995h2.242l.291-2.824h-2.533V11.52c.001-.623.415-.769.706-.769z"/>
61
61
  </svg>
62
62
 
63
63
  <% elsif link[:icon] == 'twitter' %>
64
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32">
64
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" aria-hidden="true">
65
65
  <path fill="currentColor" d="M31.007 0H.993A.999.999 0 0 0 0 .993v30.014c0 .55.452.993.993.993h30.014a.997.997 0 0 0 .993-.993V.993A.998.998 0 0 0 31.007 0z"/>
66
66
  <path fill="#FFF" d="M8 21.027a9.286 9.286 0 0 0 5.032 1.475c6.038 0 9.34-5.002 9.34-9.339 0-.143-.004-.284-.012-.425a6.619 6.619 0 0 0 1.639-1.699c-.6.265-1.234.439-1.885.516a3.287 3.287 0 0 0 1.443-1.816 6.571 6.571 0 0 1-2.086.797 3.28 3.28 0 0 0-5.592 2.993 9.311 9.311 0 0 1-6.766-3.43 3.294 3.294 0 0 0-.443 1.651 3.28 3.28 0 0 0 1.46 2.732 3.278 3.278 0 0 1-1.488-.411v.041a3.288 3.288 0 0 0 2.633 3.22 3.28 3.28 0 0 1-1.481.055 3.285 3.285 0 0 0 3.065 2.281 6.59 6.59 0 0 1-4.076 1.404A6.76 6.76 0 0 1 8 21.027z"/>
67
67
  </svg>
68
68
 
69
69
  <% elsif link[:icon] == 'email' %>
70
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M34.983 18.76v12.48H15.016V18.76h19.967m2.496-2.496H12.52v17.472h24.959V16.264z"/><path fill="none" stroke="#FFF" stroke-width="2.496" stroke-miterlimit="10" d="M14.59 18.963L25 26.945l10.263-7.869"/></svg>
70
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M34.983 18.76v12.48H15.016V18.76h19.967m2.496-2.496H12.52v17.472h24.959V16.264z"/><path fill="none" stroke="#FFF" stroke-width="2.496" stroke-miterlimit="10" d="M14.59 18.963L25 26.945l10.263-7.869"/></svg>
71
71
 
72
72
  <% elsif link[:icon] == 'flickr' %>
73
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M23.72 25a5.76 5.76 0 1 1-11.52 0 5.76 5.76 0 1 1 11.52 0m14.08 0c0 3.182-2.578 5.76-5.76 5.76s-5.76-2.578-5.76-5.76a5.76 5.76 0 1 1 11.52 0"/></svg>
73
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M23.72 25a5.76 5.76 0 1 1-11.52 0 5.76 5.76 0 1 1 11.52 0m14.08 0c0 3.182-2.578 5.76-5.76 5.76s-5.76-2.578-5.76-5.76a5.76 5.76 0 1 1 11.52 0"/></svg>
74
74
 
75
75
  <% elsif link[:icon] == 'instagram' %>
76
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M25 28.2a3.204 3.204 0 0 1-3.2-3.2c0-1.764 1.436-3.2 3.2-3.2 1.765 0 3.2 1.436 3.2 3.2 0 1.765-1.435 3.2-3.2 3.2"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#c" overflow="visible"/></clipPath><path clip-path="url(#d)" fill="#FFF" d="M25 22.44c1.412 0 2.56 1.148 2.56 2.56s-1.147 2.56-2.56 2.56a2.561 2.561 0 0 1 0-5.12m0-1.28A3.844 3.844 0 0 0 21.16 25 3.844 3.844 0 0 0 25 28.84 3.845 3.845 0 0 0 28.84 25 3.844 3.844 0 0 0 25 21.16"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#e" overflow="visible"/></clipPath><path clip-path="url(#f)" fill="#FFF" d="M17.32 35.24c-1.555 0-2.56-1.005-2.56-2.561V17.373c0-1.611.981-2.613 2.56-2.613h15.36c1.58 0 2.561 1.002 2.561 2.613v15.36c0 1.522-1.005 2.507-2.561 2.507H17.32zM25 17.96c-3.881 0-7.04 3.159-7.04 7.04 0 3.881 3.159 7.04 7.04 7.04 3.881 0 7.04-3.159 7.04-7.04 0-3.881-3.159-7.04-7.04-7.04m7.36-2.56a2.243 2.243 0 0 0-2.24 2.24 2.243 2.243 0 0 0 2.24 2.24 2.241 2.241 0 0 0 0-4.48"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#g" overflow="visible"/></clipPath><path clip-path="url(#h)" fill="#FFF" d="M30.552 15.4a2.873 2.873 0 0 0-.704 3.648A7.64 7.64 0 0 0 25 17.319c-4.235 0-7.68 3.445-7.68 7.68 0 4.235 3.445 7.68 7.68 7.68 4.235 0 7.68-3.444 7.68-7.68a7.642 7.642 0 0 0-1.728-4.848 2.876 2.876 0 0 0 3.647-.703v13.285c0 1.169-.717 1.866-1.92 1.866H17.32c-1.22 0-1.92-.699-1.92-1.92V17.373c0-1.254.7-1.973 1.92-1.973h13.232m2.128-1.28H17.32c-1.92 0-3.2 1.28-3.2 3.253V32.68c0 1.92 1.28 3.2 3.2 3.2h15.36c1.92 0 3.2-1.28 3.2-3.146v-15.36c0-1.974-1.28-3.254-3.2-3.254m-.32 5.12a1.6 1.6 0 1 1-.001-3.2 1.6 1.6 0 0 1 .001 3.2M25 31.4a6.4 6.4 0 1 1 .002-12.802A6.4 6.4 0 0 1 25 31.4"/></svg>
76
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M25 28.2a3.204 3.204 0 0 1-3.2-3.2c0-1.764 1.436-3.2 3.2-3.2 1.765 0 3.2 1.436 3.2 3.2 0 1.765-1.435 3.2-3.2 3.2"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#c" overflow="visible"/></clipPath><path clip-path="url(#d)" fill="#FFF" d="M25 22.44c1.412 0 2.56 1.148 2.56 2.56s-1.147 2.56-2.56 2.56a2.561 2.561 0 0 1 0-5.12m0-1.28A3.844 3.844 0 0 0 21.16 25 3.844 3.844 0 0 0 25 28.84 3.845 3.845 0 0 0 28.84 25 3.844 3.844 0 0 0 25 21.16"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#e" overflow="visible"/></clipPath><path clip-path="url(#f)" fill="#FFF" d="M17.32 35.24c-1.555 0-2.56-1.005-2.56-2.561V17.373c0-1.611.981-2.613 2.56-2.613h15.36c1.58 0 2.561 1.002 2.561 2.613v15.36c0 1.522-1.005 2.507-2.561 2.507H17.32zM25 17.96c-3.881 0-7.04 3.159-7.04 7.04 0 3.881 3.159 7.04 7.04 7.04 3.881 0 7.04-3.159 7.04-7.04 0-3.881-3.159-7.04-7.04-7.04m7.36-2.56a2.243 2.243 0 0 0-2.24 2.24 2.243 2.243 0 0 0 2.24 2.24 2.241 2.241 0 0 0 0-4.48"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#g" overflow="visible"/></clipPath><path clip-path="url(#h)" fill="#FFF" d="M30.552 15.4a2.873 2.873 0 0 0-.704 3.648A7.64 7.64 0 0 0 25 17.319c-4.235 0-7.68 3.445-7.68 7.68 0 4.235 3.445 7.68 7.68 7.68 4.235 0 7.68-3.444 7.68-7.68a7.642 7.642 0 0 0-1.728-4.848 2.876 2.876 0 0 0 3.647-.703v13.285c0 1.169-.717 1.866-1.92 1.866H17.32c-1.22 0-1.92-.699-1.92-1.92V17.373c0-1.254.7-1.973 1.92-1.973h13.232m2.128-1.28H17.32c-1.92 0-3.2 1.28-3.2 3.253V32.68c0 1.92 1.28 3.2 3.2 3.2h15.36c1.92 0 3.2-1.28 3.2-3.146v-15.36c0-1.974-1.28-3.254-3.2-3.254m-.32 5.12a1.6 1.6 0 1 1-.001-3.2 1.6 1.6 0 0 1 .001 3.2M25 31.4a6.4 6.4 0 1 1 .002-12.802A6.4 6.4 0 0 1 25 31.4"/></svg>
77
77
 
78
78
  <% elsif link[:icon] == 'linkedin' %>
79
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M19.24 35.24V21.8h-4.48v13.44h4.48z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M26.28 35.24V28.2c0-1.92.64-3.2 1.92-3.2h.64c1.28 0 1.92 1.28 1.92 4.48v5.76h4.48V28.2c0-4.48-1.28-6.4-4.48-6.4-3.84 0-4.479 1.92-4.479 1.92V21.8H21.8v13.44h4.48zm-6.72-17.92a2.56 2.56 0 1 1-5.12 0 2.56 2.56 0 0 1 5.12 0"/></svg>
79
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M19.24 35.24V21.8h-4.48v13.44h4.48z"/><defs><path d="M9 9h32v32H9z"/></defs><clipPath><use xlink:href="#a" overflow="visible"/></clipPath><path clip-path="url(#b)" fill="#FFF" d="M26.28 35.24V28.2c0-1.92.64-3.2 1.92-3.2h.64c1.28 0 1.92 1.28 1.92 4.48v5.76h4.48V28.2c0-4.48-1.28-6.4-4.48-6.4-3.84 0-4.479 1.92-4.479 1.92V21.8H21.8v13.44h4.48zm-6.72-17.92a2.56 2.56 0 1 1-5.12 0 2.56 2.56 0 0 1 5.12 0"/></svg>
80
80
 
81
81
  <% elsif link[:icon] == 'youtube' %>
82
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M19.88 33.32V16.68L33.32 25l-13.44 8.32z"/></svg>
82
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M19.88 33.32V16.68L33.32 25l-13.44 8.32z"/></svg>
83
83
 
84
84
  <% elsif link[:icon] == 'whatsapp' %>
85
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><path d="M0 32V0h32v32H0zm20.839-13.894c-.263-.131-1.555-.766-1.796-.854-.24-.088-.416-.132-.59.131-.176.263-.68.855-.833 1.03-.153.176-.307.198-.57.066-.262-.131-1.109-.41-2.113-1.304-.78-.697-1.308-1.557-1.461-1.82-.153-.263-.016-.406.115-.536.118-.118.263-.308.394-.46.131-.154.175-.264.263-.44.088-.174.044-.328-.022-.46-.066-.131-.591-1.424-.81-1.95-.214-.513-.43-.443-.59-.452a10.506 10.506 0 0 0-.505-.009.964.964 0 0 0-.7.329c-.241.263-.92.899-.92 2.192 0 1.293.942 2.542 1.073 2.718.131.176 1.852 2.83 4.489 3.967.626.27 1.116.433 1.497.554.63.2 1.202.172 1.655.104.505-.075 1.555-.636 1.774-1.25.219-.613.219-1.14.153-1.25-.066-.108-.24-.174-.503-.306zm-4.795 6.547h-.003a8.73 8.73 0 0 1-4.449-1.219l-.319-.19-3.308.869.883-3.226-.208-.33a8.718 8.718 0 0 1-1.336-4.652c.001-4.819 3.922-8.74 8.744-8.74a8.68 8.68 0 0 1 6.179 2.564 8.686 8.686 0 0 1 2.557 6.183c-.002 4.82-3.922 8.74-8.74 8.74zm7.44-16.18a10.449 10.449 0 0 0-7.44-3.084c-5.796 0-10.513 4.717-10.516 10.516 0 1.853.484 3.662 1.404 5.256l-1.492 5.45 5.574-1.463a10.504 10.504 0 0 0 5.026 1.28h.004c5.796 0 10.514-4.717 10.516-10.515a10.455 10.455 0 0 0-3.077-7.44z" fill="currentColor"/></svg>
85
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" aria-hidden="true"><path d="M0 32V0h32v32H0zm20.839-13.894c-.263-.131-1.555-.766-1.796-.854-.24-.088-.416-.132-.59.131-.176.263-.68.855-.833 1.03-.153.176-.307.198-.57.066-.262-.131-1.109-.41-2.113-1.304-.78-.697-1.308-1.557-1.461-1.82-.153-.263-.016-.406.115-.536.118-.118.263-.308.394-.46.131-.154.175-.264.263-.44.088-.174.044-.328-.022-.46-.066-.131-.591-1.424-.81-1.95-.214-.513-.43-.443-.59-.452a10.506 10.506 0 0 0-.505-.009.964.964 0 0 0-.7.329c-.241.263-.92.899-.92 2.192 0 1.293.942 2.542 1.073 2.718.131.176 1.852 2.83 4.489 3.967.626.27 1.116.433 1.497.554.63.2 1.202.172 1.655.104.505-.075 1.555-.636 1.774-1.25.219-.613.219-1.14.153-1.25-.066-.108-.24-.174-.503-.306zm-4.795 6.547h-.003a8.73 8.73 0 0 1-4.449-1.219l-.319-.19-3.308.869.883-3.226-.208-.33a8.718 8.718 0 0 1-1.336-4.652c.001-4.819 3.922-8.74 8.744-8.74a8.68 8.68 0 0 1 6.179 2.564 8.686 8.686 0 0 1 2.557 6.183c-.002 4.82-3.922 8.74-8.74 8.74zm7.44-16.18a10.449 10.449 0 0 0-7.44-3.084c-5.796 0-10.513 4.717-10.516 10.516 0 1.853.484 3.662 1.404 5.256l-1.492 5.45 5.574-1.463a10.504 10.504 0 0 0 5.026 1.28h.004c5.796 0 10.514-4.717 10.516-10.515a10.455 10.455 0 0 0-3.077-7.44z" fill="currentColor"/></svg>
86
86
 
87
87
  <% else %>
88
- <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M12.84 14.12v19.2h5.76l5.76 5.76v-5.76h12.8v-19.2H12.84zm3.2 8.32H28.2V25H16.04v-2.56zm16 7.68h-16v-2.56h16v2.56zm1.92-10.24H16.04v-2.56h17.92v2.56z"/></svg>
88
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="9 9 32 32" aria-hidden="true"><path fill="currentColor" d="M9 9h32v32H9V9z"/><path fill="#FFF" d="M12.84 14.12v19.2h5.76l5.76 5.76v-5.76h12.8v-19.2H12.84zm3.2 8.32H28.2V25H16.04v-2.56zm16 7.68h-16v-2.56h16v2.56zm1.92-10.24H16.04v-2.56h17.92v2.56z"/></svg>
89
89
 
90
90
  <% end %>
91
91
  </span><%= link_text %><% end %>
@@ -25,14 +25,14 @@
25
25
  %>
26
26
  <% if title %>
27
27
  <script type="application/ld+json">
28
- <%= raw breadcrumb_presenter.structured_data.to_json %>
28
+ <%= raw JSON.pretty_generate(breadcrumb_presenter.structured_data) %>
29
29
  </script>
30
30
 
31
31
  <div class="<%= classes %>" data-module="track-click">
32
32
  <span class="gem-c-step-nav-header__part-of">Part of</span>
33
33
  <% if path %>
34
34
  <a href="<%= path %>"
35
- class="gem-c-step-nav-header__title"
35
+ class="gem-c-step-nav-header__title govuk-link"
36
36
  data-track-category="<%= tracking_category %>"
37
37
  data-track-action="<%= tracking_action %>"
38
38
  data-track-label="<%= tracking_label %>"
@@ -184,6 +184,10 @@ examples:
184
184
  - label: "Blue"
185
185
  value: "blue"
186
186
  with_custom_heading_size:
187
+ description: |
188
+ This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
189
+
190
+ If the is_page_heading option is true and heading_size is not set, the text size will be xl.
187
191
  data:
188
192
  name: "favourite_colour"
189
193
  heading: "What is your favourite colour?"
@@ -190,6 +190,51 @@ examples:
190
190
  </tr>
191
191
  </tbody>
192
192
  </table>
193
+ chart_with_colours:
194
+ data:
195
+ block: |
196
+ <table class="js-barchart-table mc-auto-outdent">
197
+ <thead>
198
+ <tr>
199
+ <th scope="col">Number position</th>
200
+ <th scope="col">Apples</th>
201
+ <th scope="col">Oranges</th>
202
+ <th scope="col">Bananas</th>
203
+ <th scope="col">Pears</th>
204
+ <th scope="col">Grapes</th>
205
+ <th scope="col">Strawberries</th>
206
+ <th scope="col">Plums</th>
207
+ <th scope="col">Apricots</th>
208
+ <th scope="col">Pineapples</th>
209
+ </tr>
210
+ </thead>
211
+ <tbody>
212
+ <tr>
213
+ <td>Numbers inside bar</td>
214
+ <td>16</td>
215
+ <td>48</td>
216
+ <td>39</td>
217
+ <td>50</td>
218
+ <td>24</td>
219
+ <td>10</td>
220
+ <td>62</td>
221
+ <td>29</td>
222
+ <td>81</td>
223
+ </tr>
224
+ <tr>
225
+ <td>Numbers outside bar</td>
226
+ <td>2</td>
227
+ <td>1</td>
228
+ <td>2</td>
229
+ <td>1</td>
230
+ <td>1</td>
231
+ <td>3</td>
232
+ <td>3</td>
233
+ <td>1</td>
234
+ <td>2</td>
235
+ </tr>
236
+ </tbody>
237
+ </table>
193
238
  address:
194
239
  data:
195
240
  block: |
@@ -24,10 +24,13 @@ examples:
24
24
  text: 'Original consultation'
25
25
  heading_level: 3
26
26
  different_font_sizes:
27
- description: Choose a different font size. Valid options are 24 (24px) and 19 (19px), with the component defaulting to 27px, appropriate for a H1. This option is not tied to the heading_level option in order to give flexibility.
27
+ description: |
28
+ Set a different font size for the heading. Uses the [GOV.UK Frontend heading sizes](https://design-system.service.gov.uk/styles/typography/#headings) but defaults to 27px for legacy reasons. Valid options are `xl`, `l`, `m` and `s`.
29
+
30
+ This option is not tied to the heading_level option in order to give flexibility.
28
31
  data:
29
- text: 'Heading 3'
30
- font_size: 19
32
+ text: 'One big heading'
33
+ font_size: "xl"
31
34
  with_id_attribute:
32
35
  data:
33
36
  text: 'Detail of outcome'
@@ -9,6 +9,7 @@ accessibility_criteria: |
9
9
 
10
10
  - include alt text for images when present
11
11
  - not have duplicate links for the image and the text
12
+ - if the contents of the component are in a different language than the rest of the document, include an appropriate `lang` attribute to correctly identify the language used in the component
12
13
  shared_accessibility_criteria:
13
14
  - link
14
15
  examples:
@@ -191,7 +192,7 @@ examples:
191
192
  description: Can be used for links to people pages to indicate payment type
192
193
  data:
193
194
  href: "/government/people/"
194
- image_src: "http://placekitten.com/215/140"
195
+ image_src: "https://assets.publishing.service.gov.uk/government/uploads/system/uploads/feature/image/62756/s300_courts-of-justice.JPG"
195
196
  image_alt: "some meaningful alt text please"
196
197
  context:
197
198
  text: "The Rt Hon"
@@ -204,3 +205,14 @@ examples:
204
205
  }
205
206
  ]
206
207
  extra_links_no_indent: true
208
+ with_lang:
209
+ description: |
210
+ Pass through an appropriate `lang` to set a HTML lang attribute for the component.
211
+
212
+ The `lang` attribute **must** be set to a [valid BCP47 string](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang#Language_tag_syntax). A valid code can be the two or three letter language code - for example, English is `en` or `eng`, Korean is `ko` or `kor` - but if in doubt please check.
213
+ data:
214
+ href: "/not-a-page"
215
+ image_src: "https://assets.publishing.service.gov.uk/government/uploads/system/uploads/feature/image/62756/s300_courts-of-justice.JPG"
216
+ image_alt: "some meaningful alt text please"
217
+ heading_text: Yr hyn rydym ni'n ei wneud
218
+ lang: cy
@@ -183,6 +183,10 @@ examples:
183
183
  - value: "blue"
184
184
  text: "Blue"
185
185
  with_custom_heading_size:
186
+ description: |
187
+ This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
188
+
189
+ If the is_page_heading option is true and heading_size is not set, the text size will be xl.
186
190
  data:
187
191
  name: "radio-group-description"
188
192
  heading: "What is your favourite colour?"
@@ -1,4 +1,5 @@
1
1
  GovukPublishingComponents::Engine.routes.draw do
2
+ get "/audit" => "audit#show", as: :audit
2
3
  root to: "component_guide#index", as: :component_guide
3
4
  get ":component/preview" => "component_guide#preview", as: :component_preview_all
4
5
  get ":component/:example/preview" => "component_guide#preview", as: :component_preview
@@ -14,7 +14,6 @@ module GovukPublishingComponents
14
14
  :id,
15
15
  :hint_text,
16
16
  :description,
17
- :heading_size,
18
17
  :heading_caption,
19
18
  :has_exclusive
20
19
 
@@ -35,9 +34,8 @@ module GovukPublishingComponents
35
34
 
36
35
  @id = options[:id] || "checkboxes-#{SecureRandom.hex(4)}"
37
36
  @heading = options[:heading] || nil
38
- @heading_size = options[:heading_size]
39
- @heading_size = "m" unless %w[s m l xl].include?(@heading_size)
40
37
  @heading_caption = options[:heading_caption] || nil
38
+ @heading_size = options[:heading_size] || nil
41
39
  @is_page_heading = options[:is_page_heading]
42
40
  @description = options[:description] || nil
43
41
  @no_hint_text = options[:no_hint_text]
@@ -60,20 +58,30 @@ module GovukPublishingComponents
60
58
  end
61
59
  end
62
60
 
61
+ def size
62
+ if %w[s m l xl].include?(@heading_size)
63
+ @heading_size
64
+ elsif @is_page_heading
65
+ "xl"
66
+ else
67
+ "m"
68
+ end
69
+ end
70
+
63
71
  def heading_markup
64
72
  return unless @heading.present?
65
73
 
66
74
  if @is_page_heading
67
75
  content_tag(
68
76
  :legend,
69
- class: "govuk-fieldset__legend govuk-fieldset__legend--xl gem-c-title",
77
+ class: "govuk-fieldset__legend govuk-fieldset__legend--#{size}",
70
78
  ) do
71
- concat content_tag(:span, heading_caption, class: "govuk-caption-xl") if heading_caption.present?
72
- concat content_tag(:h1, @heading, class: "gem-c-title__text")
79
+ concat content_tag(:span, heading_caption, class: "govuk-caption-#{size}") if heading_caption.present?
80
+ concat content_tag(:h1, @heading, class: "gem-c-checkboxes__heading-text govuk-fieldset__heading")
73
81
  end
74
82
  else
75
83
  classes = %w[govuk-fieldset__legend]
76
- classes << "govuk-fieldset__legend--#{@heading_size}"
84
+ classes << "govuk-fieldset__legend--#{size}"
77
85
  classes << "gem-c-checkboxes__legend--hidden" if @visually_hide_heading
78
86
 
79
87
  content_tag(:legend, @heading, class: classes)
@@ -7,12 +7,32 @@ module GovukPublishingComponents
7
7
  @id = options[:id]
8
8
 
9
9
  @classes = ""
10
- @classes << " gem-c-heading--font-size-#{options[:font_size]}" if [24, 19].include? options[:font_size]
10
+ @classes << heading_size(options[:font_size])
11
11
  @classes << " gem-c-heading--mobile-top-margin" if options[:mobile_top_margin]
12
12
  @classes << " gem-c-heading--padding" if options[:padding]
13
13
  @classes << " gem-c-heading--border-top-#{options[:border_top]}" if [1, 2, 5].include? options[:border_top]
14
14
  @classes << " gem-c-heading--inverse" if options[:inverse]
15
15
  end
16
+
17
+ private
18
+
19
+ def heading_size(option)
20
+ gem_class = "gem-c-heading--font-size-"
21
+ govuk_class = "govuk-heading-"
22
+
23
+ case option
24
+ when "xl"
25
+ "#{govuk_class}xl"
26
+ when "l"
27
+ "#{govuk_class}l"
28
+ when 24, "m"
29
+ "#{govuk_class}m"
30
+ when 19, "s"
31
+ "#{govuk_class}s"
32
+ else
33
+ "#{gem_class}27"
34
+ end
35
+ end
16
36
  end
17
37
  end
18
38
  end
@@ -4,7 +4,7 @@ module GovukPublishingComponents
4
4
  include ActionView::Helpers
5
5
  include ActionView::Context
6
6
 
7
- attr_reader :href, :href_data_attributes, :extra_links, :large, :extra_links_no_indent, :heading_text, :metadata
7
+ attr_reader :href, :href_data_attributes, :extra_links, :large, :extra_links_no_indent, :heading_text, :metadata, :lang
8
8
 
9
9
  def initialize(local_assigns)
10
10
  @href = local_assigns[:href]
@@ -18,6 +18,7 @@ module GovukPublishingComponents
18
18
  @heading_text = local_assigns[:heading_text]
19
19
  @extra_links_no_indent = local_assigns[:extra_links_no_indent]
20
20
  @metadata = local_assigns[:metadata]
21
+ @lang = local_assigns[:lang]
21
22
  end
22
23
 
23
24
  def is_tracking?
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "21.58.0".freeze
2
+ VERSION = "21.60.3".freeze
3
3
  end
@@ -1,222 +1,147 @@
1
1
  {
2
- "_args": [
3
- [
4
- {
5
- "raw": "axe-core@^3.5.4",
6
- "scope": null,
7
- "escapedName": "axe-core",
8
- "name": "axe-core",
9
- "rawSpec": "^3.5.4",
10
- "spec": ">=3.5.4 <4.0.0",
11
- "type": "range"
12
- },
13
- "/var/lib/jenkins/workspace/ublishing_components_master-N4FWJIUY4CIFHKGZOAAEVVXODRY3YBORQOPIBBXWX72VUPSGJRRQ"
14
- ]
15
- ],
16
- "_from": "axe-core@>=3.5.4 <4.0.0",
17
- "_hasShrinkwrap": false,
18
- "_id": "axe-core@3.5.5",
19
- "_inCache": true,
20
- "_location": "/axe-core",
21
- "_nodeVersion": "10.21.0",
22
- "_npmOperationalInternal": {
23
- "host": "s3://npm-registry-packages",
24
- "tmp": "tmp/axe-core_3.5.5_1592406217427_0.7348143825163969"
25
- },
26
- "_npmUser": {
27
- "name": "npmdeque",
28
- "email": "axe@deque.com"
29
- },
30
- "_npmVersion": "6.14.4",
31
- "_phantomChildren": {},
32
- "_requested": {
33
- "raw": "axe-core@^3.5.4",
34
- "scope": null,
35
- "escapedName": "axe-core",
36
- "name": "axe-core",
37
- "rawSpec": "^3.5.4",
38
- "spec": ">=3.5.4 <4.0.0",
39
- "type": "range"
40
- },
41
- "_requiredBy": [
42
- "/"
43
- ],
44
- "_resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz",
45
- "_shasum": "84315073b53fa3c0c51676c588d59da09a192227",
46
- "_shrinkwrap": null,
47
- "_spec": "axe-core@^3.5.4",
48
- "_where": "/var/lib/jenkins/workspace/ublishing_components_master-N4FWJIUY4CIFHKGZOAAEVVXODRY3YBORQOPIBBXWX72VUPSGJRRQ",
49
- "bugs": {
50
- "url": "https://github.com/dequelabs/axe-core/issues"
51
- },
52
- "contributors": [
53
- {
54
- "name": "David Sturley",
55
- "url": "http://deque.com/"
56
- },
57
- {
58
- "name": "Dylan Barrell",
59
- "email": "dylan@barrell.com",
60
- "url": "http://deque.com/"
61
- },
62
- {
63
- "name": "Wilco Fiers",
64
- "url": "http://deque.com/"
65
- },
66
- {
67
- "name": "Dian Fay",
68
- "url": "http://deque.com/"
69
- },
70
- {
71
- "name": "Marcy Sutton",
72
- "url": "http://deque.com/"
73
- }
74
- ],
75
- "dependencies": {},
76
- "description": "Accessibility engine for automated Web UI testing",
77
- "devDependencies": {
78
- "@babel/core": "^7.5.4",
79
- "@babel/plugin-proposal-object-rest-spread": "^7.5.4",
80
- "@babel/polyfill": "^7.4.4",
81
- "@babel/preset-env": "^7.5.4",
82
- "@deque/dot": "^1.1.5",
83
- "aria-query": "^3.0.0",
84
- "axios": "^0.19.0",
85
- "babelify": "^10.0.0",
86
- "blanket": "~1.2.3",
87
- "browserify": "^16.2.3",
88
- "chai": "~4.2.0",
89
- "clone": "~2.1.1",
90
- "core-js": "^3.2.1",
91
- "css-selector-parser": "^1.3.0",
92
- "derequire": "^2.0.6",
93
- "emoji-regex": "8.0.0",
94
- "es6-promise": "^4.2.6",
95
- "eslint": "^6.1.0",
96
- "eslint-config-prettier": "^6.2.0",
97
- "execa": "^2.0.2",
98
- "fs-extra": "^8.0.1",
99
- "globby": "^10.0.0",
100
- "grunt": "^1.0.3",
101
- "grunt-babel": "^8.0.0",
102
- "grunt-contrib-clean": "^2.0.0",
103
- "grunt-contrib-concat": "^1.0.1",
104
- "grunt-contrib-connect": "^2.0.0",
105
- "grunt-contrib-copy": "^1.0.0",
106
- "grunt-contrib-uglify": "^4.0.0",
107
- "grunt-contrib-watch": "^1.1.0",
108
- "grunt-parallel": "^0.5.1",
109
- "grunt-run": "^0.8.1",
110
- "html-entities": "^1.2.0",
111
- "husky": "^3.0.0",
112
- "jquery": "^3.0.0",
113
- "jsdoc": "^3.5.5",
114
- "lint-staged": "^9.2.1",
115
- "make-dir": "^3.0.0",
116
- "markdown-table": "^1.1.2",
117
- "memoizee": "^0.4.14",
118
- "minami": "^1.2.3",
119
- "mkdirp": "^0.5.1",
120
- "mocha": "^6.1.2",
121
- "mocha-headless-chrome": "^2.0.3",
122
- "prettier": "^1.17.1",
123
- "puppeteer": "^2.0.0",
124
- "revalidator": "~0.3.1",
125
- "selenium-webdriver": "~3.6.0",
126
- "sinon": "^7.5.0",
127
- "sri-toolbox": "^0.2.0",
128
- "standard-version": "^7.0.0",
129
- "typescript": "^3.5.3",
130
- "uglify-js": "^3.4.4",
131
- "weakmap-polyfill": "^2.0.0"
132
- },
133
- "directories": {},
134
- "dist": {
135
- "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==",
136
- "shasum": "84315073b53fa3c0c51676c588d59da09a192227",
137
- "tarball": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz",
138
- "fileCount": 596,
139
- "unpackedSize": 2642777,
140
- "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6jDJCRA9TVsSAnZWagAAGCMQAJ1oBZRRo34GrgSa/2t6\nYeU2J8z5qkLNFILI65HVEzcu2e/TL8rHFgi9Q1Ga4szh41PTXJd0YfnPvYWt\nx+EiZ+TSoeSSksj5VoS3wjQFn2cQ55LyUOW0lQ3s1sPwEgALZPG3pLCn7GW+\nZiOW+Ai1FHESY/dbxZ1Rl1IrOt+jbOZqsczb0yk8PkZ9QwPJjZL70iLI8DRL\n5JMGoAmO4dJ3Vk+t2Dhy7vnwz+bFbs9lRKZaBJp4dYqY0F8HHC91hROv9pTP\n4hCNXevA6SKSf/Ddl7ub51EN1qQalYHQTQ0al4i0isv6NPlUnPVYaGzTHpZE\n2OTvoZ+dVqSDnCJqYH/WrIRfO0xA3bKTlRn6HyMkHFJOcXmi6NR/47uQfY/6\nr5a/N7nBsWh92aaoEw9ZVoNyMAgeEJlOt5uzXQgOWgJM8WIpqbTUJOeqXfEe\nI9FC2NhNU8Gqw9Ee24KCrCg8PWeODV/r47IHkQRdHqoqh1+/hzkUUhVP1smC\n6eI8qFTnhwws+EwNbxvBg73BCwsEiRwXaE7U0PToPLQvxyr0CRjqzJsl6Hhi\nOowldaReyMQALfJTipnc/Eb1VqCVQ1ABaYltnyVRnCL22mZUJGgq65OINJjT\nYGr9pWAh8r+C4MkIJf8C05eYJB6QL8+kry8YDDDtd2NdUHW8IKOax1p3MuqD\nG8u9\r\n=lmaS\r\n-----END PGP SIGNATURE-----\r\n"
141
- },
142
- "engines": {
143
- "node": ">=4"
144
- },
145
- "gitHead": "c19c8b616f9ed836fb72f14aaaff53072ea13fdc",
146
- "homepage": "https://www.deque.com/axe/",
147
- "keywords": [
148
- "Accessibility",
149
- "a11y",
150
- "testing",
151
- "unit",
152
- "tdd",
153
- "bdd",
154
- "axe"
155
- ],
156
- "license": "MPL-2.0",
157
- "lint-staged": {
158
- "*.{md,json,ts,html}": [
159
- "prettier --write",
160
- "git add"
161
- ],
162
- "*.js": [
163
- "eslint --fix",
164
- "prettier --write",
165
- "git add"
166
- ]
167
- },
168
- "main": "axe.js",
169
- "maintainers": [
170
- {
171
- "name": "dequelabs",
172
- "email": "labs@deque.com"
173
- },
174
- {
175
- "name": "dylanb",
176
- "email": "dylan@barrell.com"
177
- },
178
- {
179
- "name": "marcysutton",
180
- "email": "marcy.sutton@deque.com"
181
- },
182
- {
183
- "name": "wilcofiers",
184
- "email": "wilcofiers@gmail.com"
185
- }
186
- ],
187
- "name": "axe-core",
188
- "optionalDependencies": {},
189
- "readme": "ERROR: No README data found!",
190
- "repository": {
191
- "type": "git",
192
- "url": "git+https://github.com/dequelabs/axe-core.git"
193
- },
194
- "scripts": {
195
- "api-docs": "jsdoc --configure .jsdoc.json",
196
- "build": "grunt",
197
- "develop": "grunt dev --force",
198
- "eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",
199
- "fmt": "prettier --write *.{json,md,js} **/*.ts './{.github,build,doc,lib,test}/**/*.{json,md,js,ts,html}'",
200
- "imports-gen": "node ./build/imports-generator",
201
- "next-release": "standard-version --scripts.prebump=./build/next-version.js --skip.commit=true --skip.tag=true",
202
- "prepublishOnly": "grunt build && grunt file-exists",
203
- "release": "standard-version -a",
204
- "rule-gen": "node build/rule-generator",
205
- "sri-update": "grunt build && node build/sri-update && git add sri-history.json",
206
- "sri-validate": "node build/sri-update --validate",
207
- "start": "npm run develop",
208
- "test": "tsc && grunt test",
209
- "test:examples": "node ./doc/examples/test-examples",
210
- "test:headless": "node ./build/test/headless",
211
- "test:locales": "mocha test/test-locales.js",
212
- "test:rule-help-version": "mocha test/test-rule-help-version.js",
213
- "version": "echo \"use 'npm run release' to bump axe-core version\" && exit 1"
214
- },
215
- "standard-version": {
216
- "scripts": {
217
- "postbump": "npm ci && npm run sri-update"
218
- }
219
- },
220
- "typings": "axe.d.ts",
221
- "version": "3.5.5"
2
+ "name": "axe-core",
3
+ "description": "Accessibility engine for automated Web UI testing",
4
+ "version": "3.5.5",
5
+ "license": "MPL-2.0",
6
+ "engines": {
7
+ "node": ">=4"
8
+ },
9
+ "contributors": [
10
+ {
11
+ "name": "David Sturley",
12
+ "organization": "Deque Systems, Inc.",
13
+ "url": "http://deque.com/"
14
+ },
15
+ {
16
+ "name": "Dylan Barrell",
17
+ "email": "dylan@barrell.com",
18
+ "organization": "Deque Systems, Inc.",
19
+ "url": "http://deque.com/"
20
+ },
21
+ {
22
+ "name": "Wilco Fiers",
23
+ "organization": "Deque Systems, Inc.",
24
+ "url": "http://deque.com/"
25
+ },
26
+ {
27
+ "name": "Dian Fay",
28
+ "organization": "Deque Systems, Inc.",
29
+ "url": "http://deque.com/"
30
+ },
31
+ {
32
+ "name": "Marcy Sutton",
33
+ "organization": "Deque Systems, Inc.",
34
+ "url": "http://deque.com/"
35
+ }
36
+ ],
37
+ "homepage": "https://www.deque.com/axe/",
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "https://github.com/dequelabs/axe-core.git"
41
+ },
42
+ "keywords": [
43
+ "Accessibility",
44
+ "a11y",
45
+ "testing",
46
+ "unit",
47
+ "tdd",
48
+ "bdd",
49
+ "axe"
50
+ ],
51
+ "main": "axe.js",
52
+ "typings": "axe.d.ts",
53
+ "standard-version": {
54
+ "scripts": {
55
+ "postbump": "npm ci && npm run sri-update"
56
+ }
57
+ },
58
+ "scripts": {
59
+ "start": "npm run develop",
60
+ "develop": "grunt dev --force",
61
+ "api-docs": "jsdoc --configure .jsdoc.json",
62
+ "imports-gen": "node ./build/imports-generator",
63
+ "build": "grunt",
64
+ "eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",
65
+ "test:headless": "node ./build/test/headless",
66
+ "test": "tsc && grunt test",
67
+ "test:examples": "node ./doc/examples/test-examples",
68
+ "test:locales": "mocha test/test-locales.js",
69
+ "test:rule-help-version": "mocha test/test-rule-help-version.js",
70
+ "version": "echo \"use 'npm run release' to bump axe-core version\" && exit 1",
71
+ "prepublishOnly": "grunt build && grunt file-exists",
72
+ "release": "standard-version -a",
73
+ "rule-gen": "node build/rule-generator",
74
+ "next-release": "standard-version --scripts.prebump=./build/next-version.js --skip.commit=true --skip.tag=true",
75
+ "sri-update": "grunt build && node build/sri-update && git add sri-history.json",
76
+ "sri-validate": "node build/sri-update --validate",
77
+ "fmt": "prettier --write *.{json,md,js} **/*.ts './{.github,build,doc,lib,test}/**/*.{json,md,js,ts,html}'"
78
+ },
79
+ "devDependencies": {
80
+ "@babel/core": "^7.5.4",
81
+ "@babel/plugin-proposal-object-rest-spread": "^7.5.4",
82
+ "@babel/polyfill": "^7.4.4",
83
+ "@babel/preset-env": "^7.5.4",
84
+ "@deque/dot": "^1.1.5",
85
+ "aria-query": "^3.0.0",
86
+ "axios": "^0.19.0",
87
+ "babelify": "^10.0.0",
88
+ "blanket": "~1.2.3",
89
+ "browserify": "^16.2.3",
90
+ "chai": "~4.2.0",
91
+ "clone": "~2.1.1",
92
+ "core-js": "^3.2.1",
93
+ "css-selector-parser": "^1.3.0",
94
+ "derequire": "^2.0.6",
95
+ "emoji-regex": "8.0.0",
96
+ "es6-promise": "^4.2.6",
97
+ "eslint": "^6.1.0",
98
+ "eslint-config-prettier": "^6.2.0",
99
+ "execa": "^2.0.2",
100
+ "fs-extra": "^8.0.1",
101
+ "globby": "^10.0.0",
102
+ "grunt": "^1.0.3",
103
+ "grunt-babel": "^8.0.0",
104
+ "grunt-contrib-clean": "^2.0.0",
105
+ "grunt-contrib-concat": "^1.0.1",
106
+ "grunt-contrib-connect": "^2.0.0",
107
+ "grunt-contrib-copy": "^1.0.0",
108
+ "grunt-contrib-uglify": "^4.0.0",
109
+ "grunt-contrib-watch": "^1.1.0",
110
+ "grunt-parallel": "^0.5.1",
111
+ "grunt-run": "^0.8.1",
112
+ "html-entities": "^1.2.0",
113
+ "husky": "^3.0.0",
114
+ "jquery": "^3.0.0",
115
+ "jsdoc": "^3.5.5",
116
+ "lint-staged": "^9.2.1",
117
+ "make-dir": "^3.0.0",
118
+ "markdown-table": "^1.1.2",
119
+ "memoizee": "^0.4.14",
120
+ "minami": "^1.2.3",
121
+ "mkdirp": "^0.5.1",
122
+ "mocha": "^6.1.2",
123
+ "mocha-headless-chrome": "^2.0.3",
124
+ "prettier": "^1.17.1",
125
+ "puppeteer": "^2.0.0",
126
+ "revalidator": "~0.3.1",
127
+ "selenium-webdriver": "~3.6.0",
128
+ "sinon": "^7.5.0",
129
+ "sri-toolbox": "^0.2.0",
130
+ "standard-version": "^7.0.0",
131
+ "typescript": "^3.5.3",
132
+ "uglify-js": "^3.4.4",
133
+ "weakmap-polyfill": "^2.0.0"
134
+ },
135
+ "dependencies": {},
136
+ "lint-staged": {
137
+ "*.{md,json,ts,html}": [
138
+ "prettier --write",
139
+ "git add"
140
+ ],
141
+ "*.js": [
142
+ "eslint --fix",
143
+ "prettier --write",
144
+ "git add"
145
+ ]
146
+ }
222
147
  }