@mjhls/mjh-framework 1.0.603 → 1.0.604-hamMagazine-v6

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 (119) hide show
  1. package/README.md +172 -172
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/ADFloatingFooter.js +3 -3
  4. package/dist/cjs/AccordionPanel.js +1 -1
  5. package/dist/cjs/ArticleQueue.js +3 -3
  6. package/dist/cjs/Auth.js +12 -12
  7. package/dist/cjs/{BlockContent-77f81ffc.js → BlockContent-c2168db0.js} +1 -1
  8. package/dist/cjs/ConferenceArticleCard.js +16 -16
  9. package/dist/cjs/DeckContent.js +9 -9
  10. package/dist/cjs/DeckQueue.js +1 -1
  11. package/dist/cjs/EventsDeck.js +17 -17
  12. package/dist/cjs/ExternalResources.js +3 -3
  13. package/dist/cjs/Feature.js +1 -1
  14. package/dist/cjs/ForbesHero.js +1 -1
  15. package/dist/cjs/GridContent.js +2 -2
  16. package/dist/cjs/GridHero.js +1 -1
  17. package/dist/cjs/GroupDeck.js +5 -5
  18. package/dist/cjs/HamMagazine.js +215 -32
  19. package/dist/cjs/Hero.js +1 -1
  20. package/dist/cjs/HorizontalHero.js +1 -1
  21. package/dist/cjs/IssueContentDeck.js +1 -1
  22. package/dist/cjs/IssueDeck.js +1 -1
  23. package/dist/cjs/IssueLanding.js +31 -31
  24. package/dist/cjs/KMTracker.js +15 -15
  25. package/dist/cjs/MasterDeck.js +10 -10
  26. package/dist/cjs/NavMagazine.js +13 -14
  27. package/dist/cjs/NavNative.js +11 -12
  28. package/dist/cjs/OncliveHero.js +1 -1
  29. package/dist/cjs/OncliveLargeHero.js +1 -1
  30. package/dist/cjs/PartnerDetailListing.js +6 -6
  31. package/dist/cjs/PublicationDeck.js +2 -2
  32. package/dist/cjs/PublicationLanding.js +33 -33
  33. package/dist/cjs/QueueDeckExpanded.js +2 -2
  34. package/dist/cjs/RecentNews.js +1 -1
  35. package/dist/cjs/RelatedContent.js +29 -29
  36. package/dist/cjs/RelatedTopicsDropdown.js +10 -10
  37. package/dist/cjs/SideFooter.js +2 -2
  38. package/dist/cjs/SocialShare.js +5 -3
  39. package/dist/cjs/TaxonomyCard.js +2 -2
  40. package/dist/cjs/TemplateNormal.js +2 -3
  41. package/dist/cjs/ThumbnailCard.js +1 -1
  42. package/dist/cjs/Ustream.js +1 -1
  43. package/dist/cjs/VerticalHero.js +1 -1
  44. package/dist/cjs/VideoSeriesListing.js +2 -2
  45. package/dist/cjs/View.js +39 -33
  46. package/dist/cjs/YahooHero.js +1 -1
  47. package/dist/cjs/YoutubeGroup.js +5 -5
  48. package/dist/cjs/getRelatedArticle.js +5 -354
  49. package/dist/cjs/getSerializers.js +3 -3
  50. package/dist/cjs/{getTargeting-5db63100.js → getTargeting-5a0b8ee4.js} +11 -11
  51. package/dist/cjs/getTargeting.js +1 -1
  52. package/dist/cjs/{index-be0c82be.js → index-39beccb3.js} +2 -1
  53. package/dist/cjs/{index-f745a50a.js → index-af999dce.js} +448 -436
  54. package/dist/cjs/{index.esm-fbd1f7e9.js → index.esm-876ca9ff.js} +0 -5
  55. package/dist/cjs/{SocialNavFooter-9a07520f.js → index.esm-d1259b34.js} +8 -0
  56. package/dist/cjs/index.js +11 -11
  57. package/dist/cjs/{lodash-fc2922d0.js → lodash-7fd85bcf.js} +71 -22
  58. package/dist/cjs/urlFor.js +2 -2
  59. package/dist/esm/ADFloatingFooter.js +3 -3
  60. package/dist/esm/AccordionPanel.js +1 -1
  61. package/dist/esm/ArticleQueue.js +3 -3
  62. package/dist/esm/Auth.js +8 -8
  63. package/dist/esm/{BlockContent-e9b4ddcf.js → BlockContent-c409aca5.js} +1 -1
  64. package/dist/esm/ConferenceArticleCard.js +16 -16
  65. package/dist/esm/DeckContent.js +9 -9
  66. package/dist/esm/DeckQueue.js +1 -1
  67. package/dist/esm/EventsDeck.js +17 -17
  68. package/dist/esm/ExternalResources.js +3 -3
  69. package/dist/esm/Feature.js +1 -1
  70. package/dist/esm/ForbesHero.js +1 -1
  71. package/dist/esm/GridContent.js +2 -2
  72. package/dist/esm/GridHero.js +1 -1
  73. package/dist/esm/GroupDeck.js +5 -5
  74. package/dist/esm/HamMagazine.js +214 -31
  75. package/dist/esm/Hero.js +1 -1
  76. package/dist/esm/HorizontalHero.js +1 -1
  77. package/dist/esm/IssueContentDeck.js +1 -1
  78. package/dist/esm/IssueDeck.js +1 -1
  79. package/dist/esm/IssueLanding.js +31 -31
  80. package/dist/esm/KMTracker.js +15 -15
  81. package/dist/esm/MasterDeck.js +10 -10
  82. package/dist/esm/NavMagazine.js +12 -13
  83. package/dist/esm/NavNative.js +10 -11
  84. package/dist/esm/OncliveHero.js +1 -1
  85. package/dist/esm/OncliveLargeHero.js +1 -1
  86. package/dist/esm/PartnerDetailListing.js +4 -4
  87. package/dist/esm/PublicationDeck.js +2 -2
  88. package/dist/esm/PublicationLanding.js +33 -33
  89. package/dist/esm/QueueDeckExpanded.js +2 -2
  90. package/dist/esm/RecentNews.js +1 -1
  91. package/dist/esm/RelatedContent.js +29 -29
  92. package/dist/esm/RelatedTopicsDropdown.js +10 -10
  93. package/dist/esm/SideFooter.js +2 -2
  94. package/dist/esm/SocialShare.js +5 -3
  95. package/dist/esm/TaxonomyCard.js +2 -2
  96. package/dist/esm/TemplateNormal.js +2 -3
  97. package/dist/esm/ThumbnailCard.js +1 -1
  98. package/dist/esm/Ustream.js +1 -1
  99. package/dist/esm/VerticalHero.js +1 -1
  100. package/dist/esm/VideoSeriesListing.js +2 -2
  101. package/dist/esm/View.js +15 -9
  102. package/dist/esm/YahooHero.js +1 -1
  103. package/dist/esm/YoutubeGroup.js +5 -5
  104. package/dist/esm/getRelatedArticle.js +5 -354
  105. package/dist/esm/getSerializers.js +3 -3
  106. package/dist/esm/{getTargeting-36bcd238.js → getTargeting-962c9cf6.js} +9 -9
  107. package/dist/esm/getTargeting.js +1 -1
  108. package/dist/esm/{index-599efdf0.js → index-1c791baf.js} +448 -436
  109. package/dist/esm/{index-73819142.js → index-3849e3fe.js} +2 -1
  110. package/dist/esm/{SocialNavFooter-4fb16720.js → index.esm-73e847d2.js} +8 -1
  111. package/dist/esm/{index.esm-4b1d94b7.js → index.esm-85cb09e6.js} +1 -5
  112. package/dist/esm/index.js +10 -10
  113. package/dist/esm/{lodash-17fdfebb.js → lodash-ec8c6b48.js} +71 -22
  114. package/dist/esm/urlFor.js +2 -2
  115. package/package.json +107 -107
  116. package/dist/cjs/index-bd6c9f56.js +0 -211
  117. package/dist/cjs/index.esm-0e5c6a9e.js +0 -11
  118. package/dist/esm/index-db3bb315.js +0 -207
  119. package/dist/esm/index.esm-16536e81.js +0 -9
package/dist/cjs/View.js CHANGED
@@ -9,7 +9,7 @@ require('./_library-dd23b178.js');
9
9
  require('./_iter-detect-4d0352f8.js');
10
10
  var toConsumableArray = require('./toConsumableArray-bee80df5.js');
11
11
  require('./_object-pie-68c5bcbc.js');
12
- var _extends$1 = require('./extends-60837c34.js');
12
+ var _extends = require('./extends-60837c34.js');
13
13
  require('./_object-sap-5e74ba08.js');
14
14
  var inherits = require('./inherits-14962339.js');
15
15
  require('./web.dom.iterable-43c3e277.js');
@@ -28,7 +28,7 @@ require('./isSymbol-488934a7.js');
28
28
  require('./debounce-32e57002.js');
29
29
  var index_es = require('./index.es-9110add6.js');
30
30
  require('react-dom');
31
- require('./index-be0c82be.js');
31
+ require('./index-39beccb3.js');
32
32
  require('./index-fa0fb52c.js');
33
33
  var main = require('./main-88348b15.js');
34
34
  require('./entities-310b46ee.js');
@@ -38,12 +38,12 @@ var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
38
38
  require('./_set-species-4458e975.js');
39
39
  require('./beam-d22818d3.js');
40
40
  var AdSlot = require('./AdSlot.js');
41
- var BlockContent = require('./BlockContent-77f81ffc.js');
41
+ var BlockContent = require('./BlockContent-c2168db0.js');
42
42
  require('./smoothscroll-95231a70.js');
43
43
  require('./GroupDeck.js');
44
44
  require('react-bootstrap');
45
45
  var Button = _interopDefault(require('react-bootstrap/Button'));
46
- var getSerializers = require('./index-f745a50a.js');
46
+ var getSerializers = require('./index-af999dce.js');
47
47
  require('./util-f2c1b65b.js');
48
48
  require('./brightcove-react-player-loader.es-156bd4d6.js');
49
49
  require('react-bootstrap/Pagination');
@@ -56,10 +56,10 @@ var keys$1 = require('./keys-a586b7a0.js');
56
56
  require('react-bootstrap/Dropdown');
57
57
  var getKeywords = require('./getKeywords.js');
58
58
  var getSeriesDetail = require('./getSeriesDetail.js');
59
- require('./index-bd6c9f56.js');
60
- var getRelatedArticle = require('./getRelatedArticle.js');
59
+ require('nookies');
61
60
  var getQuery = require('./getQuery.js');
62
- var getTargeting = require('./getTargeting-5db63100.js');
61
+ var getRelatedArticle = require('./getRelatedArticle.js');
62
+ var getTargeting = require('./getTargeting-5a0b8ee4.js');
63
63
  var urlFor = require('./urlFor.js');
64
64
 
65
65
  var getArticleSummary = function getArticleSummary(article) {
@@ -210,7 +210,7 @@ function styleInject(css, ref) {
210
210
  }
211
211
  }
212
212
 
213
- var css = ".RelatedArticles-module_mediaContainer__10h9k {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n margin: 0 -1rem;\n}\n.RelatedArticles-module_mediaCard__3wQbn {\n margin: 0 1rem 1rem;\n width: calc(33% - 1rem);\n display: column;\n flex-direction: row;\n margin-bottom: 0.75rem;\n padding-bottom: 0.75rem;\n border-bottom: none;\n}\n.RelatedArticles-module_mediaCard__3wQbn:last-child {\n border-bottom: none;\n}\n.RelatedArticles-module_cardTitle__3P-Ib {\n font-weight: bold;\n color: #252525;\n margin-bottom: 0.25rem;\n font-size: 15px;\n}\n.RelatedArticles-module_authorListing__1EFg4 span.RelatedArticles-module_text-muted__3b0zX {\n color: #000;\n font-weight: bold;\n}\n.RelatedArticles-module_cardDate__1wOR5 {\n color: var(--dark);\n display: block;\n background: #fff !important;\n margin-bottom: 0;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 {\n display: block;\n text-align: center;\n margin-bottom: 0.5rem;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 img {\n height: 135px;\n width: 100%;\n object-fit: cover;\n object-position: center;\n}\n@media screen and (max-width: 1064px) {\n}\n@media screen and (max-width: 968px) {\n .RelatedArticles-module_mediaContainer__10h9k {\n flex-wrap: wrap;\n }\n .RelatedArticles-module_mediaCard__3wQbn {\n width: 100%;\n }\n .RelatedArticles-module_imgWrapper__5Jx_4 img {\n width: 100%;\n height: auto;\n\n max-height: 175px;\n object-fit: contain;\n margin-bottom: 1rem;\n }\n}\n";
213
+ var css = ".RelatedArticles-module_mediaContainer__10h9k {\r\n display: flex;\r\n flex-direction: row;\r\n flex-wrap: nowrap;\r\n margin: 0 -1rem;\r\n}\r\n.RelatedArticles-module_mediaCard__3wQbn {\r\n margin: 0 1rem 1rem;\r\n width: calc(33% - 1rem);\r\n display: column;\r\n flex-direction: row;\r\n margin-bottom: 0.75rem;\r\n padding-bottom: 0.75rem;\r\n border-bottom: none;\r\n}\r\n.RelatedArticles-module_mediaCard__3wQbn:last-child {\r\n border-bottom: none;\r\n}\r\n.RelatedArticles-module_cardTitle__3P-Ib {\r\n font-weight: bold;\r\n color: #252525;\r\n margin-bottom: 0.25rem;\r\n font-size: 15px;\r\n}\r\n.RelatedArticles-module_authorListing__1EFg4 span.RelatedArticles-module_text-muted__3b0zX {\r\n color: #000;\r\n font-weight: bold;\r\n}\r\n.RelatedArticles-module_cardDate__1wOR5 {\r\n color: var(--dark);\r\n display: block;\r\n background: #fff !important;\r\n margin-bottom: 0;\r\n}\r\n.RelatedArticles-module_imgWrapper__5Jx_4 {\r\n display: block;\r\n text-align: center;\r\n margin-bottom: 0.5rem;\r\n}\r\n.RelatedArticles-module_imgWrapper__5Jx_4 img {\r\n height: 135px;\r\n width: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n}\r\n@media screen and (max-width: 1064px) {\r\n}\r\n@media screen and (max-width: 968px) {\r\n .RelatedArticles-module_mediaContainer__10h9k {\r\n flex-wrap: wrap;\r\n }\r\n .RelatedArticles-module_mediaCard__3wQbn {\r\n width: 100%;\r\n }\r\n .RelatedArticles-module_imgWrapper__5Jx_4 img {\r\n width: 100%;\r\n height: auto;\r\n\r\n max-height: 175px;\r\n object-fit: contain;\r\n margin-bottom: 1rem;\r\n }\r\n}\r\n";
214
214
  var styles = { "mediaContainer": "RelatedArticles-module_mediaContainer__10h9k", "mediaCard": "RelatedArticles-module_mediaCard__3wQbn", "cardTitle": "RelatedArticles-module_cardTitle__3P-Ib", "authorListing": "RelatedArticles-module_authorListing__1EFg4", "text-muted": "RelatedArticles-module_text-muted__3b0zX", "cardDate": "RelatedArticles-module_cardDate__1wOR5", "imgWrapper": "RelatedArticles-module_imgWrapper__5Jx_4" };
215
215
  styleInject(css);
216
216
 
@@ -308,7 +308,11 @@ var Article = function Article(props) {
308
308
 
309
309
  var article = props.article,
310
310
  Ads = props.Ads,
311
- showRelatedArticles = props.showRelatedArticles;
311
+ showRelatedArticles = props.showRelatedArticles,
312
+ _props$hideFBShare = props.hideFBShare,
313
+ hideFBShare = _props$hideFBShare === undefined ? false : _props$hideFBShare,
314
+ _props$hidePinterestS = props.hidePinterestShare,
315
+ hidePinterestShare = _props$hidePinterestS === undefined ? false : _props$hidePinterestS;
312
316
  var client = props.client,
313
317
  pageview = props.pageview,
314
318
  videoAccountIDs = props.videoAccountIDs,
@@ -402,7 +406,7 @@ var Article = function Article(props) {
402
406
  };
403
407
  var renderAuthorBiography = function renderAuthorBiography(biography) {
404
408
  if (biography) {
405
- return React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
409
+ return React__default.createElement(BlockContent.BlockContent, _extends._extends({
406
410
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
407
411
  blocks: [biography]
408
412
  }, client.config()));
@@ -521,11 +525,11 @@ var Article = function Article(props) {
521
525
  var indexes = findIndex(body);
522
526
 
523
527
  if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
524
- payload = _extends$1._extends({}, payload, {
525
- contextualAD: _extends$1._extends({}, payload.contextualAD, {
528
+ payload = _extends._extends({}, payload, {
529
+ contextualAD: _extends._extends({}, payload.contextualAD, {
526
530
  slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
527
531
  }),
528
- contextualVideoAD: _extends$1._extends({}, payload.contextualVideoAD, {
532
+ contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
529
533
  slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
530
534
  })
531
535
  });
@@ -559,7 +563,7 @@ var Article = function Article(props) {
559
563
  return React__default.createElement(
560
564
  React__default.Fragment,
561
565
  null,
562
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
566
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
563
567
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
564
568
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, selectedIndex))),
565
569
  imageOptions: { w: 320, h: 240, fit: 'max' }
@@ -568,23 +572,23 @@ var Article = function Article(props) {
568
572
  React__default.createElement(
569
573
  'div',
570
574
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
571
- React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: checkIsAdFound }))
575
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: checkIsAdFound }))
572
576
  ),
573
577
  React__default.createElement('span', { className: 'clearfix' }),
574
578
  React__default.createElement(
575
579
  'div',
576
580
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
577
- React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
581
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
578
582
  ),
579
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
583
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
580
584
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false),
581
585
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(selectedIndex))),
582
586
  imageOptions: { w: 320, h: 240, fit: 'max' }
583
587
  }, client.config()))
584
588
  );
585
589
  } else if (indexes.length >= 2 && body.length >= 3 && payload.contextualAD && !payload.contextualVideoAD) {
586
- payload = _extends$1._extends({}, payload, {
587
- contextualAD: _extends$1._extends({}, payload.contextualAD, {
590
+ payload = _extends._extends({}, payload, {
591
+ contextualAD: _extends._extends({}, payload.contextualAD, {
588
592
  slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
589
593
  className: 'ADFluid',
590
594
  // Fetching new contextual targeting based on the current active article.
@@ -631,7 +635,7 @@ var Article = function Article(props) {
631
635
  return React__default.createElement(
632
636
  React__default.Fragment,
633
637
  null,
634
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
638
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
635
639
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
636
640
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex))),
637
641
  imageOptions: { w: 320, h: 240, fit: 'max' }
@@ -640,18 +644,18 @@ var Article = function Article(props) {
640
644
  (visibleFlag || queueData && queueData.length === 1 || !props.infiniteScroll) && React__default.createElement(
641
645
  'div',
642
646
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
643
- React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
647
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
644
648
  ),
645
649
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
646
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
650
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
647
651
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false),
648
652
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex))),
649
653
  imageOptions: { w: 320, h: 240, fit: 'max' }
650
654
  }, client.config()))
651
655
  );
652
656
  } else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
653
- payload = _extends$1._extends({}, payload, {
654
- contextualVideoAD: _extends$1._extends({}, payload.contextualVideoAD, {
657
+ payload = _extends._extends({}, payload, {
658
+ contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
655
659
  slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
656
660
  })
657
661
  });
@@ -674,7 +678,7 @@ var Article = function Article(props) {
674
678
  return React__default.createElement(
675
679
  React__default.Fragment,
676
680
  null,
677
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
681
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
678
682
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
679
683
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex2))),
680
684
  imageOptions: { w: 320, h: 240, fit: 'max' }
@@ -683,16 +687,16 @@ var Article = function Article(props) {
683
687
  React__default.createElement(
684
688
  'div',
685
689
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
686
- React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
690
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
687
691
  ),
688
- React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
692
+ React__default.createElement(BlockContent.BlockContent, _extends._extends({
689
693
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false),
690
694
  blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex2))),
691
695
  imageOptions: { w: 320, h: 240, fit: 'max' }
692
696
  }, client.config()))
693
697
  );
694
698
  } else {
695
- return React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
699
+ return React__default.createElement(BlockContent.BlockContent, _extends._extends({
696
700
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false),
697
701
  blocks: articleBody,
698
702
  imageOptions: { w: 320, h: 240, fit: 'max' }
@@ -854,7 +858,9 @@ var Article = function Article(props) {
854
858
  size: 32,
855
859
  siteName: siteName,
856
860
  twitterSiteName: twitterSiteName,
857
- disableMeta: true
861
+ disableMeta: true,
862
+ hidePinterest: hidePinterestShare,
863
+ hideFacebook: hideFBShare
858
864
  })
859
865
  )
860
866
  ),
@@ -1026,7 +1032,7 @@ var ArticleQueue = function ArticleQueue(props) {
1026
1032
 
1027
1033
 
1028
1034
  var firstArticle = function firstArticle() {
1029
- var article = _extends$1._Object$assign({}, props.article);
1035
+ var article = _extends._Object$assign({}, props.article);
1030
1036
  var targeting = getTargeting.getTargeting(props);
1031
1037
  article.Ads = Ads.getRightItems(targeting);
1032
1038
  return article;
@@ -1220,7 +1226,7 @@ var ArticleQueue = function ArticleQueue(props) {
1220
1226
  index_es.InfiniteScroll,
1221
1227
  { dataLength: queueData.length, next: loadmore, scrollThreshold: '60%', hasMore: true, style: { overflow: 'hidden' } },
1222
1228
  queueData.map(function (article, index) {
1223
- return React__default.createElement(Article, _extends$1._extends({
1229
+ return React__default.createElement(Article, _extends._extends({
1224
1230
  key: index
1225
1231
  }, props, {
1226
1232
  onChangeArticle: onChangeArticle,
@@ -1288,7 +1294,7 @@ var Articles = function Articles(props) {
1288
1294
  index: 0
1289
1295
  };
1290
1296
 
1291
- return React__default.createElement(ArticleQueue, _extends$1._extends((_extends2 = {
1297
+ return React__default.createElement(ArticleQueue, _extends._extends((_extends2 = {
1292
1298
  client: client,
1293
1299
  params: params,
1294
1300
  relatedArticleQuery: relatedArticleQuery,
@@ -1411,7 +1417,7 @@ var View = function View(props) {
1411
1417
  props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default.createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
1412
1418
  )
1413
1419
  ),
1414
- !needInfiniteScroll ? React__default.createElement(Article, _extends$1._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(Articles, _extends$1._extends({ infiniteScroll: true, showRelatedArticles: showRelatedArticles }, props))
1420
+ !needInfiniteScroll ? React__default.createElement(Article, _extends._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(Articles, _extends._extends({ infiniteScroll: true, showRelatedArticles: showRelatedArticles }, props))
1415
1421
  );
1416
1422
  };
1417
1423
 
@@ -11,7 +11,7 @@ var React__default = _interopDefault(React);
11
11
  require('prop-types');
12
12
  var moment = require('./moment-575fe24c.js');
13
13
  require('react-dom');
14
- var index$1 = require('./index-be0c82be.js');
14
+ var index$1 = require('./index-39beccb3.js');
15
15
  var index$2 = require('./index-fa0fb52c.js');
16
16
  var entities = require('./entities-310b46ee.js');
17
17
  require('./slicedToArray-8063ee51.js');
@@ -14,15 +14,15 @@ var React = require('react');
14
14
  var React__default = _interopDefault(React);
15
15
  require('prop-types');
16
16
  require('react-dom');
17
- var index$1 = require('./index-be0c82be.js');
17
+ var index$1 = require('./index-39beccb3.js');
18
18
  var index$2 = require('./index-fa0fb52c.js');
19
19
  var slicedToArray = require('./slicedToArray-8063ee51.js');
20
20
  var smoothscroll = require('./smoothscroll-95231a70.js');
21
21
 
22
- /*
23
- GROQ query -
24
- accepts an array of title, URL
25
- `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
22
+ /*
23
+ GROQ query -
24
+ accepts an array of title, URL
25
+ `https://img.youtube.com/vi/${getYouTubeId(vid.url)}/hqdefault.jpg`
26
26
  */
27
27
 
28
28
  var YoutubeGroup = function YoutubeGroup(props) {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
3
+ require('./_commonjsHelpers-06173234.js');
4
4
  require('./_to-object-329a650b.js');
5
5
  require('./core.get-iterator-method-41e87ec1.js');
6
6
  require('./_library-dd23b178.js');
@@ -8,358 +8,9 @@ require('./_iter-detect-4d0352f8.js');
8
8
  require('./web.dom.iterable-43c3e277.js');
9
9
  var asyncToGenerator = require('./asyncToGenerator-8e707718.js');
10
10
  require('./_set-species-4458e975.js');
11
- var index$4 = require('./index-bd6c9f56.js');
11
+ var nookies = require('nookies');
12
12
  var getQuery = require('./getQuery.js');
13
13
 
14
- var defaultParseOptions = {
15
- decodeValues: true,
16
- map: false,
17
- silent: false,
18
- };
19
-
20
- function isNonEmptyString(str) {
21
- return typeof str === "string" && !!str.trim();
22
- }
23
-
24
- function parseString(setCookieValue, options) {
25
- var parts = setCookieValue.split(";").filter(isNonEmptyString);
26
- var nameValue = parts.shift().split("=");
27
- var name = nameValue.shift();
28
- var value = nameValue.join("="); // everything after the first =, joined by a "=" if there was more than one part
29
-
30
- options = options
31
- ? Object.assign({}, defaultParseOptions, options)
32
- : defaultParseOptions;
33
-
34
- var cookie = {
35
- name: name, // grab everything before the first =
36
- value: options.decodeValues ? decodeURIComponent(value) : value, // decode cookie value
37
- };
38
-
39
- parts.forEach(function (part) {
40
- var sides = part.split("=");
41
- var key = sides.shift().trimLeft().toLowerCase();
42
- var value = sides.join("=");
43
- if (key === "expires") {
44
- cookie.expires = new Date(value);
45
- } else if (key === "max-age") {
46
- cookie.maxAge = parseInt(value, 10);
47
- } else if (key === "secure") {
48
- cookie.secure = true;
49
- } else if (key === "httponly") {
50
- cookie.httpOnly = true;
51
- } else if (key === "samesite") {
52
- cookie.sameSite = value;
53
- } else {
54
- cookie[key] = value;
55
- }
56
- });
57
-
58
- return cookie;
59
- }
60
-
61
- function parse(input, options) {
62
- options = options
63
- ? Object.assign({}, defaultParseOptions, options)
64
- : defaultParseOptions;
65
-
66
- if (!input) {
67
- if (!options.map) {
68
- return [];
69
- } else {
70
- return {};
71
- }
72
- }
73
-
74
- if (input.headers && input.headers["set-cookie"]) {
75
- // fast-path for node.js (which automatically normalizes header names to lower-case
76
- input = input.headers["set-cookie"];
77
- } else if (input.headers) {
78
- // slow-path for other environments - see #25
79
- var sch =
80
- input.headers[
81
- Object.keys(input.headers).find(function (key) {
82
- return key.toLowerCase() === "set-cookie";
83
- })
84
- ];
85
- // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36
86
- if (!sch && input.headers.cookie && !options.silent) {
87
- console.warn(
88
- "Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."
89
- );
90
- }
91
- input = sch;
92
- }
93
- if (!Array.isArray(input)) {
94
- input = [input];
95
- }
96
-
97
- options = options
98
- ? Object.assign({}, defaultParseOptions, options)
99
- : defaultParseOptions;
100
-
101
- if (!options.map) {
102
- return input.filter(isNonEmptyString).map(function (str) {
103
- return parseString(str, options);
104
- });
105
- } else {
106
- var cookies = {};
107
- return input.filter(isNonEmptyString).reduce(function (cookies, str) {
108
- var cookie = parseString(str, options);
109
- cookies[cookie.name] = cookie;
110
- return cookies;
111
- }, cookies);
112
- }
113
- }
114
-
115
- /*
116
- Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas
117
- that are within a single set-cookie field-value, such as in the Expires portion.
118
-
119
- This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2
120
- Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128
121
- React Native's fetch does this for *every* header, including set-cookie.
122
-
123
- Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25
124
- Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation
125
- */
126
- function splitCookiesString(cookiesString) {
127
- if (Array.isArray(cookiesString)) {
128
- return cookiesString;
129
- }
130
- if (typeof cookiesString !== "string") {
131
- return [];
132
- }
133
-
134
- var cookiesStrings = [];
135
- var pos = 0;
136
- var start;
137
- var ch;
138
- var lastComma;
139
- var nextStart;
140
- var cookiesSeparatorFound;
141
-
142
- function skipWhitespace() {
143
- while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) {
144
- pos += 1;
145
- }
146
- return pos < cookiesString.length;
147
- }
148
-
149
- function notSpecialChar() {
150
- ch = cookiesString.charAt(pos);
151
-
152
- return ch !== "=" && ch !== ";" && ch !== ",";
153
- }
154
-
155
- while (pos < cookiesString.length) {
156
- start = pos;
157
- cookiesSeparatorFound = false;
158
-
159
- while (skipWhitespace()) {
160
- ch = cookiesString.charAt(pos);
161
- if (ch === ",") {
162
- // ',' is a cookie separator if we have later first '=', not ';' or ','
163
- lastComma = pos;
164
- pos += 1;
165
-
166
- skipWhitespace();
167
- nextStart = pos;
168
-
169
- while (pos < cookiesString.length && notSpecialChar()) {
170
- pos += 1;
171
- }
172
-
173
- // currently special character
174
- if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
175
- // we found cookies separator
176
- cookiesSeparatorFound = true;
177
- // pos is inside the next cookie, so back up and return it.
178
- pos = nextStart;
179
- cookiesStrings.push(cookiesString.substring(start, lastComma));
180
- start = pos;
181
- } else {
182
- // in param ',' or param separator ';',
183
- // we continue from that comma
184
- pos = lastComma + 1;
185
- }
186
- } else {
187
- pos += 1;
188
- }
189
- }
190
-
191
- if (!cookiesSeparatorFound || pos >= cookiesString.length) {
192
- cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
193
- }
194
- }
195
-
196
- return cookiesStrings;
197
- }
198
-
199
- var setCookie = parse;
200
- var parse_1 = parse;
201
- var parseString_1 = parseString;
202
- var splitCookiesString_1 = splitCookiesString;
203
- setCookie.parse = parse_1;
204
- setCookie.parseString = parseString_1;
205
- setCookie.splitCookiesString = splitCookiesString_1;
206
-
207
- var dist = _commonjsHelpers.createCommonjsModule(function (module, exports) {
208
- var __assign = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__assign) || function () {
209
- __assign = Object.assign || function(t) {
210
- for (var s, i = 1, n = arguments.length; i < n; i++) {
211
- s = arguments[i];
212
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
213
- t[p] = s[p];
214
- }
215
- return t;
216
- };
217
- return __assign.apply(this, arguments);
218
- };
219
- Object.defineProperty(exports, "__esModule", { value: true });
220
- exports.destroyCookie = exports.setCookie = exports.parseCookies = void 0;
221
-
222
-
223
- var isBrowser = function () { return typeof window !== 'undefined'; };
224
- function hasSameProperties(a, b) {
225
- var aProps = Object.getOwnPropertyNames(a);
226
- var bProps = Object.getOwnPropertyNames(b);
227
- if (aProps.length !== bProps.length) {
228
- return false;
229
- }
230
- for (var i = 0; i < aProps.length; i++) {
231
- var propName = aProps[i];
232
- if (a[propName] !== b[propName]) {
233
- return false;
234
- }
235
- }
236
- return true;
237
- }
238
- /**
239
- * Compare the cookie and return true if the cookies has equivalent
240
- * options and the cookies would be overwritten in the browser storage.
241
- *
242
- * @param a first Cookie for comparison
243
- * @param b second Cookie for comparison
244
- */
245
- function areCookiesEqual(a, b) {
246
- var sameSiteSame = a.sameSite === b.sameSite;
247
- if (typeof a.sameSite === 'string' && typeof b.sameSite === 'string') {
248
- sameSiteSame = a.sameSite.toLowerCase() === b.sameSite.toLowerCase();
249
- }
250
- return (hasSameProperties(__assign(__assign({}, a), { sameSite: undefined }), __assign(__assign({}, b), { sameSite: undefined })) && sameSiteSame);
251
- }
252
- /**
253
- * Create an instance of the Cookie interface
254
- *
255
- * @param name name of the Cookie
256
- * @param value value of the Cookie
257
- * @param options Cookie options
258
- */
259
- function createCookie(name, value, options) {
260
- var sameSite = options.sameSite;
261
- if (sameSite === true) {
262
- sameSite = 'strict';
263
- }
264
- if (sameSite === undefined || sameSite === false) {
265
- sameSite = 'lax';
266
- }
267
- var cookieToSet = __assign(__assign({}, options), { sameSite: sameSite });
268
- delete cookieToSet.encode;
269
- return __assign({ name: name, value: value }, cookieToSet);
270
- }
271
- /**
272
- *
273
- * Parses cookies.
274
- *
275
- * @param ctx
276
- * @param options
277
- */
278
- function parseCookies(ctx, options) {
279
- if (ctx && ctx.req && ctx.req.headers && ctx.req.headers.cookie) {
280
- return index$4.cookie.parse(ctx.req.headers.cookie, options);
281
- }
282
- if (isBrowser()) {
283
- return index$4.cookie.parse(document.cookie, options);
284
- }
285
- return {};
286
- }
287
- exports.parseCookies = parseCookies;
288
- /**
289
- *
290
- * Sets a cookie.
291
- *
292
- * @param ctx
293
- * @param name
294
- * @param value
295
- * @param options
296
- */
297
- function setCookie$1(ctx, name, value, options) {
298
- if (ctx && ctx.res && ctx.res.getHeader && ctx.res.setHeader) {
299
- var cookies = ctx.res.getHeader('Set-Cookie') || [];
300
- if (typeof cookies === 'string')
301
- cookies = [cookies];
302
- if (typeof cookies === 'number')
303
- cookies = [];
304
- var parsedCookies = setCookie.parse(cookies);
305
- var cookiesToSet_1 = [];
306
- parsedCookies.forEach(function (parsedCookie) {
307
- if (!areCookiesEqual(parsedCookie, createCookie(name, value, options))) {
308
- cookiesToSet_1.push(index$4.cookie.serialize(parsedCookie.name, parsedCookie.value, __assign({ encode: function (val) { return val; } }, parsedCookie)));
309
- }
310
- });
311
- cookiesToSet_1.push(index$4.cookie.serialize(name, value, options));
312
- if (!ctx.res.finished) {
313
- ctx.res.setHeader('Set-Cookie', cookiesToSet_1);
314
- }
315
- }
316
- if (isBrowser()) {
317
- if (options && options.httpOnly) {
318
- throw new Error('Can not set a httpOnly cookie in the browser.');
319
- }
320
- document.cookie = index$4.cookie.serialize(name, value, options);
321
- }
322
- return {};
323
- }
324
- exports.setCookie = setCookie$1;
325
- /**
326
- *
327
- * Destroys a cookie with a particular name.
328
- *
329
- * @param ctx
330
- * @param name
331
- * @param options
332
- */
333
- function destroyCookie(ctx, name, options) {
334
- var opts = __assign(__assign({}, (options || {})), { maxAge: -1 });
335
- if (ctx && ctx.res && ctx.res.setHeader && ctx.res.getHeader) {
336
- var cookies = ctx.res.getHeader('Set-Cookie') || [];
337
- if (typeof cookies === 'string')
338
- cookies = [cookies];
339
- if (typeof cookies === 'number')
340
- cookies = [];
341
- cookies.push(index$4.cookie.serialize(name, '', opts));
342
- ctx.res.setHeader('Set-Cookie', cookies);
343
- }
344
- if (isBrowser()) {
345
- document.cookie = index$4.cookie.serialize(name, '', opts);
346
- }
347
- return {};
348
- }
349
- exports.destroyCookie = destroyCookie;
350
- exports.default = {
351
- set: setCookie$1,
352
- get: parseCookies,
353
- destroy: destroyCookie,
354
- };
355
-
356
- });
357
-
358
- _commonjsHelpers.unwrapExports(dist);
359
- var dist_1 = dist.destroyCookie;
360
- var dist_2 = dist.setCookie;
361
- var dist_3 = dist.parseCookies;
362
-
363
14
  var _this = undefined;
364
15
 
365
16
  var getRelatedArticle = function () {
@@ -412,13 +63,13 @@ var getRelatedArticle = function () {
412
63
  conditions = '';
413
64
 
414
65
  if (ctx && url) {
415
- cookies = dist_3(ctx);
66
+ cookies = nookies.parseCookies(ctx);
416
67
  prevSlugs = cookies['prevSlugs'];
417
68
 
418
69
  if (!!prevSlugs) {
419
- dist_2(ctx, 'prevSlugs', prevSlugs + ',"' + url + '"', {});
70
+ nookies.setCookie(ctx, 'prevSlugs', prevSlugs + ',"' + url + '"', {});
420
71
  conditions = '&& !(url.current in [' + prevSlugs + '])';
421
- } else dist_2(ctx, 'prevSlugs', '"' + url + '"', {});
72
+ } else nookies.setCookie(ctx, 'prevSlugs', '"' + url + '"', {});
422
73
  }
423
74
  relatedArticleQuery = getQuery('related', conditions, '', articleCount);
424
75
  _context.next = 12;