@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,101 +1,80 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
10
- var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
11
-
12
- var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
16
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
-
18
11
  var _ServicesModule = _interopRequireDefault(require("./Services.module.scss"));
19
-
20
12
  var _TrackedLink = _interopRequireDefault(require("../../TrackedLink"));
21
-
22
13
  var _tracker = require("../../tracker");
23
-
24
14
  var _services = _interopRequireDefault(require("../../services.json"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ var Services = function Services() {
19
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
20
+ className: _ServicesModule.default.wrapper,
21
+ "aria-label": "Our services",
22
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
23
+ className: _ServicesModule.default.list,
24
+ children: _services.default.external.filter(function (item) {
25
+ return item.footer;
26
+ }).map(function (link) {
27
+ if (link.nestedLinks) {
28
+ return link.nestedLinks.map(function (nestedLink) {
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLink, _objectSpread({}, nestedLink), nestedLink.id);
30
+ });
31
+ } else {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLink, _objectSpread({}, link), link.id);
33
+ }
34
+ })
35
+ })
36
+ });
37
+ };
25
38
 
26
- 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
- var Services = /*#__PURE__*/function (_Component) {
31
- (0, _inheritsLoose2["default"])(Services, _Component);
32
-
33
- function Services() {
34
- return _Component.apply(this, arguments) || this;
35
- }
36
-
37
- var _proto = Services.prototype;
38
-
39
- _proto.render = function render() {
40
- return /*#__PURE__*/_react["default"].createElement("nav", {
41
- className: _ServicesModule["default"].wrapper,
42
- "aria-label": "Our services"
43
- }, /*#__PURE__*/_react["default"].createElement("ul", {
44
- className: _ServicesModule["default"].list
45
- }, _services["default"].external.filter(function (item) {
46
- return item.footer;
47
- }).map(function (link) {
48
- var _this = this;
49
-
50
- if (link.nestedLinks) {
51
- return link.nestedLinks.map(function (nestedLink) {
52
- (0, _newArrowCheck2["default"])(this, _this);
53
- return /*#__PURE__*/_react["default"].createElement(FooterLink, (0, _extends2["default"])({
54
- key: nestedLink.id
55
- }, nestedLink));
56
- }.bind(this));
57
- } else {
58
- return /*#__PURE__*/_react["default"].createElement(FooterLink, (0, _extends2["default"])({
59
- key: link.id
60
- }, link));
61
- }
62
- }.bind(this))));
63
- };
64
-
65
- return Services;
66
- }(_react.Component);
67
-
68
- exports["default"] = Services;
39
+ // TODO convert footerlink proptypes to typescript
69
40
  FooterLink.propTypes = {
70
- host: _propTypes["default"].string,
71
- landingPath: _propTypes["default"].string,
72
- id: _propTypes["default"].string,
73
- text: _propTypes["default"].string,
74
- abbreviation: _propTypes["default"].bool,
75
- title: _propTypes["default"].string
41
+ host: _propTypes.default.string,
42
+ landingPath: _propTypes.default.string,
43
+ id: _propTypes.default.string,
44
+ text: _propTypes.default.string,
45
+ abbreviation: _propTypes.default.bool,
46
+ title: _propTypes.default.string
76
47
  };
77
-
78
48
  function FooterLink(_ref) {
79
49
  var host = _ref.host,
80
- landingPath = _ref.landingPath,
81
- text = _ref.text,
82
- abbreviation = _ref.abbreviation,
83
- title = _ref.title;
84
- return /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_TrackedLink["default"], {
85
- href: "https://" + host + landingPath,
86
- eventAction: _tracker.footerClickEventAction,
87
- eventLabel: text,
88
- className: _ServicesModule["default"].link
89
- }, abbreviation ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("abbr", {
90
- title: title
91
- }, text, " ", /*#__PURE__*/_react["default"].createElement("span", {
92
- className: _ServicesModule["default"].visuallyHidden
93
- }, title)), /*#__PURE__*/_react["default"].createElement("span", {
94
- "aria-hidden": "true",
95
- className: _ServicesModule["default"].tooltip
96
- }, title)) : text));
50
+ landingPath = _ref.landingPath,
51
+ text = _ref.text,
52
+ abbreviation = _ref.abbreviation,
53
+ title = _ref.title;
54
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TrackedLink.default, {
56
+ href: "https://".concat(host).concat(landingPath),
57
+ eventAction: _tracker.footerClickEventAction,
58
+ eventLabel: text,
59
+ className: _ServicesModule.default.link,
60
+ children: abbreviation ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
61
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("abbr", {
62
+ title: title,
63
+ children: [text, " ", /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
64
+ className: _ServicesModule.default.visuallyHidden,
65
+ children: title
66
+ })]
67
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
68
+ "aria-hidden": "true",
69
+ className: _ServicesModule.default.tooltip,
70
+ children: title
71
+ })]
72
+ }) : text
73
+ })
74
+ });
97
75
  }
98
-
99
76
  Services.propTypes = {
100
- service: _propTypes["default"].string
101
- };
77
+ service: _propTypes.default.string
78
+ };
79
+ var _default = Services;
80
+ exports.default = _default;
@@ -24,7 +24,7 @@
24
24
  border-right: 2px solid $services-border;
25
25
  float: left;
26
26
  padding-right: utils.rem(spacing.$medium);
27
- width: percentage(math.div(1, 3));
27
+ width: math.percentage(math.div(1, 3));
28
28
  }
29
29
  }
30
30
 
@@ -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 _Services = _interopRequireDefault(require("./Services"));
9
-
10
- exports["default"] = _Services["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _Services.default;
11
+ }
12
+ });
13
+ var _Services = _interopRequireDefault(require("./Services"));
@@ -1,67 +1,56 @@
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 _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
12
9
  var _Facebook = _interopRequireDefault(require("@nice-digital/icons/lib/Facebook"));
13
-
14
10
  var _Twitter = _interopRequireDefault(require("@nice-digital/icons/lib/Twitter"));
15
-
16
11
  var _YoutubePlay = _interopRequireDefault(require("@nice-digital/icons/lib/YoutubePlay"));
17
-
18
12
  var _Linkedin = _interopRequireDefault(require("@nice-digital/icons/lib/Linkedin"));
19
-
20
13
  var _SocialModule = _interopRequireDefault(require("./Social.module.scss"));
21
-
22
14
  var _TrackedLink = _interopRequireDefault(require("../../TrackedLink"));
23
-
24
15
  var _tracker = require("../../tracker");
25
-
26
- 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
- var Social = /*#__PURE__*/function (_Component) {
31
- (0, _inheritsLoose2["default"])(Social, _Component);
32
-
33
- function Social() {
34
- return _Component.apply(this, arguments) || this;
35
- }
36
-
37
- var _proto = Social.prototype;
38
-
39
- _proto.render = function render() {
40
- return /*#__PURE__*/_react["default"].createElement("div", {
41
- className: _SocialModule["default"].wrapper
42
- }, /*#__PURE__*/_react["default"].createElement("ul", {
43
- className: _SocialModule["default"].list,
44
- "aria-label": "NICE on social media"
45
- }, /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_TrackedLink["default"], {
46
- href: "https://en-gb.facebook.com/NationalInstituteforHealthandCareExcellence/",
47
- eventAction: _tracker.footerClickEventAction,
48
- eventLabel: "Facebook"
49
- }, /*#__PURE__*/_react["default"].createElement(_Facebook["default"], null), "Facebook")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_TrackedLink["default"], {
50
- href: "https://twitter.com/NICEcomms",
51
- eventAction: _tracker.footerClickEventAction,
52
- eventLabel: "Twitter"
53
- }, /*#__PURE__*/_react["default"].createElement(_Twitter["default"], null), "Twitter")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_TrackedLink["default"], {
54
- href: "https://www.youtube.com/user/NICEmedia",
55
- eventAction: _tracker.footerClickEventAction,
56
- eventLabel: "YouTube"
57
- }, /*#__PURE__*/_react["default"].createElement(_YoutubePlay["default"], null), "YouTube")), /*#__PURE__*/_react["default"].createElement("li", null, /*#__PURE__*/_react["default"].createElement(_TrackedLink["default"], {
58
- href: "https://www.linkedin.com/company/national-institute-for-health-and-clinical-excellence",
59
- eventAction: _tracker.footerClickEventAction,
60
- eventLabel: "LinkedIn"
61
- }, /*#__PURE__*/_react["default"].createElement(_Linkedin["default"], null), "LinkedIn"))));
62
- };
63
-
64
- return Social;
65
- }(_react.Component);
66
-
67
- exports["default"] = Social;
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ var Social = function Social() {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
19
+ className: _SocialModule.default.wrapper,
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("ul", {
21
+ className: _SocialModule.default.list,
22
+ "aria-label": "NICE on social media",
23
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
24
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TrackedLink.default, {
25
+ href: "https://en-gb.facebook.com/NationalInstituteforHealthandCareExcellence/",
26
+ eventAction: _tracker.footerClickEventAction,
27
+ eventLabel: "Facebook",
28
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Facebook.default, {}), "Facebook"]
29
+ })
30
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TrackedLink.default, {
32
+ href: "https://twitter.com/NICEcomms",
33
+ eventAction: _tracker.footerClickEventAction,
34
+ eventLabel: "Twitter",
35
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Twitter.default, {}), "Twitter"]
36
+ })
37
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
38
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TrackedLink.default, {
39
+ href: "https://www.youtube.com/user/NICEmedia",
40
+ eventAction: _tracker.footerClickEventAction,
41
+ eventLabel: "YouTube",
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_YoutubePlay.default, {}), "YouTube"]
43
+ })
44
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
45
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TrackedLink.default, {
46
+ href: "https://www.linkedin.com/company/national-institute-for-health-and-clinical-excellence",
47
+ eventAction: _tracker.footerClickEventAction,
48
+ eventLabel: "LinkedIn",
49
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Linkedin.default, {}), "LinkedIn"]
50
+ })
51
+ })]
52
+ })
53
+ });
54
+ };
55
+ var _default = Social;
56
+ exports.default = _default;
@@ -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 _Social = _interopRequireDefault(require("./Social"));
9
-
10
- exports["default"] = _Social["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _Social.default;
11
+ }
12
+ });
13
+ var _Social = _interopRequireDefault(require("./Social"));
@@ -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 _Footer = _interopRequireDefault(require("./Footer"));
9
-
10
- exports["default"] = _Footer["default"];
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _Footer.default;
11
+ }
12
+ });
13
+ var _Footer = _interopRequireDefault(require("./Footer"));