@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.
Files changed (41) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/components/action-button-old.js +5 -5
  3. package/lib/components/action-button.js +8 -5
  4. package/lib/components/channels-old.js +8 -8
  5. package/lib/components/channels.js +17 -5
  6. package/lib/components/drop-down-menu.js +2 -2
  7. package/lib/components/hamburger-footer.js +156 -0
  8. package/lib/components/hamburger-footer.stories.js +75 -0
  9. package/lib/components/hamburger-icons.js +11 -11
  10. package/lib/components/hamburger-menu-item.js +174 -0
  11. package/lib/components/hamburger-menu-item.stories.js +150 -0
  12. package/lib/components/hamburger-menu-old.js +148 -0
  13. package/lib/components/hamburger-menu.js +309 -96
  14. package/lib/components/hamburger-menu.stories.js +64 -0
  15. package/lib/components/header-old.js +5 -5
  16. package/lib/components/header.js +160 -32
  17. package/lib/components/header.stories.js +16 -7
  18. package/lib/components/icons-old.js +9 -9
  19. package/lib/components/icons.js +5 -5
  20. package/lib/components/mobile-header.js +12 -12
  21. package/lib/components/search-box.js +2 -2
  22. package/lib/components/slogan-old.js +2 -2
  23. package/lib/components/slogan.js +1 -1
  24. package/lib/constants/actions.js +5 -11
  25. package/lib/constants/channels-old.js +41 -0
  26. package/lib/constants/channels.js +58 -25
  27. package/lib/constants/external-links.js +7 -1
  28. package/lib/constants/footer.js +24 -0
  29. package/lib/constants/hamburger-menu.js +13 -0
  30. package/lib/constants/prop-types-old.js +46 -0
  31. package/lib/constants/prop-types.js +26 -20
  32. package/lib/constants/social-media.js +16 -0
  33. package/lib/containers/header-old.js +11 -11
  34. package/lib/containers/header.js +23 -44
  35. package/lib/contexts/header-context.js +6 -7
  36. package/lib/standalone-header.js +7 -7
  37. package/lib/utils/links-old.js +177 -0
  38. package/lib/utils/links.js +60 -66
  39. package/lib/utils/theme-old.js +345 -0
  40. package/lib/utils/theme.js +49 -243
  41. package/package.json +4 -4
@@ -11,13 +11,17 @@ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _styledComponents = _interopRequireDefault(require("styled-components"));
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 = _interopRequireDefault(require("../utils/links"));
20
+ var _links = require("../utils/links");
21
+
22
+ var _theme = require("../utils/theme");
19
23
 
20
- var _theme = _interopRequireDefault(require("../utils/theme"));
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 _color = require("@twreporter/core/lib/constants/color");
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
- })(["display:flex;flex-direction:column;width:100%;margin:auto;", " ", " ", " ", ""], _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 "]))));
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-1"
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-2"
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-3"
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-4"
75
- })(["display:flex;align-items:center;justify-content:space-between;padding:", " 16px;background-color:", ";z-index:501;", "{opacity:", ";transition:opacity 100ms;transition-delay:", ";}", "{opacity:", ";transition:opacity 100ms;}", "{margin-left:", ";transform:translateX(", ");transition:transform 100ms;img,a{height:", ";transition:height 100ms;}}"], function (props) {
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
- }, _color.colorGrayscale.gray100, ShowWhenNarrow, function (props) {
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 ? '100ms' : 0;
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-5"
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-6"
166
+ componentId: "sc-1krza7i-8"
99
167
  })(["display:flex;align-items:center;"]);
100
168
 
101
- var StyledChannel = /*#__PURE__*/(0, _styledComponents["default"])(_channels["default"]).withConfig({
102
- displayName: "header__StyledChannel",
103
- componentId: "sc-1krza7i-7"
104
- })(["transform:translateY(", ");transition:transform 300ms z-index:500;"], function (props) {
105
- return props.toUseNarrow ? '-50px' : '0';
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 logoLink = _links["default"].getLogoLink(isLinkExternal, releaseBranch);
198
+ var _useState = (0, _react.useState)(false),
199
+ _useState2 = _slicedToArray(_useState, 2),
200
+ showHamburger = _useState2[0],
201
+ setShowHamburger = _useState2[1];
121
202
 
122
- var logoType = _theme["default"].selectLogoType(theme);
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
- return /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
129
- toUseNarrow: toUseNarrow
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(StyledChannel, {
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.header = exports["default"] = void 0;
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 header = function header(props) {
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.header = header;
60
- header.parameters = {
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 _links = _interopRequireDefault(require("../utils/links"));
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 _theme = _interopRequireDefault(require("../utils/theme"));
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 = _links["default"].getLogoutLink(releaseBranch).to + '?' + query;
125
+ window.location = _linksOld["default"].getLogoutLink(releaseBranch).to + '?' + query;
126
126
  return;
127
127
  }
128
128
 
129
- window.location = _links["default"].getLoginLink(releaseBranch).to + '?' + query;
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(_theme["default"].selectServiceIcons(theme).login, 2),
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(_theme["default"].selectServiceIcons(theme).logout, 2),
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(_theme["default"].selectServiceIcons(theme).search, 2),
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(_theme["default"].selectServiceIcons(theme).bookmark, 2),
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 = _links["default"].getBookmarksLink(isLinkExternal, releaseBranch);
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
  }));
@@ -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 = _interopRequireDefault(require("../utils/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["default"].getLogoutLink(releaseBranch).to + '?' + query;
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["default"].getLoginLink(releaseBranch).to + '?' + query;
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["default"].getSearchLink(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
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["default"].getBookmarksLink(isLinkExternal, releaseBranch);
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 _links = _interopRequireDefault(require("../utils/links"));
20
+ var _linksOld = _interopRequireDefault(require("../utils/links-old"));
21
21
 
22
- var _theme = _interopRequireDefault(require("../utils/theme"));
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 _hamburgerMenu = _interopRequireDefault(require("./hamburger-menu"));
28
+ var _hamburgerMenuOld = _interopRequireDefault(require("./hamburger-menu-old"));
29
29
 
30
- var _actionButton = _interopRequireDefault(require("./action-button"));
30
+ var _actionButtonOld = _interopRequireDefault(require("./action-button-old"));
31
31
 
32
- var _slogan = _interopRequireDefault(require("./slogan"));
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(_hamburgerMenu["default"], {
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 = _theme["default"].selectHeaderTheme(theme),
225
+ var _themeUtils$selectHea = _themeOld["default"].selectHeaderTheme(theme),
226
226
  bgColor = _themeUtils$selectHea.bgColor;
227
227
 
228
- var MenuIcon = _theme["default"].selectIcons(theme).menu;
228
+ var MenuIcon = _themeOld["default"].selectIcons(theme).menu;
229
229
 
230
- var logoType = _theme["default"].selectLogoType(theme);
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({}, _links["default"].getLogoLink(isLinkExternal, releaseBranch), {
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(_actionButton["default"], {
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(_slogan["default"], null))))), /*#__PURE__*/_react["default"].createElement(Hamburger, {
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 _links = _interopRequireDefault(require("../utils/links"));
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(_links["default"].getSearchLink(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
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 _theme = _interopRequireDefault(require("../utils/theme"));
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: _theme["default"].selectSloganTheme
54
+ themeFunction: _themeOld["default"].selectSloganTheme
55
55
  };
56
56
  var _default = Slogan;
57
57
  exports["default"] = _default;
@@ -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.selectSloganThemeNew)(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"]);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.actionOrder = exports.ACTION_BUTTON_TYPE = exports.ACTION_LABEL = exports.actionKeys = void 0;
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
- exports.actionKeys = actionKeys;
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 actionOrder = {
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.actionOrder = actionOrder;
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;