@twreporter/universal-header 2.3.0 → 2.4.0-rc.0
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/CHANGELOG.md +20 -0
- package/lib/components/action-button-old.js +5 -5
- package/lib/components/action-button.js +8 -5
- package/lib/components/channels-old.js +8 -8
- package/lib/components/channels.js +17 -5
- package/lib/components/drop-down-menu.js +2 -2
- package/lib/components/hamburger-footer.js +156 -0
- package/lib/components/hamburger-footer.stories.js +75 -0
- package/lib/components/hamburger-icons.js +11 -11
- package/lib/components/hamburger-menu-item.js +174 -0
- package/lib/components/hamburger-menu-item.stories.js +150 -0
- package/lib/components/hamburger-menu-old.js +148 -0
- package/lib/components/hamburger-menu.js +309 -96
- package/lib/components/hamburger-menu.stories.js +64 -0
- package/lib/components/header-old.js +5 -5
- package/lib/components/header.js +160 -32
- package/lib/components/header.stories.js +16 -7
- package/lib/components/icons-old.js +9 -9
- package/lib/components/icons.js +5 -5
- package/lib/components/mobile-header.js +12 -12
- package/lib/components/search-box.js +2 -2
- package/lib/components/slogan-old.js +2 -2
- package/lib/components/slogan.js +1 -1
- package/lib/constants/actions.js +5 -11
- package/lib/constants/channels-old.js +41 -0
- package/lib/constants/channels.js +58 -25
- package/lib/constants/external-links.js +7 -1
- package/lib/constants/footer.js +24 -0
- package/lib/constants/hamburger-menu.js +13 -0
- package/lib/constants/prop-types-old.js +46 -0
- package/lib/constants/prop-types.js +26 -20
- package/lib/constants/social-media.js +16 -0
- package/lib/containers/header-old.js +11 -11
- package/lib/containers/header.js +23 -44
- package/lib/contexts/header-context.js +6 -7
- package/lib/standalone-header.js +7 -7
- package/lib/utils/links-old.js +177 -0
- package/lib/utils/links.js +60 -66
- package/lib/utils/theme-old.js +345 -0
- package/lib/utils/theme.js +49 -243
- package/package.json +4 -4
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -7,142 +9,353 @@ exports["default"] = void 0;
|
|
|
7
9
|
|
|
8
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
11
|
|
|
10
|
-
var _react =
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
13
|
|
|
12
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
15
|
|
|
14
|
-
var
|
|
16
|
+
var _headerContext = _interopRequireWildcard(require("../contexts/header-context"));
|
|
15
17
|
|
|
16
|
-
var
|
|
18
|
+
var _links = require("../utils/links");
|
|
17
19
|
|
|
18
|
-
var
|
|
20
|
+
var _theme = require("../utils/theme");
|
|
19
21
|
|
|
20
|
-
var
|
|
22
|
+
var _channels = require("../constants/channels");
|
|
21
23
|
|
|
22
|
-
var
|
|
24
|
+
var _hamburgerMenu = require("../constants/hamburger-menu");
|
|
23
25
|
|
|
24
|
-
var
|
|
26
|
+
var _actionButton = _interopRequireDefault(require("./action-button"));
|
|
25
27
|
|
|
26
|
-
var
|
|
28
|
+
var _hamburgerFooter = _interopRequireDefault(require("./hamburger-footer"));
|
|
27
29
|
|
|
28
|
-
var
|
|
30
|
+
var _hamburgerMenuItem = require("./hamburger-menu-item");
|
|
29
31
|
|
|
30
32
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
31
33
|
|
|
32
|
-
var
|
|
34
|
+
var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
|
|
35
|
+
|
|
36
|
+
var _divider = _interopRequireDefault(require("@twreporter/react-components/lib/divider"));
|
|
37
|
+
|
|
38
|
+
var _mobilePopUpModal = _interopRequireDefault(require("@twreporter/react-components/lib/mobile-pop-up-modal"));
|
|
39
|
+
|
|
40
|
+
var _button = require("@twreporter/react-components/lib/button");
|
|
41
|
+
|
|
42
|
+
var _icon = require("@twreporter/react-components/lib/icon");
|
|
43
|
+
|
|
44
|
+
var _logo = require("@twreporter/react-components/lib/logo");
|
|
45
|
+
|
|
46
|
+
var _input = require("@twreporter/react-components/lib/input");
|
|
47
|
+
|
|
48
|
+
var _categorySet = require("@twreporter/core/lib/constants/category-set");
|
|
49
|
+
|
|
50
|
+
var _theme2 = require("@twreporter/core/lib/constants/theme");
|
|
51
|
+
|
|
52
|
+
var _map = _interopRequireDefault(require("lodash/map"));
|
|
53
|
+
|
|
54
|
+
var _excluded = ["actions", "handleClose"];
|
|
55
|
+
|
|
56
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
57
|
+
|
|
58
|
+
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); }
|
|
59
|
+
|
|
60
|
+
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; }
|
|
33
61
|
|
|
34
62
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
35
63
|
|
|
64
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
65
|
+
|
|
66
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
67
|
+
|
|
68
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
69
|
+
|
|
70
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
71
|
+
|
|
72
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
73
|
+
|
|
74
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
75
|
+
|
|
76
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
77
|
+
|
|
78
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
79
|
+
|
|
80
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
81
|
+
|
|
36
82
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
37
83
|
|
|
38
|
-
var
|
|
39
|
-
|
|
40
|
-
mobile: 42,
|
|
41
|
-
// px
|
|
42
|
-
tablet: 60 // px
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
sloganMargin: {
|
|
46
|
-
mobile: [28, 0],
|
|
47
|
-
tablet: [38, 0]
|
|
48
|
-
},
|
|
49
|
-
channelMargin: {
|
|
50
|
-
mobile: [20, 0, 0, 0],
|
|
51
|
-
tablet: [40, 0, 0, 0]
|
|
52
|
-
},
|
|
53
|
-
serviceMargin: {
|
|
54
|
-
mobile: [16, 0, 22, 0],
|
|
55
|
-
tablet: [24, 0, 42, 0]
|
|
56
|
-
}
|
|
84
|
+
var _ = {
|
|
85
|
+
map: _map["default"]
|
|
57
86
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
displayName: "hamburger-menu__MenuContainer",
|
|
87
|
+
var StyledModal = /*#__PURE__*/(0, _styledComponents["default"])(_mobilePopUpModal["default"]).withConfig({
|
|
88
|
+
displayName: "hamburger-menu__StyledModal",
|
|
61
89
|
componentId: "sc-15rzowt-0"
|
|
62
|
-
})(["background-color:", ";
|
|
90
|
+
})(["box-shadow:0px 0px 24px rgba(0,0,0,0.1);background-color:", ";overflow-y:unset;"], function (props) {
|
|
63
91
|
return props.bgColor;
|
|
64
92
|
});
|
|
65
93
|
|
|
66
|
-
var
|
|
67
|
-
displayName: "hamburger-
|
|
94
|
+
var MenuContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
95
|
+
displayName: "hamburger-menu__MenuContainer",
|
|
68
96
|
componentId: "sc-15rzowt-1"
|
|
69
|
-
})(["
|
|
97
|
+
})(["max-width:", ";max-height:100vh;overflow-y:scroll;overscroll-behavior:none;background-color:", ";", " &::-webkit-scrollbar{background-color:transparent;width:4px;}&::-webkit-scrollbar-thumb{background-color:", ";border-radius:2px;}"], _hamburgerMenu.MENU_WIDTH.desktop, function (props) {
|
|
98
|
+
return props.bgColor;
|
|
99
|
+
}, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: ", ";\n "])), _hamburgerMenu.MENU_WIDTH.tablet), function (props) {
|
|
100
|
+
return props.scrollBarColor;
|
|
101
|
+
});
|
|
70
102
|
|
|
71
|
-
var
|
|
72
|
-
displayName: "hamburger-
|
|
103
|
+
var CloseSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
104
|
+
displayName: "hamburger-menu__CloseSection",
|
|
73
105
|
componentId: "sc-15rzowt-2"
|
|
74
|
-
})(["display:flex;
|
|
106
|
+
})(["display:flex;padding:24px 32px 16px 0;justify-content:end;align-items:center;", ""], _mediaQuery["default"].mobileOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: none;\n "]))));
|
|
75
107
|
|
|
76
|
-
var
|
|
77
|
-
displayName: "hamburger-
|
|
108
|
+
var LogoSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
109
|
+
displayName: "hamburger-menu__LogoSection",
|
|
78
110
|
componentId: "sc-15rzowt-3"
|
|
79
|
-
})(["
|
|
111
|
+
})(["display:flex;justify-content:center;a{display:flex;}img{height:24px;width:24px;}", ""], _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n "]))));
|
|
80
112
|
|
|
81
|
-
var
|
|
82
|
-
displayName: "hamburger-
|
|
113
|
+
var SearchSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
114
|
+
displayName: "hamburger-menu__SearchSection",
|
|
83
115
|
componentId: "sc-15rzowt-4"
|
|
84
|
-
})(["
|
|
116
|
+
})(["padding:16px 32px 0 32px;", " ", ""], _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 24px 32px;\n "]))), _mediaQuery["default"].desktopAndAbove(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: none;\n "]))));
|
|
85
117
|
|
|
86
|
-
var
|
|
87
|
-
displayName: "hamburger-
|
|
118
|
+
var ContentSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
119
|
+
displayName: "hamburger-menu__ContentSection",
|
|
88
120
|
componentId: "sc-15rzowt-5"
|
|
89
|
-
})(["
|
|
121
|
+
})(["padding-top:16px;"]);
|
|
90
122
|
|
|
91
|
-
var
|
|
92
|
-
displayName: "hamburger-
|
|
123
|
+
var ActionSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
124
|
+
displayName: "hamburger-menu__ActionSection",
|
|
93
125
|
componentId: "sc-15rzowt-6"
|
|
94
|
-
})(["
|
|
95
|
-
|
|
96
|
-
var
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
})(["padding:40px 32px 32px 32px;"]);
|
|
127
|
+
|
|
128
|
+
var DropdownItemContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
129
|
+
displayName: "hamburger-menu__DropdownItemContainer",
|
|
130
|
+
componentId: "sc-15rzowt-7"
|
|
131
|
+
})([""]);
|
|
132
|
+
|
|
133
|
+
var SubContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
134
|
+
displayName: "hamburger-menu__SubContainer",
|
|
135
|
+
componentId: "sc-15rzowt-8"
|
|
136
|
+
})(["max-height:", ";overflow:hidden;transition:max-height 300ms ease-in-out;"], function (props) {
|
|
137
|
+
return props.isActive ? '300px' : '0';
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
var DividerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
141
|
+
displayName: "hamburger-menu__DividerContainer",
|
|
142
|
+
componentId: "sc-15rzowt-9"
|
|
143
|
+
})(["margin:16px 32px;"]);
|
|
144
|
+
|
|
145
|
+
var DropdownContent = function DropdownContent(_ref) {
|
|
146
|
+
var itemKey = _ref.itemKey,
|
|
147
|
+
isActive = _ref.isActive,
|
|
148
|
+
toggleFunc = _ref.toggleFunc;
|
|
149
|
+
|
|
150
|
+
var _useContext = (0, _react.useContext)(_headerContext["default"]),
|
|
151
|
+
releaseBranch = _useContext.releaseBranch,
|
|
152
|
+
isLinkExternal = _useContext.isLinkExternal;
|
|
153
|
+
|
|
154
|
+
var _useContext2 = (0, _react.useContext)(_headerContext.HamburgerContext),
|
|
155
|
+
closeHamburgerMenu = _useContext2.closeHamburgerMenu;
|
|
156
|
+
|
|
157
|
+
var subItemJSX;
|
|
158
|
+
|
|
159
|
+
if (itemKey === _channels.CHANNEL_KEY.category) {
|
|
160
|
+
// category
|
|
161
|
+
subItemJSX = _.map(_categorySet.CATEGORY_ORDER, function (catKey) {
|
|
162
|
+
var label = _categorySet.CATEGORY_LABEL[catKey];
|
|
163
|
+
var path = "/categories/".concat(catKey);
|
|
164
|
+
var link = (0, _links.getCategoryLink)(isLinkExternal, releaseBranch, path);
|
|
165
|
+
|
|
166
|
+
if (!label || !link) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return /*#__PURE__*/_react["default"].createElement(_hamburgerMenuItem.MenuSubItem, {
|
|
171
|
+
text: label,
|
|
172
|
+
link: link,
|
|
173
|
+
key: catKey
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
} else {
|
|
177
|
+
// subcategory
|
|
178
|
+
subItemJSX = _.map(_channels.CHANNEL_DROPDOWN[itemKey], function (subItem, key) {
|
|
179
|
+
var type = subItem.type;
|
|
180
|
+
var label, path;
|
|
181
|
+
|
|
182
|
+
if (type === 'subcategory') {
|
|
183
|
+
label = _categorySet.SUBCATEGORY_LABEL[subItem.key];
|
|
184
|
+
path = "/categories/".concat(_categorySet.CATEGORY_PATH[itemKey]);
|
|
185
|
+
|
|
186
|
+
if (subItem.key !== 'all') {
|
|
187
|
+
path += "/{subItem.key}";
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if (type === 'path') {
|
|
192
|
+
label = subItem.label;
|
|
193
|
+
path = subItem.path;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
var link = (0, _links.getCategoryLink)(isLinkExternal, releaseBranch, path);
|
|
197
|
+
|
|
198
|
+
if (!label || !link) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
var componentKey = "".concat(itemKey, "-").concat(key);
|
|
203
|
+
return /*#__PURE__*/_react["default"].createElement(_hamburgerMenuItem.MenuSubItem, {
|
|
204
|
+
text: label,
|
|
205
|
+
link: link,
|
|
206
|
+
key: componentKey
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
var label = _channels.CHANNEL_LABEL[itemKey];
|
|
212
|
+
|
|
213
|
+
var handleClick = function handleClick() {
|
|
214
|
+
return toggleFunc(itemKey);
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
var dropdownKey = "".concat(itemKey, "-dropdown");
|
|
218
|
+
return /*#__PURE__*/_react["default"].createElement(DropdownItemContainer, {
|
|
219
|
+
key: itemKey
|
|
220
|
+
}, /*#__PURE__*/_react["default"].createElement(_hamburgerMenuItem.MenuDropdownItem, {
|
|
221
|
+
text: label,
|
|
222
|
+
isActive: isActive,
|
|
223
|
+
onClick: handleClick,
|
|
224
|
+
key: dropdownKey
|
|
225
|
+
}), /*#__PURE__*/_react["default"].createElement(SubContainer, {
|
|
226
|
+
isActive: isActive,
|
|
227
|
+
onClick: closeHamburgerMenu
|
|
228
|
+
}, subItemJSX));
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
DropdownContent.propTypes = {
|
|
232
|
+
itemKey: _propTypes["default"].string,
|
|
233
|
+
isActive: _propTypes["default"].bool,
|
|
234
|
+
toggleFunc: _propTypes["default"].func
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
var Content = function Content() {
|
|
238
|
+
var _useContext3 = (0, _react.useContext)(_headerContext["default"]),
|
|
239
|
+
releaseBranch = _useContext3.releaseBranch,
|
|
240
|
+
isLinkExternal = _useContext3.isLinkExternal;
|
|
241
|
+
|
|
242
|
+
var _useContext4 = (0, _react.useContext)(_headerContext.HamburgerContext),
|
|
243
|
+
closeHamburgerMenu = _useContext4.closeHamburgerMenu;
|
|
244
|
+
|
|
245
|
+
var _useState = (0, _react.useState)(''),
|
|
246
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
247
|
+
activeKey = _useState2[0],
|
|
248
|
+
setActiveKey = _useState2[1];
|
|
249
|
+
|
|
250
|
+
var itemLinks = (0, _links.getChannelLinks)(isLinkExternal, releaseBranch);
|
|
251
|
+
|
|
252
|
+
var itemJSX = _.map(_channels.CHANNEL_ORDER, function (itemKey, index) {
|
|
253
|
+
// divider
|
|
254
|
+
if (itemKey === 'divider') {
|
|
255
|
+
return /*#__PURE__*/_react["default"].createElement(DividerContainer, {
|
|
256
|
+
key: index
|
|
257
|
+
}, /*#__PURE__*/_react["default"].createElement(_divider["default"], null));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
var label = _channels.CHANNEL_LABEL[itemKey];
|
|
261
|
+
var type = _channels.CHANNEL_TYPE[itemKey]; // link type
|
|
262
|
+
|
|
263
|
+
if (type === _channels.CHANNEL_LINK_TYPE) {
|
|
264
|
+
var link = itemLinks && itemLinks[itemKey];
|
|
265
|
+
|
|
266
|
+
if (!label || !link) {
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
return /*#__PURE__*/_react["default"].createElement(_hamburgerMenuItem.MenuLinkItem, {
|
|
271
|
+
text: label,
|
|
272
|
+
link: link,
|
|
273
|
+
key: itemKey,
|
|
274
|
+
onClick: closeHamburgerMenu
|
|
275
|
+
});
|
|
276
|
+
} // dropdown type
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
var isActive = activeKey === itemKey;
|
|
280
|
+
|
|
281
|
+
var toggleFunc = function toggleFunc(key) {
|
|
282
|
+
var nextActiveKey = activeKey === key ? '' : key;
|
|
283
|
+
setActiveKey(nextActiveKey);
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
return /*#__PURE__*/_react["default"].createElement(DropdownContent, {
|
|
287
|
+
itemKey: itemKey,
|
|
288
|
+
isActive: isActive,
|
|
289
|
+
toggleFunc: toggleFunc
|
|
290
|
+
});
|
|
132
291
|
});
|
|
292
|
+
|
|
293
|
+
return /*#__PURE__*/_react["default"].createElement(ContentSection, null, itemJSX);
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
var HamburgerMenu = function HamburgerMenu(_ref2) {
|
|
297
|
+
var actions = _ref2.actions,
|
|
298
|
+
handleClose = _ref2.handleClose,
|
|
299
|
+
props = _objectWithoutProperties(_ref2, _excluded);
|
|
300
|
+
|
|
301
|
+
var _useContext5 = (0, _react.useContext)(_headerContext["default"]),
|
|
302
|
+
theme = _useContext5.theme,
|
|
303
|
+
releaseBranch = _useContext5.releaseBranch,
|
|
304
|
+
isLinkExternal = _useContext5.isLinkExternal;
|
|
305
|
+
|
|
306
|
+
var menuTheme = theme === _theme2.THEME.photography ? theme : _theme2.THEME.noraml;
|
|
307
|
+
|
|
308
|
+
var _selectHamburgerMenuT = (0, _theme.selectHamburgerMenuTheme)(menuTheme),
|
|
309
|
+
bgColor = _selectHamburgerMenuT.bgColor,
|
|
310
|
+
scrollBarColor = _selectHamburgerMenuT.scrollBarColor;
|
|
311
|
+
|
|
312
|
+
var logoType = (0, _theme.selectLogoType)(menuTheme);
|
|
313
|
+
|
|
314
|
+
var CloseIcon = /*#__PURE__*/_react["default"].createElement(_icon.Cross, {
|
|
315
|
+
releaseBranch: releaseBranch
|
|
316
|
+
});
|
|
317
|
+
|
|
318
|
+
var logoLink = (0, _links.getLogoLink)(isLinkExternal, releaseBranch);
|
|
319
|
+
|
|
320
|
+
var onSearch = function onSearch(keywords) {
|
|
321
|
+
if (!window) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
window.location = "".concat((0, _links.getSearchLink)(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
var modalHeight = '100vh';
|
|
329
|
+
var modalWidth = _hamburgerMenu.MENU_WIDTH.desktop;
|
|
330
|
+
var contextValue = {
|
|
331
|
+
closeHamburgerMenu: handleClose
|
|
332
|
+
};
|
|
333
|
+
return /*#__PURE__*/_react["default"].createElement(_headerContext.HamburgerContext.Provider, {
|
|
334
|
+
value: contextValue
|
|
335
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledModal, {
|
|
336
|
+
modalHeight: modalHeight,
|
|
337
|
+
modalWidth: modalWidth,
|
|
338
|
+
bgColor: bgColor
|
|
339
|
+
}, /*#__PURE__*/_react["default"].createElement(MenuContainer, _extends({
|
|
340
|
+
bgColor: bgColor,
|
|
341
|
+
scrollBarColor: scrollBarColor
|
|
342
|
+
}, props), /*#__PURE__*/_react["default"].createElement(CloseSection, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
|
|
343
|
+
iconComponent: CloseIcon,
|
|
344
|
+
theme: menuTheme,
|
|
345
|
+
onClick: handleClose
|
|
346
|
+
})), /*#__PURE__*/_react["default"].createElement(LogoSection, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], logoLink, /*#__PURE__*/_react["default"].createElement(_logo.LogoSymbol, {
|
|
347
|
+
type: logoType
|
|
348
|
+
}))), /*#__PURE__*/_react["default"].createElement(SearchSection, null, /*#__PURE__*/_react["default"].createElement(_input.SearchBar, {
|
|
349
|
+
onSearch: onSearch
|
|
350
|
+
})), /*#__PURE__*/_react["default"].createElement(Content, null), /*#__PURE__*/_react["default"].createElement(_hamburgerFooter["default"], null), /*#__PURE__*/_react["default"].createElement(ActionSection, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], {
|
|
351
|
+
actions: actions,
|
|
352
|
+
direction: "column"
|
|
353
|
+
})))));
|
|
133
354
|
};
|
|
134
355
|
|
|
135
356
|
HamburgerMenu.propTypes = {
|
|
136
|
-
channels: _propTypes["default"].array,
|
|
137
|
-
services: _propTypes["default"].array,
|
|
138
357
|
actions: _propTypes["default"].array,
|
|
139
358
|
handleClose: _propTypes["default"].func
|
|
140
359
|
};
|
|
141
|
-
HamburgerMenu.defaultProps = {
|
|
142
|
-
channels: [],
|
|
143
|
-
services: [],
|
|
144
|
-
actions: [],
|
|
145
|
-
handleClose: function handleClose() {}
|
|
146
|
-
};
|
|
147
360
|
var _default = HamburgerMenu;
|
|
148
361
|
exports["default"] = _default;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.menu = exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _hamburgerMenu = _interopRequireDefault(require("./hamburger-menu"));
|
|
11
|
+
|
|
12
|
+
var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
|
|
13
|
+
|
|
14
|
+
var _theme = require("@twreporter/core/lib/constants/theme");
|
|
15
|
+
|
|
16
|
+
var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
|
+
|
|
20
|
+
/* eslint-disable react/prop-types */
|
|
21
|
+
var _default = {
|
|
22
|
+
title: 'Hamburger/Menu',
|
|
23
|
+
component: _hamburgerMenu["default"],
|
|
24
|
+
argTypes: {
|
|
25
|
+
theme: _theme.THEME_STORYBOOK_ARG_TYPE,
|
|
26
|
+
releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports["default"] = _default;
|
|
30
|
+
var defaultActions = [{
|
|
31
|
+
key: 'newsLetter'
|
|
32
|
+
}, {
|
|
33
|
+
key: 'support'
|
|
34
|
+
}];
|
|
35
|
+
|
|
36
|
+
var onClose = function onClose() {
|
|
37
|
+
var _window;
|
|
38
|
+
|
|
39
|
+
return (_window = window) === null || _window === void 0 ? void 0 : _window.alert('click close !');
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var menu = function menu(props) {
|
|
43
|
+
var theme = props.theme,
|
|
44
|
+
releaseBranch = props.releaseBranch;
|
|
45
|
+
var context = {
|
|
46
|
+
theme: theme,
|
|
47
|
+
releaseBranch: releaseBranch,
|
|
48
|
+
isLinkExternal: true
|
|
49
|
+
};
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
|
|
51
|
+
value: context
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(_hamburgerMenu["default"], props));
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.menu = menu;
|
|
56
|
+
menu.args = {
|
|
57
|
+
actions: defaultActions,
|
|
58
|
+
handleClose: onClose
|
|
59
|
+
};
|
|
60
|
+
menu.parameter = {
|
|
61
|
+
controls: {
|
|
62
|
+
exclude: ['actions', 'handleClose']
|
|
63
|
+
}
|
|
64
|
+
};
|
|
@@ -17,9 +17,9 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
17
17
|
|
|
18
18
|
var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _linksOld = _interopRequireDefault(require("../utils/links-old"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _themeOld = _interopRequireDefault(require("../utils/theme-old"));
|
|
23
23
|
|
|
24
24
|
var _animations = _interopRequireDefault(require("../utils/animations"));
|
|
25
25
|
|
|
@@ -173,11 +173,11 @@ var Header = function Header(_ref) {
|
|
|
173
173
|
toUseNarrow = _ref2.toUseNarrow,
|
|
174
174
|
hideHeader = _ref2.hideHeader;
|
|
175
175
|
|
|
176
|
-
var _themeUtils$selectHea =
|
|
176
|
+
var _themeUtils$selectHea = _themeOld["default"].selectHeaderTheme(theme),
|
|
177
177
|
bgColor = _themeUtils$selectHea.bgColor,
|
|
178
178
|
borderColor = _themeUtils$selectHea.borderColor;
|
|
179
179
|
|
|
180
|
-
var logoType =
|
|
180
|
+
var logoType = _themeOld["default"].selectLogoType(theme);
|
|
181
181
|
|
|
182
182
|
return /*#__PURE__*/_react["default"].createElement(Box, {
|
|
183
183
|
bgColor: bgColor,
|
|
@@ -198,7 +198,7 @@ var Header = function Header(_ref) {
|
|
|
198
198
|
enter: 500,
|
|
199
199
|
exit: 500
|
|
200
200
|
}
|
|
201
|
-
}, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"],
|
|
201
|
+
}, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], _linksOld["default"].getLogoLink(isLinkExternal, releaseBranch), /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
|
|
202
202
|
type: logoType,
|
|
203
203
|
releaseBranch: releaseBranch
|
|
204
204
|
})))), /*#__PURE__*/_react["default"].createElement(ActionContainer, null, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|