@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,78 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
11
|
-
|
|
12
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
14
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
|
|
16
10
|
var _SkipLinkModule = _interopRequireDefault(require("./SkipLink.module.scss"));
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
22
|
-
var SkipLink = /*#__PURE__*/function (_Component) {
|
|
23
|
-
(0, _inheritsLoose2["default"])(SkipLink, _Component);
|
|
24
|
-
|
|
25
|
-
function SkipLink(props) {
|
|
26
|
-
var _this;
|
|
27
|
-
|
|
28
|
-
_this = _Component.call(this, props) || this;
|
|
29
|
-
_this.handleClick = _this.handleClick.bind((0, _assertThisInitialized2["default"])(_this));
|
|
30
|
-
return _this;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
var _proto = SkipLink.prototype;
|
|
34
|
-
|
|
35
|
-
_proto.handleClick = function handleClick(e) {
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
var SkipLink = function SkipLink(props) {
|
|
13
|
+
var handleClick = function handleClick(e) {
|
|
36
14
|
var href = e.currentTarget.getAttribute("href");
|
|
37
|
-
|
|
38
15
|
if (href && href.indexOf("#") === 0) {
|
|
39
16
|
var id = href.split("#")[1],
|
|
40
|
-
|
|
41
|
-
|
|
17
|
+
element = document.getElementById(id);
|
|
42
18
|
if (element) {
|
|
43
19
|
e.preventDefault();
|
|
44
20
|
element.setAttribute("tabIndex", "-1");
|
|
45
21
|
element.focus();
|
|
46
|
-
|
|
22
|
+
element.scrollIntoView();
|
|
47
23
|
}
|
|
48
24
|
}
|
|
49
|
-
} // See https://stackoverflow.com/a/442474/486434
|
|
50
|
-
;
|
|
51
|
-
|
|
52
|
-
_proto.getYOffset = function getYOffset(el) {
|
|
53
|
-
var _y = 0;
|
|
54
|
-
|
|
55
|
-
while (el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) {
|
|
56
|
-
_y += el.offsetTop - el.scrollTop;
|
|
57
|
-
el = el.offsetParent;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
return _y;
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
_proto.render = function render() {
|
|
64
|
-
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
65
|
-
href: this.props.to,
|
|
66
|
-
className: _SkipLinkModule["default"].link,
|
|
67
|
-
onClick: this.handleClick
|
|
68
|
-
}, this.props.children);
|
|
69
25
|
};
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
27
|
+
href: props.to,
|
|
28
|
+
className: _SkipLinkModule.default.link,
|
|
29
|
+
onClick: handleClick,
|
|
30
|
+
children: props.children
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//TODO Convert proptypes to typescript
|
|
75
35
|
SkipLink.propTypes = {
|
|
76
|
-
to: _propTypes
|
|
77
|
-
children: _propTypes
|
|
78
|
-
};
|
|
36
|
+
to: _propTypes.default.string.isRequired,
|
|
37
|
+
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired
|
|
38
|
+
};
|
|
39
|
+
var _default = SkipLink;
|
|
40
|
+
exports.default = _default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use '@nice-digital/nds-core/scss/utils';
|
|
4
4
|
@use '../header-settings';
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
%link {
|
|
7
7
|
clip: rect(1px 1px 1px 1px);
|
|
8
8
|
clip: rect(1px, 1px, 1px, 1px);
|
|
9
9
|
height: 1px;
|
|
@@ -28,3 +28,7 @@
|
|
|
28
28
|
z-index: header-settings.$base-z-index + 5;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
.link {
|
|
33
|
+
@extend %link;
|
|
34
|
+
}
|
|
@@ -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 _SkipLink.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _SkipLink = _interopRequireDefault(require("./SkipLink"));
|
|
@@ -1,40 +1,33 @@
|
|
|
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.HeaderContextProvider = exports.HeaderContext = void 0;
|
|
7
|
-
|
|
8
|
-
var _newArrowCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/newArrowCheck"));
|
|
9
|
-
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
13
|
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); }
|
|
15
|
-
|
|
16
|
-
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; }
|
|
17
|
-
|
|
14
|
+
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; }
|
|
18
15
|
var defaultValues = {
|
|
19
16
|
accountMenuIsExpanded: false,
|
|
20
17
|
idOfOpenDropdown: null
|
|
21
18
|
};
|
|
22
19
|
var HeaderContext = /*#__PURE__*/(0, _react.createContext)(defaultValues);
|
|
23
20
|
exports.HeaderContext = HeaderContext;
|
|
24
|
-
|
|
25
21
|
var HeaderContextProvider = function HeaderContextProvider(_ref) {
|
|
26
|
-
var _this = this;
|
|
27
|
-
|
|
28
22
|
var children = _ref.children;
|
|
29
|
-
|
|
30
23
|
var _useState = (0, _react.useState)(null),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
25
|
+
idOfOpenDropdown = _useState2[0],
|
|
26
|
+
setidOfOpenDropdown = _useState2[1];
|
|
27
|
+
var _useState3 = (0, _react.useState)(false),
|
|
28
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
29
|
+
accountMenuIsExpanded = _useState4[0],
|
|
30
|
+
setAccountMenuIsExpanded = _useState4[1];
|
|
38
31
|
var clickOutsideRef = /*#__PURE__*/(0, _react.createRef)();
|
|
39
32
|
var value = {
|
|
40
33
|
idOfOpenDropdown: idOfOpenDropdown,
|
|
@@ -44,63 +37,44 @@ var HeaderContextProvider = function HeaderContextProvider(_ref) {
|
|
|
44
37
|
clickOutsideRef: clickOutsideRef
|
|
45
38
|
};
|
|
46
39
|
var handleClickOutsideHeaderMenu = (0, _react.useCallback)(function (e) {
|
|
47
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
48
|
-
|
|
49
40
|
if (clickOutsideRef.current && clickOutsideRef.current.contains(e.target) == false) {
|
|
50
41
|
setidOfOpenDropdown(null);
|
|
51
42
|
}
|
|
52
|
-
}
|
|
43
|
+
}, [clickOutsideRef]);
|
|
53
44
|
(0, _react.useEffect)(function () {
|
|
54
|
-
var _this2 = this;
|
|
55
|
-
|
|
56
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
57
45
|
// listen for clicks outside of header menu to close dropdown
|
|
58
46
|
document.body.addEventListener("click", handleClickOutsideHeaderMenu);
|
|
59
47
|
return function () {
|
|
60
|
-
(0, _newArrowCheck2["default"])(this, _this2);
|
|
61
48
|
document.body.removeEventListener("click", handleClickOutsideHeaderMenu);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
49
|
+
};
|
|
50
|
+
}, [handleClickOutsideHeaderMenu]);
|
|
64
51
|
(0, _react.useEffect)(function () {
|
|
65
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
66
52
|
setidOfOpenDropdown(null);
|
|
67
|
-
}
|
|
68
|
-
|
|
53
|
+
}, [typeof location == "undefined" ? null : location.href]);
|
|
69
54
|
var popStateHandler = function popStateHandler() {
|
|
70
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
71
55
|
setidOfOpenDropdown(null);
|
|
72
|
-
}
|
|
73
|
-
|
|
56
|
+
};
|
|
74
57
|
(0, _react.useEffect)(function () {
|
|
75
|
-
var _this3 = this;
|
|
76
|
-
|
|
77
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
78
58
|
window && window.addEventListener("popstate", popStateHandler);
|
|
79
59
|
return function () {
|
|
80
|
-
(0, _newArrowCheck2["default"])(this, _this3);
|
|
81
60
|
window && window.removeEventListener("popstate", popStateHandler);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
61
|
+
};
|
|
62
|
+
}, []);
|
|
84
63
|
(0, _react.useEffect)(function () {
|
|
85
|
-
var _this4 = this;
|
|
86
|
-
|
|
87
|
-
(0, _newArrowCheck2["default"])(this, _this);
|
|
88
|
-
|
|
89
64
|
// we know both are now open
|
|
90
65
|
if (accountMenuIsExpanded && idOfOpenDropdown) {
|
|
91
66
|
setAccountMenuIsExpanded(function (prevState) {
|
|
92
|
-
(0, _newArrowCheck2["default"])(this, _this4);
|
|
93
67
|
// if prevstate is not null, you know it was already open, therefore close it
|
|
94
68
|
if (prevState) return false;
|
|
95
|
-
}
|
|
69
|
+
});
|
|
96
70
|
}
|
|
97
|
-
}
|
|
98
|
-
return /*#__PURE__*/
|
|
99
|
-
value: value
|
|
100
|
-
|
|
71
|
+
}, [accountMenuIsExpanded, idOfOpenDropdown]);
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderContext.Provider, {
|
|
73
|
+
value: value,
|
|
74
|
+
children: children
|
|
75
|
+
});
|
|
101
76
|
};
|
|
102
|
-
|
|
103
77
|
exports.HeaderContextProvider = HeaderContextProvider;
|
|
104
78
|
HeaderContextProvider.propTypes = {
|
|
105
|
-
children: _propTypes
|
|
79
|
+
children: _propTypes.default.node
|
|
106
80
|
};
|
package/lib/Header/index.js
CHANGED
|
@@ -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 _Header.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _Header = _interopRequireDefault(require("./Header"));
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
6
7
|
exports.BackToTop = void 0;
|
|
7
|
-
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
|
|
10
9
|
var _ChevronUp = _interopRequireDefault(require("@nice-digital/icons/lib/ChevronUp"));
|
|
11
|
-
|
|
12
10
|
var _ndsContainer = require("@nice-digital/nds-container");
|
|
13
|
-
|
|
14
11
|
var _BackToTopModule = _interopRequireDefault(require("./BackToTop.module.scss"));
|
|
15
|
-
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
13
|
var BackToTop = function BackToTop() {
|
|
17
14
|
var handleClick = function handleClick(e) {
|
|
18
15
|
var href = e.currentTarget.getAttribute("href");
|
|
19
|
-
|
|
20
16
|
if (href && href.indexOf("#") === 0) {
|
|
21
17
|
var id = href.split("#")[1],
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
element = document.getElementById(id);
|
|
24
19
|
if (element) {
|
|
25
20
|
e.preventDefault();
|
|
26
21
|
element.setAttribute("tabIndex", "-1");
|
|
@@ -29,20 +24,22 @@ var BackToTop = function BackToTop() {
|
|
|
29
24
|
}
|
|
30
25
|
}
|
|
31
26
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
28
|
+
className: _BackToTopModule.default.wrapper,
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("nav", {
|
|
30
|
+
"aria-labelledby": "back-to-top-link",
|
|
31
|
+
className: _BackToTopModule.default.nav,
|
|
32
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
33
|
+
className: _BackToTopModule.default.anchor,
|
|
34
|
+
id: "back-to-top-link",
|
|
35
|
+
href: "#top",
|
|
36
|
+
onClick: handleClick,
|
|
37
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ndsContainer.Container, {
|
|
38
|
+
className: _BackToTopModule.default.container,
|
|
39
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ChevronUp.default, {}), " Back to top"]
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
})
|
|
43
|
+
});
|
|
46
44
|
};
|
|
47
|
-
|
|
48
45
|
exports.BackToTop = BackToTop;
|
|
@@ -61,13 +61,10 @@ $back-to-top-height: utils.rem(
|
|
|
61
61
|
|
|
62
62
|
@supports (position: sticky) {
|
|
63
63
|
.wrapper {
|
|
64
|
-
|
|
65
|
-
left: 0;
|
|
64
|
+
inset: min(100vh, calc(100% - #{$back-to-top-height})) 0 0 0;
|
|
66
65
|
margin: 0;
|
|
67
66
|
pointer-events: none;
|
|
68
67
|
position: absolute;
|
|
69
|
-
right: 0;
|
|
70
|
-
top: min(100vh, calc(100% - #{$back-to-top-height}));
|
|
71
68
|
width: 100%;
|
|
72
69
|
z-index: 99;
|
|
73
70
|
}
|
package/lib/Main/Main.js
CHANGED
|
@@ -1,42 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
6
7
|
exports.Main = Main;
|
|
7
|
-
exports
|
|
8
|
-
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
-
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
11
|
var _react = _interopRequireDefault(require("react"));
|
|
14
|
-
|
|
15
12
|
var _BackToTop = require("./BackToTop/BackToTop");
|
|
16
|
-
|
|
17
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
18
|
-
|
|
19
14
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
20
|
-
|
|
21
15
|
var _MainModule = _interopRequireDefault(require("./Main.module.scss"));
|
|
22
|
-
|
|
16
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
17
|
var _excluded = ["children", "className", "withPadding"];
|
|
24
|
-
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
25
20
|
function Main(props) {
|
|
26
21
|
var children = props.children,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return /*#__PURE__*/
|
|
32
|
-
className: (0, _classnames
|
|
33
|
-
}, rest),
|
|
22
|
+
className = props.className,
|
|
23
|
+
_props$withPadding = props.withPadding,
|
|
24
|
+
withPadding = _props$withPadding === void 0 ? true : _props$withPadding,
|
|
25
|
+
rest = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
26
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("main", _objectSpread(_objectSpread({
|
|
27
|
+
className: (0, _classnames.default)([_MainModule.default.main, className], withPadding && _MainModule.default.withPadding)
|
|
28
|
+
}, rest), {}, {
|
|
29
|
+
children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_BackToTop.BackToTop, {})]
|
|
30
|
+
}));
|
|
34
31
|
}
|
|
35
|
-
|
|
36
32
|
Main.propTypes = {
|
|
37
|
-
children: _propTypes
|
|
38
|
-
className: _propTypes
|
|
39
|
-
withPadding: _propTypes
|
|
33
|
+
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
|
|
34
|
+
className: _propTypes.default.string,
|
|
35
|
+
withPadding: _propTypes.default.bool
|
|
40
36
|
};
|
|
41
37
|
var _default = Main;
|
|
42
|
-
exports
|
|
38
|
+
exports.default = _default;
|
package/lib/Main/index.js
CHANGED
|
@@ -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 _Main.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _Main = _interopRequireDefault(require("./Main"));
|
|
@@ -1,88 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
-
|
|
14
|
-
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
|
|
15
|
-
|
|
16
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
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 _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
18
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
12
|
var _tracker = require("./../tracker");
|
|
21
|
-
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
14
|
var _excluded = ["children", "href", "eventCategory", "eventAction", "eventLabel", "eventValue", "destinationUrl"];
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return _this;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
var _proto = TrackedLink.prototype;
|
|
40
|
-
|
|
41
|
-
_proto.handleClick = function handleClick(e) {
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
var TrackedLink = function TrackedLink(_ref) {
|
|
18
|
+
var children = _ref.children,
|
|
19
|
+
href = _ref.href,
|
|
20
|
+
_ref$eventCategory = _ref.eventCategory,
|
|
21
|
+
eventCategory = _ref$eventCategory === void 0 ? _tracker.defaultEventCategory : _ref$eventCategory,
|
|
22
|
+
eventAction = _ref.eventAction,
|
|
23
|
+
eventLabel = _ref.eventLabel,
|
|
24
|
+
eventValue = _ref.eventValue,
|
|
25
|
+
destinationUrl = _ref.destinationUrl,
|
|
26
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
27
|
+
var handleClick = function handleClick(e) {
|
|
42
28
|
e.preventDefault();
|
|
43
|
-
var _this$props = this.props,
|
|
44
|
-
eventCategory = _this$props.eventCategory,
|
|
45
|
-
eventAction = _this$props.eventAction,
|
|
46
|
-
eventLabel = _this$props.eventLabel;
|
|
47
29
|
var href = e.currentTarget.getAttribute("href");
|
|
48
|
-
(0, _tracker.trackEvent)(eventCategory, eventAction,
|
|
49
|
-
|
|
50
|
-
window.location.href = href;
|
|
30
|
+
(0, _tracker.trackEvent)(eventCategory, eventAction, eventLabel || e.currentTarget.textContent || e.currentTarget.innerText, null, href, function () {
|
|
31
|
+
window.location.assign(href);
|
|
51
32
|
}());
|
|
52
33
|
};
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", _objectSpread(_objectSpread({
|
|
35
|
+
href: href,
|
|
36
|
+
onClick: handleClick
|
|
37
|
+
}, props), {}, {
|
|
38
|
+
children: children
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
53
41
|
|
|
54
|
-
|
|
55
|
-
/* eslint-disable no-unused-vars */
|
|
56
|
-
var _this$props2 = this.props,
|
|
57
|
-
children = _this$props2.children,
|
|
58
|
-
href = _this$props2.href,
|
|
59
|
-
eventCategory = _this$props2.eventCategory,
|
|
60
|
-
eventAction = _this$props2.eventAction,
|
|
61
|
-
eventLabel = _this$props2.eventLabel,
|
|
62
|
-
eventValue = _this$props2.eventValue,
|
|
63
|
-
destinationUrl = _this$props2.destinationUrl,
|
|
64
|
-
props = (0, _objectWithoutPropertiesLoose2["default"])(_this$props2, _excluded);
|
|
65
|
-
/* eslint-enable no-unused-vars */
|
|
66
|
-
|
|
67
|
-
return /*#__PURE__*/_react["default"].createElement("a", (0, _extends2["default"])({
|
|
68
|
-
href: href,
|
|
69
|
-
onClick: this.handleClick
|
|
70
|
-
}, props), children);
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
return TrackedLink;
|
|
74
|
-
}(_react.Component);
|
|
75
|
-
|
|
76
|
-
exports["default"] = TrackedLink;
|
|
42
|
+
//TODO convert proptypes to typescript types
|
|
77
43
|
TrackedLink.propTypes = {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
eventCategory: _propTypes
|
|
81
|
-
eventAction: _propTypes
|
|
82
|
-
eventLabel: _propTypes
|
|
83
|
-
eventValue: _propTypes
|
|
84
|
-
destinationUrl: _propTypes
|
|
44
|
+
children: _propTypes.default.node.isRequired,
|
|
45
|
+
href: _propTypes.default.string.isRequired,
|
|
46
|
+
eventCategory: _propTypes.default.string.isRequired,
|
|
47
|
+
eventAction: _propTypes.default.string.isRequired,
|
|
48
|
+
eventLabel: _propTypes.default.string,
|
|
49
|
+
eventValue: _propTypes.default.number,
|
|
50
|
+
destinationUrl: _propTypes.default.string
|
|
85
51
|
};
|
|
86
|
-
|
|
87
|
-
|
|
52
|
+
var _default = TrackedLink;
|
|
53
|
+
exports.default = _default;
|
|
54
|
+
TrackedLink.propTypes = {
|
|
55
|
+
href: _propTypes.default.string.isRequired,
|
|
56
|
+
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
|
|
57
|
+
eventCategory: _propTypes.default.string,
|
|
58
|
+
eventAction: _propTypes.default.string.isRequired,
|
|
59
|
+
eventLabel: _propTypes.default.string,
|
|
60
|
+
eventValue: _propTypes.default.number,
|
|
61
|
+
destinationUrl: _propTypes.default.string
|
|
88
62
|
};
|
package/lib/TrackedLink/index.js
CHANGED
|
@@ -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 _TrackedLink.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _TrackedLink = _interopRequireDefault(require("./TrackedLink"));
|