@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,40 +1,27 @@
1
1
  "use strict";
2
2
 
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
-
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
10
7
  var _react = require("react");
11
-
12
8
  function useEscapeKeydown(action) {
13
- var _this = this;
14
-
15
9
  var keydownRef = (0, _react.useRef)(null);
16
10
  var ESCAPE_KEYS = ["27", "Escape", "Esc"];
17
11
  var handleKeydown = (0, _react.useCallback)(function (event) {
18
- (0, _newArrowCheck2["default"])(this, _this);
19
-
20
12
  if (ESCAPE_KEYS.includes(event.key)) {
21
13
  action(true);
22
14
  }
23
- }.bind(this), [action]);
15
+ }, [action]);
24
16
  (0, _react.useEffect)(function () {
25
- var _this2 = this;
26
-
27
- (0, _newArrowCheck2["default"])(this, _this);
28
17
  document.addEventListener("keydown", handleKeydown, true);
29
18
  return function () {
30
- (0, _newArrowCheck2["default"])(this, _this2);
31
19
  document.removeEventListener("keydown", handleKeydown, true);
32
- }.bind(this);
33
- }.bind(this), [handleKeydown]);
20
+ };
21
+ }, [handleKeydown]);
34
22
  return {
35
23
  keydownRef: keydownRef
36
24
  };
37
25
  }
38
-
39
26
  var _default = useEscapeKeydown;
40
- exports["default"] = _default;
27
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useIsClient = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var useIsClient = function useIsClient() {
11
+ var _useState = (0, _react.useState)(false),
12
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
13
+ isClient = _useState2[0],
14
+ setClient = _useState2[1];
15
+ (0, _react.useEffect)(function () {
16
+ setClient(true);
17
+ }, []);
18
+ return isClient;
19
+ };
20
+ exports.useIsClient = useIsClient;
package/lib/index.js CHANGED
@@ -1,17 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
-
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "Footer", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _Footer.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "Header", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _Header.default;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "Main", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _Main.default;
23
+ }
24
+ });
7
25
  var _Header = _interopRequireDefault(require("./Header"));
8
-
9
- exports.Header = _Header["default"];
10
-
11
26
  var _Footer = _interopRequireDefault(require("./Footer"));
12
-
13
- exports.Footer = _Footer["default"];
14
-
15
- var _Main = _interopRequireDefault(require("./Main"));
16
-
17
- exports.Main = _Main["default"];
27
+ var _Main = _interopRequireDefault(require("./Main"));
package/lib/renderer.js CHANGED
@@ -1,78 +1,69 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
6
7
  exports.renderHeader = exports.renderFooter = exports.headerId = exports.footerId = void 0;
7
-
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
-
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
9
  var _react = _interopRequireDefault(require("react"));
11
-
12
- var _reactDom = require("react-dom");
13
-
10
+ var _client = require("react-dom/client");
14
11
  var _Header = _interopRequireDefault(require("./Header"));
15
-
16
12
  var _Footer = _interopRequireDefault(require("./Footer"));
17
-
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ 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; }
15
+ 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
16
  var headerId = "global-nav-header";
19
17
  exports.headerId = headerId;
20
18
  var footerId = "global-nav-footer";
21
19
  exports.footerId = footerId;
22
-
23
20
  var createAndAttachDiv = function createAndAttachDiv(id, attachAtStart) {
24
21
  var divElement = document.createElement("div");
25
22
  divElement.setAttribute("id", id);
26
23
  if (attachAtStart) document.body.insertBefore(divElement, document.body.firstChild);else document.body.appendChild(divElement);
27
24
  return divElement;
28
- }; // Callback can either be a reference to a function or a string name of a global function
29
-
25
+ };
30
26
 
27
+ // Callback can either be a reference to a function or a string name of a global function
31
28
  var ensureCallback = function ensureCallback(callback) {
32
29
  if (callback) {
33
30
  callback = typeof callback === "function" ? callback : window[callback];
34
-
35
31
  if (typeof callback === "function") {
36
32
  return callback;
37
33
  }
38
34
  }
39
-
40
35
  return null;
41
36
  };
42
-
43
37
  var renderHeader = function renderHeader() {
44
38
  var config = window.global_nav_config || {};
45
-
46
39
  if (config.header !== false) {
47
40
  config.header = config.header || {};
48
41
  var headerElement = document.getElementById(headerId) || createAndAttachDiv(headerId, true);
49
42
  var onRendering = ensureCallback(config.header.onRendering);
50
-
51
43
  if (onRendering) {
52
44
  onRendering.call(window, headerElement);
53
45
  }
54
-
55
- (0, _reactDom.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], (0, _extends2["default"])({
46
+ var root = (0, _client.createRoot)(headerElement),
47
+ _onRendered = ensureCallback(config.header.onRendered);
48
+ root.render( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Header.default, _objectSpread(_objectSpread({
56
49
  service: config.service
57
- }, config.header)), headerElement, function () {
58
- var onRendered = ensureCallback(config.header.onRendered);
59
- onRendered && onRendered.call(window, headerElement);
60
- });
50
+ }, config.header), {}, {
51
+ onRendered: function onRendered() {
52
+ _onRendered && _onRendered(headerElement);
53
+ }
54
+ })));
61
55
  }
62
56
  };
63
-
64
57
  exports.renderHeader = renderHeader;
65
-
66
58
  var renderFooter = function renderFooter() {
67
59
  var config = window.global_nav_config || {};
68
-
69
60
  if (config.footer !== false) {
70
61
  config.footer = config.footer || {};
71
62
  var footerElement = document.getElementById(footerId) || createAndAttachDiv(footerId, false);
72
- (0, _reactDom.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], (0, _extends2["default"])({
63
+ var root = (0, _client.createRoot)(footerElement);
64
+ root.render( /*#__PURE__*/(0, _jsxRuntime.jsx)(_Footer.default, _objectSpread({
73
65
  service: config.service
74
- }, config.footer)), footerElement);
66
+ }, config.footer)));
75
67
  }
76
68
  };
77
-
78
69
  exports.renderFooter = renderFooter;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
4
6
  exports.trackEvent = exports.headerClickEventAction = exports.footerClickEventAction = exports.eventTimeout = exports.eventName = exports.ensureDataLayer = exports.defaultEventCategory = void 0;
5
7
  var eventTimeout = 2000;
6
8
  exports.eventTimeout = eventTimeout;
@@ -12,10 +14,10 @@ var headerClickEventAction = "Tophat click";
12
14
  exports.headerClickEventAction = headerClickEventAction;
13
15
  var footerClickEventAction = "Footer click";
14
16
  exports.footerClickEventAction = footerClickEventAction;
15
-
16
17
  var ensureDataLayer = function ensureDataLayer() {
17
18
  window.dataLayer = window.dataLayer || [];
18
19
  };
20
+
19
21
  /**
20
22
  * Pushes an event object to the GTM dataLayer
21
23
  *
@@ -26,23 +28,11 @@ var ensureDataLayer = function ensureDataLayer() {
26
28
  * @param {string} destinationUrl The optional link destination
27
29
  * @param {Function} callback The callback function to be called when the GTM event has fired
28
30
  */
29
-
30
-
31
31
  exports.ensureDataLayer = ensureDataLayer;
32
-
33
- var trackEvent = function trackEvent(category, action, label, value, destinationUrl, callback) {
34
- if (value === void 0) {
35
- value = null;
36
- }
37
-
38
- if (destinationUrl === void 0) {
39
- destinationUrl = null;
40
- }
41
-
42
- if (callback === void 0) {
43
- callback = null;
44
- }
45
-
32
+ var trackEvent = function trackEvent(category, action, label) {
33
+ var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
34
+ var destinationUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
35
+ var callback = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
46
36
  ensureDataLayer();
47
37
  var dataLayerEvent = {
48
38
  event: eventName,
@@ -50,29 +40,22 @@ var trackEvent = function trackEvent(category, action, label, value, destination
50
40
  eventAction: action,
51
41
  eventLabel: label
52
42
  };
53
-
54
43
  if (value) {
55
44
  dataLayerEvent.eventValue = value;
56
45
  }
57
-
58
46
  if (destinationUrl) {
59
47
  dataLayerEvent.destinationUrl = destinationUrl;
60
48
  }
61
-
62
49
  if (callback) {
63
50
  var callbackTimeout;
64
-
65
51
  var wrappedCallback = function wrappedCallback() {
66
52
  clearTimeout(callbackTimeout);
67
53
  callback();
68
54
  };
69
-
70
55
  callbackTimeout = setTimeout(wrappedCallback, eventTimeout);
71
56
  dataLayerEvent.eventCallback = wrappedCallback;
72
57
  dataLayerEvent.eventTimeout = eventTimeout;
73
58
  }
74
-
75
59
  window.dataLayer.push(dataLayerEvent);
76
60
  };
77
-
78
61
  exports.trackEvent = trackEvent;
package/lib/utils.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
 
3
- exports.__esModule = true;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
4
6
  exports.getCallbackFunction = getCallbackFunction;
5
7
  exports.isIosDevice = isIosDevice;
6
-
7
8
  /**
8
9
  * Test userAgent to see if we're on iOS
9
10
  * @returns {boolean}
@@ -11,22 +12,18 @@ exports.isIosDevice = isIosDevice;
11
12
  function isIosDevice() {
12
13
  return navigator && typeof navigator !== "undefined" && !!(navigator.userAgent.match(/(iPod|iPhone|iPad)/g) && navigator.userAgent.match(/AppleWebKit/g));
13
14
  }
15
+
14
16
  /**
15
17
  * return callback function if it is available
16
18
  * @returns {function || undefined}
17
19
  */
18
-
19
-
20
20
  function getCallbackFunction(funcOrFuncName) {
21
21
  if (typeof funcOrFuncName === "function") {
22
22
  return funcOrFuncName;
23
23
  }
24
-
25
24
  var fn = window[funcOrFuncName];
26
-
27
25
  if (typeof fn === "function") {
28
26
  return fn;
29
27
  }
30
-
31
28
  return undefined;
32
29
  }
package/package.json CHANGED
@@ -1,19 +1,18 @@
1
1
  {
2
2
  "name": "@nice-digital/global-nav",
3
- "version": "5.0.940",
3
+ "version": "7.0.930",
4
4
  "description": "Global header and footer components for NICE digital services",
5
5
  "main": "lib/index.js",
6
6
  "types": "./types.d.ts",
7
7
  "scripts": {
8
8
  "// LOCAL DEV": "",
9
- "start": "webpack serve --mode development --hot --inline --config webpack.config.js",
10
- "start:nohot": "cross-env HOT=false webpack serve --mode development",
9
+ "start": "webpack serve --mode development",
11
10
  "// PRODUCTION BUILDS": "",
12
- "build": "webpack --mode=production --config webpack.config.prod.js",
11
+ "build": "cross-env NODE_ENV=production webpack --mode=production --config webpack.config.prod.js",
13
12
  "es5ify": "cross-env NODE_ENV=production babel src -d lib --extensions \".js\",\".jsx\",\".snap\" --copy-files --no-copy-ignored --ignore \"src/**/*.test.js\",\"src/**/*.test.jsx\",\"src/setupTests.js\",\"src/polyfill/**/*.js\",\"src/cdn.js\",\"src/**/*.snap\"",
14
13
  "// TESTS": "",
15
14
  "test": "npm run lint && npm run test:unit",
16
- "test:unit": "jest --notify",
15
+ "test:unit": "jest --notify --detectOpenHandles",
17
16
  "test:unit:watch": "jest --watch",
18
17
  "test:unit:coverage": "npm run test:unit -- --coverage",
19
18
  "// LINTING": "",
@@ -51,78 +50,82 @@
51
50
  "node": ">= 14"
52
51
  },
53
52
  "devDependencies": {
54
- "@babel/cli": "^7.16.8",
55
- "@babel/core": "^7.16.12",
53
+ "@babel/cli": "^7.21.0",
54
+ "@babel/core": "^7.21.3",
55
+ "@babel/eslint-parser": "^7.21.3",
56
56
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
57
- "@babel/plugin-transform-member-expression-literals": "^7.16.7",
58
- "@babel/plugin-transform-property-literals": "^7.16.7",
59
- "@babel/plugin-transform-react-jsx": "^7.16.7",
60
- "@babel/plugin-transform-reserved-words": "^7.16.7",
61
- "@babel/plugin-transform-runtime": "^7.16.10",
62
- "@babel/preset-env": "^7.16.11",
63
- "@babel/preset-react": "^7.16.7",
57
+ "@babel/plugin-transform-react-jsx": "^7.21.0",
58
+ "@babel/plugin-transform-runtime": "^7.21.0",
59
+ "@babel/preset-env": "^7.20.2",
60
+ "@babel/preset-react": "^7.18.6",
64
61
  "@nice-digital/browserslist-config": "^2.0.1",
65
62
  "@nice-digital/eslint-config": "^1.0.3",
66
- "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3",
67
- "autoprefixer": "^10.4.2",
68
- "babel-eslint": "^10.1.0",
69
- "babel-jest": "^26.6.3",
70
- "babel-loader": "^8.2.3",
71
- "clean-webpack-plugin": "^3.0.0",
72
- "copy-webpack-plugin": "^8.1.1",
73
- "core-js": "^3.20.3",
63
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
64
+ "@testing-library/jest-dom": "^5.16.5",
65
+ "@testing-library/react": "^14.0.0",
66
+ "@testing-library/user-event": "^14.4.3",
67
+ "autoprefixer": "^10.4.14",
68
+ "babel-jest": "^29.5.0",
69
+ "babel-loader": "^9.1.2",
70
+ "clean-webpack-plugin": "^4.0.0",
71
+ "copy-webpack-plugin": "^11.0.0",
72
+ "core-js": "^3.29.1",
74
73
  "cross-env": "^7.0.3",
75
- "css-loader": "^5.2.7",
76
- "enzyme": "^3.11.0",
77
- "enzyme-adapter-react-16": "^1.15.6",
78
- "enzyme-to-json": "^3.6.2",
79
- "es3ify-loader": "^0.2.0",
80
- "eslint": "^7.32.0",
81
- "eslint-config-prettier": "^8.3.0",
82
- "eslint-plugin-jsx-a11y": "^6.5.1",
83
- "eslint-plugin-prettier": "^3.4.1",
84
- "eslint-webpack-plugin": "^2.6.0",
85
- "eslint-plugin-react": "^7.29.2",
74
+ "css-loader": "^6.7.3",
75
+ "eslint": "^8.36.0",
76
+ "eslint-config-prettier": "^8.7.0",
77
+ "eslint-plugin-jsx-a11y": "^6.7.1",
78
+ "eslint-plugin-prettier": "^4.2.1",
79
+ "eslint-plugin-react": "^7.32.2",
80
+ "eslint-webpack-plugin": "^4.0.0",
86
81
  "file-loader": "^6.2.0",
87
82
  "html-webpack-plugin": "^5.5.0",
88
83
  "identity-obj-proxy": "^3.0.0",
89
- "jest": "^26.6.3",
84
+ "jest": "^29.5.0",
85
+ "jest-environment-jsdom": "^29.5.0",
86
+ "jest-location-mock": "^1.0.9",
90
87
  "jest-teamcity-reporter": "^0.9.0",
91
88
  "mockdate": "^3.0.5",
92
- "npm-audit-reporter-teamcity": "^0.3.1",
93
- "postcss": "^8.4.5",
94
- "postcss-loader": "^5.2.0",
95
- "prettier": "^2.5.1",
96
- "promise-polyfill": "^8.2.1",
97
- "react": "^16.14.0",
98
- "react-dom": "^16.14.0",
99
- "react-refresh": "^0.10.0",
100
- "sass": "^1.49.0",
101
- "sass-loader": "^11.1.1",
102
- "source-map-loader": "^2.0.1",
103
- "style-loader": "^2.0.0",
104
- "stylelint": "^13.13.1",
105
- "stylelint-config-standard": "^22.0.0",
106
- "stylelint-order": "^4.1.0",
107
- "stylelint-scss": "^3.21.0",
108
- "stylelint-webpack-plugin": "^2.3.2",
109
- "terser-webpack-plugin": "^5.3.0",
110
- "webpack": "^5.67.0",
111
- "webpack-cli": "^4.9.2",
112
- "webpack-dev-server": "^3.11.3",
113
- "webpack-merge": "^5.7.3"
89
+ "node-notifier": "^10.0.1",
90
+ "npm-audit-reporter-teamcity": "^0.4.0",
91
+ "postcss": "^8.4.21",
92
+ "postcss-loader": "^7.1.0",
93
+ "prettier": "^2.8.4",
94
+ "promise-polyfill": "^8.3.0",
95
+ "react": "^18.2.0",
96
+ "react-dom": "^18.2.0",
97
+ "react-refresh": "^0.14.0",
98
+ "sass": "^1.59.3",
99
+ "sass-loader": "^13.2.0",
100
+ "source-map-loader": "^4.0.1",
101
+ "style-loader": "^3.3.2",
102
+ "stylelint": "^15.3.0",
103
+ "stylelint-config-standard-scss": "^7.0.1",
104
+ "stylelint-order": "^6.0.3",
105
+ "stylelint-prettier": "^3.0.0",
106
+ "stylelint-webpack-plugin": "^4.1.0",
107
+ "terser-webpack-plugin": "^5.3.7",
108
+ "typescript": "^5.0.2",
109
+ "webpack": "^5.76.2",
110
+ "webpack-bundle-analyzer": "^4.8.0",
111
+ "webpack-cli": "^5.0.1",
112
+ "webpack-dev-server": "^4.12.0",
113
+ "webpack-merge": "^5.8.0"
114
114
  },
115
115
  "dependencies": {
116
- "@babel/runtime": "^7.16.7",
117
- "@mantine/hooks": "^4.2.12",
118
- "@nice-digital/design-system": "^4.0.0",
116
+ "@babel/runtime": "^7.21.0",
117
+ "@headlessui/react": "^1.7.14",
118
+ "@mantine/hooks": "^6.0.2",
119
+ "@nice-digital/design-system": "^5.0.11",
119
120
  "@use-it/event-listener": "^0.1.7",
120
- "accessible-autocomplete": "^2.0.3",
121
- "classnames": "^2.3.1",
122
- "es5-polyfill": "0.0.6",
123
- "js-cookie": "^2.2.1",
121
+ "classnames": "^2.3.2",
122
+ "js-cookie": "^3.0.1",
124
123
  "prop-types": "^15.8.1",
125
- "unfetch": "^4.2.0"
124
+ "unfetch": "^5.0.0"
125
+ },
126
+ "peerDependencies": {
127
+ "react": "^16 || ^17 || ^18",
128
+ "react-dom": "^16 || ^17 || ^18"
126
129
  },
127
130
  "files": [
128
131
  "lib",
@@ -132,6 +135,6 @@
132
135
  "lib": "lib"
133
136
  },
134
137
  "volta": {
135
- "node": "14.20.0"
138
+ "node": "16.19.1"
136
139
  }
137
140
  }
package/types.d.ts CHANGED
@@ -75,6 +75,7 @@ declare module "@nice-digital/global-nav" {
75
75
  onDropdownClose?: string | (() => void);
76
76
  onNavigating?: string | OnNavigatingCallback;
77
77
  additionalSubMenuItems?: Array<AdditionalSubMenuItem>;
78
+ renderSearchOnly?: boolean;
78
79
  };
79
80
 
80
81
  export type FooterProps = {