@mjhls/mjh-framework 1.0.700 → 1.0.702-beta-v1

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 (152) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +5 -3
  4. package/dist/cjs/AD300x250x600.js +5 -3
  5. package/dist/cjs/AD728x90.js +6 -4
  6. package/dist/cjs/ADFloatingFooter.js +4 -2
  7. package/dist/cjs/ADGutter.js +4 -2
  8. package/dist/cjs/ADSkyscraper.js +4 -2
  9. package/dist/cjs/ADSponsoredResources.js +4 -2
  10. package/dist/cjs/ADWebcast.js +4 -2
  11. package/dist/cjs/ADWelcome.js +4 -2
  12. package/dist/cjs/AdSlot.js +14 -3
  13. package/dist/cjs/AdSlotsProvider.js +2 -2
  14. package/dist/cjs/ArticleCarousel.js +1 -1
  15. package/dist/cjs/ArticleSeriesListing.js +4 -4
  16. package/dist/cjs/Auth.js +455 -306
  17. package/dist/cjs/{BlockContent-88f69acd.js → BlockContent-80b15fac.js} +1 -1
  18. package/dist/cjs/BrowseVideosListing.js +1 -1
  19. package/dist/cjs/CMEDeck.js +5 -5
  20. package/dist/cjs/Column3.js +6 -4
  21. package/dist/cjs/ConferenceArticleCard.js +2 -2
  22. package/dist/cjs/DeckContent.js +7 -7
  23. package/dist/cjs/DeckQueue.js +6 -6
  24. package/dist/cjs/{Dfp-b2bc3b97.js → Dfp-390337bf.js} +1 -1
  25. package/dist/cjs/EventsDeck.js +4 -4
  26. package/dist/cjs/ExternalResources.js +7 -7
  27. package/dist/cjs/Feature.js +3 -3
  28. package/dist/cjs/ForbesHero.js +2 -2
  29. package/dist/cjs/GridContent.js +11 -11
  30. package/dist/cjs/GridHero.js +2 -2
  31. package/dist/cjs/GroupDeck.js +1 -1
  32. package/dist/cjs/HamMagazine.js +4 -4
  33. package/dist/cjs/Hero.js +1 -1
  34. package/dist/cjs/HorizontalHero.js +2 -2
  35. package/dist/cjs/IssueContentDeck.js +2 -2
  36. package/dist/cjs/IssueDeck.js +2 -2
  37. package/dist/cjs/IssueLanding.js +8 -8
  38. package/dist/cjs/LeftNav.js +4 -2
  39. package/dist/cjs/MasterDeck.js +8 -8
  40. package/dist/cjs/NavMagazine.js +4 -4
  41. package/dist/cjs/NavNative.js +3 -3
  42. package/dist/cjs/OncliveHero.js +2 -2
  43. package/dist/cjs/OncliveLargeHero.js +2 -2
  44. package/dist/cjs/PartnerDetailListing.js +10 -10
  45. package/dist/cjs/PublicationDeck.js +2 -2
  46. package/dist/cjs/QueueDeckExpanded.js +10 -10
  47. package/dist/cjs/RecentNews.js +2 -2
  48. package/dist/cjs/RelatedContent.js +2 -2
  49. package/dist/cjs/{SocialSearchComponent-75c51b47.js → SocialSearchComponent-56d49a1a.js} +5 -5
  50. package/dist/cjs/TaxonomyCard.js +2 -2
  51. package/dist/cjs/TemplateNormal.js +5 -3
  52. package/dist/cjs/ThumbnailCard.js +1 -1
  53. package/dist/cjs/Ustream.js +2 -2
  54. package/dist/cjs/VerticalHero.js +2 -2
  55. package/dist/cjs/VideoSeriesCard.js +2 -2
  56. package/dist/cjs/VideoSeriesListing.js +4 -4
  57. package/dist/cjs/View.js +155 -190
  58. package/dist/cjs/YahooHero.js +2 -2
  59. package/dist/cjs/YoutubeGroup.js +1 -1
  60. package/dist/cjs/getQuery.js +2 -2
  61. package/dist/cjs/getRelatedArticle.js +65 -447
  62. package/dist/cjs/getSerializers.js +6 -6
  63. package/dist/cjs/{index-2d0a4911.js → index-099d45ae.js} +6 -4
  64. package/dist/cjs/{index-5be2866f.js → index-3294d3bc.js} +1 -1
  65. package/dist/cjs/{index-b5eb3ff8.js → index-39beccb3.js} +18 -18
  66. package/dist/cjs/{index-ec02006c.js → index-58dae365.js} +12 -12
  67. package/dist/cjs/{index.es-ab3f2690.js → index.es-9110add6.js} +1 -3
  68. package/dist/cjs/index.js +15 -15
  69. package/dist/cjs/{lodash-fc2922d0.js → lodash-7fd85bcf.js} +71 -22
  70. package/dist/cjs/{main-99536bdc.js → main-03ffa84c.js} +36 -67
  71. package/dist/cjs/{moment-66a6a284.js → moment-575fe24c.js} +1 -1
  72. package/dist/cjs/timeDifferenceCalc.js +1 -1
  73. package/dist/cjs/urlFor.js +1 -1
  74. package/dist/esm/AD.js +1 -1
  75. package/dist/esm/AD300x250.js +5 -3
  76. package/dist/esm/AD300x250x600.js +5 -3
  77. package/dist/esm/AD728x90.js +6 -4
  78. package/dist/esm/ADFloatingFooter.js +4 -2
  79. package/dist/esm/ADGutter.js +4 -2
  80. package/dist/esm/ADSkyscraper.js +4 -2
  81. package/dist/esm/ADSponsoredResources.js +4 -2
  82. package/dist/esm/ADWebcast.js +4 -2
  83. package/dist/esm/ADWelcome.js +4 -2
  84. package/dist/esm/AdSlot.js +15 -4
  85. package/dist/esm/AdSlotsProvider.js +2 -2
  86. package/dist/esm/ArticleCarousel.js +1 -1
  87. package/dist/esm/ArticleSeriesListing.js +4 -4
  88. package/dist/esm/Auth.js +450 -301
  89. package/dist/esm/{BlockContent-a614acdf.js → BlockContent-c409aca5.js} +1 -1
  90. package/dist/esm/BrowseVideosListing.js +1 -1
  91. package/dist/esm/CMEDeck.js +5 -5
  92. package/dist/esm/Column3.js +6 -4
  93. package/dist/esm/ConferenceArticleCard.js +2 -2
  94. package/dist/esm/DeckContent.js +7 -7
  95. package/dist/esm/DeckQueue.js +6 -6
  96. package/dist/esm/{Dfp-8a8fca18.js → Dfp-741c01be.js} +1 -1
  97. package/dist/esm/EventsDeck.js +4 -4
  98. package/dist/esm/ExternalResources.js +7 -7
  99. package/dist/esm/Feature.js +3 -3
  100. package/dist/esm/ForbesHero.js +2 -2
  101. package/dist/esm/GridContent.js +11 -11
  102. package/dist/esm/GridHero.js +2 -2
  103. package/dist/esm/GroupDeck.js +1 -1
  104. package/dist/esm/HamMagazine.js +4 -4
  105. package/dist/esm/Hero.js +1 -1
  106. package/dist/esm/HorizontalHero.js +2 -2
  107. package/dist/esm/IssueContentDeck.js +2 -2
  108. package/dist/esm/IssueDeck.js +2 -2
  109. package/dist/esm/IssueLanding.js +8 -8
  110. package/dist/esm/LeftNav.js +4 -2
  111. package/dist/esm/MasterDeck.js +8 -8
  112. package/dist/esm/NavMagazine.js +4 -4
  113. package/dist/esm/NavNative.js +3 -3
  114. package/dist/esm/OncliveHero.js +2 -2
  115. package/dist/esm/OncliveLargeHero.js +2 -2
  116. package/dist/esm/PartnerDetailListing.js +10 -10
  117. package/dist/esm/PublicationDeck.js +2 -2
  118. package/dist/esm/QueueDeckExpanded.js +10 -10
  119. package/dist/esm/RecentNews.js +2 -2
  120. package/dist/esm/RelatedContent.js +2 -2
  121. package/dist/esm/{SocialSearchComponent-5a9c4628.js → SocialSearchComponent-677ed3bd.js} +5 -5
  122. package/dist/esm/TaxonomyCard.js +2 -2
  123. package/dist/esm/TemplateNormal.js +5 -3
  124. package/dist/esm/ThumbnailCard.js +1 -1
  125. package/dist/esm/Ustream.js +2 -2
  126. package/dist/esm/VerticalHero.js +2 -2
  127. package/dist/esm/VideoSeriesCard.js +2 -2
  128. package/dist/esm/VideoSeriesListing.js +4 -4
  129. package/dist/esm/View.js +155 -190
  130. package/dist/esm/YahooHero.js +2 -2
  131. package/dist/esm/YoutubeGroup.js +1 -1
  132. package/dist/esm/getQuery.js +2 -2
  133. package/dist/esm/getRelatedArticle.js +65 -447
  134. package/dist/esm/getSerializers.js +6 -6
  135. package/dist/esm/{index-51a80699.js → index-3849e3fe.js} +18 -18
  136. package/dist/esm/{index-93ec3c59.js → index-3f4dd6f2.js} +6 -4
  137. package/dist/esm/{index-50d0fbc7.js → index-7779a6df.js} +12 -12
  138. package/dist/esm/{index-d2f90501.js → index-ef6d5dcf.js} +1 -1
  139. package/dist/esm/{index.es-938a3a58.js → index.es-29c1cef5.js} +1 -3
  140. package/dist/esm/index.js +14 -14
  141. package/dist/esm/{lodash-17fdfebb.js → lodash-ec8c6b48.js} +71 -22
  142. package/dist/esm/{main-e2627831.js → main-35ff7b4f.js} +34 -65
  143. package/dist/esm/{moment-12415288.js → moment-e2f9b20c.js} +1 -1
  144. package/dist/esm/timeDifferenceCalc.js +1 -1
  145. package/dist/esm/urlFor.js +1 -1
  146. package/package.json +3 -3
  147. package/dist/cjs/index-bd6c9f56.js +0 -211
  148. package/dist/esm/index-db3bb315.js +0 -207
  149. /package/dist/cjs/{ADInfeed-f60d8625.js → ADInfeed-38066a36.js} +0 -0
  150. /package/dist/cjs/{ADlgInfeed-a08f8a4b.js → ADlgInfeed-d95c9027.js} +0 -0
  151. /package/dist/esm/{ADInfeed-c7e745f1.js → ADInfeed-7b1b2fcb.js} +0 -0
  152. /package/dist/esm/{ADlgInfeed-6fedd79b.js → ADlgInfeed-2afe92e6.js} +0 -0
package/dist/cjs/View.js CHANGED
@@ -19,20 +19,20 @@ var _typeof$1 = require('./typeof-725500bc.js');
19
19
  require('./_is-array-754e012d.js');
20
20
  var React = require('react');
21
21
  var React__default = _interopDefault(React);
22
- var index = require('./index-2d0a4911.js');
22
+ var index = require('./index-099d45ae.js');
23
23
  require('prop-types');
24
24
  require('react-bootstrap/Row');
25
25
  require('react-bootstrap/Col');
26
- var moment = require('./moment-66a6a284.js');
26
+ var moment = require('./moment-575fe24c.js');
27
27
  var Router = require('next/router');
28
28
  var Router__default = _interopDefault(Router);
29
29
  require('./isSymbol-04666465.js');
30
30
  require('./debounce-eb287781.js');
31
- var index_es = require('./index.es-ab3f2690.js');
31
+ var index_es = require('./index.es-9110add6.js');
32
32
  require('react-dom');
33
- require('./index-b5eb3ff8.js');
33
+ require('./index-39beccb3.js');
34
34
  require('./index-da796b8c.js');
35
- var main = require('./main-99536bdc.js');
35
+ var main = require('./main-03ffa84c.js');
36
36
  require('./entities-310b46ee.js');
37
37
  var stringify = require('./stringify-7c5aff47.js');
38
38
  var slicedToArray = require('./slicedToArray-8f385299.js');
@@ -41,16 +41,15 @@ require('./_set-species-f92c67c5.js');
41
41
  require('./Segment.js');
42
42
  require('./Beam.js');
43
43
  var AdSlot = require('./AdSlot.js');
44
- var BlockContent = require('./BlockContent-88f69acd.js');
44
+ var BlockContent = require('./BlockContent-80b15fac.js');
45
45
  require('./smoothscroll-95231a70.js');
46
46
  require('./GroupDeck.js');
47
47
  require('react-bootstrap');
48
48
  require('./iconBase-68959171.js');
49
49
  require('./index.esm-90433435.js');
50
50
  var Button = _interopDefault(require('react-bootstrap/Button'));
51
- var defineProperty$1 = require('./defineProperty-55548b25.js');
52
51
  var Form = _interopDefault(require('react-bootstrap/Form'));
53
- var getSerializers = require('./index-ec02006c.js');
52
+ var getSerializers = require('./index-58dae365.js');
54
53
  require('./util-f2c1b65b.js');
55
54
  require('./brightcove-react-player-loader.es-156bd4d6.js');
56
55
  require('react-bootstrap/Pagination');
@@ -63,9 +62,9 @@ var keys = require('./keys-a586b7a0.js');
63
62
  require('react-bootstrap/Dropdown');
64
63
  var index_esm$3 = require('./index.esm-ff47db6f.js');
65
64
  var getSeriesDetail = require('./getSeriesDetail.js');
66
- require('./index-bd6c9f56.js');
67
- var getRelatedArticle = require('./getRelatedArticle.js');
65
+ require('nookies');
68
66
  var getQuery = require('./getQuery.js');
67
+ var getRelatedArticle = require('./getRelatedArticle.js');
69
68
  var getTargeting = require('./getTargeting-fee8c429.js');
70
69
  var getKeywords = require('./getKeywords.js');
71
70
  var urlFor = require('./urlFor.js');
@@ -146,9 +145,9 @@ var DocumentGroup = function DocumentGroup(_ref) {
146
145
  style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
147
146
  thumbnailUrl && React__default.createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
148
147
  !thumbnailUrl && React__default.createElement('p', {
149
- style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_39 ? 'left' : 'right', marginTop: '.25rem' },
148
+ style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_36 ? 'left' : 'right', marginTop: '.25rem' },
150
149
  dangerouslySetInnerHTML: { __html: name } }),
151
- main.main_39 && !thumbnailUrl && React__default.createElement(
150
+ main.main_36 && !thumbnailUrl && React__default.createElement(
152
151
  'style',
153
152
  { jsx: 'true' },
154
153
  '\n a.doc-group {\n display: block !important;\n padding: 0!important;\n }\n '
@@ -255,7 +254,7 @@ var ISI = function ISI(props) {
255
254
  );
256
255
  };
257
256
 
258
- 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";
257
+ 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_imgWrapper__5Jx_4 {\r\n display: none;\r\n }\r\n .RelatedArticles-module_mediaCard__3wQbn {\r\n width: 100%;\r\n margin-bottom: 0.5rem;\r\n padding: 0;\r\n }\r\n .RelatedArticles-module_cardTitle__3P-Ib {\r\n font-size: 0.75rem;\r\n margin-bottom: 0;\r\n }\r\n}\r\n";
259
258
  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" };
260
259
  styleInject_es.styleInject(css);
261
260
 
@@ -383,6 +382,7 @@ var Article = function Article(props) {
383
382
  issue = _props$article.issue,
384
383
  source = _props$article.source,
385
384
  documentGroupMapping = _props$article.documentGroupMapping,
385
+ issueGroup = _props$article.issueGroup,
386
386
  showIsi = _props$article.showIsi,
387
387
  isi = _props$article.isi,
388
388
  regionalPages = props.regionalPages,
@@ -493,65 +493,76 @@ var Article = function Article(props) {
493
493
  };
494
494
 
495
495
  var RelevantTopics = function RelevantTopics() {
496
- if (content_placement && content_placement.length > 0 || documentGroupMapping) {
497
- return React__default.createElement(
498
- 'div',
499
- { style: { color: '#262626' } },
500
- React__default.createElement(
501
- 'p',
502
- { className: 'mb-0' },
503
- React__default.createElement(
504
- 'b',
505
- null,
506
- 'Related Content:'
507
- )
508
- ),
509
- documentGroupMapping && documentGroupMapping.map(function (documentGroup) {
510
- if (!documentGroup.parent) {
511
- return null;
496
+ if (content_placement && content_placement.length > 0 || documentGroupMapping && documentGroupMapping.length > 0) {
497
+ var relatedLinks = [];
498
+ if (documentGroupMapping && documentGroupMapping.length > 0) {
499
+ documentGroupMapping.forEach(function (documentGroup) {
500
+ if (documentGroup.parent) {
501
+ relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: documentGroup.name, href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path }]);
512
502
  }
513
-
514
- return React__default.createElement(
515
- React__default.Fragment,
516
- null,
517
- React__default.createElement(
518
- 'span',
519
- { className: '' },
520
- React__default.createElement(
521
- 'a',
522
- {
523
- className: 'related-links',
524
- style: { color: 'blue' },
525
- href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path },
526
- documentGroup.name
527
- )
528
- ),
529
- content_placement && content_placement.length ? ' | ' : null
530
- );
531
- }),
532
- content_placement && content_placement.length > 0 ? content_placement.map(function (cp, index) {
503
+ });
504
+ }
505
+ if (content_placement && content_placement.length > 0) {
506
+ content_placement.filter(function (item) {
507
+ return item.path !== 'news';
508
+ }).forEach(function (cp) {
533
509
  var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
534
510
  var href = '/' + cp_url;
535
- return React__default.createElement(
536
- React__default.Fragment,
537
- { key: index },
538
- React__default.createElement(
511
+ relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: cp.name, href: href }]);
512
+ });
513
+ }
514
+ if (issueGroup && issueGroup.name && issueGroup.identifier && issueGroup.identifier.current && issueGroup.parent && issueGroup.parent.identifier && issueGroup.parent.identifier.current) {
515
+ relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: issueGroup.name, href: '/publications/' + issueGroup.parent.identifier.current + '/' + issueGroup.identifier.current }]);
516
+ }
517
+ if (relatedLinks && relatedLinks.length > 0) {
518
+ return React__default.createElement(
519
+ 'div',
520
+ null,
521
+ relatedLinks.map(function (relatedLink, index) {
522
+ return React__default.createElement(
539
523
  'span',
540
- null,
524
+ { key: index, className: 'related-link' },
541
525
  React__default.createElement(
542
526
  'a',
543
- { className: 'related-links', key: index, href: href, style: { color: 'blue' } },
544
- cp.name
527
+ { className: 'related-links', style: { color: 'blue' }, href: relatedLink.href },
528
+ relatedLink.label
529
+ ),
530
+ React__default.createElement(
531
+ 'style',
532
+ { jsx: 'true' },
533
+ '\n .related-link:not(:first-child):before {\n content: \' | \';\n }\n '
545
534
  )
546
- ),
547
- content_placement.length > index + 1 ? ' | ' : null
548
- );
549
- }) : null
550
- );
535
+ );
536
+ })
537
+ );
538
+ }
539
+ return null;
551
540
  }
552
541
  return null;
553
542
  };
554
543
 
544
+ var RelatedContent = function RelatedContent() {
545
+ return React__default.createElement(
546
+ 'section',
547
+ { id: 'related-content-section', className: 'my-1' },
548
+ React__default.createElement(
549
+ 'p',
550
+ { className: 'mb-0' },
551
+ React__default.createElement(
552
+ 'b',
553
+ null,
554
+ 'Related Content:'
555
+ )
556
+ ),
557
+ React__default.createElement(RelevantTopics, null),
558
+ React__default.createElement(
559
+ 'div',
560
+ { className: 'pt-2' },
561
+ React__default.createElement(RelatedArticle, { articles: article.relatedArticle, client: client })
562
+ )
563
+ );
564
+ };
565
+
555
566
  var form = function form() {
556
567
  return React__default.createElement(
557
568
  React__default.Fragment,
@@ -957,7 +968,7 @@ var Article = function Article(props) {
957
968
  React__default.createElement(
958
969
  'div',
959
970
  { className: 'ad-box', style: { textAlign: 'center' } },
960
- main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
971
+ main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
961
972
  if (index === 0) {
962
973
  return React__default.createElement(
963
974
  'div',
@@ -1010,20 +1021,7 @@ var Article = function Article(props) {
1010
1021
  )
1011
1022
  ),
1012
1023
  React__default.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
1013
- showRelatedArticles && !showIsi && React__default.createElement(
1014
- React__default.Fragment,
1015
- null,
1016
- React__default.createElement(
1017
- 'div',
1018
- null,
1019
- React__default.createElement(RelevantTopics, null)
1020
- ),
1021
- React__default.createElement(
1022
- 'div',
1023
- { className: 'pt-2' },
1024
- React__default.createElement(RelatedArticle, { articles: article.relatedArticle, client: client })
1025
- )
1026
- )
1024
+ showRelatedArticles && !showIsi && React__default.createElement(RelatedContent, null)
1027
1025
  ),
1028
1026
  renderIsiContent(props.article)
1029
1027
  ),
@@ -1036,7 +1034,7 @@ var Article = function Article(props) {
1036
1034
  })
1037
1035
  )
1038
1036
  ),
1039
- main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1037
+ main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1040
1038
  if (index > 0) {
1041
1039
  return React__default.createElement(
1042
1040
  'div',
@@ -1109,7 +1107,7 @@ var ArticleQueue = function ArticleQueue(props) {
1109
1107
  });
1110
1108
  var targeting = getTargeting.getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl });
1111
1109
 
1112
- if (!main.main_39) {
1110
+ if (!main.main_36) {
1113
1111
  index.lib_3.getGoogletag().then(function (googletag) {
1114
1112
  if (window.googletag && googletag.pubadsReady) {
1115
1113
  var slots = googletag.pubads().getSlots();
@@ -1127,7 +1125,7 @@ var ArticleQueue = function ArticleQueue(props) {
1127
1125
  });
1128
1126
  }
1129
1127
  //Refresh leaderboard ad on mobile
1130
- if (main.main_39) {
1128
+ if (main.main_36) {
1131
1129
  var leaderboardSlotId = '';
1132
1130
  index.lib_3.getGoogletag().then(function (googletag) {
1133
1131
  if (window.googletag && googletag.pubadsReady) {
@@ -1188,50 +1186,77 @@ var ArticleQueue = function ArticleQueue(props) {
1188
1186
  }, 1000);
1189
1187
  }, [queueData.length]);
1190
1188
 
1191
- var loadmore = function loadmore() {
1192
- var query = props.relatedArticleQuery;
1193
- var params = props.params;
1194
- if (queueData && queueData.length < maxListLength) {
1195
- params.index = queueData.length - 1;
1196
- props.client.fetch(query, params).then(function () {
1197
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(article) {
1198
- var startingIndex, endingIndex, targeting;
1199
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
1200
- while (1) {
1201
- switch (_context.prev = _context.next) {
1202
- case 0:
1203
- if (!(article && article._id)) {
1204
- _context.next = 9;
1205
- break;
1206
- }
1207
-
1208
- //query next 4 related article without repeating previous 4 related articles
1209
- startingIndex = queueData.length + 1;
1210
- endingIndex = startingIndex + 2;
1211
- _context.next = 5;
1212
- return getRelatedArticle(null, props.client, article, prevUrl, startingIndex + '..' + endingIndex);
1213
-
1214
- case 5:
1215
- article.relatedArticle = _context.sent;
1216
- targeting = getTargeting.getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
1217
-
1218
- article.Ads = Ads.getRightItems(targeting);
1219
- setQueueData([].concat(toConsumableArray._toConsumableArray(queueData), [article]));
1220
-
1221
- case 9:
1222
- case 'end':
1223
- return _context.stop();
1189
+ var loadmore = function () {
1190
+ var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
1191
+ var index, article, startingIndex, endingIndex, targeting;
1192
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
1193
+ while (1) {
1194
+ switch (_context.prev = _context.next) {
1195
+ case 0:
1196
+ if (!(queueData && queueData.length < maxListLength)) {
1197
+ _context.next = 27;
1198
+ break;
1224
1199
  }
1225
- }
1226
- }, _callee, _this);
1227
- }));
1228
1200
 
1229
- return function (_x) {
1230
- return _ref.apply(this, arguments);
1231
- };
1232
- }());
1233
- }
1234
- };
1201
+ index = queueData.length - 1;
1202
+ article = null;
1203
+ _context.prev = 3;
1204
+ _context.next = 6;
1205
+ return getRelatedArticle(null, props.client, props.article, prevUrl, index);
1206
+
1207
+ case 6:
1208
+ article = _context.sent;
1209
+ _context.next = 12;
1210
+ break;
1211
+
1212
+ case 9:
1213
+ _context.prev = 9;
1214
+ _context.t0 = _context['catch'](3);
1215
+
1216
+ console.error(_context.t0);
1217
+
1218
+ case 12:
1219
+ if (!(article && article._id)) {
1220
+ _context.next = 27;
1221
+ break;
1222
+ }
1223
+
1224
+ //query next 4 related article without repeating previous 4 related articles
1225
+ startingIndex = queueData.length + 1;
1226
+ endingIndex = startingIndex + 2;
1227
+ _context.prev = 15;
1228
+ _context.next = 18;
1229
+ return getRelatedArticle(null, props.client, props.article, prevUrl, startingIndex + '..' + endingIndex);
1230
+
1231
+ case 18:
1232
+ article.relatedArticle = _context.sent;
1233
+ _context.next = 24;
1234
+ break;
1235
+
1236
+ case 21:
1237
+ _context.prev = 21;
1238
+ _context.t1 = _context['catch'](15);
1239
+
1240
+ console.error(_context.t1);
1241
+
1242
+ case 24:
1243
+ targeting = getTargeting.getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
1244
+
1245
+ article.Ads = Ads.getRightItems(targeting);
1246
+ setQueueData([].concat(toConsumableArray._toConsumableArray(queueData), [article]));
1247
+
1248
+ case 27:
1249
+ case 'end':
1250
+ return _context.stop();
1251
+ }
1252
+ }
1253
+ }, _callee, _this, [[3, 9], [15, 21]]);
1254
+ }));
1255
+
1256
+ return function loadmore() {
1257
+ return _ref.apply(this, arguments);
1258
+ };
1259
+ }();
1235
1260
 
1236
1261
  var changeMeta = function changeMeta(meta) {
1237
1262
  document.title = meta.shareTitle;
@@ -1303,74 +1328,6 @@ var ArticleQueue = function ArticleQueue(props) {
1303
1328
  );
1304
1329
  };
1305
1330
 
1306
- var Articles = function Articles(props) {
1307
- var _extends2;
1308
-
1309
- var videoAccountIDs = props.videoAccountIDs,
1310
- Ads = props.Ads,
1311
- cpModificationRequired = props.cpModificationRequired,
1312
- Settings = props.Settings,
1313
- ISIContent = props.ISIContent,
1314
- prevUrl = props.prevUrl,
1315
- setActiveArticle = props.setActiveArticle,
1316
- article = props.article,
1317
- client = props.client,
1318
- relatedArticleQuery = props.relatedArticleQuery,
1319
- Website = props.Website,
1320
- pageview = props.pageview,
1321
- shareOptions = props.shareOptions,
1322
- WAds = props.WAds,
1323
- regionalPages = props.regionalPages,
1324
- nationalPage = props.nationalPage,
1325
- canonicalTag = props.canonicalTag;
1326
- var taxonomyMapping = article.taxonomyMapping,
1327
- _article$url = article.url;
1328
- _article$url = _article$url === undefined ? {
1329
- current: null
1330
- } : _article$url;
1331
- var url = _article$url.current,
1332
- content_placement = article.content_placement;
1333
-
1334
-
1335
- var taxonomy = [];
1336
- content_placement.forEach(function (_ref2) {
1337
- var path = _ref2.path,
1338
- _id = _ref2._id;
1339
-
1340
- var prev_url_to_check = prevUrl;
1341
- if (prev_url_to_check.includes('?')) {
1342
- prev_url_to_check = prev_url_to_check.split('?')[0];
1343
- }
1344
- if (prev_url_to_check.endsWith(path)) taxonomy.push(_id);
1345
- });
1346
-
1347
- if (taxonomy.length === 0) {
1348
- taxonomy = taxonomyMapping.map(function (_ref3) {
1349
- var _ref = _ref3._ref;
1350
- return _ref;
1351
- });
1352
- }
1353
-
1354
- var params = {
1355
- url: url,
1356
- taxonomy: taxonomy,
1357
- index: 0
1358
- };
1359
-
1360
- return React__default.createElement(ArticleQueue, _extends._extends((_extends2 = {
1361
- client: client,
1362
- params: params,
1363
- relatedArticleQuery: relatedArticleQuery,
1364
- website: Website,
1365
- checkSponsered: true,
1366
- pageview: pageview,
1367
- shareOptions: shareOptions,
1368
- Ads: WAds,
1369
- regionalPages: regionalPages,
1370
- nationalPage: nationalPage
1371
- }, defineProperty$1._defineProperty(_extends2, 'pageview', pageview), defineProperty$1._defineProperty(_extends2, 'onVote', function onVote() {}), defineProperty$1._defineProperty(_extends2, 'ISIContent', ISIContent), defineProperty$1._defineProperty(_extends2, 'videoAccountIDs', videoAccountIDs), defineProperty$1._defineProperty(_extends2, 'sponsoredTaxonomies', []), defineProperty$1._defineProperty(_extends2, 'cpModificationRequired', cpModificationRequired), defineProperty$1._defineProperty(_extends2, 'Settings', Settings), defineProperty$1._defineProperty(_extends2, 'canonicalTag', canonicalTag), _extends2), props));
1372
- };
1373
-
1374
1331
  var _this$1 = undefined;
1375
1332
 
1376
1333
  var View = function View(props) {
@@ -1549,7 +1506,15 @@ var View = function View(props) {
1549
1506
  props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default.createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
1550
1507
  )
1551
1508
  ),
1552
- !needInfiniteScroll ? React__default.createElement(Article, _extends._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(Articles, _extends._extends({ infiniteScroll: true, showRelatedArticles: showRelatedArticles, canonicalTag: canonicalTag }, props))
1509
+ !needInfiniteScroll ? React__default.createElement(Article, _extends._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(ArticleQueue, _extends._extends({
1510
+ infiniteScroll: true,
1511
+ showRelatedArticles: showRelatedArticles,
1512
+ canonicalTag: canonicalTag,
1513
+ checkSponsered: true,
1514
+ Ads: props.WAds,
1515
+ onVote: function onVote() {},
1516
+ sponsoredTaxonomies: []
1517
+ }, props))
1553
1518
  );
1554
1519
  };
1555
1520
 
@@ -10,9 +10,9 @@ require('./web.dom.iterable-a0e279c1.js');
10
10
  var React = require('react');
11
11
  var React__default = _interopDefault(React);
12
12
  require('prop-types');
13
- var moment = require('./moment-66a6a284.js');
13
+ var moment = require('./moment-575fe24c.js');
14
14
  require('react-dom');
15
- var index$1 = require('./index-b5eb3ff8.js');
15
+ var index$1 = require('./index-39beccb3.js');
16
16
  var index$2 = require('./index-da796b8c.js');
17
17
  var entities = require('./entities-310b46ee.js');
18
18
  require('./slicedToArray-8f385299.js');
@@ -15,7 +15,7 @@ var React = require('react');
15
15
  var React__default = _interopDefault(React);
16
16
  require('prop-types');
17
17
  require('react-dom');
18
- var index$1 = require('./index-b5eb3ff8.js');
18
+ var index$1 = require('./index-39beccb3.js');
19
19
  var index$2 = require('./index-da796b8c.js');
20
20
  var slicedToArray = require('./slicedToArray-8f385299.js');
21
21
  var smoothscroll = require('./smoothscroll-95231a70.js');
@@ -10,9 +10,9 @@ var getQuery = function getQuery(type) {
10
10
 
11
11
  switch (type) {
12
12
  case 'related':
13
- return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && defined(published) \n && dateTime(published) <= dateTime(now())\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && contentCategory->.disableAds != \'true\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[' + (articleCount ? articleCount : '$index') + ']{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n disableAds\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n documentGroupMapping[]-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
13
+ return '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && defined(published) \n && dateTime(published) <= dateTime(now())\n && passwordLock!=true\n && taxonomyMapping[]._ref in $taxonomy\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory->.name != \'Poll\'\n && contentCategory->.name != \'Slideshows\'\n && contentCategory->.disableAds != \'true\'\n && ExcludeFromInfiniteScroll !=true\n && url.current != $url\n && !defined(body[].videos)\n ' + conditions + '\n ]| order(published desc)[' + (articleCount ? articleCount : '$index') + ']{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n _id,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier,\n disableAds\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n documentGroupMapping[]-> {\n _id,\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n }';
14
14
  case 'article':
15
- return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n medias[]{\n ...,\n upload_doc {\n _type,\n asset-> \n } \n },\n articles[]{\n ...,\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n text[]{\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n }\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n documentGroupMapping[]-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n volume,\n \'issueNumber\': number,\n \'articleSource\': source,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
15
+ return '*[\n _type == "article"\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && url.current == $url\n ' + conditions + '\n ][0]{\n ' + params + '\n title,\n published,\n summary,\n thumbnail,\n ...,\n passwordLock,\n password,\n issueGroup-> { _id, name, identifier, parent-> },\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n body[] {\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n medias[]{\n ...,\n upload_doc {\n _type,\n asset-> \n } \n },\n articles[]{\n ...,\n "authorDetails": authorMapping[]->{ displayName, url, profileImage, biography },\n text[]{\n ...,\n upload_doc {\n _type,\n asset->\n },\n uploadAudio {\n _type,\n asset->\n },\n }\n }\n },\n \'content_placement\': taxonomyMapping[]-> {\n ...,\n \'ancestor\': parent->parent->identifier,\n \'parent\': parent->identifier,\n \'name\': name,\n \'path\': identifier\n },\n documentGroup-> {\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n documentGroupMapping[]-> {\n _id,\n name,\n thumbnail,\n parent->{...,parent->},\n \'path\': identifier.current\n },\n \'category\':contentCategory->{\n name,\n disableAds\n },\n \'issue\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.issueGroup._ref][0] {\n name,\n volume,\n \'issueNumber\': number,\n \'articleSource\': source,\n \'path\': identifier.current,\n \'publication\' : *[_type == \'publication\' && !(_id in path("drafts.**")) && is_visible == true && _id == ^.parent._ref][0] {\n name,\n \'path\': identifier.current\n },\n \'url\' : pdf.asset-> url\n }\n\n }';
16
16
  case 'publication':
17
17
  return '*[_type == \'publication\'\n && identifier.current == $publication\n ' + conditions + '][0] {\n ' + params + '\n ...,\n \'issues\': *[_type == \'publication\'\n && is_visible\n && references(^._id)\n && defined(identifier)] {\n ...,\n pdf{asset->}\n } | order(year desc, month desc)\n }';
18
18
  case 'issue':