@mjhls/mjh-framework 1.0.683 → 1.0.684-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +3 -3
  4. package/dist/cjs/AD300x250x600.js +3 -3
  5. package/dist/cjs/AD728x90.js +4 -4
  6. package/dist/cjs/ADFloatingFooter.js +2 -2
  7. package/dist/cjs/ADGutter.js +2 -2
  8. package/dist/cjs/ADSkyscraper.js +2 -2
  9. package/dist/cjs/ADSponsoredResources.js +2 -2
  10. package/dist/cjs/ADWebcast.js +2 -2
  11. package/dist/cjs/ADWelcome.js +2 -2
  12. package/dist/cjs/AdSlot.js +2 -2
  13. package/dist/cjs/AdSlotsProvider.js +1 -1
  14. package/dist/cjs/ArticleCarousel.js +1 -1
  15. package/dist/cjs/ArticleSeriesListing.js +4 -4
  16. package/dist/cjs/Auth.js +256 -507
  17. package/dist/cjs/{BlockContent-88f69acd.js → BlockContent-091a991f.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 +4 -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-f6a18ed2.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 +10 -10
  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 -7
  38. package/dist/cjs/LeftNav.js +2 -2
  39. package/dist/cjs/MasterDeck.js +7 -7
  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 +1213 -15
  45. package/dist/cjs/PublicationDeck.js +1 -1
  46. package/dist/cjs/QueueDeckExpanded.js +256 -18
  47. package/dist/cjs/RecentNews.js +2 -2
  48. package/dist/cjs/RelatedContent.js +2 -2
  49. package/dist/cjs/{SocialSearchComponent-6b5e5b47.js → SocialSearchComponent-9cd24578.js} +5 -5
  50. package/dist/cjs/TaxonomyCard.js +2 -2
  51. package/dist/cjs/TemplateNormal.js +3 -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 +3 -3
  57. package/dist/cjs/View.js +532 -137
  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 +354 -5
  62. package/dist/cjs/getSerializers.js +6 -6
  63. package/dist/cjs/{getTargeting-fee8c429.js → getTargeting-9af0ef69.js} +2 -2
  64. package/dist/cjs/getTargeting.js +1 -1
  65. package/dist/cjs/{index-5be2866f.js → index-3294d3bc.js} +1 -1
  66. package/dist/cjs/index-bd6c9f56.js +211 -0
  67. package/dist/cjs/{index-b5eb3ff8.js → index-be0c82be.js} +19 -20
  68. package/dist/cjs/{index-8c9e8ca7.js → index-c49c3b5e.js} +450 -462
  69. package/dist/cjs/{index-2d0a4911.js → index-fa8ed292.js} +27 -34
  70. package/dist/cjs/{index.es-ab3f2690.js → index.es-9110add6.js} +1 -3
  71. package/dist/cjs/index.js +16 -16
  72. package/dist/cjs/{main-b6c96c8d.js → main-a4cb15bb.js} +36 -67
  73. package/dist/cjs/{moment-66a6a284.js → moment-575fe24c.js} +1 -1
  74. package/dist/cjs/timeDifferenceCalc.js +41 -0
  75. package/dist/cjs/urlFor.js +1 -1
  76. package/dist/esm/AD.js +1 -1
  77. package/dist/esm/AD300x250.js +3 -3
  78. package/dist/esm/AD300x250x600.js +3 -3
  79. package/dist/esm/AD728x90.js +4 -4
  80. package/dist/esm/ADFloatingFooter.js +2 -2
  81. package/dist/esm/ADGutter.js +2 -2
  82. package/dist/esm/ADSkyscraper.js +2 -2
  83. package/dist/esm/ADSponsoredResources.js +2 -2
  84. package/dist/esm/ADWebcast.js +2 -2
  85. package/dist/esm/ADWelcome.js +2 -2
  86. package/dist/esm/AdSlot.js +2 -2
  87. package/dist/esm/AdSlotsProvider.js +1 -1
  88. package/dist/esm/ArticleCarousel.js +1 -1
  89. package/dist/esm/ArticleSeriesListing.js +4 -4
  90. package/dist/esm/Auth.js +248 -499
  91. package/dist/esm/{BlockContent-a614acdf.js → BlockContent-e9b4ddcf.js} +1 -1
  92. package/dist/esm/BrowseVideosListing.js +1 -1
  93. package/dist/esm/CMEDeck.js +5 -5
  94. package/dist/esm/Column3.js +4 -4
  95. package/dist/esm/ConferenceArticleCard.js +2 -2
  96. package/dist/esm/DeckContent.js +7 -7
  97. package/dist/esm/DeckQueue.js +6 -6
  98. package/dist/esm/{Dfp-8a8fca18.js → Dfp-96b49def.js} +1 -1
  99. package/dist/esm/EventsDeck.js +4 -4
  100. package/dist/esm/ExternalResources.js +7 -7
  101. package/dist/esm/Feature.js +3 -3
  102. package/dist/esm/ForbesHero.js +2 -2
  103. package/dist/esm/GridContent.js +10 -10
  104. package/dist/esm/GridHero.js +2 -2
  105. package/dist/esm/GroupDeck.js +1 -1
  106. package/dist/esm/HamMagazine.js +4 -4
  107. package/dist/esm/Hero.js +1 -1
  108. package/dist/esm/HorizontalHero.js +2 -2
  109. package/dist/esm/IssueContentDeck.js +2 -2
  110. package/dist/esm/IssueDeck.js +2 -2
  111. package/dist/esm/IssueLanding.js +8 -7
  112. package/dist/esm/LeftNav.js +2 -2
  113. package/dist/esm/MasterDeck.js +7 -7
  114. package/dist/esm/NavMagazine.js +4 -4
  115. package/dist/esm/NavNative.js +3 -3
  116. package/dist/esm/OncliveHero.js +2 -2
  117. package/dist/esm/OncliveLargeHero.js +2 -2
  118. package/dist/esm/PartnerDetailListing.js +1210 -13
  119. package/dist/esm/PublicationDeck.js +1 -1
  120. package/dist/esm/QueueDeckExpanded.js +256 -18
  121. package/dist/esm/RecentNews.js +2 -2
  122. package/dist/esm/RelatedContent.js +2 -2
  123. package/dist/esm/{SocialSearchComponent-7f14e0f3.js → SocialSearchComponent-93233334.js} +5 -5
  124. package/dist/esm/TaxonomyCard.js +2 -2
  125. package/dist/esm/TemplateNormal.js +3 -3
  126. package/dist/esm/ThumbnailCard.js +1 -1
  127. package/dist/esm/Ustream.js +2 -2
  128. package/dist/esm/VerticalHero.js +2 -2
  129. package/dist/esm/VideoSeriesCard.js +2 -2
  130. package/dist/esm/VideoSeriesListing.js +3 -3
  131. package/dist/esm/View.js +512 -117
  132. package/dist/esm/YahooHero.js +2 -2
  133. package/dist/esm/YoutubeGroup.js +1 -1
  134. package/dist/esm/getQuery.js +2 -2
  135. package/dist/esm/getRelatedArticle.js +354 -5
  136. package/dist/esm/getSerializers.js +6 -6
  137. package/dist/esm/{index-93ec3c59.js → index-0e45a0b2.js} +27 -34
  138. package/dist/esm/{index-51a80699.js → index-73819142.js} +19 -20
  139. package/dist/esm/{index-5505d4f9.js → index-85783f24.js} +450 -462
  140. package/dist/esm/index-db3bb315.js +207 -0
  141. package/dist/esm/{index-d2f90501.js → index-ef6d5dcf.js} +1 -1
  142. package/dist/esm/{index.es-938a3a58.js → index.es-29c1cef5.js} +1 -3
  143. package/dist/esm/index.js +14 -14
  144. package/dist/esm/{main-0465b2a0.js → main-5d1e4bd3.js} +34 -65
  145. package/dist/esm/{moment-12415288.js → moment-e2f9b20c.js} +1 -1
  146. package/dist/esm/timeDifferenceCalc.js +39 -0
  147. package/dist/esm/urlFor.js +1 -1
  148. package/package.json +1 -1
  149. /package/dist/cjs/{ADInfeed-c676389b.js → ADInfeed-f27bc4b5.js} +0 -0
  150. /package/dist/cjs/{ADlgInfeed-57d63c87.js → ADlgInfeed-8decfd9e.js} +0 -0
  151. /package/dist/esm/{ADInfeed-97b8cea7.js → ADInfeed-1e0ca5e0.js} +0 -0
  152. /package/dist/esm/{ADlgInfeed-3ab91c75.js → ADlgInfeed-979cf0d5.js} +0 -0
package/dist/cjs/View.js CHANGED
@@ -10,29 +10,29 @@ require('./_iter-detect-60b2f026.js');
10
10
  var toConsumableArray = require('./toConsumableArray-9a3476fe.js');
11
11
  require('./core.get-iterator-method-f62321d4.js');
12
12
  require('./_object-pie-68c5bcbc.js');
13
- var _extends = require('./extends-60837c34.js');
13
+ var _extends$1 = require('./extends-60837c34.js');
14
14
  require('./_object-sap-5e74ba08.js');
15
15
  require('./inherits-513d81cd.js');
16
16
  require('./define-property-f4d12f4e.js');
17
17
  require('./web.dom.iterable-a0e279c1.js');
18
- var _typeof$1 = require('./typeof-725500bc.js');
18
+ var _typeof = 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-fa8ed292.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-be0c82be.js');
34
34
  require('./index-da796b8c.js');
35
- var main = require('./main-b6c96c8d.js');
35
+ var main = require('./main-a4cb15bb.js');
36
36
  require('./entities-310b46ee.js');
37
37
  var stringify = require('./stringify-7c5aff47.js');
38
38
  var slicedToArray = require('./slicedToArray-8f385299.js');
@@ -40,7 +40,7 @@ var asyncToGenerator = require('./asyncToGenerator-533d476a.js');
40
40
  require('./_set-species-f92c67c5.js');
41
41
  require('./beam-7217b7e7.js');
42
42
  var AdSlot = require('./AdSlot.js');
43
- var BlockContent = require('./BlockContent-88f69acd.js');
43
+ var BlockContent = require('./BlockContent-091a991f.js');
44
44
  require('./smoothscroll-95231a70.js');
45
45
  require('./GroupDeck.js');
46
46
  require('react-bootstrap');
@@ -48,7 +48,7 @@ require('./iconBase-68959171.js');
48
48
  var Button = _interopDefault(require('react-bootstrap/Button'));
49
49
  var defineProperty$1 = require('./defineProperty-55548b25.js');
50
50
  var Form = _interopDefault(require('react-bootstrap/Form'));
51
- var getSerializers = require('./index-8c9e8ca7.js');
51
+ var getSerializers = require('./index-c49c3b5e.js');
52
52
  require('./util-f2c1b65b.js');
53
53
  require('./brightcove-react-player-loader.es-156bd4d6.js');
54
54
  require('react-bootstrap/Pagination');
@@ -60,10 +60,10 @@ var keys = require('./keys-a586b7a0.js');
60
60
  require('react-bootstrap/Dropdown');
61
61
  var index_esm$3 = require('./index.esm-ff47db6f.js');
62
62
  var getSeriesDetail = require('./getSeriesDetail.js');
63
- require('nookies');
64
- var getQuery = require('./getQuery.js');
63
+ require('./index-bd6c9f56.js');
65
64
  var getRelatedArticle = require('./getRelatedArticle.js');
66
- var getTargeting = require('./getTargeting-fee8c429.js');
65
+ var getQuery = require('./getQuery.js');
66
+ var getTargeting = require('./getTargeting-9af0ef69.js');
67
67
  var getKeywords = require('./getKeywords.js');
68
68
  var urlFor = require('./urlFor.js');
69
69
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
@@ -143,9 +143,9 @@ var DocumentGroup = function DocumentGroup(_ref) {
143
143
  style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
144
144
  thumbnailUrl && React__default.createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
145
145
  !thumbnailUrl && React__default.createElement('p', {
146
- style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_39 ? 'left' : 'right', marginTop: '.25rem' },
146
+ style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_36 ? 'left' : 'right', marginTop: '.25rem' },
147
147
  dangerouslySetInnerHTML: { __html: name } }),
148
- main.main_39 && !thumbnailUrl && React__default.createElement(
148
+ main.main_36 && !thumbnailUrl && React__default.createElement(
149
149
  'style',
150
150
  { jsx: 'true' },
151
151
  '\n a.doc-group {\n display: block !important;\n padding: 0!important;\n }\n '
@@ -155,7 +155,7 @@ var DocumentGroup = function DocumentGroup(_ref) {
155
155
 
156
156
  var findIndex = function findIndex(arr) {
157
157
  var indexes = [];
158
- if ((typeof arr === 'undefined' ? 'undefined' : _typeof$1._typeof(arr)) === 'object') {
158
+ if ((typeof arr === 'undefined' ? 'undefined' : _typeof._typeof(arr)) === 'object') {
159
159
  var _iteratorNormalCompletion = true;
160
160
  var _didIteratorError = false;
161
161
  var _iteratorError = undefined;
@@ -252,7 +252,7 @@ var ISI = function ISI(props) {
252
252
  );
253
253
  };
254
254
 
255
- 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";
255
+ 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 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 background-color: #cccccc;\r\n margin-bottom: 0.5rem;\r\n padding: 0.5rem;\r\n border-radius: 0.25rem;\r\n }\r\n .RelatedArticles-module_imgWrapper__5Jx_4 {\r\n display: none;\r\n }\r\n}\r\n";
256
256
  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" };
257
257
  styleInject_es.styleInject(css);
258
258
 
@@ -297,6 +297,22 @@ var RelatedArticle = function RelatedArticle(_ref) {
297
297
  );
298
298
  };
299
299
 
300
+ var defaults = { nonTextBehavior: 'remove' };
301
+
302
+ var blocksToText = function blocksToText(blocks) {
303
+ var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
304
+
305
+ var options = _extends$1._Object$assign({}, defaults, opts);
306
+ return blocks.map(function (block) {
307
+ if (block._type !== 'block' || !block.children) {
308
+ return options.nonTextBehavior === 'remove' ? '' : '[' + block._type + ' block]';
309
+ }
310
+ return block.children.map(function (child) {
311
+ return child.text;
312
+ }).join('');
313
+ }).join('\n\n');
314
+ };
315
+
300
316
  var Article = function Article(props) {
301
317
  var onVote = function () {
302
318
  var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(nodeKey, selectedChoice) {
@@ -470,7 +486,7 @@ var Article = function Article(props) {
470
486
  };
471
487
  var renderAuthorBiography = function renderAuthorBiography(biography) {
472
488
  if (biography) {
473
- return React__default.createElement(BlockContent.BlockContent, _extends._extends({
489
+ return React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
474
490
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
475
491
  blocks: [biography]
476
492
  }, client.config()));
@@ -488,10 +504,56 @@ var Article = function Article(props) {
488
504
  };
489
505
 
490
506
  var RelevantTopics = function RelevantTopics() {
491
- if (content_placement && content_placement.length > 0 || documentGroupMapping) {
507
+ if (content_placement && content_placement.length > 0 || documentGroupMapping && documentGroupMapping.length > 0) {
508
+ var relatedLinks = [];
509
+ if (documentGroupMapping && documentGroupMapping.length > 0) {
510
+ documentGroupMapping.forEach(function (documentGroup) {
511
+ if (documentGroup.parent) {
512
+ relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: documentGroup.name, href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path }]);
513
+ }
514
+ });
515
+ }
516
+ if (content_placement && content_placement.length > 0) {
517
+ content_placement.filter(function (item) {
518
+ return item.path !== 'news';
519
+ }).forEach(function (cp) {
520
+ var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
521
+ var href = '/' + cp_url;
522
+ relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: cp.name, href: href }]);
523
+ });
524
+ }
525
+ if (relatedLinks && relatedLinks.length > 0) {
526
+ return React__default.createElement(
527
+ 'div',
528
+ null,
529
+ relatedLinks.map(function (relatedLink, index) {
530
+ return React__default.createElement(
531
+ 'span',
532
+ { key: index, className: 'related-link' },
533
+ React__default.createElement(
534
+ 'a',
535
+ { className: 'related-links', style: { color: 'blue' }, href: relatedLink.href },
536
+ relatedLink.label
537
+ ),
538
+ React__default.createElement(
539
+ 'style',
540
+ { jsx: 'true' },
541
+ '\n .related-link:not(:first-child):before {\n content: \' | \';\n }\n '
542
+ )
543
+ );
544
+ })
545
+ );
546
+ }
547
+ return null;
548
+ }
549
+ return null;
550
+ };
551
+
552
+ var RelatedContent = function RelatedContent() {
553
+ if (showRelatedArticles) {
492
554
  return React__default.createElement(
493
- 'div',
494
- { style: { color: '#262626' } },
555
+ 'section',
556
+ { className: 'related-content-section' },
495
557
  React__default.createElement(
496
558
  'p',
497
559
  { className: 'mb-0' },
@@ -501,47 +563,17 @@ var Article = function Article(props) {
501
563
  'Related Content:'
502
564
  )
503
565
  ),
504
- documentGroupMapping && documentGroupMapping.map(function (documentGroup) {
505
- if (!documentGroup.parent) {
506
- return null;
507
- }
508
-
509
- return React__default.createElement(
510
- React__default.Fragment,
511
- null,
512
- React__default.createElement(
513
- 'span',
514
- { className: '' },
515
- React__default.createElement(
516
- 'a',
517
- {
518
- className: 'related-links',
519
- style: { color: 'blue' },
520
- href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path },
521
- documentGroup.name
522
- )
523
- ),
524
- content_placement && content_placement.length ? ' | ' : null
525
- );
526
- }),
527
- content_placement && content_placement.length > 0 ? content_placement.map(function (cp, index) {
528
- var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
529
- var href = '/' + cp_url;
530
- return React__default.createElement(
531
- React__default.Fragment,
532
- { key: index },
533
- React__default.createElement(
534
- 'span',
535
- null,
536
- React__default.createElement(
537
- 'a',
538
- { className: 'related-links', key: index, href: href, style: { color: 'blue' } },
539
- cp.name
540
- )
541
- ),
542
- content_placement.length > index + 1 ? ' | ' : null
543
- );
544
- }) : null
566
+ React__default.createElement(RelevantTopics, null),
567
+ React__default.createElement(
568
+ 'div',
569
+ { className: 'pt-2' },
570
+ React__default.createElement(RelatedArticle, { articles: article.relatedContentArticles, client: client })
571
+ ),
572
+ React__default.createElement(
573
+ 'style',
574
+ { jsx: 'true' },
575
+ '\n .related-content-section {\n margin: 0.5rem 0 0.5rem 0;\n padding: 0.5rem;\n background-color: #e6e6e6;\n border-radius: 0.25rem;\n }\n '
576
+ )
545
577
  );
546
578
  }
547
579
  return null;
@@ -595,11 +627,11 @@ var Article = function Article(props) {
595
627
  var indexes = findIndex(body);
596
628
 
597
629
  if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
598
- payload = _extends._extends({}, payload, {
599
- contextualAD: _extends._extends({}, payload.contextualAD, {
630
+ payload = _extends$1._extends({}, payload, {
631
+ contextualAD: _extends$1._extends({}, payload.contextualAD, {
600
632
  slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
601
633
  }),
602
- contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
634
+ contextualVideoAD: _extends$1._extends({}, payload.contextualVideoAD, {
603
635
  slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
604
636
  })
605
637
  });
@@ -630,35 +662,77 @@ var Article = function Article(props) {
630
662
  setContextualADFlag(true);
631
663
  }
632
664
  };
665
+
666
+ //Start: Generating intemediate Section if available
667
+ var blockContentSection1 = articleBody.slice(0, selectedIndex);
668
+ var blockContentSection2 = articleBody.slice(selectedIndex);
669
+ var blockContentIntermediateSection = [];
670
+ var rearrangeSections = function rearrangeSections(arr, index) {
671
+ var item = arr[index];
672
+ if (item && item._type) {
673
+ if (item._type === 'block' && blocksToText([item]) === '') {
674
+ rearrangeSections(arr, index + 1);
675
+ }
676
+ if (item._type !== 'block') {
677
+ var _selectedIndex = arr.findIndex(function (item1) {
678
+ return item1._key === item._key;
679
+ });
680
+ blockContentIntermediateSection = [].concat(toConsumableArray._toConsumableArray(blockContentIntermediateSection), toConsumableArray._toConsumableArray(arr.slice(0, _selectedIndex + 1)));
681
+ blockContentSection2 = blockContentSection2.slice(_selectedIndex + 1);
682
+ rearrangeSections(blockContentSection2, 0);
683
+ }
684
+ }
685
+ };
686
+ rearrangeSections(blockContentSection2, 0);
687
+ //End: Generating intemediate Section if available
688
+
633
689
  return React__default.createElement(
634
690
  React__default.Fragment,
635
691
  null,
636
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
637
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
638
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, selectedIndex))),
639
- imageOptions: { w: 320, h: 240, fit: 'max' }
640
- }, client.config())),
692
+ React__default.createElement(
693
+ 'div',
694
+ { 'class': 'clearfix' },
695
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
696
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
697
+ blocks: blockContentSection1,
698
+ imageOptions: { w: 320, h: 240, fit: 'max' }
699
+ }, client.config()))
700
+ ),
641
701
  React__default.createElement('span', { className: 'clearfix' }),
642
702
  React__default.createElement(
643
703
  'div',
644
704
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
645
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : checkIsAdFound }))
705
+ React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : checkIsAdFound }))
646
706
  ),
647
707
  React__default.createElement('span', { className: 'clearfix' }),
648
708
  React__default.createElement(
649
709
  'div',
650
710
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
651
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
711
+ React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
652
712
  ),
653
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
654
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
655
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(selectedIndex))),
656
- imageOptions: { w: 320, h: 240, fit: 'max' }
657
- }, client.config()))
713
+ blockContentIntermediateSection.length > 0 && React__default.createElement(
714
+ 'div',
715
+ { 'class': 'clearfix' },
716
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
717
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
718
+ blocks: blockContentIntermediateSection,
719
+ imageOptions: { w: 320, h: 240, fit: 'max' }
720
+ }, client.config()))
721
+ ),
722
+ React__default.createElement(RelatedContent, null),
723
+ React__default.createElement(
724
+ 'div',
725
+ { 'class': 'clearfix' },
726
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
727
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
728
+ blocks: blockContentSection2,
729
+ imageOptions: { w: 320, h: 240, fit: 'max' }
730
+ }, client.config()))
731
+ )
658
732
  );
659
733
  } else if (indexes.length >= 2 && body.length >= 3 && payload.contextualAD && !payload.contextualVideoAD) {
660
- payload = _extends._extends({}, payload, {
661
- contextualAD: _extends._extends({}, payload.contextualAD, {
734
+ payload = _extends$1._extends({}, payload, {
735
+ contextualAD: _extends$1._extends({}, payload.contextualAD, {
662
736
  slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
663
737
  className: 'ADFluid',
664
738
  // Fetching new contextual targeting based on the current active article.
@@ -671,7 +745,7 @@ var Article = function Article(props) {
671
745
  }, { viewport: [0, 0], sizes: ['fluid', [300, 100]] }] : { viewport: [0, 0], sizes: ['fluid', [300, 100]] }
672
746
  })
673
747
  });
674
- var _selectedIndex = indexes[1] + 1;
748
+ var _selectedIndex2 = indexes[1] + 1;
675
749
 
676
750
  var _checkIsAdFound = function _checkIsAdFound(isFound, adData) {
677
751
  if (!isFound) {
@@ -702,34 +776,75 @@ var Article = function Article(props) {
702
776
  }
703
777
  };
704
778
 
779
+ //Start: Generating intemediate Section if available
780
+ var _blockContentSection = articleBody.slice(0, _selectedIndex2);
781
+ var _blockContentSection2 = articleBody.slice(_selectedIndex2);
782
+ var _blockContentIntermediateSection = [];
783
+ var _rearrangeSections = function _rearrangeSections(arr, index) {
784
+ var item = arr[index];
785
+ if (item && item._type) {
786
+ if (item._type === 'block' && blocksToText([item]) === '') {
787
+ _rearrangeSections(arr, index + 1);
788
+ }
789
+ if (item._type !== 'block') {
790
+ var _selectedIndex3 = arr.findIndex(function (item1) {
791
+ return item1._key === item._key;
792
+ });
793
+ _blockContentIntermediateSection = [].concat(toConsumableArray._toConsumableArray(_blockContentIntermediateSection), toConsumableArray._toConsumableArray(arr.slice(0, _selectedIndex3 + 1)));
794
+ _blockContentSection2 = _blockContentSection2.slice(_selectedIndex3 + 1);
795
+ _rearrangeSections(_blockContentSection2, 0);
796
+ }
797
+ }
798
+ };
799
+ _rearrangeSections(_blockContentSection2, 0);
800
+ //End: Generating intemediate Section if available
801
+
705
802
  return React__default.createElement(
706
803
  React__default.Fragment,
707
804
  null,
708
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
709
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
710
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex))),
711
- imageOptions: { w: 320, h: 240, fit: 'max' }
712
- }, client.config())),
805
+ React__default.createElement(
806
+ 'div',
807
+ { 'class': 'clearfix' },
808
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
809
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
810
+ blocks: _blockContentSection,
811
+ imageOptions: { w: 320, h: 240, fit: 'max' }
812
+ }, client.config()))
813
+ ),
713
814
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
714
815
  (visibleFlag || queueData && queueData.length === 1 || !props.infiniteScroll) && React__default.createElement(
715
816
  'div',
716
817
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
717
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : _checkIsAdFound }))
818
+ React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : _checkIsAdFound }))
718
819
  ),
719
820
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
720
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
721
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
722
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex))),
723
- imageOptions: { w: 320, h: 240, fit: 'max' }
724
- }, client.config()))
821
+ _blockContentIntermediateSection.length > 0 && React__default.createElement(
822
+ 'div',
823
+ { 'class': 'clearfix' },
824
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
825
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
826
+ blocks: _blockContentIntermediateSection,
827
+ imageOptions: { w: 320, h: 240, fit: 'max' }
828
+ }, client.config()))
829
+ ),
830
+ React__default.createElement(RelatedContent, null),
831
+ React__default.createElement(
832
+ 'div',
833
+ { 'class': 'clearfix' },
834
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
835
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
836
+ blocks: _blockContentSection2,
837
+ imageOptions: { w: 320, h: 240, fit: 'max' }
838
+ }, client.config()))
839
+ )
725
840
  );
726
841
  } else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
727
- payload = _extends._extends({}, payload, {
728
- contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
842
+ payload = _extends$1._extends({}, payload, {
843
+ contextualVideoAD: _extends$1._extends({}, payload.contextualVideoAD, {
729
844
  slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
730
845
  })
731
846
  });
732
- var _selectedIndex2 = indexes[1] + 1;
847
+ var _selectedIndex4 = indexes[1] + 1;
733
848
 
734
849
  var _checkIsAdFound2 = function _checkIsAdFound2(isFound) {
735
850
  if (!isFound) {
@@ -745,28 +860,117 @@ var Article = function Article(props) {
745
860
  }
746
861
  };
747
862
 
863
+ //Start: Generating intemediate Section if available
864
+ var _blockContentSection3 = articleBody.slice(0, _selectedIndex4);
865
+ var _blockContentSection4 = articleBody.slice(_selectedIndex4);
866
+ var _blockContentIntermediateSection2 = [];
867
+ var _rearrangeSections2 = function _rearrangeSections2(arr, index) {
868
+ var item = arr[index];
869
+ if (item && item._type) {
870
+ if (item._type === 'block' && blocksToText([item]) === '') {
871
+ _rearrangeSections2(arr, index + 1);
872
+ }
873
+ if (item._type !== 'block') {
874
+ var _selectedIndex5 = arr.findIndex(function (item1) {
875
+ return item1._key === item._key;
876
+ });
877
+ _blockContentIntermediateSection2 = [].concat(toConsumableArray._toConsumableArray(_blockContentIntermediateSection2), toConsumableArray._toConsumableArray(arr.slice(0, _selectedIndex5 + 1)));
878
+ _blockContentSection4 = _blockContentSection4.slice(_selectedIndex5 + 1);
879
+ _rearrangeSections2(_blockContentSection4, 0);
880
+ }
881
+ }
882
+ };
883
+ _rearrangeSections2(_blockContentSection4, 0);
884
+ //End: Generating intemediate Section if available
885
+
748
886
  return React__default.createElement(
749
887
  React__default.Fragment,
750
888
  null,
751
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
752
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
753
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex2))),
754
- imageOptions: { w: 320, h: 240, fit: 'max' }
755
- }, client.config())),
889
+ React__default.createElement(
890
+ 'div',
891
+ { 'class': 'clearfix' },
892
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
893
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
894
+ blocks: _blockContentSection3,
895
+ imageOptions: { w: 320, h: 240, fit: 'max' }
896
+ }, client.config()))
897
+ ),
756
898
  React__default.createElement('span', { className: 'clearfix' }),
757
899
  React__default.createElement(
758
900
  'div',
759
901
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
760
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
902
+ React__default.createElement(AdSlot, _extends$1._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
903
+ ),
904
+ _blockContentIntermediateSection2.length > 0 && React__default.createElement(
905
+ 'div',
906
+ { 'class': 'clearfix' },
907
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
908
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
909
+ blocks: _blockContentIntermediateSection2,
910
+ imageOptions: { w: 320, h: 240, fit: 'max' }
911
+ }, client.config()))
761
912
  ),
762
- React__default.createElement(BlockContent.BlockContent, _extends._extends({
763
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
764
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex2))),
765
- imageOptions: { w: 320, h: 240, fit: 'max' }
766
- }, client.config()))
913
+ React__default.createElement(RelatedContent, null),
914
+ React__default.createElement(
915
+ 'div',
916
+ { 'class': 'clearfix' },
917
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
918
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
919
+ blocks: _blockContentSection4,
920
+ imageOptions: { w: 320, h: 240, fit: 'max' }
921
+ }, client.config()))
922
+ )
923
+ );
924
+ } else if (indexes.length >= 2 && body.length > 3 && showRelatedArticles) {
925
+ var _selectedIndex6 = indexes[1] + 1;
926
+
927
+ //Start: Rearranging sections
928
+ var _blockContentSection5 = articleBody.slice(0, _selectedIndex6);
929
+ var _blockContentSection6 = articleBody.slice(_selectedIndex6);
930
+ var _rearrangeSections3 = function _rearrangeSections3(arr, index) {
931
+ var item = arr[index];
932
+ if (item && item._type) {
933
+ if (item._type === 'block' && blocksToText([item]) === '') {
934
+ _rearrangeSections3(arr, index + 1);
935
+ }
936
+ if (item._type !== 'block') {
937
+ var _selectedIndex7 = arr.findIndex(function (item1) {
938
+ return item1._key === item._key;
939
+ });
940
+ _blockContentSection5 = [].concat(toConsumableArray._toConsumableArray(_blockContentSection5), toConsumableArray._toConsumableArray(arr.slice(0, _selectedIndex7 + 1)));
941
+ _blockContentSection6 = _blockContentSection6.slice(_selectedIndex7 + 1);
942
+ _rearrangeSections3(_blockContentSection6, 0);
943
+ }
944
+ }
945
+ };
946
+ _rearrangeSections3(_blockContentSection6, 0);
947
+ //End: Rearranging sections
948
+
949
+ return React__default.createElement(
950
+ React__default.Fragment,
951
+ null,
952
+ React__default.createElement(
953
+ 'div',
954
+ { 'class': 'clearfix' },
955
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
956
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag, null, null, targeting),
957
+ blocks: _blockContentSection5,
958
+ imageOptions: { w: 320, h: 240, fit: 'max' }
959
+ }, client.config()))
960
+ ),
961
+ React__default.createElement(RelatedContent, null),
962
+ React__default.createElement(
963
+ 'div',
964
+ { 'class': 'clearfix' },
965
+ React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
966
+ serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
967
+ blocks: _blockContentSection6,
968
+ imageOptions: { w: 320, h: 240, fit: 'max' }
969
+ }, client.config()))
970
+ )
767
971
  );
768
972
  } else {
769
- return React__default.createElement(BlockContent.BlockContent, _extends._extends({
973
+ return React__default.createElement(BlockContent.BlockContent, _extends$1._extends({
770
974
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, false, null, props.article.Ads, targeting),
771
975
  blocks: articleBody,
772
976
  imageOptions: { w: 320, h: 240, fit: 'max' }
@@ -952,7 +1156,7 @@ var Article = function Article(props) {
952
1156
  React__default.createElement(
953
1157
  'div',
954
1158
  { className: 'ad-box', style: { textAlign: 'center' } },
955
- main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1159
+ main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
956
1160
  if (index === 0) {
957
1161
  return React__default.createElement(
958
1162
  'div',
@@ -1004,21 +1208,7 @@ var Article = function Article(props) {
1004
1208
  issue.name
1005
1209
  )
1006
1210
  ),
1007
- React__default.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
1008
- showRelatedArticles && !showIsi && React__default.createElement(
1009
- React__default.Fragment,
1010
- null,
1011
- React__default.createElement(
1012
- 'div',
1013
- null,
1014
- React__default.createElement(RelevantTopics, null)
1015
- ),
1016
- React__default.createElement(
1017
- 'div',
1018
- { className: 'pt-2' },
1019
- React__default.createElement(RelatedArticle, { articles: article.relatedArticle, client: client })
1020
- )
1021
- )
1211
+ React__default.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } })
1022
1212
  ),
1023
1213
  renderIsiContent(props.article)
1024
1214
  ),
@@ -1031,7 +1221,7 @@ var Article = function Article(props) {
1031
1221
  })
1032
1222
  )
1033
1223
  ),
1034
- main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1224
+ main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1035
1225
  if (index > 0) {
1036
1226
  return React__default.createElement(
1037
1227
  'div',
@@ -1071,6 +1261,201 @@ var Article = function Article(props) {
1071
1261
 
1072
1262
  var _this = undefined;
1073
1263
 
1264
+ var getRelatedContentArticles = function () {
1265
+ var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
1266
+ var client = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1267
+ var article = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1268
+ var prevUrl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';
1269
+ var articleCount = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
1270
+
1271
+ var _article$url, url, content_placement, documentGroupMapping, issueGroup, references, params, articles, relatedContentQuery;
1272
+
1273
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
1274
+ while (1) {
1275
+ switch (_context.prev = _context.next) {
1276
+ case 0:
1277
+ _article$url = article.url;
1278
+ _article$url = _article$url === undefined ? {
1279
+ current: null
1280
+ } : _article$url;
1281
+ url = _article$url.current, content_placement = article.content_placement, documentGroupMapping = article.documentGroupMapping, issueGroup = article.issueGroup;
1282
+ references = [];
1283
+
1284
+ if (content_placement && content_placement.length > 0) {
1285
+ content_placement.forEach(function (_ref2) {
1286
+ var path = _ref2.path,
1287
+ _id = _ref2._id;
1288
+
1289
+ if (!_id || typeof _id == 'undefined') {
1290
+ return null;
1291
+ }
1292
+ var prev_url_to_check = prevUrl;
1293
+ if (prev_url_to_check.includes('?')) {
1294
+ prev_url_to_check = prev_url_to_check.split('?')[0];
1295
+ }
1296
+ if (prev_url_to_check.endsWith(path) && _id) references.push(_id);
1297
+ });
1298
+ if (references.length === 0) {
1299
+ content_placement.filter(function (_ref3) {
1300
+ var identifier = _ref3.identifier;
1301
+ return identifier !== 'news';
1302
+ }).forEach(function (_ref4) {
1303
+ var _id = _ref4._id;
1304
+
1305
+ if (_id) references.push(_id);
1306
+ });
1307
+ }
1308
+ }
1309
+
1310
+ if (documentGroupMapping && documentGroupMapping.length > 0) {
1311
+ documentGroupMapping.forEach(function (_ref5) {
1312
+ var _id = _ref5._id;
1313
+
1314
+ if (_id) references.push(_id);
1315
+ });
1316
+ }
1317
+
1318
+ if (issueGroup && issueGroup._ref) {
1319
+ references.push(issueGroup._ref);
1320
+ }
1321
+
1322
+ params = { url: url, references: references };
1323
+ articles = [];
1324
+
1325
+ if (!(params.references && params.references.length > 0)) {
1326
+ _context.next = 20;
1327
+ break;
1328
+ }
1329
+
1330
+ relatedContentQuery = '*[\n _type == "article"\n && defined(title)\n && defined(url)\n && !(_id in path("drafts.**"))\n && is_visible == true\n && passwordLock != true\n && taxonomyMapping[].disableAds != \'true\'\n && contentCategory.name != \'Poll\'\n && contentCategory.name != \'Slideshows\'\n \t&& contentCategory.disableAds != \'true\'\n && ExcludeFromInfiniteScroll != true\n && url.current != $url\n && !defined(body[].videos)\n && dateTime(published) <= dateTime(now())\n && references($references)\n ]| order(published desc)[' + articleCount + ']\n {\n title,\n url,\n thumbnail\n }';
1331
+ _context.prev = 11;
1332
+ _context.next = 14;
1333
+ return client.fetch(relatedContentQuery, params);
1334
+
1335
+ case 14:
1336
+ articles = _context.sent;
1337
+ _context.next = 20;
1338
+ break;
1339
+
1340
+ case 17:
1341
+ _context.prev = 17;
1342
+ _context.t0 = _context['catch'](11);
1343
+
1344
+ console.error(_context.t0);
1345
+
1346
+ case 20:
1347
+ return _context.abrupt('return', articles);
1348
+
1349
+ case 21:
1350
+ case 'end':
1351
+ return _context.stop();
1352
+ }
1353
+ }
1354
+ }, _callee, _this, [[11, 17]]);
1355
+ }));
1356
+
1357
+ return function getRelatedContentArticles() {
1358
+ return _ref.apply(this, arguments);
1359
+ };
1360
+ }();
1361
+
1362
+ // const getRelatedContents = async (ctx = null, client = null, article = {}, prevUrl = '/', articleCount = 0) => {
1363
+ // const {
1364
+ // url: { current: url } = {
1365
+ // current: null
1366
+ // },
1367
+ // content_placement,
1368
+ // documentGroupMapping,
1369
+ // issueGroup
1370
+ // } = article
1371
+ // let params = { url }
1372
+ // let conditions = ''
1373
+
1374
+ // if (content_placement && content_placement.length > 0) {
1375
+ // let taxonomy = []
1376
+ // content_placement.forEach(({ path, _id }) => {
1377
+ // if (!_id || typeof _id == 'undefined') {
1378
+ // return null
1379
+ // }
1380
+ // let prev_url_to_check = prevUrl
1381
+ // if (prev_url_to_check.includes('?')) {
1382
+ // prev_url_to_check = prev_url_to_check.split('?')[0]
1383
+ // }
1384
+ // if (prev_url_to_check.endsWith(path) && _id) taxonomy.push(_id)
1385
+ // })
1386
+ // if (taxonomy.length === 0) {
1387
+ // content_placement
1388
+ // .filter(({ identifier }) => identifier !== 'news')
1389
+ // .forEach(({ _id }) => {
1390
+ // if (_id) taxonomy.push(_id)
1391
+ // })
1392
+ // }
1393
+ // if (taxonomy.length > 0) {
1394
+ // params = { ...params, taxonomy }
1395
+ // conditions = `&& taxonomyMapping[]._ref in $taxonomy`
1396
+ // }
1397
+ // }
1398
+
1399
+ // if (documentGroupMapping && documentGroupMapping.length > 0) {
1400
+ // let documentGroup = []
1401
+ // documentGroupMapping.forEach(({ _id }) => {
1402
+ // if (_id) documentGroup.push(_id)
1403
+ // })
1404
+ // if (params.taxonomy && documentGroup.length > 0) {
1405
+ // params = { ...params, documentGroup }
1406
+ // conditions = `&& (taxonomyMapping[]._ref in $taxonomy || documentGroupMapping[]._ref in $documentGroup)`
1407
+ // }
1408
+ // }
1409
+
1410
+ // if (issueGroup && issueGroup._ref) {
1411
+ // if (params.taxonomy && params.documentGroup) {
1412
+ // params = { ...params, issueAssociation: issueGroup._ref }
1413
+ // conditions = `&& (taxonomyMapping[]._ref in $taxonomy || documentGroupMapping[]._ref in $documentGroup || issueGroup._ref == $issueAssociation )`
1414
+ // } else if (params.taxonomy) {
1415
+ // params = { ...params, issueAssociation: issueGroup._ref }
1416
+ // conditions = `&& (taxonomyMapping[]._ref in $taxonomy || issueGroup._ref == $issueAssociation )`
1417
+ // }
1418
+ // }
1419
+
1420
+ // let articles = []
1421
+ // if (params.taxonomy && params.taxonomy.length > 0) {
1422
+ // const relatedContentQuery = `*[
1423
+ // _type == "article"
1424
+ // && defined(title)
1425
+ // && defined(url)
1426
+ // && !(_id in path("drafts.**"))
1427
+ // && is_visible == true
1428
+ // && passwordLock != true
1429
+ // && taxonomyMapping[].disableAds != 'true'
1430
+ // && contentCategory.name != 'Poll'
1431
+ // && contentCategory.name != 'Slideshows'
1432
+ // && contentCategory.disableAds != 'true'
1433
+ // && ExcludeFromInfiniteScroll != true
1434
+ // && url.current != $url
1435
+ // && !defined(body[].videos)
1436
+ // && published <= '${new Date().toISOString()}'
1437
+ // ${conditions}
1438
+ // ]| order(published desc)[${articleCount}]
1439
+ // {
1440
+ // title,
1441
+ // url,
1442
+ // thumbnail
1443
+ // }`
1444
+
1445
+ // try {
1446
+ // articles = await client.fetch(relatedContentQuery, params)
1447
+ // } catch (error) {
1448
+ // console.error(error)
1449
+ // }
1450
+ // }
1451
+
1452
+ // return articles
1453
+ // }
1454
+
1455
+ // export default getRelatedContents
1456
+
1457
+ var _this$1 = undefined;
1458
+
1074
1459
  var ArticleQueue = function ArticleQueue(props) {
1075
1460
  var _props$prevUrl = props.prevUrl,
1076
1461
  prevUrl = _props$prevUrl === undefined ? '/' : _props$prevUrl,
@@ -1087,7 +1472,7 @@ var ArticleQueue = function ArticleQueue(props) {
1087
1472
 
1088
1473
 
1089
1474
  var firstArticle = function firstArticle() {
1090
- var article = _extends._Object$assign({}, props.article);
1475
+ var article = _extends$1._Object$assign({}, props.article);
1091
1476
  var targeting = getTargeting.getTargeting(props);
1092
1477
  article.Ads = Ads.getRightItems(targeting);
1093
1478
  return article;
@@ -1104,7 +1489,7 @@ var ArticleQueue = function ArticleQueue(props) {
1104
1489
  });
1105
1490
  var targeting = getTargeting.getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl });
1106
1491
 
1107
- if (!main.main_39) {
1492
+ if (!main.main_36) {
1108
1493
  index.lib_3.getGoogletag().then(function (googletag) {
1109
1494
  if (window.googletag && googletag.pubadsReady) {
1110
1495
  var slots = googletag.pubads().getSlots();
@@ -1122,7 +1507,7 @@ var ArticleQueue = function ArticleQueue(props) {
1122
1507
  });
1123
1508
  }
1124
1509
  //Refresh leaderboard ad on mobile
1125
- if (main.main_39) {
1510
+ if (main.main_36) {
1126
1511
  var leaderboardSlotId = '';
1127
1512
  index.lib_3.getGoogletag().then(function (googletag) {
1128
1513
  if (window.googletag && googletag.pubadsReady) {
@@ -1196,7 +1581,7 @@ var ArticleQueue = function ArticleQueue(props) {
1196
1581
  switch (_context.prev = _context.next) {
1197
1582
  case 0:
1198
1583
  if (!(article && article._id)) {
1199
- _context.next = 9;
1584
+ _context.next = 12;
1200
1585
  break;
1201
1586
  }
1202
1587
 
@@ -1208,17 +1593,22 @@ var ArticleQueue = function ArticleQueue(props) {
1208
1593
 
1209
1594
  case 5:
1210
1595
  article.relatedArticle = _context.sent;
1596
+ _context.next = 8;
1597
+ return getRelatedContentArticles(null, props.client, article, prevUrl, startingIndex + '..' + endingIndex);
1598
+
1599
+ case 8:
1600
+ article.relatedContentArticles = _context.sent;
1211
1601
  targeting = getTargeting.getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
1212
1602
 
1213
1603
  article.Ads = Ads.getRightItems(targeting);
1214
1604
  setQueueData([].concat(toConsumableArray._toConsumableArray(queueData), [article]));
1215
1605
 
1216
- case 9:
1606
+ case 12:
1217
1607
  case 'end':
1218
1608
  return _context.stop();
1219
1609
  }
1220
1610
  }
1221
- }, _callee, _this);
1611
+ }, _callee, _this$1);
1222
1612
  }));
1223
1613
 
1224
1614
  return function (_x) {
@@ -1283,7 +1673,7 @@ var ArticleQueue = function ArticleQueue(props) {
1283
1673
  index_es.InfiniteScroll,
1284
1674
  { dataLength: queueData.length, next: loadmore, scrollThreshold: '60%', hasMore: true, style: { overflow: 'hidden' } },
1285
1675
  queueData.map(function (article, index) {
1286
- return React__default.createElement(Article, _extends._extends({
1676
+ return React__default.createElement(Article, _extends$1._extends({
1287
1677
  key: index
1288
1678
  }, props, {
1289
1679
  onChangeArticle: onChangeArticle,
@@ -1352,7 +1742,7 @@ var Articles = function Articles(props) {
1352
1742
  index: 0
1353
1743
  };
1354
1744
 
1355
- return React__default.createElement(ArticleQueue, _extends._extends((_extends2 = {
1745
+ return React__default.createElement(ArticleQueue, _extends$1._extends((_extends2 = {
1356
1746
  client: client,
1357
1747
  params: params,
1358
1748
  relatedArticleQuery: relatedArticleQuery,
@@ -1366,7 +1756,7 @@ var Articles = function Articles(props) {
1366
1756
  }, 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));
1367
1757
  };
1368
1758
 
1369
- var _this$1 = undefined;
1759
+ var _this$2 = undefined;
1370
1760
 
1371
1761
  var View = function View(props) {
1372
1762
  var router = Router.useRouter();
@@ -1544,7 +1934,7 @@ var View = function View(props) {
1544
1934
  props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default.createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
1545
1935
  )
1546
1936
  ),
1547
- !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))
1937
+ !needInfiniteScroll ? React__default.createElement(Article, _extends$1._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles }, props)) : React__default.createElement(Articles, _extends$1._extends({ infiniteScroll: true, showRelatedArticles: showRelatedArticles, canonicalTag: canonicalTag }, props))
1548
1938
  );
1549
1939
  };
1550
1940
 
@@ -1625,12 +2015,12 @@ View.returnGetInitialProps = function () {
1625
2015
  }
1626
2016
 
1627
2017
  article.relatedArticle = null;
1628
- _context.next = 20;
2018
+ _context.next = 23;
1629
2019
  break;
1630
2020
 
1631
2021
  case 16:
1632
2022
  if (!article) {
1633
- _context.next = 20;
2023
+ _context.next = 23;
1634
2024
  break;
1635
2025
  }
1636
2026
 
@@ -1639,8 +2029,13 @@ View.returnGetInitialProps = function () {
1639
2029
 
1640
2030
  case 19:
1641
2031
  article.relatedArticle = _context.sent;
2032
+ _context.next = 22;
2033
+ return getRelatedContentArticles(context, client, article, prevUrl, '0..2');
1642
2034
 
1643
- case 20:
2035
+ case 22:
2036
+ article.relatedContentArticles = _context.sent;
2037
+
2038
+ case 23:
1644
2039
  return _context.abrupt('return', {
1645
2040
  url: url,
1646
2041
  sao: sao,
@@ -1651,12 +2046,12 @@ View.returnGetInitialProps = function () {
1651
2046
  sponsoredFlag: sponsoredFlag
1652
2047
  });
1653
2048
 
1654
- case 21:
2049
+ case 24:
1655
2050
  case 'end':
1656
2051
  return _context.stop();
1657
2052
  }
1658
2053
  }
1659
- }, _callee, _this$1);
2054
+ }, _callee, _this$2);
1660
2055
  }));
1661
2056
 
1662
2057
  return function (_x, _x2, _x3, _x4, _x5) {