@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
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.channelTypes = exports.channelDropDownType = exports.channelLinkType = exports.channelOrder = exports.channelLabels = exports.channelPathnames = exports.channelKeys = void 0;
7
+
8
+ var _channelPathnames, _channelLabels, _channelTypes;
9
+
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+
12
+ var channelKeys = {
13
+ reviews: 'reviews',
14
+ topics: 'topics',
15
+ photography: 'photography',
16
+ infographic: 'infographic',
17
+ categories: 'categories'
18
+ };
19
+ exports.channelKeys = channelKeys;
20
+ var channelPathnames = (_channelPathnames = {}, _defineProperty(_channelPathnames, channelKeys.reviews, '/categories/reviews'), _defineProperty(_channelPathnames, channelKeys.topics, '/topics'), _defineProperty(_channelPathnames, channelKeys.photography, '/photography'), _defineProperty(_channelPathnames, channelKeys.infographic, '/categories/infographic'), _defineProperty(_channelPathnames, channelKeys.categories, '/#categories'), _channelPathnames);
21
+ exports.channelPathnames = channelPathnames;
22
+ var channelLabels = (_channelLabels = {}, _defineProperty(_channelLabels, channelKeys.reviews, '評論'), _defineProperty(_channelLabels, channelKeys.topics, '專題'), _defineProperty(_channelLabels, channelKeys.photography, '攝影'), _defineProperty(_channelLabels, channelKeys.infographic, '多媒體'), _defineProperty(_channelLabels, channelKeys.categories, '議題'), _channelLabels);
23
+ exports.channelLabels = channelLabels;
24
+ var channelOrder = [channelKeys.reviews, channelKeys.topics, channelKeys.photography, channelKeys.infographic, channelKeys.categories];
25
+ exports.channelOrder = channelOrder;
26
+ var channelLinkType = 'link';
27
+ exports.channelLinkType = channelLinkType;
28
+ var channelDropDownType = 'drop-down';
29
+ exports.channelDropDownType = channelDropDownType;
30
+ var channelTypes = (_channelTypes = {}, _defineProperty(_channelTypes, channelKeys.reviews, channelLinkType), _defineProperty(_channelTypes, channelKeys.topics, channelLinkType), _defineProperty(_channelTypes, channelKeys.photography, channelLinkType), _defineProperty(_channelTypes, channelKeys.infographic, channelLinkType), _defineProperty(_channelTypes, channelKeys.categories, channelDropDownType), _channelTypes);
31
+ exports.channelTypes = channelTypes;
32
+ var _default = {
33
+ channelDropDownType: channelDropDownType,
34
+ channelKeys: channelKeys,
35
+ channelLinkType: channelLinkType,
36
+ channelLabels: channelLabels,
37
+ channelOrder: channelOrder,
38
+ channelPathnames: channelPathnames,
39
+ channelTypes: channelTypes
40
+ };
41
+ exports["default"] = _default;
@@ -3,39 +3,72 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = exports.channelTypes = exports.channelDropDownType = exports.channelLinkType = exports.channelOrder = exports.channelLabels = exports.channelPathnames = exports.channelKeys = void 0;
6
+ exports["default"] = exports.CHANNEL_ORDER = exports.CHANNEL_DROPDOWN = exports.CHANNEL_TYPE = exports.CHANNEL_DROPDOWN_TYPE = exports.CHANNEL_LINK_TYPE = exports.CHANNEL_LABEL = exports.CHANNEL_PATH = exports.CHANNEL_KEY = void 0;
7
7
 
8
- var _channelPathnames, _channelLabels, _channelTypes;
8
+ var _infogram = require("@twreporter/core/lib/constants/infogram");
9
+
10
+ var _categorySet = require("@twreporter/core/lib/constants/category-set");
11
+
12
+ var _CHANNEL_PATH, _CHANNEL_LABEL, _CHANNEL_TYPE, _CHANNEL_DROPDOWN;
9
13
 
10
14
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
15
 
12
- var channelKeys = {
13
- reviews: 'reviews',
14
- topics: 'topics',
16
+ var channelKey = {
17
+ latest: 'latest',
18
+ topic: 'topic',
19
+ category: 'category',
20
+ opinion: 'opinion',
21
+ column: 'column',
22
+ humanStory: 'human-story',
15
23
  photography: 'photography',
16
- infographic: 'infographic',
17
- categories: 'categories'
24
+ podcast: 'podcast',
25
+ kidsReporter: 'kids-reporter',
26
+ infographic: 'infographic'
18
27
  };
19
- exports.channelKeys = channelKeys;
20
- var channelPathnames = (_channelPathnames = {}, _defineProperty(_channelPathnames, channelKeys.reviews, '/categories/reviews'), _defineProperty(_channelPathnames, channelKeys.topics, '/topics'), _defineProperty(_channelPathnames, channelKeys.photography, '/photography'), _defineProperty(_channelPathnames, channelKeys.infographic, '/categories/infographic'), _defineProperty(_channelPathnames, channelKeys.categories, '/#categories'), _channelPathnames);
21
- exports.channelPathnames = channelPathnames;
22
- var channelLabels = (_channelLabels = {}, _defineProperty(_channelLabels, channelKeys.reviews, '評論'), _defineProperty(_channelLabels, channelKeys.topics, '專題'), _defineProperty(_channelLabels, channelKeys.photography, '攝影'), _defineProperty(_channelLabels, channelKeys.infographic, '多媒體'), _defineProperty(_channelLabels, channelKeys.categories, '議題'), _channelLabels);
23
- exports.channelLabels = channelLabels;
24
- var channelOrder = [channelKeys.reviews, channelKeys.topics, channelKeys.photography, channelKeys.infographic, channelKeys.categories];
25
- exports.channelOrder = channelOrder;
28
+ var CHANNEL_KEY = channelKey; // external links are in external-links.js file
29
+
30
+ exports.CHANNEL_KEY = CHANNEL_KEY;
31
+ var CHANNEL_PATH = (_CHANNEL_PATH = {}, _defineProperty(_CHANNEL_PATH, channelKey.latest, '/categories/latest'), _defineProperty(_CHANNEL_PATH, channelKey.topic, '/topics'), _defineProperty(_CHANNEL_PATH, channelKey.humanStory, '/tags/58db34a30f56b40d001ae6a6'), _defineProperty(_CHANNEL_PATH, channelKey.photography, '/photography'), _defineProperty(_CHANNEL_PATH, channelKey.infographic, "/tags/".concat(_infogram.INFOGRAM_ID)), _CHANNEL_PATH);
32
+ exports.CHANNEL_PATH = CHANNEL_PATH;
33
+ var CHANNEL_LABEL = (_CHANNEL_LABEL = {}, _defineProperty(_CHANNEL_LABEL, channelKey.latest, '最新'), _defineProperty(_CHANNEL_LABEL, channelKey.topic, '深度專題'), _defineProperty(_CHANNEL_LABEL, channelKey.category, '議題'), _defineProperty(_CHANNEL_LABEL, channelKey.opinion, '評論'), _defineProperty(_CHANNEL_LABEL, channelKey.column, '專欄'), _defineProperty(_CHANNEL_LABEL, channelKey.humanStory, '人物故事'), _defineProperty(_CHANNEL_LABEL, channelKey.photography, '影像'), _defineProperty(_CHANNEL_LABEL, channelKey.podcast, 'Podcast'), _defineProperty(_CHANNEL_LABEL, channelKey.kidsReporter, '少年報導者'), _defineProperty(_CHANNEL_LABEL, channelKey.infographic, '數位敘事'), _CHANNEL_LABEL);
34
+ exports.CHANNEL_LABEL = CHANNEL_LABEL;
26
35
  var channelLinkType = 'link';
27
- exports.channelLinkType = channelLinkType;
28
36
  var channelDropDownType = 'drop-down';
29
- exports.channelDropDownType = channelDropDownType;
30
- var channelTypes = (_channelTypes = {}, _defineProperty(_channelTypes, channelKeys.reviews, channelLinkType), _defineProperty(_channelTypes, channelKeys.topics, channelLinkType), _defineProperty(_channelTypes, channelKeys.photography, channelLinkType), _defineProperty(_channelTypes, channelKeys.infographic, channelLinkType), _defineProperty(_channelTypes, channelKeys.categories, channelDropDownType), _channelTypes);
31
- exports.channelTypes = channelTypes;
37
+ var CHANNEL_LINK_TYPE = channelLinkType;
38
+ exports.CHANNEL_LINK_TYPE = CHANNEL_LINK_TYPE;
39
+ var CHANNEL_DROPDOWN_TYPE = channelDropDownType;
40
+ exports.CHANNEL_DROPDOWN_TYPE = CHANNEL_DROPDOWN_TYPE;
41
+ var CHANNEL_TYPE = (_CHANNEL_TYPE = {}, _defineProperty(_CHANNEL_TYPE, channelKey.latest, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.topic, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.category, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.opinion, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.column, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.humanStory, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.photography, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.podcast, channelDropDownType), _defineProperty(_CHANNEL_TYPE, channelKey.kidsReporter, channelLinkType), _defineProperty(_CHANNEL_TYPE, channelKey.infographic, channelLinkType), _CHANNEL_TYPE);
42
+ exports.CHANNEL_TYPE = CHANNEL_TYPE;
43
+ var CHANNEL_DROPDOWN = (_CHANNEL_DROPDOWN = {}, _defineProperty(_CHANNEL_DROPDOWN, channelKey.opinion, [{
44
+ type: 'subcategory',
45
+ key: _categorySet.SUBCATEGORY_PATH.bookReview
46
+ }, {
47
+ type: 'subcategory',
48
+ key: _categorySet.SUBCATEGORY_PATH.letter
49
+ }, {
50
+ type: 'subcategory',
51
+ key: _categorySet.SUBCATEGORY_PATH.all
52
+ }]), _defineProperty(_CHANNEL_DROPDOWN, channelKey.podcast, [{
53
+ type: 'path',
54
+ label: '關於報導者 Podcast',
55
+ path: '/a/podcast-list'
56
+ }, {
57
+ type: 'subcategory',
58
+ key: _categorySet.SUBCATEGORY_PATH.theRealStory
59
+ }, {
60
+ type: 'subcategory',
61
+ key: _categorySet.SUBCATEGORY_PATH.onTheGround
62
+ }]), _CHANNEL_DROPDOWN);
63
+ exports.CHANNEL_DROPDOWN = CHANNEL_DROPDOWN;
64
+ var CHANNEL_ORDER = [channelKey.latest, 'divider', channelKey.topic, channelKey.category, channelKey.opinion, channelKey.humanStory, 'divider', channelKey.photography, channelKey.podcast, channelKey.kidsReporter, channelKey.infographic, 'divider'];
65
+ exports.CHANNEL_ORDER = CHANNEL_ORDER;
32
66
  var _default = {
33
- channelDropDownType: channelDropDownType,
34
- channelKeys: channelKeys,
35
- channelLinkType: channelLinkType,
36
- channelLabels: channelLabels,
37
- channelOrder: channelOrder,
38
- channelPathnames: channelPathnames,
39
- channelTypes: channelTypes
67
+ CHANNEL_LINK_TYPE: CHANNEL_LINK_TYPE,
68
+ CHANNEL_DROPDOWN_TYPE: CHANNEL_DROPDOWN_TYPE,
69
+ CHANNEL_PATH: CHANNEL_PATH,
70
+ CHANNEL_LABEL: CHANNEL_LABEL,
71
+ CHANNEL_TYPE: CHANNEL_TYPE,
72
+ CHANNEL_ORDER: CHANNEL_ORDER
40
73
  };
41
74
  exports["default"] = _default;
@@ -7,7 +7,13 @@ exports["default"] = void 0;
7
7
  var links = {
8
8
  monthlyDonation: 'https://www.twreporter.org/donation/period',
9
9
  newsLetter: 'https://twreporter.us14.list-manage.com/subscribe/post?u=4da5a7d3b98dbc9fdad009e7e&id=e0eb0c8c32',
10
- onceDonation: 'https://www.twreporter.org/donation/one-time'
10
+ onceDonation: 'https://www.twreporter.org/donation/one-time',
11
+ openLab: 'https://medium.com/twreporter',
12
+ facebook: 'https://www.facebook.com/twreporter/',
13
+ instagram: 'https://www.instagram.com/twreporter/',
14
+ twitter: 'https://twitter.com/tw_reporter_org',
15
+ youtube: 'https://www.youtube.com/c/TwreporterOrg',
16
+ kidsReporter: 'https://kids.twreporter.org/'
11
17
  };
12
18
  var _default = links;
13
19
  exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FOOTER_ORDER = exports.FOOTER_LABEL = exports.FOOTER_PATH = exports.FOOTER_KEY = void 0;
7
+
8
+ var _FOOTER_PATH, _FOOTER_LABEL;
9
+
10
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
11
+
12
+ var footerKey = {
13
+ aboutUs: 'about-us',
14
+ influenceReport: 'influence-report',
15
+ openLab: 'open-lab'
16
+ };
17
+ var FOOTER_KEY = footerKey;
18
+ exports.FOOTER_KEY = FOOTER_KEY;
19
+ var FOOTER_PATH = (_FOOTER_PATH = {}, _defineProperty(_FOOTER_PATH, footerKey.aboutUs, '/about-us'), _defineProperty(_FOOTER_PATH, footerKey.influenceReport, '/a/impact-and-annual-report'), _FOOTER_PATH);
20
+ exports.FOOTER_PATH = FOOTER_PATH;
21
+ var FOOTER_LABEL = (_FOOTER_LABEL = {}, _defineProperty(_FOOTER_LABEL, footerKey.aboutUs, '關於我們'), _defineProperty(_FOOTER_LABEL, footerKey.influenceReport, '影響力報告'), _defineProperty(_FOOTER_LABEL, footerKey.openLab, '報導者開放實驗室'), _FOOTER_LABEL);
22
+ exports.FOOTER_LABEL = FOOTER_LABEL;
23
+ var FOOTER_ORDER = [footerKey.aboutUs, footerKey.influenceReport, footerKey.openLab];
24
+ exports.FOOTER_ORDER = FOOTER_ORDER;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MENU_WIDTH = void 0;
7
+ var MENU_WIDTH = {
8
+ hd: '280px',
9
+ desktop: '280px',
10
+ tablet: '320px',
11
+ mobile: '100vw'
12
+ };
13
+ exports.MENU_WIDTH = MENU_WIDTH;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _theme = _interopRequireDefault(require("./theme"));
11
+
12
+ var _propTypes2 = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
13
+
14
+ var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ // @twreporter
19
+ var themePropTypes = _propTypes["default"].oneOf([_theme["default"].normal, _theme["default"].transparent, _theme["default"].photography, _theme["default"].index]);
20
+
21
+ var contextPropTypes = {
22
+ theme: themePropTypes,
23
+ releaseBranch: _propTypes2["default"].releaseBranch,
24
+ isLinkExternal: _propTypes["default"].bool,
25
+ isAuthed: _propTypes["default"].bool
26
+ };
27
+ var contextDefaultProps = {
28
+ theme: _theme["default"].normal,
29
+ releaseBranch: _releaseBranch["default"].master,
30
+ isLinkExternal: false,
31
+ isAuthed: false
32
+ };
33
+ var linkPropTypes = {
34
+ to: _propTypes["default"].string.isRequired,
35
+ isExternal: _propTypes["default"].bool.isRequired
36
+ };
37
+ var _default = {
38
+ context: {
39
+ propTypes: contextPropTypes,
40
+ defaultProps: contextDefaultProps
41
+ },
42
+ link: {
43
+ propTypes: linkPropTypes
44
+ }
45
+ };
46
+ exports["default"] = _default;
@@ -3,30 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.LINK_PROP = exports.HAMBURGER_CONTEXT_PROP = exports.CONTEXT_PROP = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
- var _theme = _interopRequireDefault(require("./theme"));
10
+ var _releaseBranch = require("@twreporter/core/lib/constants/release-branch");
11
11
 
12
- var _propTypes2 = _interopRequireDefault(require("@twreporter/core/lib/constants/prop-types"));
13
-
14
- var _releaseBranch = _interopRequireDefault(require("@twreporter/core/lib/constants/release-branch"));
12
+ var _theme = require("@twreporter/core/lib/constants/theme");
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
15
 
18
16
  // @twreporter
19
- var themePropTypes = _propTypes["default"].oneOf([_theme["default"].normal, _theme["default"].transparent, _theme["default"].photography, _theme["default"].index]);
20
-
21
17
  var contextPropTypes = {
22
- theme: themePropTypes,
23
- releaseBranch: _propTypes2["default"].releaseBranch,
18
+ theme: _theme.THEME_PROP_TYPES,
19
+ releaseBranch: _releaseBranch.BRANCH_PROP_TYPES,
24
20
  isLinkExternal: _propTypes["default"].bool,
25
21
  isAuthed: _propTypes["default"].bool
26
22
  };
27
23
  var contextDefaultProps = {
28
- theme: _theme["default"].normal,
29
- releaseBranch: _releaseBranch["default"].master,
24
+ theme: _theme.THEME.normal,
25
+ releaseBranch: _releaseBranch.BRANCH.master,
30
26
  isLinkExternal: false,
31
27
  isAuthed: false
32
28
  };
@@ -34,13 +30,23 @@ var linkPropTypes = {
34
30
  to: _propTypes["default"].string.isRequired,
35
31
  isExternal: _propTypes["default"].bool.isRequired
36
32
  };
37
- var _default = {
38
- context: {
39
- propTypes: contextPropTypes,
40
- defaultProps: contextDefaultProps
41
- },
42
- link: {
43
- propTypes: linkPropTypes
44
- }
33
+ var hamburgerContextPropTypes = {
34
+ closeHamburgerMenu: _propTypes["default"].func
35
+ };
36
+ var hamburgerContextDefaultProps = {
37
+ closeHamburgerMenu: function closeHamburgerMenu() {}
38
+ };
39
+ var CONTEXT_PROP = {
40
+ propTypes: contextPropTypes,
41
+ defaultProps: contextDefaultProps
42
+ };
43
+ exports.CONTEXT_PROP = CONTEXT_PROP;
44
+ var HAMBURGER_CONTEXT_PROP = {
45
+ propTypes: hamburgerContextPropTypes,
46
+ defaultProps: hamburgerContextDefaultProps
47
+ };
48
+ exports.HAMBURGER_CONTEXT_PROP = HAMBURGER_CONTEXT_PROP;
49
+ var LINK_PROP = {
50
+ propTypes: linkPropTypes
45
51
  };
46
- exports["default"] = _default;
52
+ exports.LINK_PROP = LINK_PROP;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SOCIAL_MEDIA_ORDER = exports.SOCIAL_MEDIA_KEY = void 0;
7
+ var socialMediaKey = {
8
+ facebook: 'facebook',
9
+ instagram: 'instagram',
10
+ twitter: 'twitter',
11
+ youtube: 'youtube'
12
+ };
13
+ var SOCIAL_MEDIA_KEY = socialMediaKey;
14
+ exports.SOCIAL_MEDIA_KEY = SOCIAL_MEDIA_KEY;
15
+ var SOCIAL_MEDIA_ORDER = [socialMediaKey.facebook, socialMediaKey.instagram, socialMediaKey.twitter, socialMediaKey.youtube];
16
+ exports.SOCIAL_MEDIA_ORDER = SOCIAL_MEDIA_ORDER;
@@ -17,17 +17,17 @@ var _reactRedux = require("react-redux");
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
22
  var _categories = require("../constants/categories");
23
23
 
24
- var _channels = require("../constants/channels");
24
+ var _channelsOld = require("../constants/channels-old");
25
25
 
26
26
  var _actionsOld = require("../constants/actions-old");
27
27
 
28
28
  var _services = require("../constants/services");
29
29
 
30
- var _propTypes2 = _interopRequireDefault(require("../constants/prop-types"));
30
+ var _propTypesOld = _interopRequireDefault(require("../constants/prop-types-old"));
31
31
 
32
32
  var _headerOld = _interopRequireDefault(require("../components/header-old"));
33
33
 
@@ -256,13 +256,13 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
256
256
  }, {
257
257
  key: "__prepareChannelProps",
258
258
  value: function __prepareChannelProps(releaseBranch, isLinkExternal) {
259
- var channelProps = _.map(_channels.channelOrder, function (key) {
259
+ var channelProps = _.map(_channelsOld.channelOrder, function (key) {
260
260
  return {
261
261
  key: key,
262
- label: _channels.channelLabels[key],
263
- type: _channels.channelTypes[key],
264
- pathname: _channels.channelPathnames[key],
265
- link: _links["default"].getChannelLinks(isLinkExternal, releaseBranch)[key]
262
+ label: _channelsOld.channelLabels[key],
263
+ type: _channelsOld.channelTypes[key],
264
+ pathname: _channelsOld.channelPathnames[key],
265
+ link: _linksOld["default"].getChannelLinks(isLinkExternal, releaseBranch)[key]
266
266
  };
267
267
  });
268
268
 
@@ -276,7 +276,7 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
276
276
  key: key,
277
277
  label: _categories.categoryLabels[key],
278
278
  pathname: _categories.categoryPathnames[key],
279
- link: _links["default"].getCategoryLinks(isLinkExternal, releaseBranch)[key]
279
+ link: _linksOld["default"].getCategoryLinks(isLinkExternal, releaseBranch)[key]
280
280
  };
281
281
  });
282
282
  }
@@ -368,11 +368,11 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
368
368
  return Container;
369
369
  }(_react["default"].PureComponent);
370
370
 
371
- _defineProperty(Container, "defaultProps", _objectSpread(_objectSpread({}, _propTypes2["default"].context.defaultProps), {}, {
371
+ _defineProperty(Container, "defaultProps", _objectSpread(_objectSpread({}, _propTypesOld["default"].context.defaultProps), {}, {
372
372
  pathname: ''
373
373
  }));
374
374
 
375
- _defineProperty(Container, "propTypes", _objectSpread(_objectSpread({}, _propTypes2["default"].context.propTypes), {}, {
375
+ _defineProperty(Container, "propTypes", _objectSpread(_objectSpread({}, _propTypesOld["default"].context.propTypes), {}, {
376
376
  pathname: _propTypes["default"].string
377
377
  }));
378
378
 
@@ -17,21 +17,19 @@ var _reactRedux = require("react-redux");
17
17
 
18
18
  var _headerContext = _interopRequireDefault(require("../contexts/header-context"));
19
19
 
20
- var _actionsOld = require("../constants/actions-old");
20
+ var _actions = require("../constants/actions");
21
21
 
22
- var _propTypes2 = _interopRequireDefault(require("../constants/prop-types"));
22
+ var _propTypes2 = require("../constants/prop-types");
23
23
 
24
24
  var _header = _interopRequireDefault(require("../components/header"));
25
25
 
26
- var _mediaQuery = _interopRequireDefault(require("@twreporter/core/lib/utils/media-query"));
27
-
28
26
  var _get = _interopRequireDefault(require("lodash/get"));
29
27
 
30
28
  var _map = _interopRequireDefault(require("lodash/map"));
31
29
 
32
- var _excluded = ["releaseBranch", "isAuthed", "isLinkExternal", "theme"];
30
+ var _reduce = _interopRequireDefault(require("lodash/reduce"));
33
31
 
34
- var _templateObject;
32
+ var _excluded = ["releaseBranch", "isAuthed", "isLinkExternal", "theme"];
35
33
 
36
34
  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
35
 
@@ -71,21 +69,20 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
71
69
 
72
70
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
73
71
 
74
- function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
75
-
76
72
  var _ = {
77
73
  get: _get["default"],
78
- map: _map["default"]
74
+ map: _map["default"],
75
+ reduce: _reduce["default"]
79
76
  };
80
77
  var HIDE_HEADER_THRESHOLD = 8;
81
78
  var TRANSFORM_HEADER_THRESHOLD = 40;
82
79
  var TRANSFORM_TIMEOUT = 800;
83
80
  var stickyTop = /*#__PURE__*/(0, _styledComponents.css)(["position:sticky;top:0;z-index:1000;"]);
84
81
 
85
- var DesktopAndAbove = /*#__PURE__*/_styledComponents["default"].div.withConfig({
86
- displayName: "header__DesktopAndAbove",
82
+ var HeaderContainer = /*#__PURE__*/_styledComponents["default"].div.withConfig({
83
+ displayName: "header__HeaderContainer",
87
84
  componentId: "narage-0"
88
- })(["display:none;", ""], _mediaQuery["default"].desktopAndAbove(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: block;\n ", "\n "])), stickyTop));
85
+ })(["", ""], stickyTop);
89
86
 
90
87
  var Container = /*#__PURE__*/function (_React$PureComponent) {
91
88
  _inherits(Container, _React$PureComponent);
@@ -213,34 +210,14 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
213
210
  }, {
214
211
  key: "__prepareActionProps",
215
212
  value: function __prepareActionProps() {
216
- var isActive = _actionsOld.actionActive;
217
-
218
- var mobileActionProps = _.map(_actionsOld.actionOrder.mobile, function (key) {
219
- return {
220
- key: key
221
- };
222
- });
223
-
224
- var desktopAndTabletActionProps = _.map(_actionsOld.actionOrder.desktop, function (key) {
225
- return {
226
- key: key
227
- };
228
- });
229
-
230
- var narrowActionProps = _.map(_actionsOld.actionOrder.desktop, function (key) {
231
- return {
232
- key: key,
233
- active: isActive.narrow[key]
234
- };
235
- });
236
-
237
- return {
238
- mobile: mobileActionProps,
239
- tablet: desktopAndTabletActionProps,
240
- hamburger: desktopAndTabletActionProps,
241
- desktop: desktopAndTabletActionProps,
242
- narrow: narrowActionProps
243
- };
213
+ return _.reduce(_actions.ACTION_ORDER, function (res, value, key) {
214
+ res[key] = _.map(value, function (itemKey) {
215
+ return {
216
+ key: itemKey
217
+ };
218
+ });
219
+ return res;
220
+ }, {});
244
221
  }
245
222
  }, {
246
223
  key: "render",
@@ -268,8 +245,10 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
268
245
 
269
246
  return /*#__PURE__*/_react["default"].createElement(_headerContext["default"].Provider, {
270
247
  value: contextValue
271
- }, /*#__PURE__*/_react["default"].createElement(DesktopAndAbove, null, /*#__PURE__*/_react["default"].createElement(_header["default"], _extends({
272
- actions: actionProps.desktop
248
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, /*#__PURE__*/_react["default"].createElement(_header["default"], _extends({
249
+ actions: actionProps.desktop,
250
+ mobileActions: actionProps.mobile,
251
+ hbActions: actionProps.hamburger
273
252
  }, passThrough))));
274
253
  }
275
254
  }]);
@@ -277,11 +256,11 @@ var Container = /*#__PURE__*/function (_React$PureComponent) {
277
256
  return Container;
278
257
  }(_react["default"].PureComponent);
279
258
 
280
- _defineProperty(Container, "defaultProps", _objectSpread(_objectSpread({}, _propTypes2["default"].context.defaultProps), {}, {
259
+ _defineProperty(Container, "defaultProps", _objectSpread(_objectSpread({}, _propTypes2.CONTEXT_PROP.defaultProps), {}, {
281
260
  pathname: ''
282
261
  }));
283
262
 
284
- _defineProperty(Container, "propTypes", _objectSpread(_objectSpread({}, _propTypes2["default"].context.propTypes), {}, {
263
+ _defineProperty(Container, "propTypes", _objectSpread(_objectSpread({}, _propTypes2.CONTEXT_PROP.propTypes), {}, {
285
264
  pathname: _propTypes["default"].string
286
265
  }));
287
266
 
@@ -3,15 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports["default"] = exports.HamburgerContext = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = require("react");
9
9
 
10
- var _propTypes = _interopRequireDefault(require("../constants/prop-types"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
-
14
- var HeaderContext = /*#__PURE__*/_react["default"].createContext(_propTypes["default"].context.defaultProps);
10
+ var _propTypes = require("../constants/prop-types");
15
11
 
12
+ var HeaderContext = /*#__PURE__*/(0, _react.createContext)(_propTypes.CONTEXT_PROP);
13
+ var HamburgerContext = /*#__PURE__*/(0, _react.createContext)(_propTypes.HAMBURGER_CONTEXT_PROP);
14
+ exports.HamburgerContext = HamburgerContext;
16
15
  var _default = HeaderContext;
17
16
  exports["default"] = _default;
@@ -19,7 +19,7 @@ var _index = _interopRequireDefault(require("./reducers/index"));
19
19
 
20
20
  var _reduxThunk = _interopRequireDefault(require("redux-thunk"));
21
21
 
22
- var _propTypes2 = _interopRequireDefault(require("./constants/prop-types"));
22
+ var _propTypes2 = require("./constants/prop-types");
23
23
 
24
24
  var _reactRedux = require("react-redux");
25
25
 
@@ -96,15 +96,15 @@ var StandaloneHeader = /*#__PURE__*/function (_React$PureComponent) {
96
96
  exports["default"] = StandaloneHeader;
97
97
 
98
98
  _defineProperty(StandaloneHeader, "propTypes", {
99
- theme: _propTypes2["default"].context.propTypes.theme,
100
- releaseBranch: _propTypes2["default"].context.propTypes.releaseBranch,
101
- isAuthed: _propTypes2["default"].context.propTypes.isAuthed,
99
+ theme: _propTypes2.CONTEXT_PROP.propTypes.theme,
100
+ releaseBranch: _propTypes2.CONTEXT_PROP.propTypes.releaseBranch,
101
+ isAuthed: _propTypes2.CONTEXT_PROP.propTypes.isAuthed,
102
102
  pathname: _propTypes["default"].string
103
103
  });
104
104
 
105
105
  _defineProperty(StandaloneHeader, "defaultProps", {
106
- theme: _propTypes2["default"].context.defaultProps.theme,
107
- releaseBranch: _propTypes2["default"].context.defaultProps.releaseBranch,
108
- isAuthed: _propTypes2["default"].context.defaultProps.isAuthed,
106
+ theme: _propTypes2.CONTEXT_PROP.defaultProps.theme,
107
+ releaseBranch: _propTypes2.CONTEXT_PROP.defaultProps.releaseBranch,
108
+ isAuthed: _propTypes2.CONTEXT_PROP.defaultProps.isAuthed,
109
109
  pathname: ''
110
110
  });