@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.
Files changed (74) hide show
  1. package/README.md +18 -55
  2. package/lib/Footer/Footer.js +31 -55
  3. package/lib/Footer/Legal/Legal.js +76 -71
  4. package/lib/Footer/Legal/index.js +10 -7
  5. package/lib/Footer/Pages/Pages.js +34 -54
  6. package/lib/Footer/Pages/Pages.module.scss +1 -1
  7. package/lib/Footer/Pages/index.js +10 -7
  8. package/lib/Footer/Pages/links.json +2 -5
  9. package/lib/Footer/Services/Services.js +65 -86
  10. package/lib/Footer/Services/Services.module.scss +1 -1
  11. package/lib/Footer/Services/index.js +10 -7
  12. package/lib/Footer/Social/Social.js +46 -57
  13. package/lib/Footer/Social/index.js +10 -7
  14. package/lib/Footer/index.js +10 -7
  15. package/lib/Header/Account/Account.js +87 -109
  16. package/lib/Header/Account/index.js +10 -7
  17. package/lib/Header/Account/nice-accounts.js +7 -12
  18. package/lib/Header/Header.js +345 -171
  19. package/lib/Header/Header.module.scss +2 -2
  20. package/lib/Header/Nav/Dropdown/Components/AboutUs.js +216 -105
  21. package/lib/Header/Nav/Dropdown/Components/BNF.js +120 -75
  22. package/lib/Header/Nav/Dropdown/Components/BNFc.js +115 -73
  23. package/lib/Header/Nav/Dropdown/Components/Button.js +11 -14
  24. package/lib/Header/Nav/Dropdown/Components/CKS.js +115 -73
  25. package/lib/Header/Nav/Dropdown/Components/Grid.js +16 -22
  26. package/lib/Header/Nav/Dropdown/Components/Guidance.js +244 -128
  27. package/lib/Header/Nav/Dropdown/Components/LifeSciences.js +169 -108
  28. package/lib/Header/Nav/Dropdown/Components/StandardsAndIndicators.js +83 -45
  29. package/lib/Header/Nav/Dropdown/Components/index.js +46 -24
  30. package/lib/Header/Nav/Dropdown/Dropdown.js +48 -63
  31. package/lib/Header/Nav/Dropdown/Dropdown.module.scss +1 -1
  32. package/lib/Header/Nav/Dropdown/index.js +10 -7
  33. package/lib/Header/Nav/Nav.js +84 -102
  34. package/lib/Header/Nav/Nav.module.scss +2 -4
  35. package/lib/Header/Nav/NavLinks/NavLinks.js +118 -137
  36. package/lib/Header/Nav/NavLinks/NavLinks.module.scss +1 -1
  37. package/lib/Header/Nav/NavLinks/index.js +10 -7
  38. package/lib/Header/Nav/SubNav/SubNav.js +54 -90
  39. package/lib/Header/Nav/SubNav/index.js +10 -7
  40. package/lib/Header/Nav/__mocks__/services.json +3 -3
  41. package/lib/Header/Nav/index.js +10 -7
  42. package/lib/Header/OldIEMessage/OldIEMessage.js +65 -67
  43. package/lib/Header/OldIEMessage/ie.js +14 -0
  44. package/lib/Header/OldIEMessage/index.js +10 -7
  45. package/lib/Header/Search/Autocomplete/Autocomplete.js +169 -194
  46. package/lib/Header/Search/Autocomplete/Autocomplete.module.scss +9 -1
  47. package/lib/Header/Search/Autocomplete/index.js +10 -7
  48. package/lib/Header/Search/Autocomplete/suggester/index.js +21 -28
  49. package/lib/Header/Search/Autocomplete/suggester/phrase-finder.js +13 -14
  50. package/lib/Header/Search/Autocomplete/suggester/term-finder.js +18 -21
  51. package/lib/Header/Search/Autocomplete/suggester/tokenizer.js +12 -17
  52. package/lib/Header/Search/Search.js +73 -90
  53. package/lib/Header/Search/index.js +10 -7
  54. package/lib/Header/SkipLink/SkipLink.js +24 -62
  55. package/lib/Header/SkipLink/SkipLink.module.scss +5 -1
  56. package/lib/Header/SkipLink/index.js +10 -7
  57. package/lib/Header/_header-settings.scss +0 -2
  58. package/lib/Header/context/HeaderContext.js +28 -54
  59. package/lib/Header/index.js +10 -7
  60. package/lib/Main/BackToTop/BackToTop.js +22 -25
  61. package/lib/Main/BackToTop/BackToTop.module.scss +1 -4
  62. package/lib/Main/Main.js +22 -26
  63. package/lib/Main/index.js +10 -7
  64. package/lib/TrackedLink/TrackedLink.js +48 -74
  65. package/lib/TrackedLink/index.js +10 -7
  66. package/lib/hooks/useEscapeKeydown.js +8 -21
  67. package/lib/hooks/useIsClient.js +20 -0
  68. package/lib/index.js +22 -12
  69. package/lib/renderer.js +21 -30
  70. package/lib/tracker/index.js +8 -25
  71. package/lib/utils.js +4 -7
  72. package/package.json +68 -65
  73. package/types.d.ts +1 -0
  74. 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.__esModule = true;
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
6
8
  exports.Dropdown = Dropdown;
7
- exports["default"] = void 0;
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
- className = _ref.className,
37
- nextNavSlug = _ref.nextNavSlug,
38
- closeDropdown = _ref.closeDropdown,
39
- id = _ref.id,
40
- currentService = _ref.currentService,
41
- DropdownComponent = _ref.component;
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
- idOfOpenDropdown = _useContext.idOfOpenDropdown;
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
- }.bind(this));
39
+ });
57
40
  closeDropdown();
58
41
  }
59
-
60
- var _services$external$fi = _services["default"].external.find(function (service) {
61
- (0, _newArrowCheck2["default"])(this, _this2);
62
- return service.id == id;
63
- }.bind(this)),
64
- host = _services$external$fi.host;
65
-
66
- var rootUrl = id === currentService ? "" : "https://" + host;
67
- return /*#__PURE__*/_react["default"].createElement("div", {
68
- className: (0, _classnames["default"])([className, _ResetModule["default"].wrapper]),
69
- id: "dropdown-" + id,
70
- "data-tracking": text + " dropdown",
71
- ref: focusTrapRef
72
- }, /*#__PURE__*/_react["default"].createElement("div", {
73
- className: _DropdownModule["default"].container
74
- }, nextNavSlug && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("a", {
75
- href: nextNavSlug == "content-start" ? "#" + nextNavSlug : "#navlink-" + nextNavSlug,
76
- className: _DropdownModule["default"].skiplink,
77
- onClick: handleSkipLink
78
- }, "Skip ", text, " submenu")), /*#__PURE__*/_react["default"].createElement(DropdownComponent, {
79
- rootUrl: rootUrl
80
- }), /*#__PURE__*/_react["default"].createElement("button", {
81
- onClick: closeDropdown,
82
- className: _DropdownModule["default"].exit,
83
- "data-tracking": "Close menu"
84
- }, "Close menu ", /*#__PURE__*/_react["default"].createElement(_Remove["default"], null))));
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["default"] = _default;
73
+ exports.default = _default;
@@ -10,7 +10,7 @@
10
10
  @use '@nice-digital/nds-core/scss/utils';
11
11
 
12
12
  .skiplink {
13
- @extend .link;
13
+ @extend %link;
14
14
  }
15
15
 
16
16
  .skiplink:focus:not(:focus-visible) {
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = void 0;
7
-
8
- var _Dropdown = _interopRequireDefault(require("./Dropdown"));
9
-
10
- exports["default"] = _Dropdown["default"];
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"));
@@ -1,46 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = void 0;
7
-
8
- var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
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 _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; }
29
-
30
- function Nav(props) {
31
- var _this = this,
32
- _classnames,
33
- _classnames2;
34
-
35
- var accountsLinks = props.accountsLinks;
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
- clickOutsideRef = _useContext.clickOutsideRef;
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 = href;
44
+ window.location.assign(href);
56
45
  });
57
46
  }
58
- } // Links from NICE Accounts is an object so flatten to a loop for easier traversal
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
- }.bind(this)); // Would need to polyfill Array.prototype.find to rewrite these loops, whilst we support IE
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["default"].external; //default to displaying external services.
73
-
74
- for (var i = 0; i < _services["default"].internal.length; i++) {
75
- var internalRootLink = _services["default"].internal[i];
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["default"].external.length; _i++) {
88
- var externalService = _services["default"].external[_i];
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
- for (var _i2 = 0; _i2 < props.additionalSubMenuItems.length; _i2++) {
100
- var additionalSubMenuItem = props.additionalSubMenuItems[_i2];
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
- }.bind(this));
89
+ });
110
90
  }
111
91
  }
112
-
113
92
  var subLinks = activeService && activeService.links && activeService.links.concat(additionalSubMenuLinks);
114
- return /*#__PURE__*/_react["default"].createElement("div", {
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
115
94
  id: "header-menu",
116
- className: (0, _classnames3["default"])(_NavModule["default"].wrapper, (_classnames = {}, _classnames[_NavModule["default"].wrapperExpanded] = props.isExpanded, _classnames), (_classnames2 = {}, _classnames2[_NavModule["default"].wrapperWithSubLinks] = subLinks, _classnames2)),
117
- ref: clickOutsideRef
118
- }, /*#__PURE__*/_react["default"].createElement("nav", {
119
- className: _NavModule["default"].nav,
120
- "aria-label": "primary navigation",
121
- "data-tracking": "Primary navigation"
122
- }, /*#__PURE__*/_react["default"].createElement("div", {
123
- className: _NavModule["default"].menuWrapper
124
- }, /*#__PURE__*/_react["default"].createElement(_NavLinks["default"], {
125
- skipLinkId: props.skipLinkId,
126
- servicesToDisplay: servicesToDisplay,
127
- currentService: props.service,
128
- subLinks: subLinks,
129
- onNavigating: props.onNavigating
130
- }))), accountsLinksArray && /*#__PURE__*/_react["default"].createElement("nav", {
131
- "aria-label": "My account",
132
- className: (0, _classnames3["default"])(_NavModule["default"].nav, _NavModule["default"].myAccount)
133
- }, accountsLinksArray.length > 1 && /*#__PURE__*/_react["default"].createElement("h2", {
134
- className: _NavModule["default"].myAccountHeading
135
- }, "My account"), /*#__PURE__*/_react["default"].createElement("div", {
136
- className: _NavModule["default"].menuWrapper
137
- }, /*#__PURE__*/_react["default"].createElement("ul", {
138
- className: _NavModule["default"].menuList
139
- }, accountsLinksArray.map(function (_ref) {
140
- (0, _newArrowCheck2["default"])(this, _this);
141
- var href = _ref.href,
142
- text = _ref.text;
143
- return /*#__PURE__*/_react["default"].createElement("li", {
144
- key: href
145
- }, /*#__PURE__*/_react["default"].createElement("a", {
146
- href: href,
147
- className: _NavModule["default"].link,
148
- onClick: handleAccountNavItemClick
149
- }, text));
150
- }.bind(this))))));
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["default"] = _default;
139
+ exports.default = _default;
155
140
  Nav.propTypes = {
156
- skipLinkId: _propTypes["default"].string,
157
- service: _propTypes["default"].string,
158
- isExpanded: _propTypes["default"].bool,
159
- accountsLinks: _propTypes["default"].object,
160
- onNavigating: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].string]),
161
- additionalSubMenuItems: _propTypes["default"].arrayOf(_propTypes["default"].object)
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-direction: row;
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;