@twreporter/universal-header 2.4.0-rc.4 → 2.4.0-rc.6

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.
@@ -23,20 +23,20 @@ var _channels = require("../constants/channels");
23
23
 
24
24
  var _hamburgerMenu = require("../constants/hamburger-menu");
25
25
 
26
- var _actionButton = _interopRequireDefault(require("./action-button"));
26
+ var _actionButton = require("./action-button");
27
27
 
28
28
  var _hamburgerFooter = _interopRequireDefault(require("./hamburger-footer"));
29
29
 
30
30
  var _hamburgerMenuItem = require("./hamburger-menu-item");
31
31
 
32
+ var _icons = require("./icons");
33
+
32
34
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
33
35
 
34
36
  var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
35
37
 
36
38
  var _divider = _interopRequireDefault(require("@twreporter/react-components/lib/divider"));
37
39
 
38
- var _mobilePopUpModal = _interopRequireDefault(require("@twreporter/react-components/lib/mobile-pop-up-modal"));
39
-
40
40
  var _button = require("@twreporter/react-components/lib/button");
41
41
 
42
42
  var _icon = require("@twreporter/react-components/lib/icon");
@@ -49,11 +49,11 @@ var _categorySet = require("@twreporter/core/lib/constants/category-set");
49
49
 
50
50
  var _theme2 = require("@twreporter/core/lib/constants/theme");
51
51
 
52
- var _map = _interopRequireDefault(require("lodash/map"));
52
+ var _rwd = require("@twreporter/react-components/lib/rwd");
53
53
 
54
- var _excluded = ["actions", "handleClose"];
54
+ var _map = _interopRequireDefault(require("lodash/map"));
55
55
 
56
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
56
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
57
57
 
58
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
59
 
@@ -63,10 +63,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
63
63
 
64
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
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
66
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
71
67
 
72
68
  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."); }
@@ -84,64 +80,78 @@ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(
84
80
  var _ = {
85
81
  map: _map["default"]
86
82
  };
87
- var StyledModal = /*#__PURE__*/(0, _styledComponents["default"])(_mobilePopUpModal["default"]).withConfig({
88
- displayName: "hamburger-menu__StyledModal",
89
- componentId: "sc-15rzowt-0"
90
- })(["box-shadow:0px 0px 24px rgba(0,0,0,0.1);background-color:", ";overflow-y:unset;"], function (props) {
91
- return props.bgColor;
92
- });
93
83
 
94
84
  var MenuContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
95
85
  displayName: "hamburger-menu__MenuContainer",
96
- componentId: "sc-15rzowt-1"
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) {
86
+ componentId: "sc-15rzowt-0"
87
+ })(["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
88
  return props.bgColor;
99
- }, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: ", ";\n "])), _hamburgerMenu.MENU_WIDTH.tablet), function (props) {
89
+ }, _mediaQuery["default"].tabletOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", ";\n "])), _hamburgerMenu.MENU_WIDTH.tablet), _mediaQuery["default"].mobileOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n max-height: calc(100vh - 51px);\n width: ", ";\n "])), _hamburgerMenu.MENU_WIDTH.mobile), function (props) {
100
90
  return props.scrollBarColor;
101
91
  });
102
92
 
103
93
  var CloseSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
104
94
  displayName: "hamburger-menu__CloseSection",
105
- componentId: "sc-15rzowt-2"
106
- })(["display:flex;padding:24px 32px 16px 0;justify-content:end;align-items:center;", ""], _mediaQuery["default"].mobileOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: none;\n "]))));
95
+ componentId: "sc-15rzowt-1"
96
+ })(["display:flex;padding:24px 32px 16px 0;justify-content:end;align-items:center;", ""], _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n "]))));
107
97
 
108
98
  var LogoSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
109
99
  displayName: "hamburger-menu__LogoSection",
110
- componentId: "sc-15rzowt-3"
111
- })(["display:flex;justify-content:center;a{display:flex;}img{height:24px;width:24px;}", ""], _mediaQuery["default"].mobileOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: none;\n "]))));
100
+ componentId: "sc-15rzowt-2"
101
+ })(["display:flex;justify-content:center;a{display:flex;}img{height:24px;width:24px;}", ""], _mediaQuery["default"].mobileOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: none;\n "]))));
112
102
 
113
103
  var SearchSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
114
104
  displayName: "hamburger-menu__SearchSection",
115
- componentId: "sc-15rzowt-4"
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 "]))));
105
+ componentId: "sc-15rzowt-3"
106
+ })(["display:flex;justify-content:center;align-items:center;padding:16px 32px 0 32px;", " ", ""], _mediaQuery["default"].mobileOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: 24px 32px;\n "]))), _mediaQuery["default"].desktopAndAbove(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n display: none;\n "]))));
117
107
 
118
108
  var ContentSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
119
109
  displayName: "hamburger-menu__ContentSection",
120
- componentId: "sc-15rzowt-5"
110
+ componentId: "sc-15rzowt-4"
121
111
  })(["padding-top:16px;"]);
122
112
 
123
113
  var ActionSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
124
114
  displayName: "hamburger-menu__ActionSection",
125
- componentId: "sc-15rzowt-6"
115
+ componentId: "sc-15rzowt-5"
126
116
  })(["padding:40px 32px 32px 32px;"]);
127
117
 
118
+ var HeaderSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
119
+ displayName: "hamburger-menu__HeaderSection",
120
+ componentId: "sc-15rzowt-6"
121
+ })(["display:flex;justify-content:space-between;padding:16px 24px;"]);
122
+
123
+ var FlexGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
124
+ displayName: "hamburger-menu__FlexGroup",
125
+ componentId: "sc-15rzowt-7"
126
+ })(["display:flex;align-items:center;img{height:21px;}"]);
127
+
128
128
  var DropdownItemContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
129
129
  displayName: "hamburger-menu__DropdownItemContainer",
130
- componentId: "sc-15rzowt-7"
130
+ componentId: "sc-15rzowt-8"
131
131
  })([""]);
132
132
 
133
133
  var SubContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
134
134
  displayName: "hamburger-menu__SubContainer",
135
- componentId: "sc-15rzowt-8"
135
+ componentId: "sc-15rzowt-9"
136
136
  })(["max-height:", ";overflow:hidden;transition:max-height 300ms ease-in-out;"], function (props) {
137
137
  return props.isActive ? '300px' : '0';
138
138
  });
139
139
 
140
140
  var DividerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
141
141
  displayName: "hamburger-menu__DividerContainer",
142
- componentId: "sc-15rzowt-9"
142
+ componentId: "sc-15rzowt-10"
143
143
  })(["margin:16px 32px;"]);
144
144
 
145
+ var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
146
+ displayName: "hamburger-menu__IconContainer",
147
+ componentId: "sc-15rzowt-11"
148
+ })(["margin-left:24px;"]);
149
+
150
+ var StyledMobileHamburgerAction = /*#__PURE__*/(0, _styledComponents["default"])(_actionButton.MobileHamburgerAction).withConfig({
151
+ displayName: "hamburger-menu__StyledMobileHamburgerAction",
152
+ componentId: "sc-15rzowt-12"
153
+ })(["width:100%;"]);
154
+
145
155
  var DropdownContent = function DropdownContent(_ref) {
146
156
  var itemKey = _ref.itemKey,
147
157
  isActive = _ref.isActive,
@@ -184,7 +194,7 @@ var DropdownContent = function DropdownContent(_ref) {
184
194
  path = "/categories/".concat(_categorySet.CATEGORY_PATH[itemKey]);
185
195
 
186
196
  if (subItem.key !== 'all') {
187
- path += "/{subItem.key}";
197
+ path += "/".concat(subItem.key);
188
198
  }
189
199
  }
190
200
 
@@ -294,15 +304,16 @@ var Content = function Content() {
294
304
  };
295
305
 
296
306
  var HamburgerMenu = function HamburgerMenu(_ref2) {
297
- var actions = _ref2.actions,
298
- handleClose = _ref2.handleClose,
299
- props = _objectWithoutProperties(_ref2, _excluded);
307
+ var props = _extends({}, _ref2);
300
308
 
301
309
  var _useContext5 = (0, _react.useContext)(_headerContext["default"]),
302
310
  theme = _useContext5.theme,
303
311
  releaseBranch = _useContext5.releaseBranch,
304
312
  isLinkExternal = _useContext5.isLinkExternal;
305
313
 
314
+ var _useContext6 = (0, _react.useContext)(_headerContext.HamburgerContext),
315
+ closeHamburgerMenu = _useContext6.closeHamburgerMenu;
316
+
306
317
  var menuTheme = theme === _theme2.THEME.photography ? theme : _theme2.THEME.noraml;
307
318
 
308
319
  var _selectHamburgerMenuT = (0, _theme.selectHamburgerMenuTheme)(menuTheme),
@@ -325,37 +336,29 @@ var HamburgerMenu = function HamburgerMenu(_ref2) {
325
336
  window.location = "".concat((0, _links.getSearchLink)(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
326
337
  };
327
338
 
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({
339
+ return /*#__PURE__*/_react["default"].createElement(MenuContainer, _extends({
340
340
  bgColor: bgColor,
341
341
  scrollBarColor: scrollBarColor
342
- }, props), /*#__PURE__*/_react["default"].createElement(CloseSection, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
342
+ }, props), /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndAbove, null, /*#__PURE__*/_react["default"].createElement(CloseSection, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
343
343
  iconComponent: CloseIcon,
344
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
- })))));
345
+ onClick: closeHamburgerMenu
346
+ })), /*#__PURE__*/_react["default"].createElement(LogoSection, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], _extends({}, logoLink, {
347
+ onClick: closeHamburgerMenu
348
+ }), /*#__PURE__*/_react["default"].createElement(_logo.LogoSymbol, {
349
+ type: logoType,
350
+ releaseBranch: releaseBranch
351
+ })))), /*#__PURE__*/_react["default"].createElement(_rwd.MobileOnly, null, /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], _extends({}, logoLink, {
352
+ onClick: closeHamburgerMenu
353
+ }), /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
354
+ type: logoType,
355
+ releaseBranch: releaseBranch
356
+ }))), /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(_actionButton.MobileHeaderAction, null), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons.MobileIcons, null))))), /*#__PURE__*/_react["default"].createElement(SearchSection, null, /*#__PURE__*/_react["default"].createElement(_input.SearchBar, {
357
+ onSearch: onSearch,
358
+ autofocus: false,
359
+ widthType: "stretch"
360
+ })), /*#__PURE__*/_react["default"].createElement(Content, null), /*#__PURE__*/_react["default"].createElement(_hamburgerFooter["default"], null), /*#__PURE__*/_react["default"].createElement(ActionSection, null, /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndAbove, null, /*#__PURE__*/_react["default"].createElement(_actionButton.DesktopHamburgerAction, null)), /*#__PURE__*/_react["default"].createElement(_rwd.MobileOnly, null, /*#__PURE__*/_react["default"].createElement(StyledMobileHamburgerAction, null))));
354
361
  };
355
362
 
356
- HamburgerMenu.propTypes = {
357
- actions: _propTypes["default"].array,
358
- handleClose: _propTypes["default"].func
359
- };
360
363
  var _default = HamburgerMenu;
361
364
  exports["default"] = _default;
@@ -27,11 +27,6 @@ var _default = {
27
27
  }
28
28
  };
29
29
  exports["default"] = _default;
30
- var defaultActions = [{
31
- key: 'newsLetter'
32
- }, {
33
- key: 'support'
34
- }];
35
30
 
36
31
  var onClose = function onClose() {
37
32
  var _window;
@@ -54,11 +49,10 @@ var menu = function menu(props) {
54
49
 
55
50
  exports.menu = menu;
56
51
  menu.args = {
57
- actions: defaultActions,
58
52
  handleClose: onClose
59
53
  };
60
54
  menu.parameter = {
61
55
  controls: {
62
- exclude: ['actions', 'handleClose']
56
+ exclude: ['handleClose']
63
57
  }
64
58
  };
@@ -9,13 +9,11 @@ exports["default"] = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
13
 
16
14
  var _CSSTransition = _interopRequireDefault(require("react-transition-group/CSSTransition"));
17
15
 
18
- var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
16
+ var _headerContext = _interopRequireWildcard(require("../contexts/header-context"));
19
17
 
20
18
  var _links = require("../utils/links");
21
19
 
@@ -25,14 +23,16 @@ var _hamburgerMenu = require("../constants/hamburger-menu");
25
23
 
26
24
  var _channels = _interopRequireDefault(require("./channels"));
27
25
 
28
- var _actionButton = _interopRequireDefault(require("./action-button"));
26
+ var _actionButton = require("./action-button");
29
27
 
30
- var _icons = _interopRequireDefault(require("./icons"));
28
+ var _icons = _interopRequireWildcard(require("./icons"));
31
29
 
32
30
  var _slogan = _interopRequireDefault(require("./slogan"));
33
31
 
34
32
  var _hamburgerMenu2 = _interopRequireDefault(require("./hamburger-menu"));
35
33
 
34
+ var _tabBar = _interopRequireDefault(require("./tab-bar"));
35
+
36
36
  var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
37
37
 
38
38
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
@@ -47,7 +47,11 @@ var _icon = require("@twreporter/react-components/lib/icon");
47
47
 
48
48
  var _hook = require("@twreporter/react-components/lib/hook");
49
49
 
50
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
50
+ var _rwd = require("@twreporter/react-components/lib/rwd");
51
+
52
+ var _split = _interopRequireDefault(require("lodash/split"));
53
+
54
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
51
55
 
52
56
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
53
57
 
@@ -69,6 +73,9 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
69
73
 
70
74
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
71
75
 
76
+ var _ = {
77
+ split: _split["default"]
78
+ };
72
79
  var narrowHeaderHeight = 65;
73
80
  var channelHeight = 50;
74
81
  var animation = {
@@ -87,43 +94,49 @@ var zIndex = {
87
94
  var channelSlideIn = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(", "px);opacity:0;}to{transform:translateY(0);opacity:1;}"], -channelHeight);
88
95
  var channelSlideOut = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(0);}to{transform:translateY(", "px);}"], -channelHeight);
89
96
  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
97
 
92
98
  var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
93
99
  displayName: "header__HeaderContainer",
94
100
  componentId: "sc-1krza7i-0"
95
- })(["width:100%;background-color:", ";transform:translateY( ", " );transition:transform 300ms ", ";"], function (props) {
101
+ })(["width:100%;background-color:", ";transform:translateY( ", " );transition:transform 300ms ", ";", ""], function (props) {
96
102
  return props.bgColor;
97
103
  }, function (props) {
98
104
  return props.hideHeader ? "".concat(-narrowHeaderHeight, "px") : '0';
99
105
  }, function (props) {
100
106
  return props.hideHeader ? 'ease-in' : 'ease-out';
101
- });
107
+ }, _mediaQuery["default"].mobileOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n "])), function (props) {
108
+ return props.forceShowOnMobile ? 'transform: translateY(0);' : '';
109
+ }));
102
110
 
103
111
  var HeaderSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
104
112
  displayName: "header__HeaderSection",
105
113
  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 "]))));
114
+ })(["display:flex;flex-direction:column;margin:auto;z-index:", ";", " ", " ", " ", ""], zIndex.header, _mediaQuery["default"].hdOnly(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 1280px;\n "]))), _mediaQuery["default"].desktopOnly(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: 0 48px;\n "]))), _mediaQuery["default"].tabletOnly(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: 0 32px;\n "]))), _mediaQuery["default"].mobileOnly(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding: 0 24px;\n "]))));
107
115
 
108
116
  var LogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
109
117
  displayName: "header__LogoContainer",
110
118
  componentId: "sc-1krza7i-2"
111
- })(["display:flex;align-items:center;margin-right:16px;"]);
119
+ })(["display:flex;align-items:center;margin-right:16px;a{display:flex;}"]);
120
+
121
+ var MobileLogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
122
+ displayName: "header__MobileLogoContainer",
123
+ componentId: "sc-1krza7i-3"
124
+ })(["display:flex;align-items:center;img{height:21px;}"]);
112
125
 
113
126
  var HideWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
114
127
  displayName: "header__HideWhenNarrow",
115
- componentId: "sc-1krza7i-3"
128
+ componentId: "sc-1krza7i-4"
116
129
  })([""]);
117
130
 
118
131
  var ShowWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
119
132
  displayName: "header__ShowWhenNarrow",
120
- componentId: "sc-1krza7i-4"
133
+ componentId: "sc-1krza7i-5"
121
134
  })([""]);
122
135
 
123
136
  var TopRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
124
137
  displayName: "header__TopRow",
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) {
138
+ componentId: "sc-1krza7i-6"
139
+ })(["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) {
127
140
  return props.toUseNarrow ? '16px' : '24px';
128
141
  }, zIndex.topRow, function (props) {
129
142
  return props.topRowBgColor;
@@ -145,11 +158,11 @@ var TopRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
145
158
  return props.toUseNarrow ? '24px' : '32px';
146
159
  }, animation.step3Duration, function (props) {
147
160
  return props.toUseNarrow ? animation.step3Delay : 0;
148
- });
161
+ }, _mediaQuery["default"].tabletAndBelow(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 16px 0;\n "]))));
149
162
 
150
163
  var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["default"]).withConfig({
151
164
  displayName: "header__StyledDivider",
152
- componentId: "sc-1krza7i-6"
165
+ componentId: "sc-1krza7i-7"
153
166
  })(["opacity:", ";transition:opacity ", ";transition-delay:", ";"], function (props) {
154
167
  return props.toUseNarrow ? '0' : '1';
155
168
  }, animation.step2Duration, function (props) {
@@ -158,42 +171,57 @@ var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["def
158
171
 
159
172
  var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
160
173
  displayName: "header__IconContainer",
161
- componentId: "sc-1krza7i-7"
174
+ componentId: "sc-1krza7i-8"
162
175
  })(["margin-left:24px;"]);
163
176
 
164
177
  var FlexGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
165
178
  displayName: "header__FlexGroup",
166
- componentId: "sc-1krza7i-8"
179
+ componentId: "sc-1krza7i-9"
167
180
  })(["display:flex;align-items:center;"]);
168
181
 
169
182
  var ChannelContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
170
183
  displayName: "header__ChannelContainer",
171
- componentId: "sc-1krza7i-9"
184
+ componentId: "sc-1krza7i-10"
172
185
  })(["z-index:", ";", ""], zIndex.channel, ChannelEffect);
173
186
 
174
187
  var HamburgerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
175
188
  displayName: "header__HamburgerContainer",
176
- componentId: "sc-1krza7i-10"
189
+ componentId: "sc-1krza7i-11"
177
190
  })(["z-index:", ";position:absolute;top:0;left:-", ";transition:transform 300ms ease-in-out;transform:translateX( ", " );", " ", ""], zIndex.hamburger, _hamburgerMenu.MENU_WIDTH.desktop, function (props) {
178
191
  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) {
192
+ }, _mediaQuery["default"].tabletOnly(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n left: -", ";\n transform: translateX(", ");\n "])), _hamburgerMenu.MENU_WIDTH.tablet, function (props) {
180
193
  return props.showHamburger ? _hamburgerMenu.MENU_WIDTH.tablet : 0;
181
- }), HamburgerEffect);
194
+ }), _mediaQuery["default"].mobileOnly(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n left: 0;\n transform: none;\n opacity: ", ";\n "])), function (props) {
195
+ return props.showHamburger ? 1 : 0;
196
+ }));
197
+
198
+ var TabBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
199
+ displayName: "header__TabBarContainer",
200
+ componentId: "sc-1krza7i-12"
201
+ })(["position:fixed;bottom:env(safe-area-inset-bottom,0);left:0;width:100%;"]);
202
+
203
+ var HideOnArticle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
204
+ displayName: "header__HideOnArticle",
205
+ componentId: "sc-1krza7i-13"
206
+ })(["", ""], function (props) {
207
+ return props.isOnArticlePage ? 'display: none;' : '';
208
+ });
182
209
 
183
- var Header = function Header(_ref) {
184
- var _ref$pathname = _ref.pathname,
185
- pathname = _ref$pathname === void 0 ? '' : _ref$pathname,
186
- _ref$actions = _ref.actions,
187
- actions = _ref$actions === void 0 ? [] : _ref$actions,
188
- _ref$hbActions = _ref.hbActions,
189
- hbActions = _ref$hbActions === void 0 ? [] : _ref$hbActions;
210
+ var ShowOnArticle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
211
+ displayName: "header__ShowOnArticle",
212
+ componentId: "sc-1krza7i-14"
213
+ })(["", " margin-right:16px;"], function (props) {
214
+ return props.isOnArticlePage ? '' : 'display: none;';
215
+ });
190
216
 
217
+ var Header = function Header() {
191
218
  var _useContext = (0, _react.useContext)(_headerContext["default"]),
192
219
  releaseBranch = _useContext.releaseBranch,
193
220
  isLinkExternal = _useContext.isLinkExternal,
194
221
  theme = _useContext.theme,
195
222
  toUseNarrow = _useContext.toUseNarrow,
196
- hideHeader = _useContext.hideHeader;
223
+ hideHeader = _useContext.hideHeader,
224
+ pathname = _useContext.pathname;
197
225
 
198
226
  var _useState = (0, _react.useState)(false),
199
227
  _useState2 = _slicedToArray(_useState, 2),
@@ -221,10 +249,29 @@ var Header = function Header(_ref) {
221
249
  };
222
250
 
223
251
  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, {
252
+ var contextValue = {
253
+ toggleHamburger: toggleHamburger,
254
+ closeHamburgerMenu: closeHamburger,
255
+ isHamburgerMenuOpen: showHamburger
256
+ };
257
+ var isOnArticlePage = _.split(pathname, '/')[1] === 'a';
258
+
259
+ var BackToPrevIcon = /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
260
+ direction: "left",
261
+ releaseBranch: releaseBranch
262
+ });
263
+
264
+ var gotoPrev = function gotoPrev() {
265
+ if ((0, _links.checkReferrer)(document.referrer, releaseBranch)) {
266
+ // go to previous page when referer is twreporter site
267
+ window.history.back();
268
+ } else {
269
+ // go to home page when referer is not twreporter site
270
+ window.location.href = '/';
271
+ }
272
+ };
273
+
274
+ var DesktopHeaderJSX = /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
228
275
  toUseNarrow: toUseNarrow,
229
276
  topRowBgColor: topRowBgColor
230
277
  }, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(ShowWhenNarrow, null, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
@@ -234,9 +281,7 @@ var Header = function Header(_ref) {
234
281
  })), /*#__PURE__*/_react["default"].createElement(LogoContainer, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], logoLink, /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
235
282
  type: logoType,
236
283
  releaseBranch: releaseBranch
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"], {
238
- actions: actions
239
- })), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons["default"], null)))), /*#__PURE__*/_react["default"].createElement(StyledDivider, {
284
+ }))), /*#__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.DesktopHeaderAction, null)), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons["default"], null)))), /*#__PURE__*/_react["default"].createElement(StyledDivider, {
240
285
  toUseNarrow: toUseNarrow
241
286
  }), /*#__PURE__*/_react["default"].createElement(ChannelContainer, null, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
242
287
  "in": !toUseNarrow,
@@ -249,7 +294,29 @@ var Header = function Header(_ref) {
249
294
  unmountOnExit: true
250
295
  }, /*#__PURE__*/_react["default"].createElement(_channels["default"], {
251
296
  onClickHambuger: toggleHamburger
252
- }))))), /*#__PURE__*/_react["default"].createElement(HamburgerContainer, {
297
+ }))));
298
+
299
+ var MobileHeaderJSX = /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
300
+ toUseNarrow: toUseNarrow,
301
+ topRowBgColor: topRowBgColor
302
+ }, /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(ShowOnArticle, {
303
+ isOnArticlePage: isOnArticlePage
304
+ }, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
305
+ iconComponent: BackToPrevIcon,
306
+ theme: theme,
307
+ onClick: gotoPrev
308
+ })), /*#__PURE__*/_react["default"].createElement(MobileLogoContainer, null, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], logoLink, /*#__PURE__*/_react["default"].createElement(_logo.LogoHeader, {
309
+ type: logoType,
310
+ releaseBranch: releaseBranch
311
+ })))), /*#__PURE__*/_react["default"].createElement(FlexGroup, null, /*#__PURE__*/_react["default"].createElement(_actionButton.MobileHeaderAction, null), /*#__PURE__*/_react["default"].createElement(IconContainer, null, /*#__PURE__*/_react["default"].createElement(_icons.MobileIcons, null)))));
312
+
313
+ return /*#__PURE__*/_react["default"].createElement(_headerContext.HamburgerContext.Provider, {
314
+ value: contextValue
315
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
316
+ bgColor: bgColor,
317
+ hideHeader: hideHeader,
318
+ forceShowOnMobile: showHamburger
319
+ }, /*#__PURE__*/_react["default"].createElement(_rwd.DesktopAndAbove, null, DesktopHeaderJSX), /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndBelow, null, MobileHeaderJSX)), /*#__PURE__*/_react["default"].createElement(HamburgerContainer, {
253
320
  ref: ref,
254
321
  showHamburger: showHamburger
255
322
  }, /*#__PURE__*/_react["default"].createElement(_CSSTransition["default"], {
@@ -261,16 +328,12 @@ var Header = function Header(_ref) {
261
328
  exit: 300
262
329
  },
263
330
  unmountOnExit: true
264
- }, /*#__PURE__*/_react["default"].createElement(_hamburgerMenu2["default"], {
265
- actions: hbActions,
266
- handleClose: closeHamburger
267
- }))));
331
+ }, /*#__PURE__*/_react["default"].createElement(_hamburgerMenu2["default"], null))), /*#__PURE__*/_react["default"].createElement(_rwd.TabletAndBelow, null, /*#__PURE__*/_react["default"].createElement(HideOnArticle, {
332
+ isOnArticlePage: isOnArticlePage
333
+ }, /*#__PURE__*/_react["default"].createElement(TabBarContainer, null, /*#__PURE__*/_react["default"].createElement(_tabBar["default"], {
334
+ toggleHamburger: toggleHamburger
335
+ })))));
268
336
  };
269
337
 
270
- Header.propTypes = {
271
- pathname: _propTypes["default"].string,
272
- actions: _propTypes["default"].array,
273
- hbActions: _propTypes["default"].array
274
- };
275
338
  var _default = Header;
276
339
  exports["default"] = _default;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.desktop = exports["default"] = void 0;
6
+ exports.universal = exports["default"] = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -18,8 +18,9 @@ var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
 
20
20
  /* eslint-disable react/prop-types */
21
+ // @twerporter
21
22
  var _default = {
22
- title: 'Header/Desktop',
23
+ title: 'Header/Universal',
23
24
  component: _header["default"],
24
25
  argTypes: {
25
26
  toUseNarrow: {
@@ -34,40 +35,40 @@ var _default = {
34
35
  type: 'boolean'
35
36
  }
36
37
  },
38
+ isAuthed: {
39
+ defaultValue: false,
40
+ control: {
41
+ type: 'boolean'
42
+ }
43
+ },
37
44
  theme: _theme.THEME_STORYBOOK_ARG_TYPE,
38
45
  releaseBranch: _releaseBranch.BRANCH_STORYBOOK_ARG_TYPE
39
46
  }
40
47
  };
41
48
  exports["default"] = _default;
42
- var defaultActions = [{
43
- key: 'newsLetter'
44
- }, {
45
- key: 'support'
46
- }];
47
49
 
48
- var desktop = function desktop(props) {
50
+ var universal = function universal(props) {
49
51
  var theme = props.theme,
50
52
  releaseBranch = props.releaseBranch,
51
53
  toUseNarrow = props.toUseNarrow,
52
- hideHeader = props.hideHeader;
54
+ hideHeader = props.hideHeader,
55
+ isAuthed = props.isAuthed;
53
56
  var context = {
54
57
  theme: theme,
55
58
  releaseBranch: releaseBranch,
56
59
  toUseNarrow: toUseNarrow,
57
60
  hideHeader: hideHeader,
61
+ isAuthed: isAuthed,
58
62
  isLinkExternal: true
59
63
  };
60
64
  return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
61
65
  value: context
62
- }, /*#__PURE__*/_react["default"].createElement(_header["default"], {
63
- actions: defaultActions,
64
- hbActions: defaultActions
65
- }));
66
+ }, /*#__PURE__*/_react["default"].createElement(_header["default"], null));
66
67
  };
67
68
 
68
- exports.desktop = desktop;
69
- desktop.parameters = {
69
+ exports.universal = universal;
70
+ universal.parameters = {
70
71
  controls: {
71
- exclude: ['pathname', 'actions', 'hbActions']
72
+ exclude: ['pathname']
72
73
  }
73
74
  };