govuk_publishing_components 29.13.0 → 29.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) 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 +10 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +7 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_previous-and-next-navigation.scss +1 -92
  10. data/app/views/govuk_publishing_components/components/_action_link.html.erb +2 -0
  11. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +33 -36
  12. data/app/views/govuk_publishing_components/components/docs/accordion.yml +2 -1
  13. data/app/views/govuk_publishing_components/components/docs/action_link.yml +8 -0
  14. data/app/views/govuk_publishing_components/components/docs/previous_and_next_navigation.yml +1 -1
  15. data/config/locales/ar.yml +2 -0
  16. data/config/locales/az.yml +2 -0
  17. data/config/locales/be.yml +2 -0
  18. data/config/locales/bg.yml +2 -0
  19. data/config/locales/bn.yml +2 -0
  20. data/config/locales/cs.yml +2 -0
  21. data/config/locales/cy.yml +2 -0
  22. data/config/locales/da.yml +2 -0
  23. data/config/locales/de.yml +2 -0
  24. data/config/locales/dr.yml +2 -0
  25. data/config/locales/el.yml +2 -0
  26. data/config/locales/en.yml +2 -0
  27. data/config/locales/es-419.yml +2 -0
  28. data/config/locales/es.yml +2 -0
  29. data/config/locales/et.yml +2 -0
  30. data/config/locales/fa.yml +2 -0
  31. data/config/locales/fi.yml +2 -0
  32. data/config/locales/fr.yml +2 -0
  33. data/config/locales/gd.yml +2 -0
  34. data/config/locales/gu.yml +2 -0
  35. data/config/locales/he.yml +2 -0
  36. data/config/locales/hi.yml +2 -0
  37. data/config/locales/hr.yml +2 -0
  38. data/config/locales/hu.yml +2 -0
  39. data/config/locales/hy.yml +2 -0
  40. data/config/locales/id.yml +2 -0
  41. data/config/locales/is.yml +2 -0
  42. data/config/locales/it.yml +2 -0
  43. data/config/locales/ja.yml +2 -0
  44. data/config/locales/ka.yml +2 -0
  45. data/config/locales/kk.yml +2 -0
  46. data/config/locales/ko.yml +2 -0
  47. data/config/locales/lt.yml +2 -0
  48. data/config/locales/lv.yml +2 -0
  49. data/config/locales/ms.yml +2 -0
  50. data/config/locales/mt.yml +2 -0
  51. data/config/locales/nl.yml +2 -0
  52. data/config/locales/no.yml +2 -0
  53. data/config/locales/pa-pk.yml +2 -0
  54. data/config/locales/pa.yml +2 -0
  55. data/config/locales/pl.yml +2 -0
  56. data/config/locales/ps.yml +2 -0
  57. data/config/locales/pt.yml +2 -0
  58. data/config/locales/ro.yml +2 -0
  59. data/config/locales/ru.yml +2 -0
  60. data/config/locales/si.yml +2 -0
  61. data/config/locales/sk.yml +2 -0
  62. data/config/locales/sl.yml +2 -0
  63. data/config/locales/so.yml +2 -0
  64. data/config/locales/sq.yml +2 -0
  65. data/config/locales/sr.yml +2 -0
  66. data/config/locales/sv.yml +2 -0
  67. data/config/locales/sw.yml +2 -0
  68. data/config/locales/ta.yml +2 -0
  69. data/config/locales/th.yml +2 -0
  70. data/config/locales/tk.yml +2 -0
  71. data/config/locales/tr.yml +2 -0
  72. data/config/locales/uk.yml +2 -0
  73. data/config/locales/ur.yml +2 -0
  74. data/config/locales/uz.yml +2 -0
  75. data/config/locales/vi.yml +2 -0
  76. data/config/locales/zh-hk.yml +2 -0
  77. data/config/locales/zh-tw.yml +2 -0
  78. data/config/locales/zh.yml +2 -0
  79. data/lib/govuk_publishing_components/version.rb +1 -1
  80. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -0
  81. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +1 -0
  82. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +2 -1
  83. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +102 -44
  84. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +7 -1
  85. data/node_modules/govuk-frontend/govuk/components/checkboxes/template.njk +3 -2
  86. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +10 -10
  87. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +92 -1
  88. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +2 -1
  89. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +3 -0
  90. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +14 -6
  91. data/node_modules/govuk-frontend/govuk/components/header/template.njk +9 -3
  92. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +2 -1
  93. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  94. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +76 -1
  95. data/node_modules/govuk-frontend/govuk/components/pagination/README.md +15 -0
  96. data/node_modules/govuk-frontend/govuk/components/pagination/_index.scss +244 -0
  97. data/node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss +2 -0
  98. data/node_modules/govuk-frontend/govuk/components/pagination/fixtures.json +300 -0
  99. data/node_modules/govuk-frontend/govuk/components/pagination/macro-options.json +128 -0
  100. data/node_modules/govuk-frontend/govuk/components/pagination/macro.njk +3 -0
  101. data/node_modules/govuk-frontend/govuk/components/pagination/template.njk +62 -0
  102. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +147 -43
  103. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +7 -1
  104. data/node_modules/govuk-frontend/govuk/components/radios/template.njk +3 -2
  105. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +56 -2
  106. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +7 -1
  107. data/node_modules/govuk-frontend/govuk/components/select/template.njk +1 -1
  108. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +2 -1
  109. data/node_modules/govuk-frontend/govuk-esm/all.mjs +12 -12
  110. data/node_modules/govuk-frontend/govuk-esm/components/accordion/accordion.mjs +3 -3
  111. data/node_modules/govuk-frontend/govuk-esm/components/button/button.mjs +2 -2
  112. data/node_modules/govuk-frontend/govuk-esm/components/character-count/character-count.mjs +3 -3
  113. data/node_modules/govuk-frontend/govuk-esm/components/checkboxes/checkboxes.mjs +4 -4
  114. data/node_modules/govuk-frontend/govuk-esm/components/details/details.mjs +3 -3
  115. data/node_modules/govuk-frontend/govuk-esm/components/error-summary/error-summary.mjs +3 -3
  116. data/node_modules/govuk-frontend/govuk-esm/components/header/header.mjs +3 -3
  117. data/node_modules/govuk-frontend/govuk-esm/components/notification-banner/notification-banner.mjs +1 -1
  118. data/node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs +4 -4
  119. data/node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs +3 -3
  120. data/node_modules/govuk-frontend/govuk-esm/components/tabs/tabs.mjs +6 -6
  121. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{DOMTokenList.js → DOMTokenList.mjs} +0 -0
  122. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Document.js → Document.mjs} +0 -0
  123. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{classList.js → classList.mjs} +4 -4
  124. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{closest.js → closest.mjs} +1 -1
  125. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{matches.js → matches.mjs} +0 -0
  126. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{nextElementSibling.js → nextElementSibling.mjs} +2 -2
  127. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/{previousElementSibling.js → previousElementSibling.mjs} +2 -2
  128. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Element.js → Element.mjs} +1 -1
  129. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Event.js → Event.mjs} +3 -3
  130. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/{bind.js → bind.mjs} +1 -1
  131. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/{defineProperty.js → defineProperty.mjs} +0 -0
  132. data/node_modules/govuk-frontend/govuk-esm/vendor/polyfills/{Window.js → Window.mjs} +0 -0
  133. data/node_modules/govuk-frontend/package.json +8 -2
  134. metadata +24 -14
@@ -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.14.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: 2022-07-01 00:00:00.000000000 Z
11
+ date: 2022-07-08 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
@@ -1557,18 +1560,18 @@ files:
1557
1560
  - node_modules/govuk-frontend/govuk-esm/components/radios/radios.mjs
1558
1561
  - node_modules/govuk-frontend/govuk-esm/components/skip-link/skip-link.mjs
1559
1562
  - 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
1563
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/DOMTokenList.mjs
1564
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Document.mjs
1565
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element.mjs
1566
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/classList.mjs
1567
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/closest.mjs
1568
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/matches.mjs
1569
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/nextElementSibling.mjs
1570
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Element/prototype/previousElementSibling.mjs
1571
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Event.mjs
1572
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Function/prototype/bind.mjs
1573
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Object/defineProperty.mjs
1574
+ - node_modules/govuk-frontend/govuk-esm/vendor/polyfills/Window.mjs
1572
1575
  - node_modules/govuk-frontend/govuk-prototype-kit.config.json
1573
1576
  - node_modules/govuk-frontend/govuk/_base.scss
1574
1577
  - node_modules/govuk-frontend/govuk/all-ie8.scss
@@ -1739,6 +1742,13 @@ files:
1739
1742
  - node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk
1740
1743
  - node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js
1741
1744
  - node_modules/govuk-frontend/govuk/components/notification-banner/template.njk
1745
+ - node_modules/govuk-frontend/govuk/components/pagination/README.md
1746
+ - node_modules/govuk-frontend/govuk/components/pagination/_index.scss
1747
+ - node_modules/govuk-frontend/govuk/components/pagination/_pagination.scss
1748
+ - node_modules/govuk-frontend/govuk/components/pagination/fixtures.json
1749
+ - node_modules/govuk-frontend/govuk/components/pagination/macro-options.json
1750
+ - node_modules/govuk-frontend/govuk/components/pagination/macro.njk
1751
+ - node_modules/govuk-frontend/govuk/components/pagination/template.njk
1742
1752
  - node_modules/govuk-frontend/govuk/components/panel/README.md
1743
1753
  - node_modules/govuk-frontend/govuk/components/panel/_index.scss
1744
1754
  - node_modules/govuk-frontend/govuk/components/panel/_panel.scss