govuk_publishing_components 29.13.0 → 29.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/action-link-arrow--white.png +0 -0
  3. data/app/assets/images/govuk_publishing_components/action-link-arrow--white.svg +1 -0
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/gtm-page-views.js +5 -3
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js +135 -0
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +2 -0
  7. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +27 -22
  8. data/app/assets/javascripts/govuk_publishing_components/components/table.js +52 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +7 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_previous-and-next-navigation.scss +1 -92
  11. data/app/models/govuk_publishing_components/audit_applications.rb +31 -9
  12. data/app/models/govuk_publishing_components/audit_comparer.rb +15 -9
  13. data/app/views/govuk_publishing_components/audit/_components.html.erb +20 -2
  14. data/app/views/govuk_publishing_components/components/_action_link.html.erb +2 -0
  15. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +33 -36
  16. data/app/views/govuk_publishing_components/components/_table.html.erb +61 -30
  17. data/app/views/govuk_publishing_components/components/docs/accordion.yml +2 -1
  18. data/app/views/govuk_publishing_components/components/docs/action_link.yml +8 -0
  19. data/app/views/govuk_publishing_components/components/docs/back_link.yml +1 -1
  20. data/app/views/govuk_publishing_components/components/docs/big_number.yml +2 -2
  21. data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +2 -2
  22. data/app/views/govuk_publishing_components/components/docs/button.yml +41 -40
  23. data/app/views/govuk_publishing_components/components/docs/cards.yml +2 -0
  24. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +216 -216
  25. data/app/views/govuk_publishing_components/components/docs/cookie_banner.yml +2 -1
  26. data/app/views/govuk_publishing_components/components/docs/copy_to_clipboard.yml +2 -2
  27. data/app/views/govuk_publishing_components/components/docs/details.yml +5 -1
  28. data/app/views/govuk_publishing_components/components/docs/document_list.yml +1 -2
  29. data/app/views/govuk_publishing_components/components/docs/error_alert.yml +4 -0
  30. data/app/views/govuk_publishing_components/components/docs/error_summary.yml +4 -6
  31. data/app/views/govuk_publishing_components/components/docs/image_card.yml +2 -1
  32. data/app/views/govuk_publishing_components/components/docs/intervention.yml +25 -25
  33. data/app/views/govuk_publishing_components/components/docs/organisation_logo.yml +1 -2
  34. data/app/views/govuk_publishing_components/components/docs/previous_and_next_navigation.yml +1 -1
  35. data/app/views/govuk_publishing_components/components/docs/print_link.yml +5 -1
  36. data/app/views/govuk_publishing_components/components/docs/select.yml +101 -98
  37. data/app/views/govuk_publishing_components/components/docs/table.yml +36 -1
  38. data/app/views/govuk_publishing_components/components/docs/tabs.yml +4 -0
  39. data/config/locales/ar.yml +6 -0
  40. data/config/locales/az.yml +6 -0
  41. data/config/locales/be.yml +6 -0
  42. data/config/locales/bg.yml +6 -0
  43. data/config/locales/bn.yml +6 -0
  44. data/config/locales/cs.yml +6 -0
  45. data/config/locales/cy.yml +6 -0
  46. data/config/locales/da.yml +6 -0
  47. data/config/locales/de.yml +6 -0
  48. data/config/locales/dr.yml +6 -0
  49. data/config/locales/el.yml +6 -0
  50. data/config/locales/en.yml +6 -0
  51. data/config/locales/es-419.yml +6 -0
  52. data/config/locales/es.yml +6 -0
  53. data/config/locales/et.yml +6 -0
  54. data/config/locales/fa.yml +6 -0
  55. data/config/locales/fi.yml +6 -0
  56. data/config/locales/fr.yml +6 -0
  57. data/config/locales/gd.yml +6 -0
  58. data/config/locales/gu.yml +6 -0
  59. data/config/locales/he.yml +6 -0
  60. data/config/locales/hi.yml +6 -0
  61. data/config/locales/hr.yml +6 -0
  62. data/config/locales/hu.yml +6 -0
  63. data/config/locales/hy.yml +6 -0
  64. data/config/locales/id.yml +6 -0
  65. data/config/locales/is.yml +6 -0
  66. data/config/locales/it.yml +6 -0
  67. data/config/locales/ja.yml +6 -0
  68. data/config/locales/ka.yml +6 -0
  69. data/config/locales/kk.yml +6 -0
  70. data/config/locales/ko.yml +6 -0
  71. data/config/locales/lt.yml +6 -0
  72. data/config/locales/lv.yml +6 -0
  73. data/config/locales/ms.yml +6 -0
  74. data/config/locales/mt.yml +6 -0
  75. data/config/locales/nl.yml +6 -0
  76. data/config/locales/no.yml +6 -0
  77. data/config/locales/pa-pk.yml +6 -0
  78. data/config/locales/pa.yml +6 -0
  79. data/config/locales/pl.yml +6 -0
  80. data/config/locales/ps.yml +6 -0
  81. data/config/locales/pt.yml +6 -0
  82. data/config/locales/ro.yml +6 -0
  83. data/config/locales/ru.yml +6 -0
  84. data/config/locales/si.yml +6 -0
  85. data/config/locales/sk.yml +6 -0
  86. data/config/locales/sl.yml +6 -0
  87. data/config/locales/so.yml +6 -0
  88. data/config/locales/sq.yml +6 -0
  89. data/config/locales/sr.yml +6 -0
  90. data/config/locales/sv.yml +6 -0
  91. data/config/locales/sw.yml +6 -0
  92. data/config/locales/ta.yml +6 -0
  93. data/config/locales/th.yml +6 -0
  94. data/config/locales/tk.yml +6 -0
  95. data/config/locales/tr.yml +6 -0
  96. data/config/locales/uk.yml +6 -0
  97. data/config/locales/ur.yml +6 -0
  98. data/config/locales/uz.yml +6 -0
  99. data/config/locales/vi.yml +6 -0
  100. data/config/locales/zh-hk.yml +6 -0
  101. data/config/locales/zh-tw.yml +6 -0
  102. data/config/locales/zh.yml +6 -0
  103. data/lib/govuk_publishing_components/app_helpers/table_helper.rb +4 -2
  104. data/lib/govuk_publishing_components/version.rb +1 -1
  105. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -0
  106. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +1 -0
  107. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +2 -1
  108. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +102 -44
  109. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +7 -1
  110. data/node_modules/govuk-frontend/govuk/components/checkboxes/template.njk +3 -2
  111. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +10 -10
  112. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +92 -1
  113. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +2 -1
  114. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +3 -0
  115. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +14 -6
  116. data/node_modules/govuk-frontend/govuk/components/header/template.njk +9 -3
  117. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +2 -1
  118. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  119. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +76 -1
  120. data/node_modules/govuk-frontend/govuk/components/pagination/README.md +15 -0
  121. data/node_modules/govuk-frontend/govuk/components/pagination/_index.scss +244 -0
  122. data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss +2 -0
  123. data/node_modules/govuk-frontend/govuk/components/pagination/fixtures.json +300 -0
  124. data/node_modules/govuk-frontend/govuk/components/pagination/macro-options.json +128 -0
  125. data/node_modules/govuk-frontend/govuk/components/pagination/macro.njk +3 -0
  126. data/node_modules/govuk-frontend/govuk/components/pagination/template.njk +62 -0
  127. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +147 -43
  128. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +7 -1
  129. data/node_modules/govuk-frontend/govuk/components/radios/template.njk +3 -2
  130. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +56 -2
  131. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +7 -1
  132. data/node_modules/govuk-frontend/govuk/components/select/template.njk +1 -1
  133. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +2 -1
  134. data/node_modules/govuk-frontend/govuk-esm/all.mjs +12 -12
  135. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +3 -3
  136. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs +2 -2
  137. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs +3 -3
  138. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs +4 -4
  139. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +3 -3
  140. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs +3 -3
  141. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +3 -3
  142. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs +1 -1
  143. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs +4 -4
  144. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs +3 -3
  145. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs +6 -6
  146. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{DOMTokenList.js → DOMTokenList.mjs} +0 -0
  147. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Document.js → Document.mjs} +0 -0
  148. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{classList.js → classList.mjs} +4 -4
  149. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{closest.js → closest.mjs} +1 -1
  150. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{matches.js → matches.mjs} +0 -0
  151. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{nextElementSibling.js → nextElementSibling.mjs} +2 -2
  152. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{previousElementSibling.js → previousElementSibling.mjs} +2 -2
  153. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Element.js → Element.mjs} +1 -1
  154. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Event.js → Event.mjs} +3 -3
  155. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/{bind.js → bind.mjs} +1 -1
  156. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/{defineProperty.js → defineProperty.mjs} +0 -0
  157. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Window.js → Window.mjs} +0 -0
  158. data/node_modules/govuk-frontend/package.json +8 -2
  159. metadata +26 -15
@@ -100,7 +100,7 @@
100
100
  "name": "checked",
101
101
  "type": "boolean",
102
102
  "required": false,
103
- "description": "If `true`, radio will be checked."
103
+ "description": "Whether the radio should be checked when the page loads. Takes precedence over the top-level `value` option."
104
104
  },
105
105
  {
106
106
  "name": "conditional",
@@ -128,6 +128,12 @@
128
128
  }
129
129
  ]
130
130
  },
131
+ {
132
+ "name": "value",
133
+ "type": "string",
134
+ "required": false,
135
+ "description": "The value for the radio which should be checked when the page loads. Use this as an alternative to setting the `checked` option on each individual item."
136
+ },
131
137
  {
132
138
  "name": "classes",
133
139
  "type": "string",
@@ -56,11 +56,12 @@
56
56
  {%- if item.divider %}
57
57
  <div class="govuk-radios__divider">{{ item.divider }}</div>
58
58
  {%- else %}
59
+ {% set isChecked = item.checked | default(params.value and item.value == params.value) %}
59
60
  {% set hasHint = true if item.hint.text or item.hint.html %}
60
61
  {% set itemHintId = id + '-item-hint' %}
61
62
  <div class="govuk-radios__item">
62
63
  <input class="govuk-radios__input" id="{{ id }}" name="{{ params.name }}" type="radio" value="{{ item.value }}"
63
- {{-" checked" if item.checked }}
64
+ {{-" checked" if isChecked }}
64
65
  {{-" disabled" if item.disabled }}
65
66
  {%- if item.conditional.html %} data-aria-controls="{{ conditionalId }}"{% endif -%}
66
67
  {%- if hasHint %} aria-describedby="{{ itemHintId }}"{% endif -%}
@@ -83,7 +84,7 @@
83
84
  {% endif %}
84
85
  </div>
85
86
  {% if item.conditional.html %}
86
- <div class="govuk-radios__conditional{% if not item.checked %} govuk-radios__conditional--hidden{% endif %}" id="{{ conditionalId }}">
87
+ <div class="govuk-radios__conditional{% if not isChecked %} govuk-radios__conditional--hidden{% endif %}" id="{{ conditionalId }}">
87
88
  {{ item.conditional.html | safe }}
88
89
  </div>
89
90
  {% endif %}
@@ -29,6 +29,35 @@
29
29
  "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"select-1\">\n Label text goes here\n </label>\n\n\n <select class=\"govuk-select\" id=\"select-1\" name=\"select-1\">\n \n \n <option value=\"1\">GOV.UK frontend option 1</option>\n \n \n \n <option value=\"2\" selected>GOV.UK frontend option 2</option>\n \n \n \n <option value=\"3\" disabled>GOV.UK frontend option 3</option>\n \n \n </select>\n</div>",
30
30
  "hidden": false
31
31
  },
32
+ {
33
+ "name": "with selected value",
34
+ "options": {
35
+ "id": "select-1",
36
+ "name": "select-1",
37
+ "label": {
38
+ "text": "Label text goes here"
39
+ },
40
+ "items": [
41
+ {
42
+ "value": 1,
43
+ "text": "GOV.UK frontend option 1"
44
+ },
45
+ {
46
+ "value": 2,
47
+ "text": "GOV.UK frontend option 2",
48
+ "selected": true
49
+ },
50
+ {
51
+ "value": 3,
52
+ "text": "GOV.UK frontend option 3",
53
+ "disabled": true
54
+ }
55
+ ],
56
+ "value": 3
57
+ },
58
+ "html": "<div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"select-1\">\n Label text goes here\n </label>\n\n\n <select class=\"govuk-select\" id=\"select-1\" name=\"select-1\">\n \n \n <option value=\"1\">GOV.UK frontend option 1</option>\n \n \n \n <option value=\"2\" selected>GOV.UK frontend option 2</option>\n \n \n \n <option value=\"3\" selected disabled>GOV.UK frontend option 3</option>\n \n \n </select>\n</div>",
59
+ "hidden": false
60
+ },
32
61
  {
33
62
  "name": "with hint text and error message",
34
63
  "options": {
@@ -68,6 +97,7 @@
68
97
  "name": "select-3",
69
98
  "label": {
70
99
  "text": "Label text goes here",
100
+ "classes": "govuk-label--l",
71
101
  "isPageHeading": true
72
102
  },
73
103
  "items": [
@@ -87,7 +117,7 @@
87
117
  }
88
118
  ]
89
119
  },
90
- "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label\" for=\"select-3\">\n Label text goes here\n </label>\n </h1>\n\n\n <select class=\"govuk-select\" id=\"select-3\" name=\"select-3\">\n \n \n <option value=\"1\">GOV.UK frontend option 1</option>\n \n \n \n <option value=\"2\" selected>GOV.UK frontend option 2</option>\n \n \n \n <option value=\"3\" disabled>GOV.UK frontend option 3</option>\n \n \n </select>\n</div>",
120
+ "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--l\" for=\"select-3\">\n Label text goes here\n </label>\n </h1>\n\n\n <select class=\"govuk-select\" id=\"select-3\" name=\"select-3\">\n \n \n <option value=\"1\">GOV.UK frontend option 1</option>\n \n \n \n <option value=\"2\" selected>GOV.UK frontend option 2</option>\n \n \n \n <option value=\"3\" disabled>GOV.UK frontend option 3</option>\n \n \n </select>\n</div>",
91
121
  "hidden": false
92
122
  },
93
123
  {
@@ -218,7 +248,7 @@
218
248
  }
219
249
  ]
220
250
  },
221
- "html": "<div class=\"govuk-form-group\">\n \n\n\n <select class=\"govuk-select\" id=\"with-item-attributes\" name=\"with-item-attributes\">\n \n \n <option value=\"1\" data-attribute=\"ABC\" data-second-attribute=\"DEF\">Option 1</option>\n \n \n \n <option value=\"2\" data-attribute=\"GHI\" data-second-attribute=\"JKL\">Option 2</option>\n \n \n </select>\n</div>",
251
+ "html": "<div class=\"govuk-form-group\">\n \n\n\n <select class=\"govuk-select\" id=\"with-item-attributes\" name=\"with-item-attributes\">\n \n \n <option value=\"1\" data-attribute=\"ABC\" data-second-attribute=\"DEF\">Option 1</option>\n \n \n \n <option value=\"2\" selected data-attribute=\"GHI\" data-second-attribute=\"JKL\">Option 2</option>\n \n \n </select>\n</div>",
222
252
  "hidden": true
223
253
  },
224
254
  {
@@ -322,6 +352,30 @@
322
352
  },
323
353
  "html": "<div class=\"govuk-form-group govuk-form-group--error\">\n \n\n\n \n \n <p id=\"select-with-error-error\" class=\"govuk-error-message\">\n <span class=\"govuk-visually-hidden\">Error:</span> Error message\n </p>\n\n <select class=\"govuk-select govuk-select--error\" id=\"select-with-error\" name=\"select-with-error\" aria-describedby=\"some-id select-with-error-error\">\n \n \n <option value=\"1\">GOV.UK frontend option 1</option>\n \n \n \n <option value=\"2\">GOV.UK frontend option 2</option>\n \n \n </select>\n</div>",
324
354
  "hidden": true
355
+ },
356
+ {
357
+ "name": "item selected overrides value",
358
+ "options": {
359
+ "name": "colors",
360
+ "items": [
361
+ {
362
+ "value": "red",
363
+ "text": "Red"
364
+ },
365
+ {
366
+ "value": "green",
367
+ "text": "Green",
368
+ "selected": false
369
+ },
370
+ {
371
+ "value": "blue",
372
+ "text": "Blue"
373
+ }
374
+ ],
375
+ "value": "green"
376
+ },
377
+ "html": "<div class=\"govuk-form-group\">\n \n\n\n <select class=\"govuk-select\" id=\"\" name=\"colors\">\n \n \n <option value=\"red\">Red</option>\n \n \n \n <option value=\"green\">Green</option>\n \n \n \n <option value=\"blue\">Blue</option>\n \n \n </select>\n</div>",
378
+ "hidden": true
325
379
  }
326
380
  ]
327
381
  }
@@ -33,7 +33,7 @@
33
33
  "name": "selected",
34
34
  "type": "boolean",
35
35
  "required": false,
36
- "description": "Sets the option as the selected."
36
+ "description": "Whether the option should be selected when the page loads. Takes precedence over the top-level `value` option."
37
37
  },
38
38
  {
39
39
  "name": "disabled",
@@ -49,6 +49,12 @@
49
49
  }
50
50
  ]
51
51
  },
52
+ {
53
+ "name": "value",
54
+ "type": "string",
55
+ "required": false,
56
+ "description": "Value for the option which should be selected. Use this as an alternative to setting the `selected` option on each individual item."
57
+ },
52
58
  {
53
59
  "name": "describedBy",
54
60
  "type": "string",
@@ -42,7 +42,7 @@
42
42
  {% for item in params.items %}
43
43
  {% if item %}
44
44
  <option value="{{ item.value }}"
45
- {{-" selected" if item.selected }}
45
+ {{-" selected" if item.selected | default(params.value and item.value == params.value) }}
46
46
  {{-" disabled" if item.disabled }}
47
47
  {%- for attribute, value in item.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>{{ item.text }}</option>
48
48
  {% endif %}
@@ -76,10 +76,11 @@
76
76
  "name": "address",
77
77
  "label": {
78
78
  "text": "Full address",
79
+ "classes": "govuk-label--l",
79
80
  "isPageHeading": true
80
81
  }
81
82
  },
82
- "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label\" for=\"textarea-with-page-heading\">\n Full address\n </label>\n </h1>\n\n\n <textarea class=\"govuk-textarea\" id=\"textarea-with-page-heading\" name=\"address\" rows=\"5\"></textarea>\n</div>",
83
+ "html": "<div class=\"govuk-form-group\">\n <h1 class=\"govuk-label-wrapper\">\n <label class=\"govuk-label govuk-label--l\" for=\"textarea-with-page-heading\">\n Full address\n </label>\n </h1>\n\n\n <textarea class=\"govuk-textarea\" id=\"textarea-with-page-heading\" name=\"address\" rows=\"5\"></textarea>\n</div>",
83
84
  "hidden": false
84
85
  },
85
86
  {
@@ -1,15 +1,15 @@
1
- import { nodeListForEach } from './common'
2
- import Accordion from './components/accordion/accordion'
3
- import Button from './components/button/button'
4
- import Details from './components/details/details'
5
- import CharacterCount from './components/character-count/character-count'
6
- import Checkboxes from './components/checkboxes/checkboxes'
7
- import ErrorSummary from './components/error-summary/error-summary'
8
- import NotificationBanner from './components/notification-banner/notification-banner'
9
- import Header from './components/header/header'
10
- import Radios from './components/radios/radios'
11
- import SkipLink from './components/skip-link/skip-link'
12
- import Tabs from './components/tabs/tabs'
1
+ import { nodeListForEach } from './common.mjs'
2
+ import Accordion from './components/accordion/accordion.mjs'
3
+ import Button from './components/button/button.mjs'
4
+ import Details from './components/details/details.mjs'
5
+ import CharacterCount from './components/character-count/character-count.mjs'
6
+ import Checkboxes from './components/checkboxes/checkboxes.mjs'
7
+ import ErrorSummary from './components/error-summary/error-summary.mjs'
8
+ import NotificationBanner from './components/notification-banner/notification-banner.mjs'
9
+ import Header from './components/header/header.mjs'
10
+ import Radios from './components/radios/radios.mjs'
11
+ import SkipLink from './components/skip-link/skip-link.mjs'
12
+ import Tabs from './components/tabs/tabs.mjs'
13
13
 
14
14
  function initAll (options) {
15
15
  // Set the options to an empty object by default if no options are passed.
@@ -15,9 +15,9 @@
15
15
 
16
16
  */
17
17
 
18
- import { nodeListForEach } from '../../common'
19
- import '../../vendor/polyfills/Function/prototype/bind'
20
- import '../../vendor/polyfills/Element/prototype/classList'
18
+ import { nodeListForEach } from '../../common.mjs'
19
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
20
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
21
21
 
22
22
  function Accordion ($module) {
23
23
  this.$module = $module
@@ -1,5 +1,5 @@
1
- import '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation
2
- import '../../vendor/polyfills/Function/prototype/bind'
1
+ import '../../vendor/polyfills/Event.mjs' // addEventListener and event.target normaliziation
2
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
3
3
 
4
4
  var KEY_SPACE = 32
5
5
  var DEBOUNCE_TIMEOUT_IN_SECONDS = 1
@@ -1,6 +1,6 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
2
- import '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation
3
- import '../../vendor/polyfills/Element/prototype/classList'
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
+ import '../../vendor/polyfills/Event.mjs' // addEventListener and event.target normaliziation
3
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
4
4
 
5
5
  function CharacterCount ($module) {
6
6
  this.$module = $module
@@ -1,8 +1,8 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
2
  // addEventListener, event.target normalization and DOMContentLoaded
3
- import '../../vendor/polyfills/Event'
4
- import '../../vendor/polyfills/Element/prototype/classList'
5
- import { nodeListForEach } from '../../common'
3
+ import '../../vendor/polyfills/Event.mjs'
4
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
5
+ import { nodeListForEach } from '../../common.mjs'
6
6
 
7
7
  function Checkboxes ($module) {
8
8
  this.$module = $module
@@ -4,9 +4,9 @@
4
4
  *
5
5
  * http://caniuse.com/#feat=details
6
6
  */
7
- import '../../vendor/polyfills/Function/prototype/bind'
8
- import '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation
9
- import { generateUniqueID } from '../../common'
7
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
8
+ import '../../vendor/polyfills/Event.mjs' // addEventListener and event.target normaliziation
9
+ import { generateUniqueID } from '../../common.mjs'
10
10
 
11
11
  var KEY_ENTER = 13
12
12
  var KEY_SPACE = 32
@@ -1,6 +1,6 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
2
- import '../../vendor/polyfills/Event' // addEventListener
3
- import '../../vendor/polyfills/Element/prototype/closest'
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
+ import '../../vendor/polyfills/Event.mjs' // addEventListener
3
+ import '../../vendor/polyfills/Element/prototype/closest.mjs'
4
4
 
5
5
  function ErrorSummary ($module) {
6
6
  this.$module = $module
@@ -1,6 +1,6 @@
1
- import '../../vendor/polyfills/Event'
2
- import '../../vendor/polyfills/Element/prototype/classList'
3
- import '../../vendor/polyfills/Function/prototype/bind'
1
+ import '../../vendor/polyfills/Event.mjs'
2
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
3
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
4
4
 
5
5
  function Header ($module) {
6
6
  this.$module = $module
@@ -1,4 +1,4 @@
1
- import '../../vendor/polyfills/Event' // addEventListener
1
+ import '../../vendor/polyfills/Event.mjs' // addEventListener
2
2
 
3
3
  function NotificationBanner ($module) {
4
4
  this.$module = $module
@@ -1,8 +1,8 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
2
  // addEventListener, event.target normalization and DOMContentLoaded
3
- import '../../vendor/polyfills/Event'
4
- import '../../vendor/polyfills/Element/prototype/classList'
5
- import { nodeListForEach } from '../../common'
3
+ import '../../vendor/polyfills/Event.mjs'
4
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
5
+ import { nodeListForEach } from '../../common.mjs'
6
6
 
7
7
  function Radios ($module) {
8
8
  this.$module = $module
@@ -1,6 +1,6 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
2
- import '../../vendor/polyfills/Element/prototype/classList'
3
- import '../../vendor/polyfills/Event' // addEventListener and event.target normalization
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
3
+ import '../../vendor/polyfills/Event.mjs' // addEventListener and event.target normalization
4
4
 
5
5
  function SkipLink ($module) {
6
6
  this.$module = $module
@@ -1,9 +1,9 @@
1
- import '../../vendor/polyfills/Function/prototype/bind'
2
- import '../../vendor/polyfills/Element/prototype/classList'
3
- import '../../vendor/polyfills/Element/prototype/nextElementSibling'
4
- import '../../vendor/polyfills/Element/prototype/previousElementSibling'
5
- import '../../vendor/polyfills/Event' // addEventListener and event.target normaliziation
6
- import { nodeListForEach } from '../../common'
1
+ import '../../vendor/polyfills/Function/prototype/bind.mjs'
2
+ import '../../vendor/polyfills/Element/prototype/classList.mjs'
3
+ import '../../vendor/polyfills/Element/prototype/nextElementSibling.mjs'
4
+ import '../../vendor/polyfills/Element/prototype/previousElementSibling.mjs'
5
+ import '../../vendor/polyfills/Event.mjs' // addEventListener and event.target normaliziation
6
+ import { nodeListForEach } from '../../common.mjs'
7
7
 
8
8
  function Tabs ($module) {
9
9
  this.$module = $module
@@ -1,6 +1,6 @@
1
- import '../../Object/defineProperty'
2
- import '../../DOMTokenList'
3
- import '../../Element'
1
+ import '../../Object/defineProperty.mjs'
2
+ import '../../DOMTokenList.mjs'
3
+ import '../../Element.mjs'
4
4
 
5
5
  (function(undefined) {
6
6
 
@@ -90,4 +90,4 @@ import '../../Element'
90
90
  addProp(global.HTMLAreaElement, "relList", "rel");
91
91
  }(this));
92
92
 
93
- }).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
93
+ }).call('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});
@@ -1,4 +1,4 @@
1
- import './matches'
1
+ import './matches.mjs'
2
2
 
3
3
  (function(undefined) {
4
4
 
@@ -1,5 +1,5 @@
1
- import '../../Object/defineProperty'
2
- import '../../Element'
1
+ import '../../Object/defineProperty.mjs'
2
+ import '../../Element.mjs'
3
3
 
4
4
  (function(undefined) {
5
5
 
@@ -1,5 +1,5 @@
1
- import '../../Object/defineProperty'
2
- import '../../Element'
1
+ import '../../Object/defineProperty.mjs'
2
+ import '../../Element.mjs'
3
3
 
4
4
  (function(undefined) {
5
5
 
@@ -1,4 +1,4 @@
1
- import './Document'
1
+ import './Document.mjs'
2
2
 
3
3
  (function(undefined) {
4
4
 
@@ -1,6 +1,6 @@
1
- import './Window'
2
- import './Element'
3
- import './Object/defineProperty'
1
+ import './Window.mjs'
2
+ import './Element.mjs'
3
+ import './Object/defineProperty.mjs'
4
4
 
5
5
  (function(undefined) {
6
6
 
@@ -1,4 +1,4 @@
1
- import '../../Object/defineProperty'
1
+ import '../../Object/defineProperty.mjs'
2
2
 
3
3
  (function(undefined) {
4
4
  // Detection from https://github.com/Financial-Times/polyfill-service/blob/master/packages/polyfill-library/polyfills/Function/prototype/bind/detect.js
@@ -1,11 +1,17 @@
1
1
  {
2
2
  "name": "govuk-frontend",
3
3
  "description": "GOV.UK Frontend contains the code you need to start building a user interface for government platforms and services.",
4
- "version": "4.1.0",
4
+ "version": "4.2.0",
5
5
  "main": "govuk/all.js",
6
6
  "module": "govuk-esm/all.mjs",
7
7
  "exports": {
8
- "import": "./govuk-esm/all.mjs"
8
+ ".": {
9
+ "sass": "./govuk/all.scss",
10
+ "import": "./govuk-esm/all.mjs",
11
+ "require": "./govuk/all.js"
12
+ },
13
+ "./govuk/": "./govuk/",
14
+ "./govuk-esm/": "./govuk-esm/"
9
15
  },
10
16
  "sideEffects": [
11
17
  "govuk-esm/vendor/**"
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: 29.13.0
4
+ version: 29.15.1
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: 2022-07-01 00:00:00.000000000 Z
11
+ date: 2022-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_app_config
@@ -354,6 +354,8 @@ files:
354
354
  - app/assets/images/govuk_publishing_components/action-link-arrow--simple.png
355
355
  - app/assets/images/govuk_publishing_components/action-link-arrow--simple.svg
356
356
  - app/assets/images/govuk_publishing_components/action-link-arrow--transparent.svg
357
+ - app/assets/images/govuk_publishing_components/action-link-arrow--white.png
358
+ - app/assets/images/govuk_publishing_components/action-link-arrow--white.svg
357
359
  - app/assets/images/govuk_publishing_components/action-link-arrow.png
358
360
  - app/assets/images/govuk_publishing_components/action-link-arrow.svg
359
361
  - app/assets/images/govuk_publishing_components/crests/bis_crest_13px.png
@@ -436,6 +438,7 @@ files:
436
438
  - app/assets/javascripts/govuk_publishing_components/analytics-ga4.js
437
439
  - app/assets/javascripts/govuk_publishing_components/analytics-ga4/gtm-click-tracking.js
438
440
  - app/assets/javascripts/govuk_publishing_components/analytics-ga4/gtm-page-views.js
441
+ - app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js
439
442
  - app/assets/javascripts/govuk_publishing_components/analytics.js
440
443
  - app/assets/javascripts/govuk_publishing_components/analytics/analytics.js
441
444
  - app/assets/javascripts/govuk_publishing_components/analytics/auto-scroll-tracker.js
@@ -478,6 +481,7 @@ files:
478
481
  - app/assets/javascripts/govuk_publishing_components/components/single-page-notification-button.js
479
482
  - app/assets/javascripts/govuk_publishing_components/components/skip-link.js
480
483
  - app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js
484
+ - app/assets/javascripts/govuk_publishing_components/components/table.js
481
485
  - app/assets/javascripts/govuk_publishing_components/components/tabs.js
482
486
  - app/assets/javascripts/govuk_publishing_components/dependencies.js
483
487
  - app/assets/javascripts/govuk_publishing_components/ie.js
@@ -1557,18 +1561,18 @@ files:
1557
1561
  - node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs
1558
1562
  - node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs
1559
1563
  - node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs
1560
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/DOMTokenList.js
1561
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Document.js
1562
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element.js
1563
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/classList.js
1564
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/closest.js
1565
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/matches.js
1566
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/nextElementSibling.js
1567
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/previousElementSibling.js
1568
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Event.js
1569
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/bind.js
1570
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/defineProperty.js
1571
- - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Window.js
1564
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/DOMTokenList.mjs
1565
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Document.mjs
1566
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element.mjs
1567
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/classList.mjs
1568
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/closest.mjs
1569
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/matches.mjs
1570
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/nextElementSibling.mjs
1571
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/previousElementSibling.mjs
1572
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Event.mjs
1573
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/bind.mjs
1574
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/defineProperty.mjs
1575
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Window.mjs
1572
1576
  - node_modules/govuk-frontend/govuk-prototype-kit.config.json
1573
1577
  - node_modules/govuk-frontend/govuk/_base.scss
1574
1578
  - node_modules/govuk-frontend/govuk/all-ie8.scss
@@ -1739,6 +1743,13 @@ files:
1739
1743
  - node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk
1740
1744
  - node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js
1741
1745
  - node_modules/govuk-frontend/govuk/components/notification-banner/template.njk
1746
+ - node_modules/govuk-frontend/govuk/components/pagination/README.md
1747
+ - node_modules/govuk-frontend/govuk/components/pagination/_index.scss
1748
+ - node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss
1749
+ - node_modules/govuk-frontend/govuk/components/pagination/fixtures.json
1750
+ - node_modules/govuk-frontend/govuk/components/pagination/macro-options.json
1751
+ - node_modules/govuk-frontend/govuk/components/pagination/macro.njk
1752
+ - node_modules/govuk-frontend/govuk/components/pagination/template.njk
1742
1753
  - node_modules/govuk-frontend/govuk/components/panel/README.md
1743
1754
  - node_modules/govuk-frontend/govuk/components/panel/_index.scss
1744
1755
  - node_modules/govuk-frontend/govuk/components/panel/_panel.scss
@@ -1919,7 +1930,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1919
1930
  - !ruby/object:Gem::Version
1920
1931
  version: '0'
1921
1932
  requirements: []
1922
- rubygems_version: 3.3.17
1933
+ rubygems_version: 3.3.18
1923
1934
  signing_key:
1924
1935
  specification_version: 4
1925
1936
  summary: A gem to document components in GOV.UK frontend applications