@twreporter/universal-header 3.0.2 → 3.0.3-rc.1

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 (52) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/actions/auth.js +9 -25
  3. package/lib/actions/error-action-creators.js +6 -20
  4. package/lib/components/action-button-item.js +41 -71
  5. package/lib/components/action-button-item.stories.js +7 -24
  6. package/lib/components/action-button.js +19 -46
  7. package/lib/components/channels.js +16 -52
  8. package/lib/components/channels.stories.js +4 -13
  9. package/lib/components/customized-link.js +3 -16
  10. package/lib/components/drop-down-menu.js +10 -52
  11. package/lib/components/hamburger-footer.js +20 -59
  12. package/lib/components/hamburger-footer.stories.js +5 -21
  13. package/lib/components/hamburger-menu-item.js +36 -75
  14. package/lib/components/hamburger-menu-item.stories.js +17 -48
  15. package/lib/components/hamburger-menu.js +41 -125
  16. package/lib/components/hamburger-menu.stories.js +4 -16
  17. package/lib/components/header.js +28 -100
  18. package/lib/components/header.stories.js +7 -16
  19. package/lib/components/icons.js +27 -86
  20. package/lib/components/icons.stories.js +5 -17
  21. package/lib/components/slogan.js +7 -24
  22. package/lib/components/slogan.stories.js +3 -12
  23. package/lib/components/tab-bar.js +21 -48
  24. package/lib/components/tab-bar.stories.js +4 -16
  25. package/lib/constants/action-item-types.js +13 -36
  26. package/lib/constants/action-types.js +2 -3
  27. package/lib/constants/actions.js +9 -13
  28. package/lib/constants/categories.js +5 -9
  29. package/lib/constants/channels.js +16 -27
  30. package/lib/constants/colors.js +2 -3
  31. package/lib/constants/external-links.js +1 -2
  32. package/lib/constants/fonts.js +2 -5
  33. package/lib/constants/footer.js +11 -18
  34. package/lib/constants/hamburger-menu.js +2 -3
  35. package/lib/constants/prop-types.js +5 -12
  36. package/lib/constants/slogan.js +1 -2
  37. package/lib/constants/social-media.js +2 -4
  38. package/lib/constants/theme.js +2 -3
  39. package/lib/containers/header.js +108 -200
  40. package/lib/contexts/header-context.js +2 -7
  41. package/lib/index.js +3 -9
  42. package/lib/reducers/auth.js +2 -13
  43. package/lib/reducers/index.js +1 -6
  44. package/lib/standalone-header.js +14 -45
  45. package/lib/storybook/constants/index.js +2 -8
  46. package/lib/storybook/utils/get-enum-arg.js +2 -5
  47. package/lib/utils/animations.js +2 -9
  48. package/lib/utils/icon.js +4 -83
  49. package/lib/utils/jwt.js +3 -10
  50. package/lib/utils/links.js +10 -55
  51. package/lib/utils/theme.js +8 -42
  52. package/package.json +7 -6
@@ -1,88 +1,53 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
10
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
-
16
11
  var _CSSTransition = _interopRequireDefault(require("react-transition-group/CSSTransition"));
17
-
18
12
  var _headerContext = _interopRequireWildcard(require("../contexts/header-context"));
19
-
20
13
  var _links = require("../utils/links");
21
-
22
14
  var _theme = require("../utils/theme");
23
-
24
15
  var _theme2 = _interopRequireDefault(require("../constants/theme"));
25
-
26
16
  var _hamburgerMenu = require("../constants/hamburger-menu");
27
-
28
17
  var _channels = _interopRequireDefault(require("./channels"));
29
-
30
18
  var _actionButton = require("./action-button");
31
-
32
19
  var _icons = _interopRequireWildcard(require("./icons"));
33
-
34
20
  var _slogan = _interopRequireDefault(require("./slogan"));
35
-
36
21
  var _hamburgerMenu2 = _interopRequireDefault(require("./hamburger-menu"));
37
-
38
22
  var _tabBar = _interopRequireDefault(require("./tab-bar"));
39
-
40
23
  var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
41
-
42
24
  var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
43
-
44
25
  var _divider = _interopRequireDefault(require("@twreporter/react-components/lib/divider"));
45
-
46
26
  var _logo = require("@twreporter/react-components/lib/logo");
47
-
48
27
  var _button = require("@twreporter/react-components/lib/button");
49
-
50
28
  var _icon = require("@twreporter/react-components/lib/icon");
51
-
52
29
  var _hook = require("@twreporter/react-components/lib/hook");
53
-
54
30
  var _rwd = require("@twreporter/react-components/lib/rwd");
55
-
56
31
  var _entityPath = _interopRequireDefault(require("@twreporter/core/lib/constants/entity-path"));
57
-
58
32
  var _some = _interopRequireDefault(require("lodash/some"));
59
-
60
33
  var _includes = _interopRequireDefault(require("lodash/includes"));
61
-
62
34
  var _throttle = _interopRequireDefault(require("lodash/throttle"));
63
-
64
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
65
-
35
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11; // context
36
+ // utils
37
+ // constants
38
+ // components
39
+ // @twreporter
40
+ // lodash
66
41
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
67
-
68
- 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); }
69
-
70
- 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; }
71
-
42
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
43
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
72
44
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
73
-
74
45
  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."); }
75
-
76
46
  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); }
77
-
78
- 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; }
79
-
80
- 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; }
81
-
47
+ 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; }
48
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
82
49
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
83
-
84
50
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
85
-
86
51
  var _ = {
87
52
  some: _some["default"],
88
53
  includes: _includes["default"],
@@ -108,7 +73,6 @@ var zIndex = {
108
73
  var channelSlideIn = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(", "px);opacity:0;}to{transform:translateY(0);opacity:1;}"], -channelHeight);
109
74
  var channelSlideOut = /*#__PURE__*/(0, _styledComponents.keyframes)(["from{transform:translateY(0);}to{transform:translateY(", "px);}"], -channelHeight);
110
75
  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);
111
-
112
76
  var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
113
77
  displayName: "header__HeaderContainer",
114
78
  componentId: "sc-1krza7i-0"
@@ -123,32 +87,26 @@ var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
123
87
  }, _mediaQuery["default"].mobileOnly(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n "])), function (props) {
124
88
  return props.$forceShowOnMobile ? 'transform: translateY(0);' : '';
125
89
  }));
126
-
127
90
  var HeaderSection = /*#__PURE__*/_styledComponents["default"].div.withConfig({
128
91
  displayName: "header__HeaderSection",
129
92
  componentId: "sc-1krza7i-1"
130
93
  })(["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 "]))));
131
-
132
94
  var LogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
133
95
  displayName: "header__LogoContainer",
134
96
  componentId: "sc-1krza7i-2"
135
97
  })(["display:flex;align-items:center;margin-right:16px;a{display:flex;}"]);
136
-
137
98
  var MobileLogoContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
138
99
  displayName: "header__MobileLogoContainer",
139
100
  componentId: "sc-1krza7i-3"
140
101
  })(["display:flex;align-items:center;img{height:21px;}a{display:flex;}"]);
141
-
142
102
  var HideWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
143
103
  displayName: "header__HideWhenNarrow",
144
104
  componentId: "sc-1krza7i-4"
145
105
  })([""]);
146
-
147
106
  var ShowWhenNarrow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
148
107
  displayName: "header__ShowWhenNarrow",
149
108
  componentId: "sc-1krza7i-5"
150
109
  })([""]);
151
-
152
110
  var TopRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
153
111
  displayName: "header__TopRow",
154
112
  componentId: "sc-1krza7i-6"
@@ -175,7 +133,6 @@ var TopRow = /*#__PURE__*/_styledComponents["default"].div.withConfig({
175
133
  }, animation.step3Duration, function (props) {
176
134
  return props.$toUseNarrow ? animation.step3Delay : 0;
177
135
  }, _mediaQuery["default"].tabletAndBelow(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 16px 0;\n "]))));
178
-
179
136
  var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["default"]).withConfig({
180
137
  displayName: "header__StyledDivider",
181
138
  componentId: "sc-1krza7i-7"
@@ -184,22 +141,18 @@ var StyledDivider = /*#__PURE__*/(0, _styledComponents["default"])(_divider["def
184
141
  }, animation.step2Duration, function (props) {
185
142
  return props.$toUseNarrow ? animation.step2Delay : 0;
186
143
  });
187
-
188
144
  var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
189
145
  displayName: "header__IconContainer",
190
146
  componentId: "sc-1krza7i-8"
191
147
  })(["margin-left:24px;", ""], _mediaQuery["default"].mobileOnly(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n margin-left: 16px;\n "]))));
192
-
193
148
  var FlexGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
194
149
  displayName: "header__FlexGroup",
195
150
  componentId: "sc-1krza7i-9"
196
151
  })(["display:flex;align-items:center;"]);
197
-
198
152
  var ChannelContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
199
153
  displayName: "header__ChannelContainer",
200
154
  componentId: "sc-1krza7i-10"
201
155
  })(["z-index:", ";", ""], zIndex.channel, ChannelEffect);
202
-
203
156
  var HamburgerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
204
157
  displayName: "header__HamburgerContainer",
205
158
  componentId: "sc-1krza7i-11"
@@ -210,66 +163,54 @@ var HamburgerContainer = /*#__PURE__*/_styledComponents["default"].div.withConfi
210
163
  }), _mediaQuery["default"].mobileOnly(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n left: 0;\n transform: none;\n opacity: ", ";\n "])), function (props) {
211
164
  return props.$showHamburger ? 1 : 0;
212
165
  }));
213
-
214
166
  var TabBarContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
215
167
  displayName: "header__TabBarContainer",
216
168
  componentId: "sc-1krza7i-12"
217
169
  })(["position:fixed;bottom:0;left:0;width:100%;", " ", ""], _mediaQuery["default"].tabletOnly(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n z-index: ", ";\n "])), zIndex.tabBarTablet), _mediaQuery["default"].mobileOnly(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n z-index: ", ";\n "])), zIndex.tabBarMobile));
218
-
219
170
  var HideOnArticle = /*#__PURE__*/_styledComponents["default"].div.withConfig({
220
171
  displayName: "header__HideOnArticle",
221
172
  componentId: "sc-1krza7i-13"
222
173
  })(["", ""], function (props) {
223
174
  return props.$isOnArticlePage ? 'display: none;' : '';
224
175
  });
225
-
226
176
  var PrevButton = /*#__PURE__*/_styledComponents["default"].div.withConfig({
227
177
  displayName: "header__PrevButton",
228
178
  componentId: "sc-1krza7i-14"
229
179
  })(["", " margin-right:8px;padding:4px;transform:translateX(-8px);"], function (props) {
230
180
  return props.$isShow ? '' : 'display: none;';
231
181
  });
232
-
233
182
  var Header = function Header(_ref) {
234
183
  var _ref$hamburgerContext = _ref.hamburgerContext,
235
- hamburgerContext = _ref$hamburgerContext === void 0 ? {} : _ref$hamburgerContext;
236
-
184
+ hamburgerContext = _ref$hamburgerContext === void 0 ? {} : _ref$hamburgerContext;
237
185
  var _useContext = (0, _react.useContext)(_headerContext["default"]),
238
- releaseBranch = _useContext.releaseBranch,
239
- isLinkExternal = _useContext.isLinkExternal,
240
- theme = _useContext.theme,
241
- toUseNarrow = _useContext.toUseNarrow,
242
- hideHeader = _useContext.hideHeader,
243
- pathname = _useContext.pathname,
244
- referrerPath = _useContext.referrerPath;
245
-
186
+ releaseBranch = _useContext.releaseBranch,
187
+ isLinkExternal = _useContext.isLinkExternal,
188
+ theme = _useContext.theme,
189
+ toUseNarrow = _useContext.toUseNarrow,
190
+ hideHeader = _useContext.hideHeader,
191
+ pathname = _useContext.pathname,
192
+ referrerPath = _useContext.referrerPath;
246
193
  var _useState = (0, _react.useState)(false),
247
- _useState2 = _slicedToArray(_useState, 2),
248
- defaultShowHamburger = _useState2[0],
249
- setDefaultShowHamburger = _useState2[1];
250
-
194
+ _useState2 = _slicedToArray(_useState, 2),
195
+ defaultShowHamburger = _useState2[0],
196
+ setDefaultShowHamburger = _useState2[1];
251
197
  var showHamburger = (hamburgerContext === null || hamburgerContext === void 0 ? void 0 : hamburgerContext.showHamburger) || defaultShowHamburger;
252
198
  var setShowHamburger = (hamburgerContext === null || hamburgerContext === void 0 ? void 0 : hamburgerContext.setShowHamburger) || setDefaultShowHamburger;
253
199
  var logoLink = (0, _links.getLogoLink)(isLinkExternal, releaseBranch);
254
200
  var logoType = (0, _theme.selectLogoType)(theme);
255
-
256
201
  var HamburgerIcon = /*#__PURE__*/_react["default"].createElement(_icon.Hamburger, {
257
202
  releaseBranch: releaseBranch
258
203
  });
259
-
260
204
  var _selectHeaderTheme = (0, _theme.selectHeaderTheme)(theme),
261
- bgColor = _selectHeaderTheme.bgColor,
262
- topRowBgColor = _selectHeaderTheme.topRowBgColor;
263
-
205
+ bgColor = _selectHeaderTheme.bgColor,
206
+ topRowBgColor = _selectHeaderTheme.topRowBgColor;
264
207
  var toggleHamburger = function toggleHamburger(e) {
265
208
  e.stopPropagation();
266
209
  setShowHamburger(!showHamburger);
267
210
  };
268
-
269
211
  var closeHamburger = function closeHamburger() {
270
212
  return setShowHamburger(false);
271
213
  };
272
-
273
214
  var ref = (0, _hook.useOutsideClick)(closeHamburger);
274
215
  var contextValue = {
275
216
  toggleHamburger: toggleHamburger,
@@ -279,25 +220,19 @@ var Header = function Header(_ref) {
279
220
  (0, _react.useEffect)(function () {
280
221
  closeHamburger();
281
222
  }, [pathname]);
282
-
283
223
  var isOnArticlePage = _.includes(pathname, _entityPath["default"].article);
284
-
285
224
  var needPrevIconRoute = ["".concat(_entityPath["default"].account, "/donation-history"), "".concat(_entityPath["default"].account, "/email-subscription"), "".concat(_entityPath["default"].myReading, "/saved"), "".concat(_entityPath["default"].myReading, "/history")];
286
-
287
225
  var isOnNeedPrevIconPage = _.some(needPrevIconRoute, function (el) {
288
226
  return _.includes(pathname, el);
289
227
  });
290
-
291
228
  var _useState3 = (0, _react.useState)(0),
292
- _useState4 = _slicedToArray(_useState3, 2),
293
- currentClientWidth = _useState4[0],
294
- setCurrentClientWidth = _useState4[1];
295
-
229
+ _useState4 = _slicedToArray(_useState3, 2),
230
+ currentClientWidth = _useState4[0],
231
+ setCurrentClientWidth = _useState4[1];
296
232
  (0, _react.useEffect)(function () {
297
233
  var handleResize = _.throttle(function () {
298
234
  setCurrentClientWidth(document.body.clientWidth);
299
235
  });
300
-
301
236
  handleResize();
302
237
  window.addEventListener('resize', handleResize);
303
238
  return function () {
@@ -305,12 +240,10 @@ var Header = function Header(_ref) {
305
240
  };
306
241
  }, []);
307
242
  var showPrevIcon = isOnArticlePage || isOnNeedPrevIconPage && currentClientWidth < 768; // only show it on mobile
308
-
309
243
  var BackToPrevIcon = /*#__PURE__*/_react["default"].createElement(_icon.Arrow, {
310
244
  direction: "left",
311
245
  releaseBranch: releaseBranch
312
246
  });
313
-
314
247
  var gotoPrev = function gotoPrev() {
315
248
  if (referrerPath || (0, _links.checkReferrer)(document.referrer, releaseBranch)) {
316
249
  // go to previous page when referer is twreporter site
@@ -320,7 +253,6 @@ var Header = function Header(_ref) {
320
253
  window.location.href = '/';
321
254
  }
322
255
  };
323
-
324
256
  var DesktopHeaderJSX = /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
325
257
  $toUseNarrow: toUseNarrow,
326
258
  $topRowBgColor: topRowBgColor
@@ -345,7 +277,6 @@ var Header = function Header(_ref) {
345
277
  }, /*#__PURE__*/_react["default"].createElement(_channels["default"], {
346
278
  onClickHambuger: toggleHamburger
347
279
  }))));
348
-
349
280
  var MobileHeaderJSX = /*#__PURE__*/_react["default"].createElement(HeaderSection, null, /*#__PURE__*/_react["default"].createElement(TopRow, {
350
281
  $toUseNarrow: toUseNarrow,
351
282
  $topRowBgColor: topRowBgColor
@@ -359,7 +290,6 @@ var Header = function Header(_ref) {
359
290
  type: logoType,
360
291
  releaseBranch: releaseBranch
361
292
  })))), /*#__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)))));
362
-
363
293
  return /*#__PURE__*/_react["default"].createElement(_headerContext.HamburgerContext.Provider, {
364
294
  value: contextValue
365
295
  }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, {
@@ -385,9 +315,7 @@ var Header = function Header(_ref) {
385
315
  toggleHamburger: toggleHamburger
386
316
  })))));
387
317
  };
388
-
389
318
  Header.propTypes = {
390
319
  hamburgerContext: _propTypes["default"].object
391
320
  };
392
- var _default = Header;
393
- exports["default"] = _default;
321
+ var _default = exports["default"] = Header;
@@ -4,21 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.universal = exports["default"] = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _header = _interopRequireDefault(require("./header"));
11
-
12
9
  var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
13
-
14
10
  var _constants = require("../storybook/constants");
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
-
18
12
  /* eslint-disable react/prop-types */
19
-
20
13
  /* eslint react/display-name:0 */
21
- var _default = {
14
+ var _default = exports["default"] = {
22
15
  title: 'Header/Universal',
23
16
  component: _header["default"],
24
17
  argTypes: {
@@ -44,14 +37,13 @@ var _default = {
44
37
  releaseBranch: _constants.BRANCH_STORYBOOK_ARG_TYPE
45
38
  }
46
39
  };
47
- exports["default"] = _default;
48
- var universal = {
40
+ var universal = exports.universal = {
49
41
  render: function render(props) {
50
42
  var theme = props.theme,
51
- releaseBranch = props.releaseBranch,
52
- toUseNarrow = props.toUseNarrow,
53
- hideHeader = props.hideHeader,
54
- isAuthed = props.isAuthed;
43
+ releaseBranch = props.releaseBranch,
44
+ toUseNarrow = props.toUseNarrow,
45
+ hideHeader = props.hideHeader,
46
+ isAuthed = props.isAuthed;
55
47
  var context = {
56
48
  theme: theme,
57
49
  releaseBranch: releaseBranch,
@@ -69,5 +61,4 @@ var universal = {
69
61
  exclude: ['pathname']
70
62
  }
71
63
  }
72
- };
73
- exports.universal = universal;
64
+ };
@@ -1,76 +1,51 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = exports.MobileIcons = void 0;
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
10
  var _querystring = _interopRequireDefault(require("querystring"));
15
-
16
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
-
18
12
  var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
19
-
20
13
  var _links = require("../utils/links");
21
-
22
14
  var _customizedLink = _interopRequireDefault(require("@twreporter/react-components/lib/customized-link"));
23
-
24
15
  var _button = require("@twreporter/react-components/lib/button");
25
-
26
16
  var _icon = require("@twreporter/react-components/lib/icon");
27
-
28
17
  var _input = require("@twreporter/react-components/lib/input");
29
-
30
18
  var _hook = require("@twreporter/react-components/lib/hook");
31
-
32
19
  var _theme = require("@twreporter/core/lib/constants/theme");
33
-
34
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
-
36
- 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); }
37
-
38
- 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; }
39
-
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
40
23
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
41
-
42
24
  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."); }
43
-
44
25
  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); }
45
-
46
- 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; }
47
-
48
- 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; }
49
-
50
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
-
26
+ 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; }
27
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
28
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } // context
29
+ // utils
30
+ // @twreporter
52
31
  var IconsContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
53
32
  displayName: "icons__IconsContainer",
54
33
  componentId: "ay66zn-0"
55
34
  })(["display:flex;"]);
56
-
57
35
  var IconContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
58
36
  displayName: "icons__IconContainer",
59
37
  componentId: "ay66zn-1"
60
38
  })(["position:relative;margin-right:16px;&:last-child{margin-right:0;}a{display:flex;}"]);
61
-
62
39
  var Container = /*#__PURE__*/_styledComponents["default"].div.withConfig({
63
40
  displayName: "icons__Container",
64
41
  componentId: "ay66zn-2"
65
42
  })(["opacity:", ";transition:opacity 300ms ease;"], function (props) {
66
43
  return props.$isSearchOpened ? '0' : '1';
67
44
  });
68
-
69
45
  var LogContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
70
46
  displayName: "icons__LogContainer",
71
47
  componentId: "ay66zn-3"
72
48
  })(["display:flex;flex-direction:column;"]);
73
-
74
49
  var SearchContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
75
50
  displayName: "icons__SearchContainer",
76
51
  componentId: "ay66zn-4"
@@ -79,47 +54,36 @@ var SearchContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
79
54
  }, function (props) {
80
55
  return props.$isSearchOpened ? 999 : -1;
81
56
  });
82
-
83
57
  var MemberButtonType = {
84
58
  ICON: 'icon',
85
59
  TEXT: 'text'
86
60
  };
87
-
88
61
  var MemberIcon = function MemberIcon(_ref) {
89
62
  var _ref$memberButtonType = _ref.memberButtonType,
90
- memberButtonType = _ref$memberButtonType === void 0 ? MemberButtonType.ICON : _ref$memberButtonType,
91
- _ref$isForHambuger = _ref.isForHambuger,
92
- isForHambuger = _ref$isForHambuger === void 0 ? false : _ref$isForHambuger;
93
-
63
+ memberButtonType = _ref$memberButtonType === void 0 ? MemberButtonType.ICON : _ref$memberButtonType,
64
+ _ref$isForHambuger = _ref.isForHambuger,
65
+ isForHambuger = _ref$isForHambuger === void 0 ? false : _ref$isForHambuger;
94
66
  var _useContext = (0, _react.useContext)(_headerContext["default"]),
95
- releaseBranch = _useContext.releaseBranch,
96
- theme = _useContext.theme,
97
- isAuthed = _useContext.isAuthed,
98
- isLinkExternal = _useContext.isLinkExternal;
99
-
67
+ releaseBranch = _useContext.releaseBranch,
68
+ theme = _useContext.theme,
69
+ isAuthed = _useContext.isAuthed,
70
+ isLinkExternal = _useContext.isLinkExternal;
100
71
  var onClickIcon = function onClickIcon(e) {
101
72
  e.preventDefault();
102
-
103
73
  if (isAuthed) {
104
74
  window.location = (0, _links.getMemberLink)(isLinkExternal, releaseBranch).to;
105
75
  return;
106
76
  }
107
-
108
77
  var redirectURL = window.location.href;
109
-
110
78
  var query = _querystring["default"].stringify({
111
79
  destination: redirectURL
112
80
  });
113
-
114
81
  window.location = (0, _links.getLoginLink)(releaseBranch).to + '?' + query;
115
82
  };
116
-
117
83
  var Icon = /*#__PURE__*/_react["default"].createElement(_icon.Member, {
118
84
  releaseBranch: releaseBranch
119
85
  });
120
-
121
86
  var buttonTheme;
122
-
123
87
  if (isForHambuger) {
124
88
  if (theme === _theme.THEME.transparent) {
125
89
  buttonTheme = _theme.THEME.normal;
@@ -129,7 +93,6 @@ var MemberIcon = function MemberIcon(_ref) {
129
93
  } else {
130
94
  buttonTheme = theme;
131
95
  }
132
-
133
96
  var LoginButton = memberButtonType === MemberButtonType.ICON || isAuthed ? /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
134
97
  iconComponent: Icon,
135
98
  theme: buttonTheme
@@ -144,56 +107,43 @@ var MemberIcon = function MemberIcon(_ref) {
144
107
  onClick: onClickIcon
145
108
  }, LoginButton));
146
109
  };
147
-
148
110
  MemberIcon.propTypes = {
149
111
  memberButtonType: _propTypes["default"].oneOf(Object.values(MemberButtonType)),
150
112
  isForHambuger: _propTypes["default"].bool
151
113
  };
152
-
153
114
  var SearchIcon = function SearchIcon() {
154
115
  var _useState = (0, _react.useState)(false),
155
- _useState2 = _slicedToArray(_useState, 2),
156
- isSearchOpened = _useState2[0],
157
- setSearchOpened = _useState2[1];
158
-
116
+ _useState2 = _slicedToArray(_useState, 2),
117
+ isSearchOpened = _useState2[0],
118
+ setSearchOpened = _useState2[1];
159
119
  var _useContext2 = (0, _react.useContext)(_headerContext["default"]),
160
- isLinkExternal = _useContext2.isLinkExternal,
161
- releaseBranch = _useContext2.releaseBranch,
162
- theme = _useContext2.theme;
163
-
120
+ isLinkExternal = _useContext2.isLinkExternal,
121
+ releaseBranch = _useContext2.releaseBranch,
122
+ theme = _useContext2.theme;
164
123
  var closeSearchBox = function closeSearchBox() {
165
124
  setSearchOpened(false);
166
125
  };
167
-
168
126
  var handleClickSearch = function handleClickSearch(e) {
169
127
  e.preventDefault();
170
128
  setSearchOpened(true);
171
-
172
129
  if (!ref.current) {
173
130
  return;
174
131
  }
175
-
176
132
  var input = ref.current.getElementsByTagName('INPUT')[0];
177
-
178
133
  if (input) {
179
134
  input.focus();
180
135
  }
181
136
  };
182
-
183
137
  var onSearch = function onSearch(keywords) {
184
138
  setSearchOpened(false);
185
-
186
139
  if (!window) {
187
140
  return;
188
141
  }
189
-
190
142
  window.location = "".concat((0, _links.getSearchLink)(isLinkExternal, releaseBranch).to, "?q=").concat(keywords);
191
143
  };
192
-
193
144
  var Icon = /*#__PURE__*/_react["default"].createElement(_icon.Search, {
194
145
  releaseBranch: releaseBranch
195
146
  });
196
-
197
147
  var ref = (0, _hook.useOutsideClick)(closeSearchBox);
198
148
  return /*#__PURE__*/_react["default"].createElement(IconContainer, {
199
149
  ref: ref,
@@ -213,19 +163,15 @@ var SearchIcon = function SearchIcon() {
213
163
  onSearch: onSearch
214
164
  })));
215
165
  };
216
-
217
166
  var MyReadingIcon = function MyReadingIcon() {
218
167
  var _useContext3 = (0, _react.useContext)(_headerContext["default"]),
219
- releaseBranch = _useContext3.releaseBranch,
220
- isLinkExternal = _useContext3.isLinkExternal,
221
- theme = _useContext3.theme;
222
-
168
+ releaseBranch = _useContext3.releaseBranch,
169
+ isLinkExternal = _useContext3.isLinkExternal,
170
+ theme = _useContext3.theme;
223
171
  var link = (0, _links.getMyReadingLink)(isLinkExternal, releaseBranch);
224
-
225
172
  var Icon = /*#__PURE__*/_react["default"].createElement(_icon.KidStar, {
226
173
  releaseBranch: releaseBranch
227
174
  });
228
-
229
175
  return /*#__PURE__*/_react["default"].createElement(IconContainer, {
230
176
  key: "bookmark"
231
177
  }, /*#__PURE__*/_react["default"].createElement(_customizedLink["default"], link, /*#__PURE__*/_react["default"].createElement(_button.IconButton, {
@@ -233,23 +179,18 @@ var MyReadingIcon = function MyReadingIcon() {
233
179
  theme: theme
234
180
  })));
235
181
  };
236
-
237
182
  var Icons = function Icons() {
238
183
  return /*#__PURE__*/_react["default"].createElement(IconsContainer, null, /*#__PURE__*/_react["default"].createElement(SearchIcon, null), /*#__PURE__*/_react["default"].createElement(MyReadingIcon, null), /*#__PURE__*/_react["default"].createElement(MemberIcon, null));
239
184
  };
240
-
241
- var MobileIcons = function MobileIcons(_ref2) {
185
+ var MobileIcons = exports.MobileIcons = function MobileIcons(_ref2) {
242
186
  var _ref2$isForHambuger = _ref2.isForHambuger,
243
- isForHambuger = _ref2$isForHambuger === void 0 ? false : _ref2$isForHambuger;
187
+ isForHambuger = _ref2$isForHambuger === void 0 ? false : _ref2$isForHambuger;
244
188
  return /*#__PURE__*/_react["default"].createElement(IconsContainer, null, /*#__PURE__*/_react["default"].createElement(MemberIcon, {
245
189
  memberButtonType: MemberButtonType.TEXT,
246
190
  isForHambuger: isForHambuger
247
191
  }));
248
192
  };
249
-
250
- exports.MobileIcons = MobileIcons;
251
193
  MobileIcons.propTypes = {
252
194
  isForHambuger: _propTypes["default"].bool
253
195
  };
254
- var _default = Icons;
255
- exports["default"] = _default;
196
+ var _default = exports["default"] = Icons;