govuk_tech_docs 4.1.2 → 4.3.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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/govuk_tech_docs.gemspec +1 -1
  4. data/lib/assets/stylesheets/_govuk_tech_docs.scss +3 -0
  5. data/lib/govuk_tech_docs/meta_tags.rb +5 -1
  6. data/lib/govuk_tech_docs/version.rb +1 -1
  7. data/lib/source/layouts/core.erb +21 -5
  8. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +508 -209
  9. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +505 -208
  10. data/node_modules/govuk-frontend/dist/govuk/all.mjs +3 -1
  11. data/node_modules/govuk-frontend/dist/govuk/all.scss +6 -0
  12. data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs +169 -0
  13. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  14. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +4 -87
  15. data/node_modules/govuk-frontend/dist/govuk/{govuk-frontend-component.mjs → component.mjs} +5 -5
  16. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +161 -116
  17. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +160 -115
  18. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +5 -8
  19. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +161 -116
  20. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +160 -115
  21. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs +5 -8
  22. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +8 -0
  23. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +187 -145
  24. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +186 -144
  25. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +18 -17
  26. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +9 -29
  27. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +8 -28
  28. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs +2 -2
  29. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +161 -116
  30. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +160 -115
  31. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +6 -8
  32. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +161 -116
  33. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +160 -115
  34. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +5 -8
  35. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +167 -0
  36. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +754 -0
  37. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +746 -0
  38. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +267 -0
  39. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +14 -10
  40. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +9 -29
  41. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +8 -28
  42. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +2 -2
  43. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +161 -116
  44. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +160 -115
  45. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs +6 -8
  46. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +161 -117
  47. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +160 -116
  48. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs +5 -9
  49. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +9 -29
  50. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +8 -28
  51. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs +2 -2
  52. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +9 -29
  53. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +8 -28
  54. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs +2 -2
  55. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +10 -30
  56. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +9 -29
  57. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +3 -3
  58. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +12 -21
  59. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +9 -29
  60. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +8 -28
  61. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +2 -2
  62. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +1 -1
  63. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +1 -1
  64. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  65. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +2 -2
  66. data/node_modules/govuk-frontend/dist/govuk/init.mjs +28 -24
  67. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +18 -5
  68. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +5 -10
  69. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +1 -1
  70. data/package-lock.json +8 -7
  71. data/package.json +1 -1
  72. metadata +12 -10
  73. data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs +0 -18
  74. data/node_modules/govuk-frontend/dist/govuk/common/normalise-string.mjs +0 -31
@@ -1,22 +1,20 @@
1
- import { mergeConfigs } from '../../common/index.mjs';
2
- import { normaliseDataset } from '../../common/normalise-dataset.mjs';
1
+ import { ConfigurableComponent } from '../../common/configuration.mjs';
3
2
  import { ElementError } from '../../errors/index.mjs';
4
- import { GOVUKFrontendComponent } from '../../govuk-frontend-component.mjs';
5
3
  import { I18n } from '../../i18n.mjs';
6
4
 
7
5
  /**
8
6
  * Exit this page component
9
7
  *
10
8
  * @preserve
9
+ * @augments ConfigurableComponent<ExitThisPageConfig>
11
10
  */
12
- class ExitThisPage extends GOVUKFrontendComponent {
11
+ class ExitThisPage extends ConfigurableComponent {
13
12
  /**
14
13
  * @param {Element | null} $root - HTML element that wraps the Exit This Page button
15
14
  * @param {ExitThisPageConfig} [config] - Exit This Page config
16
15
  */
17
16
  constructor($root, config = {}) {
18
- super($root);
19
- this.config = void 0;
17
+ super($root, config);
20
18
  this.i18n = void 0;
21
19
  this.$button = void 0;
22
20
  this.$skiplinkButton = null;
@@ -37,7 +35,6 @@ class ExitThisPage extends GOVUKFrontendComponent {
37
35
  identifier: 'Button (`.govuk-exit-this-page__button`)'
38
36
  });
39
37
  }
40
- this.config = mergeConfigs(ExitThisPage.defaults, config, normaliseDataset(ExitThisPage, this.$root.dataset));
41
38
  this.i18n = new I18n(this.config.i18n);
42
39
  this.$button = $button;
43
40
  const $skiplinkButton = document.querySelector('.govuk-js-exit-this-page-skiplink');
@@ -203,7 +200,7 @@ class ExitThisPage extends GOVUKFrontendComponent {
203
200
  */
204
201
 
205
202
  /**
206
- * @typedef {import('../../common/index.mjs').Schema} Schema
203
+ * @import { Schema } from '../../common/configuration.mjs'
207
204
  */
208
205
  ExitThisPage.moduleName = 'govuk-exit-this-page';
209
206
  ExitThisPage.defaults = Object.freeze({
@@ -3,7 +3,11 @@
3
3
  @import "../label/index";
4
4
 
5
5
  @include govuk-exports("govuk/component/file-upload") {
6
+ $file-upload-border-width: 2px;
6
7
  $component-padding: govuk-spacing(1);
8
+ $empty-button-background-colour: govuk-colour("white");
9
+ $empty-pseudo-button-background-colour: govuk-colour("light-grey");
10
+ $empty-status-background-colour: govuk-tint(govuk-colour("blue"), 70%);
7
11
 
8
12
  .govuk-file-upload {
9
13
  @include govuk-font($size: 19);
@@ -46,6 +50,169 @@
46
50
  cursor: not-allowed;
47
51
  }
48
52
  }
53
+
54
+ .govuk-drop-zone {
55
+ display: block;
56
+ position: relative;
57
+ z-index: 0;
58
+ background-color: $govuk-body-background-colour;
59
+ }
60
+
61
+ // required because disabling pointer events
62
+ // on the button means that the cursor style
63
+ // be applied on the button itself
64
+ .govuk-drop-zone--disabled {
65
+ cursor: not-allowed;
66
+ }
67
+
68
+ .govuk-file-upload-button__pseudo-button {
69
+ width: auto;
70
+ margin-right: govuk-spacing(2);
71
+ margin-bottom: $govuk-border-width-form-element + 1;
72
+ flex-shrink: 0;
73
+ }
74
+
75
+ .govuk-file-upload-button__instruction {
76
+ margin-top: govuk-spacing(2) - ($govuk-border-width-form-element + 1);
77
+ margin-bottom: 0;
78
+ text-align: left;
79
+ }
80
+
81
+ .govuk-file-upload-button__status {
82
+ display: block;
83
+ margin-bottom: govuk-spacing(2);
84
+ padding: govuk-spacing(3) govuk-spacing(2);
85
+ background-color: govuk-colour("white");
86
+ text-align: left;
87
+ }
88
+
89
+ // bugs documented with button using flex
90
+ // https://github.com/philipwalton/flexbugs#flexbug-9
91
+ // so we need a container here
92
+ .govuk-file-upload-button__pseudo-button-container {
93
+ display: flex;
94
+ align-items: baseline;
95
+ flex-wrap: wrap;
96
+ }
97
+
98
+ .govuk-file-upload-button {
99
+ width: 100%;
100
+ // align the padding to be same as notification banner and error summary accounting for the thicker borders
101
+ padding: (govuk-spacing(3) + $govuk-border-width - $file-upload-border-width);
102
+ border: $file-upload-border-width govuk-colour("mid-grey") solid;
103
+ background-color: govuk-colour("light-grey");
104
+ cursor: pointer;
105
+
106
+ @include govuk-media-query($from: tablet) {
107
+ padding: (govuk-spacing(4) + $govuk-border-width - $file-upload-border-width);
108
+ }
109
+
110
+ .govuk-file-upload-button__pseudo-button {
111
+ background-color: govuk-colour("white");
112
+ }
113
+
114
+ &:hover {
115
+ background-color: govuk-tint(govuk-colour("mid-grey"), 20%);
116
+
117
+ .govuk-file-upload-button__pseudo-button {
118
+ background-color: govuk-shade(govuk-colour("light-grey"), 10%);
119
+ }
120
+
121
+ .govuk-file-upload-button__status {
122
+ background-color: govuk-tint(govuk-colour("blue"), 80%);
123
+ }
124
+ }
125
+
126
+ &:active,
127
+ &:focus {
128
+ border: $file-upload-border-width solid govuk-colour("black");
129
+ outline: $govuk-focus-width solid $govuk-focus-colour;
130
+ // Ensure outline appears outside of the element
131
+ outline-offset: 0;
132
+ background-color: govuk-tint(govuk-colour("mid-grey"), 20%);
133
+ // Double the border by adding its width again. Use `box-shadow` for this
134
+ // instead of changing `border-width` - this is for consistency with
135
+ // components such as textarea where we avoid changing `border-width` as
136
+ // it will change the element size. Also, `outline` cannot be utilised
137
+ // here as it is already used for the yellow focus state.
138
+ box-shadow: inset 0 0 0 $govuk-border-width-form-element;
139
+
140
+ .govuk-file-upload-button__pseudo-button {
141
+ background-color: $govuk-focus-colour;
142
+ box-shadow: 0 2px 0 govuk-colour("black");
143
+ }
144
+
145
+ &:hover .govuk-file-upload-button__pseudo-button {
146
+ border-color: $govuk-focus-colour;
147
+ outline: 3px solid transparent;
148
+ background-color: govuk-colour("light-grey");
149
+ box-shadow: inset 0 0 0 1px $govuk-focus-colour;
150
+ }
151
+ }
152
+ }
153
+
154
+ .govuk-file-upload-button--empty {
155
+ border-style: dashed;
156
+ background-color: $empty-button-background-colour;
157
+
158
+ .govuk-file-upload-button__pseudo-button {
159
+ background-color: $empty-pseudo-button-background-colour;
160
+ }
161
+
162
+ .govuk-file-upload-button__status {
163
+ color: govuk-shade(govuk-colour("blue"), 60%);
164
+ background-color: $empty-status-background-colour;
165
+ }
166
+
167
+ &:hover,
168
+ &:focus,
169
+ &:active {
170
+ background-color: govuk-colour("light-grey");
171
+
172
+ .govuk-file-upload-button__status {
173
+ background-color: govuk-tint(govuk-colour("blue"), 80%);
174
+ }
175
+ }
176
+ }
177
+
178
+ .govuk-file-upload-button--dragging {
179
+ border-style: solid;
180
+ border-color: govuk-colour("black");
181
+
182
+ // extra specificity to apply when
183
+ // empty
184
+ &.govuk-file-upload-button {
185
+ background-color: govuk-tint(govuk-colour("mid-grey"), 20%);
186
+ }
187
+
188
+ &.govuk-file-upload-button--empty {
189
+ background-color: govuk-colour("light-grey");
190
+ }
191
+
192
+ &.govuk-file-upload-button--empty:not(:disabled) .govuk-file-upload-button__status,
193
+ &.govuk-file-upload-button--empty .govuk-file-upload-button__pseudo-button {
194
+ background-color: govuk-colour("white");
195
+ }
196
+
197
+ .govuk-file-upload-button__pseudo-button {
198
+ background-color: govuk-shade(govuk-colour("light-grey"), 10%);
199
+ }
200
+ }
201
+
202
+ .govuk-file-upload-button:disabled {
203
+ pointer-events: none;
204
+ opacity: 0.5;
205
+
206
+ background-color: $empty-button-background-colour;
207
+
208
+ .govuk-file-upload-button__pseudo-button {
209
+ background-color: $empty-pseudo-button-background-colour;
210
+ }
211
+
212
+ .govuk-file-upload-button__status {
213
+ background-color: $empty-status-background-colour;
214
+ }
215
+ }
49
216
  }
50
217
 
51
218
  /*# sourceMappingURL=_index.scss.map */