@nice-digital/global-nav 5.0.940 → 7.0.930
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/README.md +18 -55
- package/lib/Footer/Footer.js +31 -55
- package/lib/Footer/Legal/Legal.js +76 -71
- package/lib/Footer/Legal/index.js +10 -7
- package/lib/Footer/Pages/Pages.js +34 -54
- package/lib/Footer/Pages/Pages.module.scss +1 -1
- package/lib/Footer/Pages/index.js +10 -7
- package/lib/Footer/Pages/links.json +2 -5
- package/lib/Footer/Services/Services.js +65 -86
- package/lib/Footer/Services/Services.module.scss +1 -1
- package/lib/Footer/Services/index.js +10 -7
- package/lib/Footer/Social/Social.js +46 -57
- package/lib/Footer/Social/index.js +10 -7
- package/lib/Footer/index.js +10 -7
- package/lib/Header/Account/Account.js +87 -109
- package/lib/Header/Account/index.js +10 -7
- package/lib/Header/Account/nice-accounts.js +7 -12
- package/lib/Header/Header.js +345 -171
- package/lib/Header/Header.module.scss +2 -2
- package/lib/Header/Nav/Dropdown/Components/AboutUs.js +216 -105
- package/lib/Header/Nav/Dropdown/Components/BNF.js +120 -75
- package/lib/Header/Nav/Dropdown/Components/BNFc.js +115 -73
- package/lib/Header/Nav/Dropdown/Components/Button.js +11 -14
- package/lib/Header/Nav/Dropdown/Components/CKS.js +115 -73
- package/lib/Header/Nav/Dropdown/Components/Grid.js +16 -22
- package/lib/Header/Nav/Dropdown/Components/Guidance.js +244 -128
- package/lib/Header/Nav/Dropdown/Components/LifeSciences.js +169 -108
- package/lib/Header/Nav/Dropdown/Components/StandardsAndIndicators.js +83 -45
- package/lib/Header/Nav/Dropdown/Components/index.js +46 -24
- package/lib/Header/Nav/Dropdown/Dropdown.js +48 -63
- package/lib/Header/Nav/Dropdown/Dropdown.module.scss +1 -1
- package/lib/Header/Nav/Dropdown/index.js +10 -7
- package/lib/Header/Nav/Nav.js +84 -102
- package/lib/Header/Nav/Nav.module.scss +2 -4
- package/lib/Header/Nav/NavLinks/NavLinks.js +118 -137
- package/lib/Header/Nav/NavLinks/NavLinks.module.scss +1 -1
- package/lib/Header/Nav/NavLinks/index.js +10 -7
- package/lib/Header/Nav/SubNav/SubNav.js +54 -90
- package/lib/Header/Nav/SubNav/index.js +10 -7
- package/lib/Header/Nav/__mocks__/services.json +3 -3
- package/lib/Header/Nav/index.js +10 -7
- package/lib/Header/OldIEMessage/OldIEMessage.js +65 -67
- package/lib/Header/OldIEMessage/ie.js +14 -0
- package/lib/Header/OldIEMessage/index.js +10 -7
- package/lib/Header/Search/Autocomplete/Autocomplete.js +169 -194
- package/lib/Header/Search/Autocomplete/Autocomplete.module.scss +9 -1
- package/lib/Header/Search/Autocomplete/index.js +10 -7
- package/lib/Header/Search/Autocomplete/suggester/index.js +21 -28
- package/lib/Header/Search/Autocomplete/suggester/phrase-finder.js +13 -14
- package/lib/Header/Search/Autocomplete/suggester/term-finder.js +18 -21
- package/lib/Header/Search/Autocomplete/suggester/tokenizer.js +12 -17
- package/lib/Header/Search/Search.js +73 -90
- package/lib/Header/Search/index.js +10 -7
- package/lib/Header/SkipLink/SkipLink.js +24 -62
- package/lib/Header/SkipLink/SkipLink.module.scss +5 -1
- package/lib/Header/SkipLink/index.js +10 -7
- package/lib/Header/_header-settings.scss +0 -2
- package/lib/Header/context/HeaderContext.js +28 -54
- package/lib/Header/index.js +10 -7
- package/lib/Main/BackToTop/BackToTop.js +22 -25
- package/lib/Main/BackToTop/BackToTop.module.scss +1 -4
- package/lib/Main/Main.js +22 -26
- package/lib/Main/index.js +10 -7
- package/lib/TrackedLink/TrackedLink.js +48 -74
- package/lib/TrackedLink/index.js +10 -7
- package/lib/hooks/useEscapeKeydown.js +8 -21
- package/lib/hooks/useIsClient.js +20 -0
- package/lib/index.js +22 -12
- package/lib/renderer.js +21 -30
- package/lib/tracker/index.js +8 -25
- package/lib/utils.js +4 -7
- package/package.json +68 -65
- package/types.d.ts +1 -0
- package/lib/Header/Account/AccountOld.js +0 -227
|
@@ -1,88 +1,73 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
6
8
|
exports.Dropdown = Dropdown;
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
|
|
10
|
-
|
|
9
|
+
exports.default = void 0;
|
|
11
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
|
|
13
|
-
var _hooks = require("@mantine/hooks");
|
|
14
|
-
|
|
11
|
+
var _useFocusTrap = require("@mantine/hooks/esm/use-focus-trap/use-focus-trap");
|
|
15
12
|
var _HeaderContext = require("../../context/HeaderContext");
|
|
16
|
-
|
|
17
13
|
var _DropdownModule = _interopRequireDefault(require("./Dropdown.module.scss"));
|
|
18
|
-
|
|
19
14
|
var _ResetModule = _interopRequireDefault(require("./Reset.module.scss"));
|
|
20
|
-
|
|
21
15
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
22
|
-
|
|
23
16
|
var _services = _interopRequireDefault(require("../../../services.json"));
|
|
24
|
-
|
|
25
17
|
var _Remove = _interopRequireDefault(require("@nice-digital/icons/lib/Remove"));
|
|
26
|
-
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
28
|
-
|
|
29
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
30
|
-
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
31
21
|
/* eslint-disable react/prop-types */
|
|
32
|
-
function Dropdown(_ref) {
|
|
33
|
-
var _this2 = this;
|
|
34
22
|
|
|
23
|
+
function Dropdown(_ref) {
|
|
35
24
|
var text = _ref.text,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
nextNavSlug = _ref.nextNavSlug,
|
|
27
|
+
closeDropdown = _ref.closeDropdown,
|
|
28
|
+
id = _ref.id,
|
|
29
|
+
currentService = _ref.currentService,
|
|
30
|
+
DropdownComponent = _ref.component;
|
|
43
31
|
var _useContext = (0, _react.useContext)(_HeaderContext.HeaderContext),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
var focusTrapRef = (0, _hooks.useFocusTrap)(idOfOpenDropdown !== null);
|
|
47
|
-
|
|
32
|
+
idOfOpenDropdown = _useContext.idOfOpenDropdown;
|
|
33
|
+
var focusTrapRef = (0, _useFocusTrap.useFocusTrap)(idOfOpenDropdown !== null);
|
|
48
34
|
function handleSkipLink(e) {
|
|
49
|
-
var _this = this;
|
|
50
|
-
|
|
51
35
|
e.preventDefault();
|
|
52
36
|
var element = document.getElementById(e.target.hash.substr(1));
|
|
53
37
|
requestAnimationFrame(function () {
|
|
54
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
55
38
|
element && element.focus();
|
|
56
|
-
}
|
|
39
|
+
});
|
|
57
40
|
closeDropdown();
|
|
58
41
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
42
|
+
var _services$external$fi = _services.default.external.find(function (service) {
|
|
43
|
+
return service.id == id;
|
|
44
|
+
}),
|
|
45
|
+
host = _services$external$fi.host;
|
|
46
|
+
var rootUrl = id === currentService ? "" : "https://".concat(host);
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
48
|
+
className: (0, _classnames.default)([className, _ResetModule.default.wrapper]),
|
|
49
|
+
id: "dropdown-".concat(id),
|
|
50
|
+
"data-tracking": "".concat(text, " dropdown"),
|
|
51
|
+
ref: focusTrapRef,
|
|
52
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
53
|
+
className: _DropdownModule.default.container,
|
|
54
|
+
children: [nextNavSlug && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
55
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
|
|
56
|
+
href: nextNavSlug == "content-start" ? "#".concat(nextNavSlug) : "#navlink-".concat(nextNavSlug),
|
|
57
|
+
className: _DropdownModule.default.skiplink,
|
|
58
|
+
onClick: handleSkipLink,
|
|
59
|
+
children: ["Skip ", text, " submenu"]
|
|
60
|
+
})
|
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(DropdownComponent, {
|
|
62
|
+
rootUrl: rootUrl
|
|
63
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
|
|
64
|
+
onClick: closeDropdown,
|
|
65
|
+
className: _DropdownModule.default.exit,
|
|
66
|
+
"data-tracking": "Close menu",
|
|
67
|
+
children: ["Close menu ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Remove.default, {})]
|
|
68
|
+
})]
|
|
69
|
+
})
|
|
70
|
+
});
|
|
85
71
|
}
|
|
86
|
-
|
|
87
72
|
var _default = Dropdown;
|
|
88
|
-
exports
|
|
73
|
+
exports.default = _default;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _Dropdown.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
package/lib/Header/Nav/Nav.js
CHANGED
|
@@ -1,46 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
exports
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
12
|
var _classnames3 = _interopRequireDefault(require("classnames"));
|
|
15
|
-
|
|
16
13
|
var _HeaderContext = require("../../Header/context/HeaderContext");
|
|
17
|
-
|
|
18
14
|
var _NavLinks = _interopRequireDefault(require("./NavLinks"));
|
|
19
|
-
|
|
20
15
|
var _NavModule = _interopRequireDefault(require("./Nav.module.scss"));
|
|
21
|
-
|
|
22
16
|
var _services = _interopRequireDefault(require("./../../services.json"));
|
|
23
|
-
|
|
24
17
|
var _tracker = require("../../tracker");
|
|
25
|
-
|
|
18
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
26
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
20
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
+
function Nav(_ref) {
|
|
22
|
+
var accountsLinks = _ref.accountsLinks,
|
|
23
|
+
service = _ref.service,
|
|
24
|
+
_ref$additionalSubMen = _ref.additionalSubMenuItems,
|
|
25
|
+
additionalSubMenuItems = _ref$additionalSubMen === void 0 ? [] : _ref$additionalSubMen,
|
|
26
|
+
isExpanded = _ref.isExpanded,
|
|
27
|
+
skipLinkId = _ref.skipLinkId,
|
|
28
|
+
onNavigating = _ref.onNavigating;
|
|
37
29
|
var _useContext = (0, _react.useContext)(_HeaderContext.HeaderContext),
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
clickOutsideRef = _useContext.clickOutsideRef;
|
|
40
31
|
function handleAccountNavItemClick(e) {
|
|
41
32
|
var href = e.currentTarget.getAttribute("href");
|
|
42
33
|
var eventLabel;
|
|
43
|
-
|
|
44
34
|
if (href.indexOf("editprofile") > -1) {
|
|
45
35
|
eventLabel = "Edit profile";
|
|
46
36
|
} else if (href.indexOf("signout") > -1) {
|
|
@@ -48,118 +38,110 @@ function Nav(props) {
|
|
|
48
38
|
} else if (href.indexOf("signin") > -1) {
|
|
49
39
|
eventLabel = "Sign in";
|
|
50
40
|
}
|
|
51
|
-
|
|
52
41
|
if (eventLabel) {
|
|
53
42
|
e.preventDefault();
|
|
54
43
|
(0, _tracker.trackEvent)(_tracker.defaultEventCategory, _tracker.headerClickEventAction, eventLabel, null, href, function () {
|
|
55
|
-
window.location.href
|
|
44
|
+
window.location.assign(href);
|
|
56
45
|
});
|
|
57
46
|
}
|
|
58
|
-
}
|
|
59
|
-
|
|
47
|
+
}
|
|
60
48
|
|
|
49
|
+
// Links from NICE Accounts is an object so flatten to a loop for easier traversal
|
|
61
50
|
var accountsLinksArray = accountsLinks && Object.keys(accountsLinks).map(function (text) {
|
|
62
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
63
51
|
return {
|
|
64
52
|
text: text,
|
|
65
53
|
href: accountsLinks[text]
|
|
66
54
|
};
|
|
67
|
-
}
|
|
68
|
-
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find for support
|
|
55
|
+
});
|
|
69
56
|
|
|
57
|
+
// Would need to polyfill Array.prototype.find to rewrite these loops, whilst we support IE
|
|
58
|
+
// See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find for support
|
|
70
59
|
var activeService = null;
|
|
71
60
|
var internalService = false;
|
|
72
|
-
var servicesToDisplay = _services
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (props.service && internalRootLink.id === props.service) {
|
|
61
|
+
var servicesToDisplay = _services.default.external; //default to displaying external services.
|
|
62
|
+
for (var i = 0; i < _services.default.internal.length; i++) {
|
|
63
|
+
var internalRootLink = _services.default.internal[i];
|
|
64
|
+
if (service && internalRootLink.id === service) {
|
|
78
65
|
internalService = true;
|
|
79
66
|
activeService = internalRootLink;
|
|
80
67
|
servicesToDisplay = [internalRootLink]; //unlike external, internal services don't display other internal services.
|
|
81
|
-
|
|
82
68
|
break;
|
|
83
69
|
}
|
|
84
70
|
}
|
|
85
|
-
|
|
86
71
|
if (!internalService) {
|
|
87
|
-
for (var _i = 0; _i < _services
|
|
88
|
-
var externalService = _services
|
|
89
|
-
|
|
90
|
-
if (props.service && externalService.id === props.service) {
|
|
72
|
+
for (var _i = 0; _i < _services.default.external.length; _i++) {
|
|
73
|
+
var externalService = _services.default.external[_i];
|
|
74
|
+
if (service && externalService.id === service) {
|
|
91
75
|
activeService = externalService;
|
|
92
76
|
break;
|
|
93
77
|
}
|
|
94
78
|
}
|
|
95
79
|
}
|
|
96
|
-
|
|
97
80
|
var additionalSubMenuLinks = [];
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (typeof additionalSubMenuItem !== "undefined" && additionalSubMenuItem.service === props.service && Array.isArray(additionalSubMenuItem.links)) {
|
|
81
|
+
for (var _i2 = 0; _i2 < additionalSubMenuItems.length; _i2++) {
|
|
82
|
+
var additionalSubMenuItem = additionalSubMenuItems[_i2];
|
|
83
|
+
if (typeof additionalSubMenuItem !== "undefined" && additionalSubMenuItem.service === service && Array.isArray(additionalSubMenuItem.links)) {
|
|
103
84
|
additionalSubMenuLinks = additionalSubMenuItem.links.map(function (link) {
|
|
104
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
105
85
|
return {
|
|
106
86
|
text: link.text,
|
|
107
87
|
href: link.url
|
|
108
88
|
};
|
|
109
|
-
}
|
|
89
|
+
});
|
|
110
90
|
}
|
|
111
91
|
}
|
|
112
|
-
|
|
113
92
|
var subLinks = activeService && activeService.links && activeService.links.concat(additionalSubMenuLinks);
|
|
114
|
-
return /*#__PURE__*/
|
|
93
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
115
94
|
id: "header-menu",
|
|
116
|
-
className: (0, _classnames3
|
|
117
|
-
ref: clickOutsideRef
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
95
|
+
className: (0, _classnames3.default)(_NavModule.default.wrapper, (0, _defineProperty2.default)({}, _NavModule.default.wrapperExpanded, isExpanded), (0, _defineProperty2.default)({}, _NavModule.default.wrapperWithSubLinks, subLinks)),
|
|
96
|
+
ref: clickOutsideRef,
|
|
97
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
|
|
98
|
+
className: _NavModule.default.nav,
|
|
99
|
+
"aria-label": "primary navigation",
|
|
100
|
+
"data-tracking": "Primary navigation",
|
|
101
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
102
|
+
className: _NavModule.default.menuWrapper,
|
|
103
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_NavLinks.default, {
|
|
104
|
+
skipLinkId: skipLinkId,
|
|
105
|
+
servicesToDisplay: servicesToDisplay,
|
|
106
|
+
currentService: service,
|
|
107
|
+
subLinks: subLinks,
|
|
108
|
+
onNavigating: onNavigating
|
|
109
|
+
})
|
|
110
|
+
})
|
|
111
|
+
}), accountsLinksArray && /*#__PURE__*/(0, _jsxRuntime.jsxs)("nav", {
|
|
112
|
+
"aria-label": "My account",
|
|
113
|
+
className: (0, _classnames3.default)(_NavModule.default.nav, _NavModule.default.myAccount),
|
|
114
|
+
children: [accountsLinksArray.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
115
|
+
className: _NavModule.default.myAccountHeading,
|
|
116
|
+
children: "My account"
|
|
117
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
118
|
+
className: _NavModule.default.menuWrapper,
|
|
119
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
120
|
+
className: _NavModule.default.menuList,
|
|
121
|
+
children: accountsLinksArray.map(function (_ref2) {
|
|
122
|
+
var href = _ref2.href,
|
|
123
|
+
text = _ref2.text;
|
|
124
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
125
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
126
|
+
href: href,
|
|
127
|
+
className: _NavModule.default.link,
|
|
128
|
+
onClick: handleAccountNavItemClick,
|
|
129
|
+
children: text
|
|
130
|
+
})
|
|
131
|
+
}, href);
|
|
132
|
+
})
|
|
133
|
+
})
|
|
134
|
+
})]
|
|
135
|
+
})]
|
|
136
|
+
});
|
|
151
137
|
}
|
|
152
|
-
|
|
153
138
|
var _default = Nav;
|
|
154
|
-
exports
|
|
139
|
+
exports.default = _default;
|
|
155
140
|
Nav.propTypes = {
|
|
156
|
-
skipLinkId: _propTypes
|
|
157
|
-
service: _propTypes
|
|
158
|
-
isExpanded: _propTypes
|
|
159
|
-
accountsLinks: _propTypes
|
|
160
|
-
onNavigating: _propTypes
|
|
161
|
-
additionalSubMenuItems: _propTypes
|
|
162
|
-
};
|
|
163
|
-
Nav.defaultProps = {
|
|
164
|
-
additionalSubMenuItems: []
|
|
141
|
+
skipLinkId: _propTypes.default.string,
|
|
142
|
+
service: _propTypes.default.string,
|
|
143
|
+
isExpanded: _propTypes.default.bool,
|
|
144
|
+
accountsLinks: _propTypes.default.object,
|
|
145
|
+
onNavigating: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
|
|
146
|
+
additionalSubMenuItems: _propTypes.default.arrayOf(_propTypes.default.object)
|
|
165
147
|
};
|
|
@@ -48,7 +48,6 @@
|
|
|
48
48
|
.menuWrapper {
|
|
49
49
|
background: $nav-background;
|
|
50
50
|
color: $nav-text;
|
|
51
|
-
// padding: utils.rem(spacing.$x-small 0);
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
@include media-queries.mq($from: md) {
|
|
@@ -70,15 +69,14 @@
|
|
|
70
69
|
@include media-queries.mq($from: md) {
|
|
71
70
|
@include layout.container;
|
|
72
71
|
display: flex;
|
|
73
|
-
flex-
|
|
74
|
-
flex-wrap: nowrap;
|
|
72
|
+
flex-flow: row nowrap;
|
|
75
73
|
justify-content: space-between;
|
|
76
74
|
}
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
a.link,
|
|
80
78
|
.linkStyling {
|
|
81
|
-
//qualified this with 'a' and 'button' to add specificity to avoid overrides from application css (NW-1253)
|
|
79
|
+
// qualified this with 'a' and 'button' to add specificity to avoid overrides from application css (NW-1253)
|
|
82
80
|
align-items: center;
|
|
83
81
|
background: none;
|
|
84
82
|
border: utils.rem(spacing.$x-small) solid $nav-link-border;
|