@ministryofjustice/frontend 6.0.0 → 7.1.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 (39) hide show
  1. package/moj/all.bundle.js +26 -8
  2. package/moj/all.bundle.js.map +1 -1
  3. package/moj/all.bundle.mjs +26 -8
  4. package/moj/all.bundle.mjs.map +1 -1
  5. package/moj/common/moj-frontend-version.mjs +2 -2
  6. package/moj/common/moj-frontend-version.mjs.map +1 -1
  7. package/moj/components/date-picker/date-picker.bundle.js +11 -1
  8. package/moj/components/date-picker/date-picker.bundle.js.map +1 -1
  9. package/moj/components/date-picker/date-picker.bundle.mjs +11 -1
  10. package/moj/components/date-picker/date-picker.bundle.mjs.map +1 -1
  11. package/moj/components/date-picker/date-picker.mjs +11 -1
  12. package/moj/components/date-picker/date-picker.mjs.map +1 -1
  13. package/moj/components/domain-specific/probation/header/README.md +20 -1
  14. package/moj/components/domain-specific/probation/header/_header.scss +2 -1
  15. package/moj/components/domain-specific/probation/header/_header.scss.map +1 -1
  16. package/moj/components/domain-specific/probation/header/header.bundle.js +10 -2
  17. package/moj/components/domain-specific/probation/header/header.bundle.js.map +1 -1
  18. package/moj/components/domain-specific/probation/header/header.bundle.mjs +10 -2
  19. package/moj/components/domain-specific/probation/header/header.bundle.mjs.map +1 -1
  20. package/moj/components/domain-specific/probation/header/header.mjs +10 -2
  21. package/moj/components/domain-specific/probation/header/header.mjs.map +1 -1
  22. package/moj/components/domain-specific/probation/header/template.njk +37 -0
  23. package/moj/components/messages/README.md +1 -1
  24. package/moj/components/multi-file-upload/multi-file-upload.bundle.js +3 -3
  25. package/moj/components/multi-file-upload/multi-file-upload.bundle.js.map +1 -1
  26. package/moj/components/multi-file-upload/multi-file-upload.bundle.mjs +3 -3
  27. package/moj/components/multi-file-upload/multi-file-upload.bundle.mjs.map +1 -1
  28. package/moj/components/multi-file-upload/multi-file-upload.mjs +3 -3
  29. package/moj/components/multi-file-upload/multi-file-upload.mjs.map +1 -1
  30. package/moj/components/pagination/template.njk +2 -2
  31. package/moj/components/timeline/README.md +1 -1
  32. package/moj/core/_moj-frontend-properties.scss +1 -1
  33. package/moj/moj-frontend.min.css +1 -1
  34. package/moj/moj-frontend.min.css.map +1 -1
  35. package/moj/moj-frontend.min.js +1 -1
  36. package/moj/moj-frontend.min.js.map +1 -1
  37. package/moj/objects/_scrollable-pane.scss +2 -2
  38. package/moj/objects/_scrollable-pane.scss.map +1 -1
  39. package/package.json +1 -1
package/moj/all.bundle.js CHANGED
@@ -10,11 +10,11 @@
10
10
  */
11
11
 
12
12
  /**
13
- * MoJ Frontend release version
13
+ * MOJ Frontend release version
14
14
  *
15
15
  * {@link https://github.com/ministryofjustice/moj-frontend/releases}
16
16
  */
17
- const version = '6.0.0';
17
+ const version = '7.1.0';
18
18
 
19
19
  class AddAnother extends govukFrontend.Component {
20
20
  /**
@@ -1048,7 +1048,7 @@
1048
1048
  const day = match[1];
1049
1049
  const month = match[3];
1050
1050
  const year = match[4];
1051
- formattedDate = new Date(`${year}-${month}-${day}`);
1051
+ formattedDate = new Date(Number(year), Number(month) - 1, Number(day));
1052
1052
  if (formattedDate instanceof Date && Number.isFinite(formattedDate.getTime())) {
1053
1053
  return formattedDate;
1054
1054
  }
@@ -1224,6 +1224,16 @@
1224
1224
 
1225
1225
  // get the date from the input element
1226
1226
  this.inputDate = this.formattedDateFromString(this.$input.value);
1227
+ // move current date to the closest selectable date if it is out of range
1228
+ if (this.minDate && this.minDate > this.inputDate) {
1229
+ this.inputDate = new Date(this.minDate.getTime());
1230
+ }
1231
+ if (this.maxDate && this.maxDate < this.inputDate) {
1232
+ this.inputDate = new Date(this.maxDate.getTime());
1233
+ }
1234
+ if (this.minDate && this.maxDate && this.minDate > this.maxDate) {
1235
+ console.error('min date is after max date. No dates will be selectable');
1236
+ }
1227
1237
  this.currentDate = this.inputDate;
1228
1238
  this.currentDate.setHours(0, 0, 0, 0);
1229
1239
  this.updateCalendar();
@@ -1524,15 +1534,21 @@
1524
1534
  this.$tabOpenClass = 'probation-common-header__toggle-open';
1525
1535
  const $userToggle = this.$root.querySelector('.probation-common-header__user-menu-toggle');
1526
1536
  const $userMenu = this.$root.querySelector('#probation-common-header-user-menu');
1527
- if (!$userToggle || !$userMenu || !($userToggle instanceof HTMLElement) || !($userMenu instanceof HTMLElement)) {
1537
+ const $servicesToggle = this.$root.querySelector('.probation-common-header__services-menu-toggle');
1538
+ const $servicesMenu = this.$root.querySelector('#probation-common-header-services-menu');
1539
+ if (!$userToggle || !$userMenu || !$servicesToggle || !$servicesMenu || !($userToggle instanceof HTMLElement) || !($userMenu instanceof HTMLElement) || !($servicesToggle instanceof HTMLElement) || !($servicesMenu instanceof HTMLElement)) {
1528
1540
  return 0;
1529
1541
  }
1530
1542
  this.hideFallbackLinks();
1531
1543
  $userToggle.removeAttribute('hidden');
1532
- this.closeTabs([[$userToggle, $userMenu]]);
1544
+ $servicesToggle.removeAttribute('hidden');
1545
+ this.closeTabs([[$userToggle, $userMenu], [$servicesToggle, $servicesMenu]]);
1533
1546
  $userToggle.addEventListener('click', _event => {
1534
1547
  this.toggleMenu($userToggle, $userMenu);
1535
1548
  });
1549
+ $servicesToggle.addEventListener('click', _event => {
1550
+ this.toggleMenu($servicesToggle, $servicesMenu);
1551
+ });
1536
1552
  }
1537
1553
 
1538
1554
  /**
@@ -1568,7 +1584,9 @@
1568
1584
  }
1569
1585
  hideFallbackLinks() {
1570
1586
  const $userLink = this.$root.querySelector('.probation-common-header__user-menu-link');
1587
+ const $servicesLink = this.$root.querySelector('.probation-common-header__services-menu-link');
1571
1588
  if ($userLink) $userLink.setAttribute('hidden', 'hidden');
1589
+ if ($servicesLink) $servicesLink.setAttribute('hidden', 'hidden');
1572
1590
  }
1573
1591
 
1574
1592
  /**
@@ -2171,13 +2189,13 @@
2171
2189
  $message.innerHTML = this.getSuccessHtml(xhr.response.success);
2172
2190
  this.$status.textContent = xhr.response.success.messageText;
2173
2191
  $actions.append(this.getDeleteButton(xhr.response.file));
2174
- this.config.hooks.exitHook(this, file, xhr, xhr.responseText);
2192
+ this.config.hooks.exitHook(this, file, xhr, xhr.statusText);
2175
2193
  };
2176
2194
  const onError = () => {
2177
2195
  const error = new Error(xhr.response && 'error' in xhr.response ? xhr.response.error.message : xhr.statusText || 'Upload failed');
2178
2196
  $message.innerHTML = this.getErrorHtml(error);
2179
2197
  this.$status.textContent = error.message;
2180
- this.config.hooks.errorHook(this, file, xhr, xhr.responseText, error);
2198
+ this.config.hooks.errorHook(this, file, xhr, xhr.statusText, error);
2181
2199
  };
2182
2200
  xhr.addEventListener('load', onLoad);
2183
2201
  xhr.addEventListener('error', onError);
@@ -2214,7 +2232,7 @@
2214
2232
  }
2215
2233
  const $rowDelete = $rows.find($row => $row.contains($button));
2216
2234
  if ($rowDelete) $rowDelete.remove();
2217
- this.config.hooks.deleteHook(this, undefined, xhr, xhr.responseText);
2235
+ this.config.hooks.deleteHook(this, undefined, xhr, xhr.statusText);
2218
2236
  });
2219
2237
  xhr.open('POST', this.config.deleteUrl);
2220
2238
  xhr.setRequestHeader('Content-Type', 'application/json');