@ministryofjustice/frontend 5.1.5 → 5.2.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.
- package/moj/all.bundle.js +68 -2
- package/moj/all.bundle.js.map +1 -1
- package/moj/all.bundle.mjs +68 -3
- package/moj/all.bundle.mjs.map +1 -1
- package/moj/all.mjs +3 -2
- package/moj/all.mjs.map +1 -1
- package/moj/common/moj-frontend-version.mjs +1 -1
- package/moj/components/_all.scss +2 -0
- package/moj/components/_all.scss.map +1 -1
- package/moj/components/domain-specific/probation/_all.scss +4 -0
- package/moj/components/domain-specific/probation/_all.scss.map +1 -0
- package/moj/components/domain-specific/probation/footer/README.md +22 -0
- package/moj/components/domain-specific/probation/footer/_footer.scss +52 -0
- package/moj/components/domain-specific/probation/footer/_footer.scss.map +1 -0
- package/moj/components/domain-specific/probation/footer/macro.njk +3 -0
- package/moj/components/domain-specific/probation/footer/template.njk +23 -0
- package/moj/components/domain-specific/probation/header/README.md +28 -0
- package/moj/components/domain-specific/probation/header/_header.scss +336 -0
- package/moj/components/domain-specific/probation/header/_header.scss.map +1 -0
- package/moj/components/domain-specific/probation/header/header.bundle.js +75 -0
- package/moj/components/domain-specific/probation/header/header.bundle.js.map +1 -0
- package/moj/components/domain-specific/probation/header/header.bundle.mjs +189 -0
- package/moj/components/domain-specific/probation/header/header.bundle.mjs.map +1 -0
- package/moj/components/domain-specific/probation/header/header.mjs +69 -0
- package/moj/components/domain-specific/probation/header/header.mjs.map +1 -0
- package/moj/components/domain-specific/probation/header/macro.njk +3 -0
- package/moj/components/domain-specific/probation/header/template.njk +109 -0
- package/moj/core/_moj-frontend-properties.scss +1 -1
- package/moj/moj-frontend.min.css +1 -1
- package/moj/moj-frontend.min.css.map +1 -1
- package/moj/moj-frontend.min.js +1 -1
- package/moj/moj-frontend.min.js.map +1 -1
- package/package.json +1 -1
package/moj/all.bundle.mjs
CHANGED
|
@@ -312,7 +312,7 @@ function createAll(Component, config, createAllOptions) {
|
|
|
312
312
|
*
|
|
313
313
|
* {@link https://github.com/ministryofjustice/moj-frontend/releases}
|
|
314
314
|
*/
|
|
315
|
-
const version = '5.
|
|
315
|
+
const version = '5.2.0';
|
|
316
316
|
|
|
317
317
|
class AddAnother extends Component {
|
|
318
318
|
/**
|
|
@@ -1810,6 +1810,71 @@ class DSCalendarDay {
|
|
|
1810
1810
|
* @import { Schema } from 'govuk-frontend/dist/govuk/common/configuration.mjs'
|
|
1811
1811
|
*/
|
|
1812
1812
|
|
|
1813
|
+
class PdsHeader extends Component {
|
|
1814
|
+
/**
|
|
1815
|
+
* @param {Element | null} $root - HTML element to use for PDS header
|
|
1816
|
+
*/
|
|
1817
|
+
constructor($root) {
|
|
1818
|
+
super($root);
|
|
1819
|
+
this.initHeader();
|
|
1820
|
+
}
|
|
1821
|
+
initHeader() {
|
|
1822
|
+
this.$tabOpenClass = 'probation-common-header__toggle-open';
|
|
1823
|
+
const $userToggle = this.$root.querySelector('.probation-common-header__user-menu-toggle');
|
|
1824
|
+
const $userMenu = this.$root.querySelector('#probation-common-header-user-menu');
|
|
1825
|
+
if (!$userToggle || !$userMenu || !($userToggle instanceof HTMLElement) || !($userMenu instanceof HTMLElement)) {
|
|
1826
|
+
return 0;
|
|
1827
|
+
}
|
|
1828
|
+
this.hideFallbackLinks();
|
|
1829
|
+
$userToggle.removeAttribute('hidden');
|
|
1830
|
+
this.closeTabs([[$userToggle, $userMenu]]);
|
|
1831
|
+
$userToggle.addEventListener('click', _event => {
|
|
1832
|
+
this.toggleMenu($userToggle, $userMenu);
|
|
1833
|
+
});
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
/**
|
|
1837
|
+
* @param {[any, any][]} tabTuples
|
|
1838
|
+
*/
|
|
1839
|
+
closeTabs(tabTuples) {
|
|
1840
|
+
tabTuples.forEach(([toggle, menu]) => {
|
|
1841
|
+
if (menu && toggle) {
|
|
1842
|
+
menu.setAttribute('hidden', 'hidden');
|
|
1843
|
+
toggle.classList.remove(this.$tabOpenClass);
|
|
1844
|
+
toggle.parentElement.classList.remove('item-open');
|
|
1845
|
+
toggle.setAttribute('aria-expanded', 'false');
|
|
1846
|
+
if (toggle.dataset.textForShow) toggle.setAttribute('aria-label', toggle.dataset.textForShow);
|
|
1847
|
+
}
|
|
1848
|
+
});
|
|
1849
|
+
}
|
|
1850
|
+
|
|
1851
|
+
/**
|
|
1852
|
+
* @param {HTMLElement} toggle
|
|
1853
|
+
* @param {HTMLElement} menu
|
|
1854
|
+
*/
|
|
1855
|
+
toggleMenu(toggle, menu) {
|
|
1856
|
+
const isOpen = !menu.getAttribute('hidden');
|
|
1857
|
+
if (isOpen) {
|
|
1858
|
+
this.closeTabs([[toggle, menu]]);
|
|
1859
|
+
} else if (menu && toggle) {
|
|
1860
|
+
menu.removeAttribute('hidden');
|
|
1861
|
+
toggle.classList.add(this.$tabOpenClass);
|
|
1862
|
+
toggle.parentElement.classList.add('item-open');
|
|
1863
|
+
toggle.setAttribute('aria-expanded', 'true');
|
|
1864
|
+
if (toggle.dataset.textForHide) toggle.setAttribute('aria-label', toggle.dataset.textForHide);
|
|
1865
|
+
}
|
|
1866
|
+
}
|
|
1867
|
+
hideFallbackLinks() {
|
|
1868
|
+
const $userLink = this.$root.querySelector('.probation-common-header__user-menu-link');
|
|
1869
|
+
if ($userLink) $userLink.setAttribute('hidden', 'hidden');
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
/**
|
|
1873
|
+
* Name for the component used when initialising using data-module attributes.
|
|
1874
|
+
*/
|
|
1875
|
+
}
|
|
1876
|
+
PdsHeader.moduleName = 'pds-header';
|
|
1877
|
+
|
|
1813
1878
|
/**
|
|
1814
1879
|
* @augments {ConfigurableComponent<FilterToggleButtonConfig>}
|
|
1815
1880
|
*/
|
|
@@ -3345,7 +3410,7 @@ SortableTable.schema = Object.freeze(/** @type {const} */{
|
|
|
3345
3410
|
* @param {Config} [config]
|
|
3346
3411
|
*/
|
|
3347
3412
|
function initAll(config) {
|
|
3348
|
-
for (const Component of [AddAnother, Alert, ButtonMenu, DatePicker, MultiSelect, PasswordReveal, RichTextEditor, SearchToggle, SortableTable]) {
|
|
3413
|
+
for (const Component of [AddAnother, Alert, ButtonMenu, DatePicker, MultiSelect, PasswordReveal, RichTextEditor, SearchToggle, SortableTable, PdsHeader]) {
|
|
3349
3414
|
createAll(Component, undefined, config);
|
|
3350
3415
|
}
|
|
3351
3416
|
}
|
|
@@ -3358,5 +3423,5 @@ function initAll(config) {
|
|
|
3358
3423
|
* @import * as GOVUKFrontend from 'govuk-frontend'
|
|
3359
3424
|
*/
|
|
3360
3425
|
|
|
3361
|
-
export { AddAnother, Alert, ButtonMenu, DatePicker, FilterToggleButton, FormValidator, MultiFileUpload, MultiSelect, PasswordReveal, RichTextEditor, SearchToggle, SortableTable, initAll, version };
|
|
3426
|
+
export { AddAnother, Alert, ButtonMenu, DatePicker, FilterToggleButton, FormValidator, MultiFileUpload, MultiSelect, PasswordReveal, PdsHeader, RichTextEditor, SearchToggle, SortableTable, initAll, version };
|
|
3362
3427
|
//# sourceMappingURL=all.bundle.mjs.map
|