@nice-digital/global-nav 7.1.1165-GN-259-update-packag → 7.1.1167
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/lib/Footer/Footer.js +2 -2
- package/lib/Footer/Legal/Legal.js +5 -5
- package/lib/Footer/Legal/index.js +1 -1
- package/lib/Footer/Pages/Pages.js +4 -4
- package/lib/Footer/Pages/index.js +1 -1
- package/lib/Footer/Services/Services.js +3 -3
- package/lib/Footer/Services/index.js +1 -1
- package/lib/Footer/Social/Social.js +1 -1
- package/lib/Footer/Social/index.js +1 -1
- package/lib/Footer/index.js +1 -1
- package/lib/Header/Account/Account.js +19 -17
- package/lib/Header/Account/index.js +1 -1
- package/lib/Header/Account/nice-accounts.js +5 -7
- package/lib/Header/Header.js +191 -160
- package/lib/Header/Nav/Dropdown/Components/AboutUs.js +1 -1
- package/lib/Header/Nav/Dropdown/Components/Grid.js +2 -2
- package/lib/Header/Nav/Dropdown/Components/LifeSciences.js +1 -1
- package/lib/Header/Nav/Dropdown/Components/MoreFromNICE.js +1 -1
- package/lib/Header/Nav/Dropdown/Components/StandardsAndIndicators.js +1 -1
- package/lib/Header/Nav/Dropdown/Components/index.js +4 -4
- package/lib/Header/Nav/Dropdown/Dropdown.js +10 -8
- package/lib/Header/Nav/Dropdown/index.js +1 -1
- package/lib/Header/Nav/Nav.js +35 -32
- package/lib/Header/Nav/NavLinks/NavLinks.js +21 -17
- package/lib/Header/Nav/NavLinks/index.js +1 -1
- package/lib/Header/Nav/SubNav/SubNav.js +9 -9
- package/lib/Header/Nav/SubNav/index.js +1 -1
- package/lib/Header/Nav/index.js +1 -1
- package/lib/Header/OldIEMessage/OldIEMessage.js +1 -1
- package/lib/Header/OldIEMessage/ie.js +3 -4
- package/lib/Header/OldIEMessage/index.js +1 -1
- package/lib/Header/Search/Autocomplete/Autocomplete.js +47 -39
- package/lib/Header/Search/Autocomplete/index.js +1 -1
- package/lib/Header/Search/Autocomplete/suggester/index.js +15 -16
- package/lib/Header/Search/Autocomplete/suggester/phrase-finder.js +4 -4
- package/lib/Header/Search/Autocomplete/suggester/term-finder.js +9 -9
- package/lib/Header/Search/Autocomplete/suggester/tokenizer.js +4 -4
- package/lib/Header/Search/Search.js +13 -13
- package/lib/Header/Search/index.js +1 -1
- package/lib/Header/SkipLink/SkipLink.js +4 -4
- package/lib/Header/SkipLink/index.js +1 -1
- package/lib/Header/context/HeaderContext.js +23 -24
- package/lib/Header/index.js +1 -1
- package/lib/Main/BackToTop/BackToTop.js +5 -6
- package/lib/Main/Main.js +2 -2
- package/lib/Main/index.js +1 -1
- package/lib/TrackedLink/TrackedLink.js +5 -5
- package/lib/TrackedLink/index.js +1 -1
- package/lib/hooks/useEscapeKeydown.js +6 -6
- package/lib/hooks/useIsClient.js +4 -5
- package/lib/index.js +3 -3
- package/lib/renderer.js +20 -22
- package/lib/tracker/index.js +14 -16
- package/lib/utils.js +1 -1
- package/package.json +2 -2
package/lib/Footer/Footer.js
CHANGED
|
@@ -16,8 +16,8 @@ var _TrackedLink = _interopRequireDefault(require("../TrackedLink"));
|
|
|
16
16
|
var _tracker = require("../tracker");
|
|
17
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
18
|
//TODO add string type for service prop
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
var Footer = function Footer(_ref) {
|
|
20
|
+
var service = _ref.service;
|
|
21
21
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("footer", {
|
|
22
22
|
className: _FooterModule.default.footer,
|
|
23
23
|
"data-tracking": "Global footer",
|
|
@@ -9,14 +9,14 @@ var _LegalModule = _interopRequireDefault(require("./Legal.module.scss"));
|
|
|
9
9
|
var _TrackedLink = _interopRequireDefault(require("../../TrackedLink"));
|
|
10
10
|
var _tracker = require("../../tracker");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
|
|
12
|
+
var cyberEssentialsCertificate = {
|
|
13
13
|
id: "99cdb154-4ee0-41a4-bdef-6d2fa58bf757",
|
|
14
14
|
expiryDate: "2026-06-02"
|
|
15
15
|
};
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
var Legal = function Legal() {
|
|
17
|
+
var today = new Date();
|
|
18
|
+
var cyberEssentialsExpiryDate = new Date(cyberEssentialsCertificate.expiryDate);
|
|
19
|
+
var isCyberEssentialsValid = today < cyberEssentialsExpiryDate;
|
|
20
20
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
21
21
|
className: _LegalModule.default.wrapper,
|
|
22
22
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -12,14 +12,14 @@ var _TrackedLink = _interopRequireDefault(require("../../TrackedLink"));
|
|
|
12
12
|
var _tracker = require("../../tracker");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
//TODO add string type for service prop
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
var Pages = function Pages(_ref) {
|
|
16
|
+
var service = _ref.service;
|
|
17
17
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
|
|
18
18
|
className: _PagesModule.default.wrapper,
|
|
19
19
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
20
20
|
className: _PagesModule.default.list,
|
|
21
|
-
children: _links.default.map(link
|
|
22
|
-
|
|
21
|
+
children: _links.default.map(function (link) {
|
|
22
|
+
var href = link.href;
|
|
23
23
|
if (link.hrefOverrides && service) {
|
|
24
24
|
href = link.hrefOverrides[service] || href;
|
|
25
25
|
}
|
|
@@ -14,7 +14,7 @@ var _services = _interopRequireDefault(require("../../services.json"));
|
|
|
14
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
-
|
|
17
|
+
var Services = function Services() {
|
|
18
18
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
|
|
19
19
|
className: _ServicesModule.default.wrapper,
|
|
20
20
|
"aria-label": "Our services",
|
|
@@ -24,7 +24,7 @@ const Services = () => {
|
|
|
24
24
|
return item.footer;
|
|
25
25
|
}).map(function (link) {
|
|
26
26
|
if (link.nestedLinks) {
|
|
27
|
-
return link.nestedLinks.map(nestedLink
|
|
27
|
+
return link.nestedLinks.map(function (nestedLink) {
|
|
28
28
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLink, _objectSpread({}, nestedLink), nestedLink.id);
|
|
29
29
|
});
|
|
30
30
|
} else {
|
|
@@ -45,7 +45,7 @@ FooterLink.propTypes = {
|
|
|
45
45
|
title: _propTypes.default.string
|
|
46
46
|
};
|
|
47
47
|
function FooterLink(_ref) {
|
|
48
|
-
|
|
48
|
+
var host = _ref.host,
|
|
49
49
|
landingPath = _ref.landingPath,
|
|
50
50
|
text = _ref.text,
|
|
51
51
|
abbreviation = _ref.abbreviation,
|
|
@@ -13,7 +13,7 @@ var _SocialModule = _interopRequireDefault(require("./Social.module.scss"));
|
|
|
13
13
|
var _TrackedLink = _interopRequireDefault(require("../../TrackedLink"));
|
|
14
14
|
var _tracker = require("../../tracker");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
-
|
|
16
|
+
var Social = function Social() {
|
|
17
17
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
18
18
|
className: _SocialModule.default.wrapper,
|
|
19
19
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
|
package/lib/Footer/index.js
CHANGED
|
@@ -18,27 +18,29 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
18
18
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
19
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
20
|
function Account(props) {
|
|
21
|
-
|
|
21
|
+
var _props$provider = props.provider,
|
|
22
22
|
provider = _props$provider === void 0 ? "niceAccounts" : _props$provider;
|
|
23
23
|
// We've left this is state as per the pre-hook implementation
|
|
24
|
-
|
|
24
|
+
var _useState = (0, _react.useState)(provider == Account.providers.idam),
|
|
25
25
|
_useState2 = (0, _slicedToArray2.default)(_useState, 1),
|
|
26
26
|
doesUseIdAM = _useState2[0];
|
|
27
|
-
|
|
27
|
+
var _useContext = (0, _react.useContext)(_HeaderContext.HeaderContext),
|
|
28
28
|
accountMenuIsExpanded = _useContext.accountMenuIsExpanded,
|
|
29
29
|
setAccountMenuIsExpanded = _useContext.setAccountMenuIsExpanded;
|
|
30
|
-
|
|
30
|
+
var keypress = (0, _react.useRef)(),
|
|
31
31
|
myAccountButton = (0, _react.useRef)(),
|
|
32
32
|
myAccountMenu = (0, _react.useRef)();
|
|
33
|
-
|
|
33
|
+
var handleMyAccountButtonClick = (0, _react.useCallback)(function (e) {
|
|
34
34
|
keypress.current = e.pageX;
|
|
35
|
-
setAccountMenuIsExpanded(
|
|
35
|
+
setAccountMenuIsExpanded(function (prevState) {
|
|
36
|
+
return !prevState;
|
|
37
|
+
});
|
|
36
38
|
}, []);
|
|
37
39
|
function focusAccount() {
|
|
38
40
|
myAccountMenu && myAccountMenu.current.setAttribute("tabIndex", -1);
|
|
39
41
|
myAccountMenu && myAccountMenu.current.focus();
|
|
40
42
|
}
|
|
41
|
-
(0, _react.useEffect)(()
|
|
43
|
+
(0, _react.useEffect)(function () {
|
|
42
44
|
if (!keypress.current && accountMenuIsExpanded) {
|
|
43
45
|
focusAccount();
|
|
44
46
|
}
|
|
@@ -51,8 +53,8 @@ function Account(props) {
|
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
55
|
function handleMenuItemClick(e) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
+
var href = e.currentTarget.getAttribute("href");
|
|
57
|
+
var eventLabel;
|
|
56
58
|
if (href.indexOf("editprofile") > -1) {
|
|
57
59
|
eventLabel = "Edit profile";
|
|
58
60
|
} else if (href.indexOf("signout") > -1) {
|
|
@@ -67,8 +69,8 @@ function Account(props) {
|
|
|
67
69
|
});
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
|
-
(0, _react.useEffect)(()
|
|
71
|
-
|
|
72
|
+
(0, _react.useEffect)(function () {
|
|
73
|
+
var consultationsResponsesLink = {
|
|
72
74
|
"Consultation responses": "https://www.nice.org.uk/consultations/"
|
|
73
75
|
};
|
|
74
76
|
if (doesUseIdAM) {
|
|
@@ -76,16 +78,16 @@ function Account(props) {
|
|
|
76
78
|
//idam supplies links like:[{ key: "My profile", value: "/Account/todo" },{ key: "Sign out", value: "/Account/Logout" }]
|
|
77
79
|
//the following just converts the idam format to the nice accounts format.
|
|
78
80
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
81
|
+
var displayName = props.displayName;
|
|
82
|
+
var isLoggedIn = !!displayName;
|
|
83
|
+
var links = props.links.reduce(function (links, link) {
|
|
82
84
|
links[link.text] = link.url;
|
|
83
85
|
return links;
|
|
84
86
|
}, {});
|
|
85
87
|
if (isLoggedIn) {
|
|
86
88
|
links = _objectSpread(_objectSpread({}, consultationsResponsesLink), links);
|
|
87
89
|
}
|
|
88
|
-
|
|
90
|
+
var convertedData = {
|
|
89
91
|
display_name: displayName,
|
|
90
92
|
links: links
|
|
91
93
|
};
|
|
@@ -104,10 +106,10 @@ function Account(props) {
|
|
|
104
106
|
});
|
|
105
107
|
}
|
|
106
108
|
}, []);
|
|
107
|
-
|
|
109
|
+
var accountsData = props.accountsData,
|
|
108
110
|
_props$environment = props.environment,
|
|
109
111
|
environment = _props$environment === void 0 ? "live" : _props$environment;
|
|
110
|
-
|
|
112
|
+
var signInLink = {};
|
|
111
113
|
if (doesUseIdAM) {
|
|
112
114
|
signInLink = props.links[0];
|
|
113
115
|
} else {
|
|
@@ -8,13 +8,13 @@ exports.getDomainBaseUrl = exports.checkIsLoggedIn = void 0;
|
|
|
8
8
|
// Returns a promise that resolves with the data from NICE Accounts.
|
|
9
9
|
// Returns a promise that rejects if the data could not be loaded.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
var checkIsLoggedIn = exports.checkIsLoggedIn = function checkIsLoggedIn(environment) {
|
|
12
12
|
return new Promise(function (resolve, reject) {
|
|
13
|
-
|
|
13
|
+
var url = getDomainBaseUrl(environment) + "tophat";
|
|
14
14
|
var body = document.body;
|
|
15
15
|
var script = document.createElement("script");
|
|
16
16
|
script.src = url + (~url.indexOf("?") ? "&" : "?") + Math.floor(Math.random() * 10000000000);
|
|
17
|
-
|
|
17
|
+
var done = false;
|
|
18
18
|
script.onload = script.onreadystatechange = function () {
|
|
19
19
|
if (!done && (!script.readyState || script.readyState === "loaded" || script.readyState === "complete")) {
|
|
20
20
|
done = true;
|
|
@@ -30,8 +30,6 @@ const checkIsLoggedIn = function (environment) {
|
|
|
30
30
|
body.insertBefore(script, body.firstChild);
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
|
-
exports.
|
|
34
|
-
const getDomainBaseUrl = function (environment) {
|
|
33
|
+
var getDomainBaseUrl = exports.getDomainBaseUrl = function getDomainBaseUrl(environment) {
|
|
35
34
|
return "https://".concat(environment !== "live" ? environment + "-" : "", "accounts.nice.org.uk/");
|
|
36
|
-
};
|
|
37
|
-
exports.getDomainBaseUrl = getDomainBaseUrl;
|
|
35
|
+
};
|