govuk_tech_docs 4.2.0 → 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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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/version.rb +1 -1
  6. data/lib/source/layouts/core.erb +16 -5
  7. data/node_modules/govuk-frontend/dist/govuk/all.bundle.js +508 -209
  8. data/node_modules/govuk-frontend/dist/govuk/all.bundle.mjs +505 -208
  9. data/node_modules/govuk-frontend/dist/govuk/all.mjs +3 -1
  10. data/node_modules/govuk-frontend/dist/govuk/all.scss +6 -0
  11. data/node_modules/govuk-frontend/dist/govuk/common/configuration.mjs +169 -0
  12. data/node_modules/govuk-frontend/dist/govuk/common/govuk-frontend-version.mjs +1 -1
  13. data/node_modules/govuk-frontend/dist/govuk/common/index.mjs +4 -87
  14. data/node_modules/govuk-frontend/dist/govuk/{govuk-frontend-component.mjs → component.mjs} +5 -5
  15. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.js +161 -116
  16. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.bundle.mjs +160 -115
  17. data/node_modules/govuk-frontend/dist/govuk/components/accordion/accordion.mjs +5 -8
  18. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.js +161 -116
  19. data/node_modules/govuk-frontend/dist/govuk/components/button/button.bundle.mjs +160 -115
  20. data/node_modules/govuk-frontend/dist/govuk/components/button/button.mjs +5 -8
  21. data/node_modules/govuk-frontend/dist/govuk/components/character-count/_index.scss +8 -0
  22. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.js +187 -145
  23. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.bundle.mjs +186 -144
  24. data/node_modules/govuk-frontend/dist/govuk/components/character-count/character-count.mjs +18 -17
  25. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.js +9 -29
  26. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.bundle.mjs +8 -28
  27. data/node_modules/govuk-frontend/dist/govuk/components/checkboxes/checkboxes.mjs +2 -2
  28. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.js +161 -116
  29. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.bundle.mjs +160 -115
  30. data/node_modules/govuk-frontend/dist/govuk/components/error-summary/error-summary.mjs +6 -8
  31. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.js +161 -116
  32. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.bundle.mjs +160 -115
  33. data/node_modules/govuk-frontend/dist/govuk/components/exit-this-page/exit-this-page.mjs +5 -8
  34. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/_index.scss +167 -0
  35. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.js +754 -0
  36. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.bundle.mjs +746 -0
  37. data/node_modules/govuk-frontend/dist/govuk/components/file-upload/file-upload.mjs +267 -0
  38. data/node_modules/govuk-frontend/dist/govuk/components/header/_index.scss +14 -10
  39. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.js +9 -29
  40. data/node_modules/govuk-frontend/dist/govuk/components/header/header.bundle.mjs +8 -28
  41. data/node_modules/govuk-frontend/dist/govuk/components/header/header.mjs +2 -2
  42. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.js +161 -116
  43. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.bundle.mjs +160 -115
  44. data/node_modules/govuk-frontend/dist/govuk/components/notification-banner/notification-banner.mjs +6 -8
  45. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.js +161 -117
  46. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.bundle.mjs +160 -116
  47. data/node_modules/govuk-frontend/dist/govuk/components/password-input/password-input.mjs +5 -9
  48. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.js +9 -29
  49. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.bundle.mjs +8 -28
  50. data/node_modules/govuk-frontend/dist/govuk/components/radios/radios.mjs +2 -2
  51. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.js +9 -29
  52. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.bundle.mjs +8 -28
  53. data/node_modules/govuk-frontend/dist/govuk/components/service-navigation/service-navigation.mjs +2 -2
  54. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.js +10 -30
  55. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.bundle.mjs +9 -29
  56. data/node_modules/govuk-frontend/dist/govuk/components/skip-link/skip-link.mjs +3 -3
  57. data/node_modules/govuk-frontend/dist/govuk/components/summary-list/_index.scss +12 -21
  58. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.js +9 -29
  59. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.bundle.mjs +8 -28
  60. data/node_modules/govuk-frontend/dist/govuk/components/tabs/tabs.mjs +2 -2
  61. data/node_modules/govuk-frontend/dist/govuk/core/_govuk-frontend-properties.scss +1 -1
  62. data/node_modules/govuk-frontend/dist/govuk/errors/index.mjs +1 -1
  63. data/node_modules/govuk-frontend/dist/govuk/govuk-frontend.min.js +1 -1
  64. data/node_modules/govuk-frontend/dist/govuk/helpers/_colour.scss +2 -2
  65. data/node_modules/govuk-frontend/dist/govuk/init.mjs +28 -24
  66. data/node_modules/govuk-frontend/dist/govuk/settings/_colours-organisations.scss +18 -5
  67. data/node_modules/govuk-frontend/dist/govuk/settings/_typography-responsive.scss +5 -10
  68. data/node_modules/govuk-frontend/dist/govuk-prototype-kit/init.scss +1 -1
  69. data/package-lock.json +8 -7
  70. data/package.json +1 -1
  71. metadata +12 -10
  72. data/node_modules/govuk-frontend/dist/govuk/common/normalise-dataset.mjs +0 -18
  73. 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 */