@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/esm/View.js CHANGED
@@ -14,19 +14,19 @@ import './web.dom.iterable-8956f9a5.js';
14
14
  import { _ as _typeof } from './typeof-08f2c380.js';
15
15
  import './_is-array-49698029.js';
16
16
  import React__default, { useState, useRef, useEffect } from 'react';
17
- import { l as lib_3 } from './index-93ec3c59.js';
17
+ import { l as lib_3 } from './index-3f4dd6f2.js';
18
18
  import 'prop-types';
19
19
  import 'react-bootstrap/Row';
20
20
  import 'react-bootstrap/Col';
21
- import { m as moment } from './moment-12415288.js';
21
+ import { m as moment } from './moment-e2f9b20c.js';
22
22
  import { useRouter } from 'next/router';
23
23
  import './isSymbol-807e927e.js';
24
24
  import './debounce-1a993acf.js';
25
- import { I as InfiniteScroll } from './index.es-938a3a58.js';
25
+ import { I as InfiniteScroll } from './index.es-29c1cef5.js';
26
26
  import 'react-dom';
27
- import './index-51a80699.js';
27
+ import './index-3849e3fe.js';
28
28
  import './index-5f9f807a.js';
29
- import { m as main_39 } from './main-e2627831.js';
29
+ import { m as main_36 } from './main-35ff7b4f.js';
30
30
  import './entities-7cc3bf45.js';
31
31
  import { _ as _JSON$stringify } from './stringify-008c8802.js';
32
32
  import { a as _getIterator, _ as _slicedToArray } from './slicedToArray-7021e5df.js';
@@ -35,16 +35,15 @@ import './_set-species-cede29f8.js';
35
35
  import './Segment.js';
36
36
  import './Beam.js';
37
37
  import DFPAdSlot from './AdSlot.js';
38
- import { B as BlockContent } from './BlockContent-a614acdf.js';
38
+ import { B as BlockContent } from './BlockContent-c409aca5.js';
39
39
  import './smoothscroll-4b699764.js';
40
40
  import './GroupDeck.js';
41
41
  import 'react-bootstrap';
42
42
  import './iconBase-602d52fe.js';
43
43
  import './index.esm-29e48d38.js';
44
44
  import Button from 'react-bootstrap/Button';
45
- import { _ as _defineProperty } from './defineProperty-b798470d.js';
46
45
  import Form from 'react-bootstrap/Form';
47
- import { I as InscreenSensor, r as renderAuthor, g as getSerializers } from './index-50d0fbc7.js';
46
+ import { I as InscreenSensor, r as renderAuthor, g as getSerializers } from './index-7779a6df.js';
48
47
  import './util-7700fc59.js';
49
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
50
49
  import 'react-bootstrap/Pagination';
@@ -57,9 +56,9 @@ import { _ as _Object$keys } from './keys-fc2d4c34.js';
57
56
  import 'react-bootstrap/Dropdown';
58
57
  import { b as FaMinus, c as FaPlus } from './index.esm-cf08bf18.js';
59
58
  import getSeriesDetail from './getSeriesDetail.js';
60
- import './index-db3bb315.js';
61
- import getRelatedArticle from './getRelatedArticle.js';
59
+ import 'nookies';
62
60
  import getQuery from './getQuery.js';
61
+ import getRelatedArticle from './getRelatedArticle.js';
63
62
  import { g as getTargeting, a as getContentPlacementUrl } from './getTargeting-2acdec91.js';
64
63
  import getKeywords from './getKeywords.js';
65
64
  import urlFor from './urlFor.js';
@@ -140,9 +139,9 @@ var DocumentGroup = function DocumentGroup(_ref) {
140
139
  style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
141
140
  thumbnailUrl && React__default.createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
142
141
  !thumbnailUrl && React__default.createElement('p', {
143
- style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main_39 ? 'left' : 'right', marginTop: '.25rem' },
142
+ style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main_36 ? 'left' : 'right', marginTop: '.25rem' },
144
143
  dangerouslySetInnerHTML: { __html: name } }),
145
- main_39 && !thumbnailUrl && React__default.createElement(
144
+ main_36 && !thumbnailUrl && React__default.createElement(
146
145
  'style',
147
146
  { jsx: 'true' },
148
147
  '\n a.doc-group {\n display: block !important;\n padding: 0!important;\n }\n '
@@ -249,7 +248,7 @@ var ISI = function ISI(props) {
249
248
  );
250
249
  };
251
250
 
252
- 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";
251
+ 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";
253
252
  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" };
254
253
  styleInject(css);
255
254
 
@@ -377,6 +376,7 @@ var Article = function Article(props) {
377
376
  issue = _props$article.issue,
378
377
  source = _props$article.source,
379
378
  documentGroupMapping = _props$article.documentGroupMapping,
379
+ issueGroup = _props$article.issueGroup,
380
380
  showIsi = _props$article.showIsi,
381
381
  isi = _props$article.isi,
382
382
  regionalPages = props.regionalPages,
@@ -487,65 +487,76 @@ var Article = function Article(props) {
487
487
  };
488
488
 
489
489
  var RelevantTopics = function RelevantTopics() {
490
- if (content_placement && content_placement.length > 0 || documentGroupMapping) {
491
- return React__default.createElement(
492
- 'div',
493
- { style: { color: '#262626' } },
494
- React__default.createElement(
495
- 'p',
496
- { className: 'mb-0' },
497
- React__default.createElement(
498
- 'b',
499
- null,
500
- 'Related Content:'
501
- )
502
- ),
503
- documentGroupMapping && documentGroupMapping.map(function (documentGroup) {
504
- if (!documentGroup.parent) {
505
- return null;
490
+ if (content_placement && content_placement.length > 0 || documentGroupMapping && documentGroupMapping.length > 0) {
491
+ var relatedLinks = [];
492
+ if (documentGroupMapping && documentGroupMapping.length > 0) {
493
+ documentGroupMapping.forEach(function (documentGroup) {
494
+ if (documentGroup.parent) {
495
+ relatedLinks = [].concat(_toConsumableArray(relatedLinks), [{ label: documentGroup.name, href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path }]);
506
496
  }
507
-
508
- return React__default.createElement(
509
- React__default.Fragment,
510
- null,
511
- React__default.createElement(
512
- 'span',
513
- { className: '' },
514
- React__default.createElement(
515
- 'a',
516
- {
517
- className: 'related-links',
518
- style: { color: 'blue' },
519
- href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path },
520
- documentGroup.name
521
- )
522
- ),
523
- content_placement && content_placement.length ? ' | ' : null
524
- );
525
- }),
526
- content_placement && content_placement.length > 0 ? content_placement.map(function (cp, index) {
497
+ });
498
+ }
499
+ if (content_placement && content_placement.length > 0) {
500
+ content_placement.filter(function (item) {
501
+ return item.path !== 'news';
502
+ }).forEach(function (cp) {
527
503
  var cp_url = cpModificationRequired ? getContentPlacementUrl(cp) : cp.path;
528
504
  var href = '/' + cp_url;
529
- return React__default.createElement(
530
- React__default.Fragment,
531
- { key: index },
532
- React__default.createElement(
505
+ relatedLinks = [].concat(_toConsumableArray(relatedLinks), [{ label: cp.name, href: href }]);
506
+ });
507
+ }
508
+ if (issueGroup && issueGroup.name && issueGroup.identifier && issueGroup.identifier.current && issueGroup.parent && issueGroup.parent.identifier && issueGroup.parent.identifier.current) {
509
+ relatedLinks = [].concat(_toConsumableArray(relatedLinks), [{ label: issueGroup.name, href: '/publications/' + issueGroup.parent.identifier.current + '/' + issueGroup.identifier.current }]);
510
+ }
511
+ if (relatedLinks && relatedLinks.length > 0) {
512
+ return React__default.createElement(
513
+ 'div',
514
+ null,
515
+ relatedLinks.map(function (relatedLink, index) {
516
+ return React__default.createElement(
533
517
  'span',
534
- null,
518
+ { key: index, className: 'related-link' },
535
519
  React__default.createElement(
536
520
  'a',
537
- { className: 'related-links', key: index, href: href, style: { color: 'blue' } },
538
- cp.name
521
+ { className: 'related-links', style: { color: 'blue' }, href: relatedLink.href },
522
+ relatedLink.label
523
+ ),
524
+ React__default.createElement(
525
+ 'style',
526
+ { jsx: 'true' },
527
+ '\n .related-link:not(:first-child):before {\n content: \' | \';\n }\n '
539
528
  )
540
- ),
541
- content_placement.length > index + 1 ? ' | ' : null
542
- );
543
- }) : null
544
- );
529
+ );
530
+ })
531
+ );
532
+ }
533
+ return null;
545
534
  }
546
535
  return null;
547
536
  };
548
537
 
538
+ var RelatedContent = function RelatedContent() {
539
+ return React__default.createElement(
540
+ 'section',
541
+ { id: 'related-content-section', className: 'my-1' },
542
+ React__default.createElement(
543
+ 'p',
544
+ { className: 'mb-0' },
545
+ React__default.createElement(
546
+ 'b',
547
+ null,
548
+ 'Related Content:'
549
+ )
550
+ ),
551
+ React__default.createElement(RelevantTopics, null),
552
+ React__default.createElement(
553
+ 'div',
554
+ { className: 'pt-2' },
555
+ React__default.createElement(RelatedArticle, { articles: article.relatedArticle, client: client })
556
+ )
557
+ );
558
+ };
559
+
549
560
  var form = function form() {
550
561
  return React__default.createElement(
551
562
  React__default.Fragment,
@@ -951,7 +962,7 @@ var Article = function Article(props) {
951
962
  React__default.createElement(
952
963
  'div',
953
964
  { className: 'ad-box', style: { textAlign: 'center' } },
954
- main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
965
+ main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
955
966
  if (index === 0) {
956
967
  return React__default.createElement(
957
968
  'div',
@@ -1004,20 +1015,7 @@ var Article = function Article(props) {
1004
1015
  )
1005
1016
  ),
1006
1017
  React__default.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
1007
- showRelatedArticles && !showIsi && React__default.createElement(
1008
- React__default.Fragment,
1009
- null,
1010
- React__default.createElement(
1011
- 'div',
1012
- null,
1013
- React__default.createElement(RelevantTopics, null)
1014
- ),
1015
- React__default.createElement(
1016
- 'div',
1017
- { className: 'pt-2' },
1018
- React__default.createElement(RelatedArticle, { articles: article.relatedArticle, client: client })
1019
- )
1020
- )
1018
+ showRelatedArticles && !showIsi && React__default.createElement(RelatedContent, null)
1021
1019
  ),
1022
1020
  renderIsiContent(props.article)
1023
1021
  ),
@@ -1030,7 +1028,7 @@ var Article = function Article(props) {
1030
1028
  })
1031
1029
  )
1032
1030
  ),
1033
- main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1031
+ main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1034
1032
  if (index > 0) {
1035
1033
  return React__default.createElement(
1036
1034
  'div',
@@ -1103,7 +1101,7 @@ var ArticleQueue = function ArticleQueue(props) {
1103
1101
  });
1104
1102
  var targeting = getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl });
1105
1103
 
1106
- if (!main_39) {
1104
+ if (!main_36) {
1107
1105
  lib_3.getGoogletag().then(function (googletag) {
1108
1106
  if (window.googletag && googletag.pubadsReady) {
1109
1107
  var slots = googletag.pubads().getSlots();
@@ -1121,7 +1119,7 @@ var ArticleQueue = function ArticleQueue(props) {
1121
1119
  });
1122
1120
  }
1123
1121
  //Refresh leaderboard ad on mobile
1124
- if (main_39) {
1122
+ if (main_36) {
1125
1123
  var leaderboardSlotId = '';
1126
1124
  lib_3.getGoogletag().then(function (googletag) {
1127
1125
  if (window.googletag && googletag.pubadsReady) {
@@ -1182,50 +1180,77 @@ var ArticleQueue = function ArticleQueue(props) {
1182
1180
  }, 1000);
1183
1181
  }, [queueData.length]);
1184
1182
 
1185
- var loadmore = function loadmore() {
1186
- var query = props.relatedArticleQuery;
1187
- var params = props.params;
1188
- if (queueData && queueData.length < maxListLength) {
1189
- params.index = queueData.length - 1;
1190
- props.client.fetch(query, params).then(function () {
1191
- var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(article) {
1192
- var startingIndex, endingIndex, targeting;
1193
- return regenerator.wrap(function _callee$(_context) {
1194
- while (1) {
1195
- switch (_context.prev = _context.next) {
1196
- case 0:
1197
- if (!(article && article._id)) {
1198
- _context.next = 9;
1199
- break;
1200
- }
1201
-
1202
- //query next 4 related article without repeating previous 4 related articles
1203
- startingIndex = queueData.length + 1;
1204
- endingIndex = startingIndex + 2;
1205
- _context.next = 5;
1206
- return getRelatedArticle(null, props.client, article, prevUrl, startingIndex + '..' + endingIndex);
1207
-
1208
- case 5:
1209
- article.relatedArticle = _context.sent;
1210
- targeting = getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
1211
-
1212
- article.Ads = Ads.getRightItems(targeting);
1213
- setQueueData([].concat(_toConsumableArray(queueData), [article]));
1214
-
1215
- case 9:
1216
- case 'end':
1217
- return _context.stop();
1183
+ var loadmore = function () {
1184
+ var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
1185
+ var index, article, startingIndex, endingIndex, targeting;
1186
+ return regenerator.wrap(function _callee$(_context) {
1187
+ while (1) {
1188
+ switch (_context.prev = _context.next) {
1189
+ case 0:
1190
+ if (!(queueData && queueData.length < maxListLength)) {
1191
+ _context.next = 27;
1192
+ break;
1218
1193
  }
1219
- }
1220
- }, _callee, _this);
1221
- }));
1222
1194
 
1223
- return function (_x) {
1224
- return _ref.apply(this, arguments);
1225
- };
1226
- }());
1227
- }
1228
- };
1195
+ index = queueData.length - 1;
1196
+ article = null;
1197
+ _context.prev = 3;
1198
+ _context.next = 6;
1199
+ return getRelatedArticle(null, props.client, props.article, prevUrl, index);
1200
+
1201
+ case 6:
1202
+ article = _context.sent;
1203
+ _context.next = 12;
1204
+ break;
1205
+
1206
+ case 9:
1207
+ _context.prev = 9;
1208
+ _context.t0 = _context['catch'](3);
1209
+
1210
+ console.error(_context.t0);
1211
+
1212
+ case 12:
1213
+ if (!(article && article._id)) {
1214
+ _context.next = 27;
1215
+ break;
1216
+ }
1217
+
1218
+ //query next 4 related article without repeating previous 4 related articles
1219
+ startingIndex = queueData.length + 1;
1220
+ endingIndex = startingIndex + 2;
1221
+ _context.prev = 15;
1222
+ _context.next = 18;
1223
+ return getRelatedArticle(null, props.client, props.article, prevUrl, startingIndex + '..' + endingIndex);
1224
+
1225
+ case 18:
1226
+ article.relatedArticle = _context.sent;
1227
+ _context.next = 24;
1228
+ break;
1229
+
1230
+ case 21:
1231
+ _context.prev = 21;
1232
+ _context.t1 = _context['catch'](15);
1233
+
1234
+ console.error(_context.t1);
1235
+
1236
+ case 24:
1237
+ targeting = getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
1238
+
1239
+ article.Ads = Ads.getRightItems(targeting);
1240
+ setQueueData([].concat(_toConsumableArray(queueData), [article]));
1241
+
1242
+ case 27:
1243
+ case 'end':
1244
+ return _context.stop();
1245
+ }
1246
+ }
1247
+ }, _callee, _this, [[3, 9], [15, 21]]);
1248
+ }));
1249
+
1250
+ return function loadmore() {
1251
+ return _ref.apply(this, arguments);
1252
+ };
1253
+ }();
1229
1254
 
1230
1255
  var changeMeta = function changeMeta(meta) {
1231
1256
  document.title = meta.shareTitle;
@@ -1297,74 +1322,6 @@ var ArticleQueue = function ArticleQueue(props) {
1297
1322
  );
1298
1323
  };
1299
1324
 
1300
- var Articles = function Articles(props) {
1301
- var _extends2;
1302
-
1303
- var videoAccountIDs = props.videoAccountIDs,
1304
- Ads = props.Ads,
1305
- cpModificationRequired = props.cpModificationRequired,
1306
- Settings = props.Settings,
1307
- ISIContent = props.ISIContent,
1308
- prevUrl = props.prevUrl,
1309
- setActiveArticle = props.setActiveArticle,
1310
- article = props.article,
1311
- client = props.client,
1312
- relatedArticleQuery = props.relatedArticleQuery,
1313
- Website = props.Website,
1314
- pageview = props.pageview,
1315
- shareOptions = props.shareOptions,
1316
- WAds = props.WAds,
1317
- regionalPages = props.regionalPages,
1318
- nationalPage = props.nationalPage,
1319
- canonicalTag = props.canonicalTag;
1320
- var taxonomyMapping = article.taxonomyMapping,
1321
- _article$url = article.url;
1322
- _article$url = _article$url === undefined ? {
1323
- current: null
1324
- } : _article$url;
1325
- var url = _article$url.current,
1326
- content_placement = article.content_placement;
1327
-
1328
-
1329
- var taxonomy = [];
1330
- content_placement.forEach(function (_ref2) {
1331
- var path = _ref2.path,
1332
- _id = _ref2._id;
1333
-
1334
- var prev_url_to_check = prevUrl;
1335
- if (prev_url_to_check.includes('?')) {
1336
- prev_url_to_check = prev_url_to_check.split('?')[0];
1337
- }
1338
- if (prev_url_to_check.endsWith(path)) taxonomy.push(_id);
1339
- });
1340
-
1341
- if (taxonomy.length === 0) {
1342
- taxonomy = taxonomyMapping.map(function (_ref3) {
1343
- var _ref = _ref3._ref;
1344
- return _ref;
1345
- });
1346
- }
1347
-
1348
- var params = {
1349
- url: url,
1350
- taxonomy: taxonomy,
1351
- index: 0
1352
- };
1353
-
1354
- return React__default.createElement(ArticleQueue, _extends((_extends2 = {
1355
- client: client,
1356
- params: params,
1357
- relatedArticleQuery: relatedArticleQuery,
1358
- website: Website,
1359
- checkSponsered: true,
1360
- pageview: pageview,
1361
- shareOptions: shareOptions,
1362
- Ads: WAds,
1363
- regionalPages: regionalPages,
1364
- nationalPage: nationalPage
1365
- }, _defineProperty(_extends2, 'pageview', pageview), _defineProperty(_extends2, 'onVote', function onVote() {}), _defineProperty(_extends2, 'ISIContent', ISIContent), _defineProperty(_extends2, 'videoAccountIDs', videoAccountIDs), _defineProperty(_extends2, 'sponsoredTaxonomies', []), _defineProperty(_extends2, 'cpModificationRequired', cpModificationRequired), _defineProperty(_extends2, 'Settings', Settings), _defineProperty(_extends2, 'canonicalTag', canonicalTag), _extends2), props));
1366
- };
1367
-
1368
1325
  var _this$1 = undefined;
1369
1326
 
1370
1327
  var View = function View(props) {
@@ -1543,7 +1500,15 @@ var View = function View(props) {
1543
1500
  props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default.createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
1544
1501
  )
1545
1502
  ),
1546
- !needInfiniteScroll ? React__default.createElement(Article, _extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(Articles, _extends({ infiniteScroll: true, showRelatedArticles: showRelatedArticles, canonicalTag: canonicalTag }, props))
1503
+ !needInfiniteScroll ? React__default.createElement(Article, _extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(ArticleQueue, _extends({
1504
+ infiniteScroll: true,
1505
+ showRelatedArticles: showRelatedArticles,
1506
+ canonicalTag: canonicalTag,
1507
+ checkSponsered: true,
1508
+ Ads: props.WAds,
1509
+ onVote: function onVote() {},
1510
+ sponsoredTaxonomies: []
1511
+ }, props))
1547
1512
  );
1548
1513
  };
1549
1514
 
@@ -5,9 +5,9 @@ import './core.get-iterator-method-54d2e411.js';
5
5
  import './web.dom.iterable-8956f9a5.js';
6
6
  import React__default from 'react';
7
7
  import 'prop-types';
8
- import { m as moment } from './moment-12415288.js';
8
+ import { m as moment } from './moment-e2f9b20c.js';
9
9
  import 'react-dom';
10
- import { i as imageUrlBuilder } from './index-51a80699.js';
10
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
11
11
  import { L as LazyLoad } from './index-5f9f807a.js';
12
12
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
13
13
  import './slicedToArray-7021e5df.js';
@@ -10,7 +10,7 @@ import './_is-array-49698029.js';
10
10
  import React__default, { useRef, useState, useEffect } from 'react';
11
11
  import 'prop-types';
12
12
  import 'react-dom';
13
- import { i as imageUrlBuilder } from './index-51a80699.js';
13
+ import { i as imageUrlBuilder } from './index-3849e3fe.js';
14
14
  import { L as LazyLoad } from './index-5f9f807a.js';
15
15
  import { _ as _slicedToArray } from './slicedToArray-7021e5df.js';
16
16
  import { s as smoothscroll, g as getYoutubeId } from './smoothscroll-4b699764.js';
@@ -8,9 +8,9 @@ var getQuery = function getQuery(type) {
8
8
 
9
9
  switch (type) {
10
10
  case 'related':
11
- 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 }';
11
+ 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 }';
12
12
  case 'article':
13
- 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 }';
13
+ 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 }';
14
14
  case 'publication':
15
15
  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 }';
16
16
  case 'issue':