@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
package/lib/components/header.js
CHANGED
|
@@ -11,13 +11,17 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
-
var _styledComponents =
|
|
14
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
15
|
+
|
|
16
|
+
var _CSSTransition = _interopRequireDefault(require("react-transition-group/CSSTransition"));
|
|
15
17
|
|
|
16
18
|
var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
|
|
17
19
|
|
|
18
|
-
var _links =
|
|
20
|
+
var _links = require("../utils/links");
|
|
21
|
+
|
|
22
|
+
var _theme = require("../utils/theme");
|
|
19
23
|
|
|
20
|
-
var
|
|
24
|
+
var _hamburgerMenu = require("../constants/hamburger-menu");
|
|
21
25
|
|
|
22
26
|
var _channels = _interopRequireDefault(require("./channels"));
|
|
23
27
|
|
|
@@ -27,19 +31,23 @@ var _icons = _interopRequireDefault(require("./icons"));
|
|
|
27
31
|
|
|
28
32
|
var _slogan = _interopRequireDefault(require("./slogan"));
|
|
29
33
|
|
|
34
|
+
var _hamburgerMenu2 = _interopRequireDefault(require("./hamburger-menu"));
|
|
35
|
+
|
|
30
36
|
var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
|
|
31
37
|
|
|
32
38
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
33
39
|
|
|
40
|
+
var _divider = _interopRequireDefault(require("@twreporter/react-components/lib/divider"));
|
|
41
|
+
|
|
34
42
|
var _logo = require("@twreporter/react-components/lib/logo");
|
|
35
43
|
|
|
36
44
|
var _button = require("@twreporter/react-components/lib/button");
|
|
37
45
|
|
|
38
46
|
var _icon = require("@twreporter/react-components/lib/icon");
|
|
39
47
|
|
|
40
|
-
var
|
|
48
|
+
var _hook = require("@twreporter/react-components/lib/hook");
|
|
41
49
|
|
|
42
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
50
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
43
51
|
|
|
44
52
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
45
53
|
|
|
@@ -47,102 +55,222 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
47
55
|
|
|
48
56
|
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; }
|
|
49
57
|
|
|
58
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
59
|
+
|
|
60
|
+
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."); }
|
|
61
|
+
|
|
62
|
+
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); }
|
|
63
|
+
|
|
64
|
+
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; }
|
|
65
|
+
|
|
66
|
+
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; }
|
|
67
|
+
|
|
68
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
69
|
+
|
|
50
70
|
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
51
71
|
|
|
72
|
+
var narrowHeaderHeight = 65;
|
|
73
|
+
var channelHeight = 50;
|
|
74
|
+
var animation = {
|
|
75
|
+
step1Duration: '200ms',
|
|
76
|
+
step2Delay: '150ms',
|
|
77
|
+
step2Duration: '50ms',
|
|
78
|
+
step3Delay: '150ms',
|
|
79
|
+
step3Duration: '200ms'
|
|
80
|
+
};
|
|
81
|
+
var zIndex = {
|
|
82
|
+
hamburger: 4,
|
|
83
|
+
header: 3,
|
|
84
|
+
topRow: 2,
|
|
85
|
+
channel: 1
|
|
86
|
+
};
|
|
87
|
+
var channelSlideIn = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(", "px);opacity:0;}to{transform:translateY(0);opacity:1;}"], -channelHeight);
|
|
88
|
+
var channelSlideOut = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(0);}to{transform:translateY(", "px);}"], -channelHeight);
|
|
89
|
+
var ChannelEffect = /*#__PURE__*/(0, _styledComponents.css)([".channel-effect-enter{opacity:0;}.channel-effect-enter-active{animation:", " ", " linear;animation-delay:150ms;}.channel-effect-exit-active{animation:", " ", " linear;animation-delay:0ms;}"], channelSlideIn, animation.step1Duration, channelSlideOut, animation.step1Duration);
|
|
90
|
+
var HamburgerEffect = /*#__PURE__*/(0, _styledComponents.css)([".hamburger-effect-enter{}.hamburger-effect-enter-active,.hamburger-effect-enter-done{}.hamburger-effect-exit-active{}"]);
|
|
91
|
+
|
|
52
92
|
var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
53
93
|
displayName: "header__HeaderContainer",
|
|
54
94
|
componentId: "sc-1krza7i-0"
|
|
55
|
-
})(["
|
|
95
|
+
})(["width:100%;background-color:", ";transform:translateY( ", " );transition:transform 300ms ", ";"], function (props) {
|
|
96
|
+
return props.bgColor;
|
|
97
|
+
}, function (props) {
|
|
98
|
+
return props.hideHeader ? "".concat(-narrowHeaderHeight, "px") : '0';
|
|
99
|
+
}, function (props) {
|
|
100
|
+
return props.hideHeader ? 'ease-in' : 'ease-out';
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
var HeaderSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
104
|
+
displayName: "header__HeaderSection",
|
|
105
|
+
componentId: "sc-1krza7i-1"
|
|
106
|
+
})(["display:flex;flex-direction:column;margin:auto;z-index:", ";", " ", " ", " ", ""], zIndex.header, _mediaQuery["default"].hdOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 1280px;\n "]))), _mediaQuery["default"].desktopOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n padding: 0 48px;\n "]))), _mediaQuery["default"].tabletOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: 0 32px;\n "]))), _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 0 24px;\n "]))));
|
|
56
107
|
|
|
57
108
|
var LogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
58
109
|
displayName: "header__LogoContainer",
|
|
59
|
-
componentId: "sc-1krza7i-
|
|
110
|
+
componentId: "sc-1krza7i-2"
|
|
60
111
|
})(["display:flex;align-items:center;margin-right:16px;"]);
|
|
61
112
|
|
|
62
113
|
var HideWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
63
114
|
displayName: "header__HideWhenNarrow",
|
|
64
|
-
componentId: "sc-1krza7i-
|
|
115
|
+
componentId: "sc-1krza7i-3"
|
|
65
116
|
})([""]);
|
|
66
117
|
|
|
67
118
|
var ShowWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
68
119
|
displayName: "header__ShowWhenNarrow",
|
|
69
|
-
componentId: "sc-1krza7i-
|
|
120
|
+
componentId: "sc-1krza7i-4"
|
|
70
121
|
})([""]);
|
|
71
122
|
|
|
72
123
|
var TopRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
73
124
|
displayName: "header__TopRow",
|
|
74
|
-
componentId: "sc-1krza7i-
|
|
75
|
-
})(["display:flex;align-items:center;justify-content:space-between;padding:", " 16px;
|
|
125
|
+
componentId: "sc-1krza7i-5"
|
|
126
|
+
})(["display:flex;align-items:center;justify-content:space-between;padding:", " 16px;z-index:", ";background-color:", ";", "{opacity:", ";transition:opacity ", ";transition-delay:", ";}", "{opacity:", ";transition:opacity ", ";transition-delay:", ";}", "{margin-left:", ";transform:translateX(", ");transition:all ", ";transition-delay:", ";img,a{height:", ";transition:height ", ";transition-delay:", ";}}"], function (props) {
|
|
76
127
|
return props.toUseNarrow ? '16px' : '24px';
|
|
77
|
-
},
|
|
128
|
+
}, zIndex.topRow, function (props) {
|
|
129
|
+
return props.topRowBgColor;
|
|
130
|
+
}, ShowWhenNarrow, function (props) {
|
|
78
131
|
return props.toUseNarrow ? '1' : '0';
|
|
79
|
-
}, function (props) {
|
|
80
|
-
return props.toUseNarrow ? '
|
|
132
|
+
}, animation.step3Duration, function (props) {
|
|
133
|
+
return props.toUseNarrow ? '350ms' : 0;
|
|
81
134
|
}, HideWhenNarrow, function (props) {
|
|
82
135
|
return props.toUseNarrow ? '0' : '1';
|
|
136
|
+
}, animation.step3Duration, function (props) {
|
|
137
|
+
return props.toUseNarrow ? animation.step3Delay : 0;
|
|
83
138
|
}, LogoContainer, function (props) {
|
|
84
139
|
return props.toUseNarrow ? '24px' : '0';
|
|
85
140
|
}, function (props) {
|
|
86
141
|
return props.toUseNarrow ? '0' : '-24px';
|
|
142
|
+
}, animation.step3Duration, function (props) {
|
|
143
|
+
return props.toUseNarrow ? animation.step3Delay : 0;
|
|
87
144
|
}, function (props) {
|
|
88
145
|
return props.toUseNarrow ? '24px' : '32px';
|
|
146
|
+
}, animation.step3Duration, function (props) {
|
|
147
|
+
return props.toUseNarrow ? animation.step3Delay : 0;
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["default"]).withConfig({
|
|
151
|
+
displayName: "header__StyledDivider",
|
|
152
|
+
componentId: "sc-1krza7i-6"
|
|
153
|
+
})(["opacity:", ";transition:opacity ", ";transition-delay:", ";"], function (props) {
|
|
154
|
+
return props.toUseNarrow ? '0' : '1';
|
|
155
|
+
}, animation.step2Duration, function (props) {
|
|
156
|
+
return props.toUseNarrow ? animation.step2Delay : 0;
|
|
89
157
|
});
|
|
90
158
|
|
|
91
159
|
var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
92
160
|
displayName: "header__IconContainer",
|
|
93
|
-
componentId: "sc-1krza7i-
|
|
161
|
+
componentId: "sc-1krza7i-7"
|
|
94
162
|
})(["margin-left:24px;"]);
|
|
95
163
|
|
|
96
164
|
var FlexGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
97
165
|
displayName: "header__FlexGroup",
|
|
98
|
-
componentId: "sc-1krza7i-
|
|
166
|
+
componentId: "sc-1krza7i-8"
|
|
99
167
|
})(["display:flex;align-items:center;"]);
|
|
100
168
|
|
|
101
|
-
var
|
|
102
|
-
displayName: "
|
|
103
|
-
componentId: "sc-1krza7i-
|
|
104
|
-
})(["
|
|
105
|
-
|
|
106
|
-
|
|
169
|
+
var ChannelContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
170
|
+
displayName: "header__ChannelContainer",
|
|
171
|
+
componentId: "sc-1krza7i-9"
|
|
172
|
+
})(["z-index:", ";", ""], zIndex.channel, ChannelEffect);
|
|
173
|
+
|
|
174
|
+
var HamburgerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
|
|
175
|
+
displayName: "header__HamburgerContainer",
|
|
176
|
+
componentId: "sc-1krza7i-10"
|
|
177
|
+
})(["z-index:", ";position:absolute;top:0;left:-", ";transition:transform 300ms ease-in-out;transform:translateX( ", " );", " ", ""], zIndex.hamburger, _hamburgerMenu.MENU_WIDTH.desktop, function (props) {
|
|
178
|
+
return props.showHamburger ? _hamburgerMenu.MENU_WIDTH.desktop : 0;
|
|
179
|
+
}, _mediaQuery["default"].tabletOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n left: -", ";\n transform: translateX(", ");\n "])), _hamburgerMenu.MENU_WIDTH.tablet, function (props) {
|
|
180
|
+
return props.showHamburger ? _hamburgerMenu.MENU_WIDTH.tablet : 0;
|
|
181
|
+
}), HamburgerEffect);
|
|
107
182
|
|
|
108
183
|
var Header = function Header(_ref) {
|
|
109
184
|
var _ref$pathname = _ref.pathname,
|
|
110
185
|
pathname = _ref$pathname === void 0 ? '' : _ref$pathname,
|
|
111
186
|
_ref$actions = _ref.actions,
|
|
112
|
-
actions = _ref$actions === void 0 ? [] : _ref$actions
|
|
187
|
+
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
188
|
+
_ref$hbActions = _ref.hbActions,
|
|
189
|
+
hbActions = _ref$hbActions === void 0 ? [] : _ref$hbActions;
|
|
113
190
|
|
|
114
191
|
var _useContext = (0, _react.useContext)(_headerContext["default"]),
|
|
115
192
|
releaseBranch = _useContext.releaseBranch,
|
|
116
193
|
isLinkExternal = _useContext.isLinkExternal,
|
|
117
194
|
theme = _useContext.theme,
|
|
118
|
-
toUseNarrow = _useContext.toUseNarrow
|
|
195
|
+
toUseNarrow = _useContext.toUseNarrow,
|
|
196
|
+
hideHeader = _useContext.hideHeader;
|
|
119
197
|
|
|
120
|
-
var
|
|
198
|
+
var _useState = (0, _react.useState)(false),
|
|
199
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
200
|
+
showHamburger = _useState2[0],
|
|
201
|
+
setShowHamburger = _useState2[1];
|
|
121
202
|
|
|
122
|
-
var
|
|
203
|
+
var logoLink = (0, _links.getLogoLink)(isLinkExternal, releaseBranch);
|
|
204
|
+
var logoType = (0, _theme.selectLogoType)(theme);
|
|
123
205
|
|
|
124
206
|
var HamburgerIcon = /*#__PURE__*/_react["default"].createElement(_icon.Hamburger, {
|
|
125
207
|
releaseBranch: releaseBranch
|
|
126
208
|
});
|
|
127
209
|
|
|
128
|
-
|
|
129
|
-
|
|
210
|
+
var _selectHeaderTheme = (0, _theme.selectHeaderTheme)(theme),
|
|
211
|
+
bgColor = _selectHeaderTheme.bgColor,
|
|
212
|
+
topRowBgColor = _selectHeaderTheme.topRowBgColor;
|
|
213
|
+
|
|
214
|
+
var toggleHamburger = function toggleHamburger(e) {
|
|
215
|
+
e.stopPropagation();
|
|
216
|
+
setShowHamburger(!showHamburger);
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
var closeHamburger = function closeHamburger() {
|
|
220
|
+
return setShowHamburger(false);
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
var ref = (0, _hook.useOutsideClick)(closeHamburger);
|
|
224
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
|
|
225
|
+
bgColor: bgColor,
|
|
226
|
+
hideHeader: hideHeader
|
|
227
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
|
|
228
|
+
toUseNarrow: toUseNarrow,
|
|
229
|
+
topRowBgColor: topRowBgColor
|
|
130
230
|
}, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(ShowWhenNarrow, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
|
|
131
231
|
iconComponent: HamburgerIcon,
|
|
132
|
-
theme: theme
|
|
232
|
+
theme: theme,
|
|
233
|
+
onClick: toggleHamburger
|
|
133
234
|
})), /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], logoLink, /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
|
|
134
235
|
type: logoType,
|
|
135
236
|
releaseBranch: releaseBranch
|
|
136
237
|
}))), /*#__PURE__*/_react["default"].createElement(HideWhenNarrow, null, /*#__PURE__*/_react["default"].createElement(_slogan["default"], null))), /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(HideWhenNarrow, null, /*#__PURE__*/_react["default"].createElement(_actionButton["default"], {
|
|
137
238
|
actions: actions
|
|
138
|
-
})), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons["default"], null)))), /*#__PURE__*/_react["default"].createElement(
|
|
239
|
+
})), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons["default"], null)))), /*#__PURE__*/_react["default"].createElement(StyledDivider, {
|
|
139
240
|
toUseNarrow: toUseNarrow
|
|
140
|
-
})
|
|
241
|
+
}), /*#__PURE__*/_react["default"].createElement(ChannelContainer, null, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
242
|
+
"in": !toUseNarrow,
|
|
243
|
+
classNames: "channel-effect",
|
|
244
|
+
timeout: {
|
|
245
|
+
appear: 0,
|
|
246
|
+
enter: 350,
|
|
247
|
+
exit: 200
|
|
248
|
+
},
|
|
249
|
+
unmountOnExit: true
|
|
250
|
+
}, /*#__PURE__*/_react["default"].createElement(_channels["default"], {
|
|
251
|
+
onClickHambuger: toggleHamburger
|
|
252
|
+
}))))), /*#__PURE__*/_react["default"].createElement(HamburgerContainer, {
|
|
253
|
+
ref: ref,
|
|
254
|
+
showHamburger: showHamburger
|
|
255
|
+
}, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
256
|
+
"in": showHamburger,
|
|
257
|
+
classNames: "hamburger-effect",
|
|
258
|
+
timeout: {
|
|
259
|
+
appear: 0,
|
|
260
|
+
enter: 300,
|
|
261
|
+
exit: 300
|
|
262
|
+
},
|
|
263
|
+
unmountOnExit: true
|
|
264
|
+
}, /*#__PURE__*/_react["default"].createElement(_hamburgerMenu2["default"], {
|
|
265
|
+
actions: hbActions,
|
|
266
|
+
handleClose: closeHamburger
|
|
267
|
+
}))));
|
|
141
268
|
};
|
|
142
269
|
|
|
143
270
|
Header.propTypes = {
|
|
144
271
|
pathname: _propTypes["default"].string,
|
|
145
|
-
actions: _propTypes["default"].array
|
|
272
|
+
actions: _propTypes["default"].array,
|
|
273
|
+
hbActions: _propTypes["default"].array
|
|
146
274
|
};
|
|
147
275
|
var _default = Header;
|
|
148
276
|
exports["default"] = _default;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.desktop = exports["default"] = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
@@ -28,6 +28,12 @@ var _default = {
|
|
|
28
28
|
type: 'boolean'
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
|
+
hideHeader: {
|
|
32
|
+
defaultValue: false,
|
|
33
|
+
control: {
|
|
34
|
+
type: 'boolean'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
31
37
|
theme: _theme.THEME_STORYBOOK_ARG_TYPE,
|
|
32
38
|
releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
|
|
33
39
|
}
|
|
@@ -39,26 +45,29 @@ var defaultActions = [{
|
|
|
39
45
|
key: 'support'
|
|
40
46
|
}];
|
|
41
47
|
|
|
42
|
-
var
|
|
48
|
+
var desktop = function desktop(props) {
|
|
43
49
|
var theme = props.theme,
|
|
44
50
|
releaseBranch = props.releaseBranch,
|
|
45
|
-
toUseNarrow = props.toUseNarrow
|
|
51
|
+
toUseNarrow = props.toUseNarrow,
|
|
52
|
+
hideHeader = props.hideHeader;
|
|
46
53
|
var context = {
|
|
47
54
|
theme: theme,
|
|
48
55
|
releaseBranch: releaseBranch,
|
|
49
56
|
toUseNarrow: toUseNarrow,
|
|
57
|
+
hideHeader: hideHeader,
|
|
50
58
|
isLinkExternal: true
|
|
51
59
|
};
|
|
52
60
|
return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
|
|
53
61
|
value: context
|
|
54
62
|
}, /*#__PURE__*/_react["default"].createElement(_header["default"], {
|
|
55
|
-
actions: defaultActions
|
|
63
|
+
actions: defaultActions,
|
|
64
|
+
hbActions: defaultActions
|
|
56
65
|
}));
|
|
57
66
|
};
|
|
58
67
|
|
|
59
|
-
exports.
|
|
60
|
-
|
|
68
|
+
exports.desktop = desktop;
|
|
69
|
+
desktop.parameters = {
|
|
61
70
|
controls: {
|
|
62
|
-
exclude: ['pathname', 'actions']
|
|
71
|
+
exclude: ['pathname', 'actions', 'hbActions']
|
|
63
72
|
}
|
|
64
73
|
};
|
|
@@ -19,13 +19,13 @@ var _searchBox = _interopRequireDefault(require("./search-box"));
|
|
|
19
19
|
|
|
20
20
|
var _fonts = _interopRequireDefault(require("../constants/fonts"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _linksOld = _interopRequireDefault(require("../utils/links-old"));
|
|
23
23
|
|
|
24
24
|
var _querystring = _interopRequireDefault(require("querystring"));
|
|
25
25
|
|
|
26
26
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _themeOld = _interopRequireDefault(require("../utils/theme-old"));
|
|
29
29
|
|
|
30
30
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
31
31
|
|
|
@@ -122,11 +122,11 @@ var Icons = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
122
122
|
});
|
|
123
123
|
|
|
124
124
|
if (isAuthed) {
|
|
125
|
-
window.location =
|
|
125
|
+
window.location = _linksOld["default"].getLogoutLink(releaseBranch).to + '?' + query;
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
-
window.location =
|
|
129
|
+
window.location = _linksOld["default"].getLoginLink(releaseBranch).to + '?' + query;
|
|
130
130
|
});
|
|
131
131
|
|
|
132
132
|
_this.state = {
|
|
@@ -166,7 +166,7 @@ var Icons = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
166
166
|
var releaseBranch = _ref.releaseBranch,
|
|
167
167
|
theme = _ref.theme;
|
|
168
168
|
|
|
169
|
-
var _themeUtils$selectSer = _slicedToArray(
|
|
169
|
+
var _themeUtils$selectSer = _slicedToArray(_themeOld["default"].selectServiceIcons(theme).login, 2),
|
|
170
170
|
LogInIcon = _themeUtils$selectSer[0],
|
|
171
171
|
LogInHoverIcon = _themeUtils$selectSer[1];
|
|
172
172
|
|
|
@@ -184,7 +184,7 @@ var Icons = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
184
184
|
var releaseBranch = _ref2.releaseBranch,
|
|
185
185
|
theme = _ref2.theme;
|
|
186
186
|
|
|
187
|
-
var _themeUtils$selectSer2 = _slicedToArray(
|
|
187
|
+
var _themeUtils$selectSer2 = _slicedToArray(_themeOld["default"].selectServiceIcons(theme).logout, 2),
|
|
188
188
|
LogOutIcon = _themeUtils$selectSer2[0],
|
|
189
189
|
LogOutHoverIcon = _themeUtils$selectSer2[1];
|
|
190
190
|
|
|
@@ -203,7 +203,7 @@ var Icons = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
203
203
|
}, /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Consumer, null, function (_ref3) {
|
|
204
204
|
var theme = _ref3.theme;
|
|
205
205
|
|
|
206
|
-
var _themeUtils$selectSer3 = _slicedToArray(
|
|
206
|
+
var _themeUtils$selectSer3 = _slicedToArray(_themeOld["default"].selectServiceIcons(theme).search, 2),
|
|
207
207
|
SearchIcon = _themeUtils$selectSer3[0],
|
|
208
208
|
SearchHoverIcon = _themeUtils$selectSer3[1];
|
|
209
209
|
|
|
@@ -221,11 +221,11 @@ var Icons = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
221
221
|
isLinkExternal = _ref4.isLinkExternal,
|
|
222
222
|
theme = _ref4.theme;
|
|
223
223
|
|
|
224
|
-
var _themeUtils$selectSer4 = _slicedToArray(
|
|
224
|
+
var _themeUtils$selectSer4 = _slicedToArray(_themeOld["default"].selectServiceIcons(theme).bookmark, 2),
|
|
225
225
|
BookmarkIcon = _themeUtils$selectSer4[0],
|
|
226
226
|
BookmarkHoverIcon = _themeUtils$selectSer4[1];
|
|
227
227
|
|
|
228
|
-
var link =
|
|
228
|
+
var link = _linksOld["default"].getBookmarksLink(isLinkExternal, releaseBranch);
|
|
229
229
|
|
|
230
230
|
return /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], link, /*#__PURE__*/_react["default"].createElement(HideOnHover, null, /*#__PURE__*/_react["default"].createElement(BookmarkIcon, null)), /*#__PURE__*/_react["default"].createElement(ShowOnHover, null, /*#__PURE__*/_react["default"].createElement(BookmarkHoverIcon, null)));
|
|
231
231
|
}));
|
package/lib/components/icons.js
CHANGED
|
@@ -15,7 +15,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
|
15
15
|
|
|
16
16
|
var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
|
|
17
17
|
|
|
18
|
-
var _links =
|
|
18
|
+
var _links = require("../utils/links");
|
|
19
19
|
|
|
20
20
|
var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
|
|
21
21
|
|
|
@@ -110,7 +110,7 @@ var LogInOutIcon = function LogInOutIcon() {
|
|
|
110
110
|
destination: redirectURL
|
|
111
111
|
});
|
|
112
112
|
|
|
113
|
-
window.location = _links
|
|
113
|
+
window.location = (0, _links.getLogoutLink)(releaseBranch).to + '?' + query;
|
|
114
114
|
};
|
|
115
115
|
|
|
116
116
|
var onClickLogOut = function onClickLogOut(e) {
|
|
@@ -121,7 +121,7 @@ var LogInOutIcon = function LogInOutIcon() {
|
|
|
121
121
|
destination: redirectURL
|
|
122
122
|
});
|
|
123
123
|
|
|
124
|
-
window.location = _links
|
|
124
|
+
window.location = (0, _links.getLoginLink)(releaseBranch).to + '?' + query;
|
|
125
125
|
};
|
|
126
126
|
|
|
127
127
|
var closeDialog = function closeDialog() {
|
|
@@ -185,7 +185,7 @@ var SearchIcon = function SearchIcon() {
|
|
|
185
185
|
return;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
window.location = "".concat(_links
|
|
188
|
+
window.location = "".concat((0, _links.getSearchLink)(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
|
|
189
189
|
};
|
|
190
190
|
|
|
191
191
|
var Icon = /*#__PURE__*/_react["default"].createElement(_icon.Search, {
|
|
@@ -218,7 +218,7 @@ var BookmarkIcon = function BookmarkIcon() {
|
|
|
218
218
|
isLinkExternal = _useContext3.isLinkExternal,
|
|
219
219
|
theme = _useContext3.theme;
|
|
220
220
|
|
|
221
|
-
var link = _links
|
|
221
|
+
var link = (0, _links.getBookmarksLink)(isLinkExternal, releaseBranch);
|
|
222
222
|
|
|
223
223
|
var Icon = /*#__PURE__*/_react["default"].createElement(_icon.Bookmark, {
|
|
224
224
|
releaseBranch: releaseBranch
|
|
@@ -17,19 +17,19 @@ 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
|
|
|
26
26
|
var _customizedLink = _interopRequireDefault(require("./customized-link"));
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _hamburgerMenuOld = _interopRequireDefault(require("./hamburger-menu-old"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _actionButtonOld = _interopRequireDefault(require("./action-button-old"));
|
|
31
31
|
|
|
32
|
-
var
|
|
32
|
+
var _sloganOld = _interopRequireDefault(require("./slogan-old"));
|
|
33
33
|
|
|
34
34
|
var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
|
|
35
35
|
|
|
@@ -207,7 +207,7 @@ var MobileHeader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
207
207
|
menuActions = _this$props.menuActions;
|
|
208
208
|
var isMenuOpen = this.state.isMenuOpen;
|
|
209
209
|
|
|
210
|
-
var hamburgerJSX = /*#__PURE__*/_react["default"].createElement(
|
|
210
|
+
var hamburgerJSX = /*#__PURE__*/_react["default"].createElement(_hamburgerMenuOld["default"], {
|
|
211
211
|
channels: menuChannels,
|
|
212
212
|
services: menuServices,
|
|
213
213
|
actions: menuActions,
|
|
@@ -222,22 +222,22 @@ var MobileHeader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
222
222
|
toUseNarrow = _ref.toUseNarrow,
|
|
223
223
|
hideHeader = _ref.hideHeader;
|
|
224
224
|
|
|
225
|
-
var _themeUtils$selectHea =
|
|
225
|
+
var _themeUtils$selectHea = _themeOld["default"].selectHeaderTheme(theme),
|
|
226
226
|
bgColor = _themeUtils$selectHea.bgColor;
|
|
227
227
|
|
|
228
|
-
var MenuIcon =
|
|
228
|
+
var MenuIcon = _themeOld["default"].selectIcons(theme).menu;
|
|
229
229
|
|
|
230
|
-
var logoType =
|
|
230
|
+
var logoType = _themeOld["default"].selectLogoType(theme);
|
|
231
231
|
|
|
232
232
|
return /*#__PURE__*/_react["default"].createElement(FlexBox, {
|
|
233
233
|
bgColor: bgColor,
|
|
234
234
|
isHide: hideHeader
|
|
235
|
-
}, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], _extends({},
|
|
235
|
+
}, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], _extends({}, _linksOld["default"].getLogoLink(isLinkExternal, releaseBranch), {
|
|
236
236
|
onClick: _this2.closeMenu
|
|
237
237
|
}), /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
|
|
238
238
|
type: logoType,
|
|
239
239
|
releaseBranch: releaseBranch
|
|
240
|
-
}))), /*#__PURE__*/_react["default"].createElement(ActionContainer, null, /*#__PURE__*/_react["default"].createElement(
|
|
240
|
+
}))), /*#__PURE__*/_react["default"].createElement(ActionContainer, null, /*#__PURE__*/_react["default"].createElement(_actionButtonOld["default"], {
|
|
241
241
|
actions: toUseNarrow ? narrowActions : actions
|
|
242
242
|
})), /*#__PURE__*/_react["default"].createElement(TabletOnly, null, /*#__PURE__*/_react["default"].createElement(SloganContainer, null, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
|
|
243
243
|
"in": !toUseNarrow,
|
|
@@ -247,7 +247,7 @@ var MobileHeader = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
247
247
|
enter: 400,
|
|
248
248
|
exit: 400
|
|
249
249
|
}
|
|
250
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
250
|
+
}, /*#__PURE__*/_react["default"].createElement(_sloganOld["default"], null))))), /*#__PURE__*/_react["default"].createElement(Hamburger, {
|
|
251
251
|
onClick: _this2.handleOnHamburgerClick
|
|
252
252
|
}, /*#__PURE__*/_react["default"].createElement(MenuIcon, null)));
|
|
253
253
|
}));
|
|
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _linksOld = _interopRequireDefault(require("../utils/links-old"));
|
|
21
21
|
|
|
22
22
|
var _fonts = _interopRequireDefault(require("../constants/fonts"));
|
|
23
23
|
|
|
@@ -142,7 +142,7 @@ var SearchBox = /*#__PURE__*/function (_React$Component) {
|
|
|
142
142
|
var keywords = this.state.keywords;
|
|
143
143
|
|
|
144
144
|
if (window) {
|
|
145
|
-
window.location = "".concat(
|
|
145
|
+
window.location = "".concat(_linksOld["default"].getSearchLink(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
|
|
146
146
|
}
|
|
147
147
|
}
|
|
148
148
|
}, {
|
|
@@ -17,7 +17,7 @@ var _slogan = _interopRequireDefault(require("../constants/slogan"));
|
|
|
17
17
|
|
|
18
18
|
var _fonts = _interopRequireDefault(require("../constants/fonts"));
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _themeOld = _interopRequireDefault(require("../utils/theme-old"));
|
|
21
21
|
|
|
22
22
|
var _color = require("@twreporter/core/lib/constants/color");
|
|
23
23
|
|
|
@@ -51,7 +51,7 @@ Slogan.propTypes = {
|
|
|
51
51
|
themeFunction: _propTypes["default"].func
|
|
52
52
|
};
|
|
53
53
|
Slogan.defaultProps = {
|
|
54
|
-
themeFunction:
|
|
54
|
+
themeFunction: _themeOld["default"].selectSloganTheme
|
|
55
55
|
};
|
|
56
56
|
var _default = Slogan;
|
|
57
57
|
exports["default"] = _default;
|
package/lib/components/slogan.js
CHANGED
|
@@ -40,7 +40,7 @@ var Slogan = function Slogan(_ref) {
|
|
|
40
40
|
var _useContext = (0, _react.useContext)(_headerContext["default"]),
|
|
41
41
|
theme = _useContext.theme;
|
|
42
42
|
|
|
43
|
-
var color = (0, _theme.
|
|
43
|
+
var color = (0, _theme.selectSloganTheme)(theme);
|
|
44
44
|
return /*#__PURE__*/_react["default"].createElement(SloganContainer, _extends({
|
|
45
45
|
color: color
|
|
46
46
|
}, props), _slogan["default"]);
|
package/lib/constants/actions.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.ACTION_ORDER = exports.ACTION_BUTTON_TYPE = exports.ACTION_LABEL = exports.ACTION_KEY = void 0;
|
|
7
7
|
|
|
8
8
|
var _row, _column, _ACTION_BUTTON_TYPE;
|
|
9
9
|
|
|
@@ -13,7 +13,8 @@ var actionKeys = {
|
|
|
13
13
|
support: 'support',
|
|
14
14
|
newsLetter: 'newsLetter'
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
var ACTION_KEY = actionKeys;
|
|
17
|
+
exports.ACTION_KEY = ACTION_KEY;
|
|
17
18
|
var ACTION_LABEL = {
|
|
18
19
|
row: (_row = {}, _defineProperty(_row, actionKeys.support, '贊助'), _defineProperty(_row, actionKeys.newsLetter, '訂閱'), _row),
|
|
19
20
|
column: (_column = {}, _defineProperty(_column, actionKeys.support, '贊助我們'), _defineProperty(_column, actionKeys.newsLetter, '訂閱電子報'), _column)
|
|
@@ -21,16 +22,9 @@ var ACTION_LABEL = {
|
|
|
21
22
|
exports.ACTION_LABEL = ACTION_LABEL;
|
|
22
23
|
var ACTION_BUTTON_TYPE = (_ACTION_BUTTON_TYPE = {}, _defineProperty(_ACTION_BUTTON_TYPE, actionKeys.support, 'primary'), _defineProperty(_ACTION_BUTTON_TYPE, actionKeys.newsLetter, 'secondary'), _ACTION_BUTTON_TYPE);
|
|
23
24
|
exports.ACTION_BUTTON_TYPE = ACTION_BUTTON_TYPE;
|
|
24
|
-
var
|
|
25
|
+
var ACTION_ORDER = {
|
|
25
26
|
mobile: [actionKeys.support],
|
|
26
27
|
desktop: [actionKeys.newsLetter, actionKeys.support],
|
|
27
28
|
hamburger: [actionKeys.newsLetter, actionKeys.support]
|
|
28
29
|
};
|
|
29
|
-
exports.
|
|
30
|
-
var _default = {
|
|
31
|
-
actionKeys: actionKeys,
|
|
32
|
-
actionOrder: actionOrder,
|
|
33
|
-
ACTION_LABEL: ACTION_LABEL,
|
|
34
|
-
ACTION_BUTTON_TYPE: ACTION_BUTTON_TYPE
|
|
35
|
-
};
|
|
36
|
-
exports["default"] = _default;
|
|
30
|
+
exports.ACTION_ORDER = ACTION_ORDER;
|