@mjhls/mjh-framework 1.0.445 → 1.0.446

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 (238) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +32 -0
  3. package/dist/cjs/AD300x250.js +60 -0
  4. package/dist/cjs/AD300x250x600.js +60 -0
  5. package/dist/cjs/AD728x90.js +134 -0
  6. package/dist/cjs/ADFloatingFooter.js +139 -0
  7. package/dist/cjs/ADFooter.js +45 -0
  8. package/dist/cjs/ADGutter.js +88 -0
  9. package/dist/cjs/{ADInfeed-ae1f348d.js → ADInfeed-7609d929.js} +2 -2
  10. package/dist/cjs/ADSponsoredResources.js +106 -0
  11. package/dist/cjs/ADWelcome.js +150 -0
  12. package/dist/cjs/{ADlgInfeed-f4c4a1bf.js → ADlgInfeed-700551ef.js} +2 -2
  13. package/dist/cjs/AccordionPanel.js +95 -0
  14. package/dist/cjs/AdSlot.js +166 -0
  15. package/dist/cjs/AdSlotsProvider.js +31 -0
  16. package/dist/cjs/AlphabeticList.js +137 -0
  17. package/dist/cjs/ArticleQueue.js +863 -0
  18. package/dist/cjs/Auth.js +3950 -0
  19. package/dist/cjs/{AuthorComponent-b44bb44e.js → AuthorComponent-5bb8f868.js} +1 -1
  20. package/dist/cjs/Beam.js +347 -0
  21. package/dist/cjs/{TaxonomyCard-fa09aac1.js → BlockContent-80608595.js} +0 -236
  22. package/dist/cjs/Breadcrumbs.js +108 -0
  23. package/dist/cjs/CMEDeck.js +454 -0
  24. package/dist/cjs/Column1.js +39 -0
  25. package/dist/cjs/Column2.js +67 -0
  26. package/dist/cjs/Column3.js +141 -0
  27. package/dist/cjs/ConferenceArticleCard.js +91 -0
  28. package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
  29. package/dist/cjs/DeckContent.js +24 -13
  30. package/dist/cjs/DeckQueue.js +17 -10
  31. package/dist/cjs/{Dfp-d7639f4c.js → Dfp-19f10ad4.js} +8 -5
  32. package/dist/cjs/EventsDeck.js +1999 -0
  33. package/dist/cjs/Feature.js +120 -0
  34. package/dist/cjs/{Figure-cc919c38.js → Figure-ce37247b.js} +3 -2
  35. package/dist/cjs/ForbesHero.js +140 -0
  36. package/dist/cjs/GridContent.js +721 -33
  37. package/dist/cjs/GridHero.js +145 -0
  38. package/dist/cjs/GroupDeck.js +5 -3
  39. package/dist/cjs/HamMagazine.js +477 -0
  40. package/dist/cjs/Header.js +37 -0
  41. package/dist/cjs/Hero.js +56 -0
  42. package/dist/cjs/HighlightenVideo.js +69 -0
  43. package/dist/cjs/HorizontalHero.js +109 -0
  44. package/dist/cjs/InscreenSensor-04a70c60.js +864 -0
  45. package/dist/cjs/IssueContentDeck.js +4 -3
  46. package/dist/cjs/IssueDeck.js +6 -4
  47. package/dist/cjs/IssueLanding.js +115 -0
  48. package/dist/cjs/KMTracker.js +27 -0
  49. package/dist/cjs/LeftNav.js +99 -0
  50. package/dist/cjs/MasterDeck.js +15 -8
  51. package/dist/cjs/NavDvm.js +223 -0
  52. package/dist/cjs/NavFooter-3dcd99a8.js +66 -0
  53. package/dist/cjs/NavMagazine.js +436 -0
  54. package/dist/cjs/NavNative.js +278 -0
  55. package/dist/cjs/NavNormal.js +109 -0
  56. package/dist/cjs/OncliveHero.js +78 -0
  57. package/dist/cjs/OncliveLargeHero.js +243 -0
  58. package/dist/cjs/PageFilter.js +73 -0
  59. package/dist/cjs/PdfDownload.js +28 -0
  60. package/dist/cjs/PopUpModal.js +59 -0
  61. package/dist/cjs/PublicationLanding.js +556 -0
  62. package/dist/cjs/QueueDeckExpanded.js +20 -11
  63. package/dist/cjs/RelatedContent.js +107 -0
  64. package/dist/cjs/RelatedTopicsDropdown.js +90 -0
  65. package/dist/cjs/Search.js +67 -0
  66. package/dist/cjs/Segment.js +225 -0
  67. package/dist/cjs/SetCookie.js +10 -0
  68. package/dist/cjs/SideFooter.js +103 -0
  69. package/dist/cjs/SocialNavFooter-d9ab4d17.js +83 -0
  70. package/dist/cjs/SocialShare.js +72 -0
  71. package/dist/cjs/TaxonomyCard.js +241 -11
  72. package/dist/cjs/TemplateNormal.js +175 -13
  73. package/dist/cjs/Ustream.js +107 -6
  74. package/dist/cjs/VerticalHero.js +75 -0
  75. package/dist/cjs/VideoSeriesFilter.js +133 -0
  76. package/dist/cjs/VideoSeriesListing.js +13 -7
  77. package/dist/cjs/View.js +1156 -0
  78. package/dist/cjs/YahooHero.js +129 -0
  79. package/dist/cjs/YoutubeGroup.js +5 -3
  80. package/dist/cjs/_arrayMap-3b4a0f75.js +91 -0
  81. package/dist/cjs/_is-array-754e012d.js +74 -0
  82. package/dist/cjs/{_iter-detect-234453c3.js → _iter-detect-4d0352f8.js} +4 -4
  83. package/dist/cjs/_object-sap-5e74ba08.js +16 -0
  84. package/dist/cjs/_set-species-4458e975.js +56 -0
  85. package/dist/cjs/{AdSlot-257d8d4e.js → asyncToGenerator-db08763c.js} +1 -710
  86. package/dist/cjs/brightcove-react-player-loader.es-4ba0d3d5.js +2231 -0
  87. package/dist/cjs/{web.dom.iterable-5c889cf1.js → core.get-iterator-method-41e87ec1.js} +0 -46
  88. package/dist/cjs/debounce-32e57002.js +280 -0
  89. package/dist/cjs/{toConsumableArray-25d0e2a3.js → from-ea347372.js} +4 -29
  90. package/dist/cjs/{get-7a75c563.js → get-5dfcdc33.js} +14 -100
  91. package/dist/cjs/getKeywords.js +31 -0
  92. package/dist/cjs/getQuery.js +20 -0
  93. package/dist/cjs/getSerializers.js +8032 -0
  94. package/dist/cjs/getSeriesDetail.js +38 -0
  95. package/dist/cjs/getTargeting-3ced038f.js +108 -0
  96. package/dist/cjs/getTargeting.js +15 -0
  97. package/dist/cjs/iconBase-637d3f1e.js +83 -0
  98. package/dist/cjs/{debounce-420ff8a8.js → index-b2448ff6.js} +0 -483
  99. package/dist/cjs/index.esm-25423c2f.js +16 -0
  100. package/dist/cjs/index.esm-c0d8b44b.js +21 -0
  101. package/dist/cjs/index.esm-fcdbd2c6.js +31 -0
  102. package/dist/cjs/index.js +190 -23088
  103. package/dist/cjs/{inherits-b4036c94.js → inherits-4a2f1cc3.js} +6 -17
  104. package/dist/cjs/isSymbol-488934a7.js +211 -0
  105. package/dist/cjs/js.cookie-a511c430.js +160 -0
  106. package/dist/cjs/keys-a586b7a0.js +25 -0
  107. package/dist/cjs/{promise-0a493c7a.js → promise-074978a7.js} +15 -62
  108. package/dist/cjs/{slicedToArray-419d467a.js → slicedToArray-8063ee51.js} +5 -4
  109. package/dist/cjs/stringify-7c5aff47.js +17 -0
  110. package/dist/cjs/toConsumableArray-ca04303b.js +31 -0
  111. package/dist/cjs/{typeof-0d86b91c.js → typeof-583cdc4b.js} +20 -87
  112. package/dist/cjs/urlFor.js +10 -0
  113. package/dist/cjs/util-f2c1b65b.js +576 -0
  114. package/dist/cjs/web.dom.iterable-43c3e277.js +51 -0
  115. package/dist/esm/AD.js +26 -0
  116. package/dist/esm/AD300x250.js +54 -0
  117. package/dist/esm/AD300x250x600.js +54 -0
  118. package/dist/esm/AD728x90.js +128 -0
  119. package/dist/esm/ADFloatingFooter.js +133 -0
  120. package/dist/esm/ADFooter.js +39 -0
  121. package/dist/esm/ADGutter.js +82 -0
  122. package/dist/esm/{ADInfeed-dff74bbe.js → ADInfeed-1c17dc0e.js} +1 -1
  123. package/dist/esm/ADSponsoredResources.js +100 -0
  124. package/dist/esm/ADWelcome.js +144 -0
  125. package/dist/esm/{ADlgInfeed-7b29db85.js → ADlgInfeed-94d7f5dd.js} +1 -1
  126. package/dist/esm/AccordionPanel.js +88 -0
  127. package/dist/esm/AdSlot.js +159 -0
  128. package/dist/esm/AdSlotsProvider.js +25 -0
  129. package/dist/esm/AlphabeticList.js +131 -0
  130. package/dist/esm/ArticleQueue.js +855 -0
  131. package/dist/esm/Auth.js +3930 -0
  132. package/dist/esm/{AuthorComponent-4f5f15ed.js → AuthorComponent-f67cb027.js} +1 -1
  133. package/dist/esm/Beam.js +345 -0
  134. package/dist/esm/{TaxonomyCard-b22a742f.js → BlockContent-4af2feb9.js} +2 -233
  135. package/dist/esm/Breadcrumbs.js +101 -0
  136. package/dist/esm/CMEDeck.js +448 -0
  137. package/dist/esm/Column1.js +29 -0
  138. package/dist/esm/Column2.js +57 -0
  139. package/dist/esm/Column3.js +131 -0
  140. package/dist/esm/ConferenceArticleCard.js +85 -0
  141. package/dist/esm/ConferenceBanner-9162d0ca.js +18 -0
  142. package/dist/esm/DeckContent.js +24 -13
  143. package/dist/esm/DeckQueue.js +17 -10
  144. package/dist/esm/{Dfp-994cd0ab.js → Dfp-7addbfb1.js} +7 -4
  145. package/dist/esm/EventsDeck.js +1987 -0
  146. package/dist/esm/Feature.js +113 -0
  147. package/dist/esm/{Figure-1c55ebf0.js → Figure-408929f3.js} +4 -3
  148. package/dist/esm/ForbesHero.js +134 -0
  149. package/dist/esm/GridContent.js +714 -30
  150. package/dist/esm/GridHero.js +139 -0
  151. package/dist/esm/GroupDeck.js +6 -4
  152. package/dist/esm/HamMagazine.js +465 -0
  153. package/dist/esm/Header.js +28 -0
  154. package/dist/esm/Hero.js +50 -0
  155. package/dist/esm/HighlightenVideo.js +63 -0
  156. package/dist/esm/HorizontalHero.js +103 -0
  157. package/dist/esm/InscreenSensor-b7f931bf.js +857 -0
  158. package/dist/esm/IssueContentDeck.js +5 -4
  159. package/dist/esm/IssueDeck.js +8 -6
  160. package/dist/esm/IssueLanding.js +109 -0
  161. package/dist/esm/KMTracker.js +25 -0
  162. package/dist/esm/LeftNav.js +90 -0
  163. package/dist/esm/MasterDeck.js +17 -10
  164. package/dist/esm/NavDvm.js +211 -0
  165. package/dist/esm/NavFooter-c29526b7.js +60 -0
  166. package/dist/esm/NavMagazine.js +424 -0
  167. package/dist/esm/NavNative.js +266 -0
  168. package/dist/esm/NavNormal.js +97 -0
  169. package/dist/esm/OncliveHero.js +72 -0
  170. package/dist/esm/OncliveLargeHero.js +237 -0
  171. package/dist/esm/PageFilter.js +67 -0
  172. package/dist/esm/PdfDownload.js +22 -0
  173. package/dist/esm/PopUpModal.js +52 -0
  174. package/dist/esm/PublicationLanding.js +546 -0
  175. package/dist/esm/QueueDeckExpanded.js +22 -13
  176. package/dist/esm/RelatedContent.js +101 -0
  177. package/dist/esm/RelatedTopicsDropdown.js +82 -0
  178. package/dist/esm/Search.js +58 -0
  179. package/dist/esm/Segment.js +223 -0
  180. package/dist/esm/SetCookie.js +8 -0
  181. package/dist/esm/SideFooter.js +97 -0
  182. package/dist/esm/SocialNavFooter-1a531144.js +77 -0
  183. package/dist/esm/SocialShare.js +65 -0
  184. package/dist/esm/TaxonomyCard.js +237 -11
  185. package/dist/esm/TemplateNormal.js +175 -14
  186. package/dist/esm/Ustream.js +107 -6
  187. package/dist/esm/VerticalHero.js +69 -0
  188. package/dist/esm/VideoSeriesFilter.js +127 -0
  189. package/dist/esm/VideoSeriesListing.js +14 -8
  190. package/dist/esm/View.js +1145 -0
  191. package/dist/esm/YahooHero.js +123 -0
  192. package/dist/esm/YoutubeGroup.js +6 -4
  193. package/dist/esm/_arrayMap-a8dd2b2c.js +87 -0
  194. package/dist/esm/_is-array-dd5523d6.js +71 -0
  195. package/dist/esm/{_iter-detect-7c281f0a.js → _iter-detect-6e099a34.js} +2 -2
  196. package/dist/esm/_object-sap-56bb8073.js +14 -0
  197. package/dist/esm/_set-species-6f64f1c1.js +51 -0
  198. package/dist/esm/{_to-object-1b1f7766.js → _to-object-16fd8b46.js} +1 -1
  199. package/dist/esm/{AdSlot-362a1c30.js → asyncToGenerator-204b5a5c.js} +3 -703
  200. package/dist/esm/brightcove-react-player-loader.es-e1c6b0f2.js +2225 -0
  201. package/dist/esm/{web.dom.iterable-e6bf2bf6.js → core.get-iterator-method-f5c0d66a.js} +2 -47
  202. package/dist/esm/debounce-8cd9e09c.js +277 -0
  203. package/dist/esm/{extends-92072fff.js → extends-6e00b262.js} +1 -1
  204. package/dist/esm/{toConsumableArray-c5e2fde8.js → from-2c0a5f49.js} +4 -29
  205. package/dist/esm/{get-bc6cf9fb.js → get-ae817b75.js} +3 -86
  206. package/dist/esm/getKeywords.js +29 -0
  207. package/dist/esm/getQuery.js +18 -0
  208. package/dist/esm/getSerializers.js +8021 -0
  209. package/dist/esm/getSeriesDetail.js +36 -0
  210. package/dist/esm/getTargeting-8f4bd5db.js +105 -0
  211. package/dist/esm/getTargeting.js +9 -0
  212. package/dist/esm/iconBase-6ee2f2fb.js +81 -0
  213. package/dist/esm/{debounce-42a7f724.js → index-fb49124c.js} +2 -476
  214. package/dist/esm/index.esm-9d6faf80.js +17 -0
  215. package/dist/esm/index.esm-a7ad65ba.js +13 -0
  216. package/dist/esm/{index.esm-536609db.js → index.esm-b97cf389.js} +2 -80
  217. package/dist/esm/index.js +137 -23019
  218. package/dist/esm/{inherits-bbec2f34.js → inherits-2758cc14.js} +5 -15
  219. package/dist/esm/isSymbol-c1b9be80.js +203 -0
  220. package/dist/esm/js.cookie-6874175c.js +158 -0
  221. package/dist/esm/keys-04cdec91.js +23 -0
  222. package/dist/esm/{main-cf4930f0.js → main-8c8784b8.js} +1 -1
  223. package/dist/esm/{promise-2592a80a.js → promise-53143c9a.js} +6 -49
  224. package/dist/esm/{slicedToArray-04e02710.js → slicedToArray-f1e40361.js} +3 -2
  225. package/dist/esm/stringify-e30bc114.js +15 -0
  226. package/dist/esm/toConsumableArray-8712d678.js +29 -0
  227. package/dist/esm/{typeof-09bf9211.js → typeof-7e72fee0.js} +5 -70
  228. package/dist/esm/urlFor.js +8 -0
  229. package/dist/esm/util-7700fc59.js +574 -0
  230. package/dist/esm/web.dom.iterable-46c95e52.js +49 -0
  231. package/package.json +1 -1
  232. package/dist/cjs/GridContent-6a0216fb.js +0 -728
  233. package/dist/cjs/Normal-430e8e61.js +0 -2315
  234. package/dist/cjs/Ustream-46288bdf.js +0 -119
  235. package/dist/cjs/index.esm-340d3792.js +0 -110
  236. package/dist/esm/GridContent-7e11f013.js +0 -717
  237. package/dist/esm/Normal-6efd92da.js +0 -2282
  238. package/dist/esm/Ustream-c4f281a3.js +0 -112
@@ -0,0 +1,855 @@
1
+ import './_commonjsHelpers-0c4b6f40.js';
2
+ import './_to-object-16fd8b46.js';
3
+ import './core.get-iterator-method-f5c0d66a.js';
4
+ import './_library-528f1934.js';
5
+ import './_iter-detect-6e099a34.js';
6
+ import './from-2c0a5f49.js';
7
+ import { _ as _toConsumableArray } from './toConsumableArray-8712d678.js';
8
+ import './_object-pie-33c40e79.js';
9
+ import { _ as _extends, a as _Object$assign } from './extends-6e00b262.js';
10
+ import './_object-sap-56bb8073.js';
11
+ import './inherits-2758cc14.js';
12
+ import './web.dom.iterable-46c95e52.js';
13
+ import './typeof-7e72fee0.js';
14
+ import './_is-array-dd5523d6.js';
15
+ import React, { useState, useEffect } from 'react';
16
+ import { l as lib_3 } from './index-fb49124c.js';
17
+ import 'prop-types';
18
+ import { m as moment } from './moment-12415288.js';
19
+ import 'next/router';
20
+ import './isSymbol-c1b9be80.js';
21
+ import './debounce-8cd9e09c.js';
22
+ import { I as InfiniteScroll } from './index.es-27d0bae9.js';
23
+ import 'react-dom';
24
+ import { i as imageUrlBuilder } from './index-73819142.js';
25
+ import './index-c5fd0af5.js';
26
+ import { m as main_36 } from './main-8c8784b8.js';
27
+ import './entities-7cc3bf45.js';
28
+ import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-f1e40361.js';
29
+ import { _ as _JSON$stringify } from './stringify-e30bc114.js';
30
+ import './asyncToGenerator-204b5a5c.js';
31
+ import './_set-species-6f64f1c1.js';
32
+ import './promise-53143c9a.js';
33
+ import './Beam.js';
34
+ import './Segment.js';
35
+ import DFPAdSlot from './AdSlot.js';
36
+ import './_arrayMap-a8dd2b2c.js';
37
+ import { B as BlockContent } from './BlockContent-4af2feb9.js';
38
+ import './smoothscroll-4b699764.js';
39
+ import './GroupDeck.js';
40
+ import 'react-bootstrap';
41
+ import 'react-bootstrap/Button';
42
+ import Head from 'next/head';
43
+ import 'react-share';
44
+ import SocialShare from './SocialShare.js';
45
+ import { _ as _Object$keys } from './keys-04cdec91.js';
46
+ import Dropdown from 'react-bootstrap/Dropdown';
47
+ import './brightcove-react-player-loader.es-e1c6b0f2.js';
48
+ import { I as InscreenSensor, i as includes_1 } from './InscreenSensor-b7f931bf.js';
49
+ import getSerializers from './getSerializers.js';
50
+ import './util-7700fc59.js';
51
+ import 'react-bootstrap/Pagination';
52
+ import 'next/dynamic';
53
+
54
+ var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
55
+ var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
56
+
57
+ if (authorName && authorURL) {
58
+ return React.createElement(
59
+ 'span',
60
+ null,
61
+ React.createElement(
62
+ 'a',
63
+ { href: '/' + defaultUrl + '/' + authorURL.current, key: index },
64
+ authorName
65
+ ),
66
+ length !== index + 1 && ', '
67
+ );
68
+ } else if (authorName) {
69
+ return React.createElement(
70
+ 'span',
71
+ { key: index },
72
+ authorName,
73
+ length !== index + 1 && ', '
74
+ );
75
+ }
76
+ };
77
+
78
+ var get_content_placement_url = function get_content_placement_url(cp) {
79
+ var cp_url = '';
80
+ if (cp.ancestor && typeof cp.ancestor === 'string') {
81
+ cp_url += (cp_url === '' ? '' : '/') + cp.ancestor;
82
+ }
83
+
84
+ if (!cp.ancestor && cp.parent && typeof cp.parent === 'string') {
85
+ cp_url += (cp_url === '' ? '' : '/') + cp.parent;
86
+ }
87
+
88
+ cp_url += (cp_url === '' ? '' : '/') + cp.path;
89
+ return cp_url;
90
+ };
91
+
92
+ var getArticleSummary = function getArticleSummary(article) {
93
+ if (article.summary && article.summary.length > 0) {
94
+ return article.summary;
95
+ } else {
96
+ var _article$body = article.body,
97
+ body = _article$body === undefined ? [] : _article$body;
98
+
99
+ var desc = '';
100
+ body.some(function (children) {
101
+ children.children && children.children.some(function (item) {
102
+ if (item.text && String(item.text).trim().length > 0 && desc === '') {
103
+ desc = String(item.text);
104
+ return true;
105
+ }
106
+ });
107
+ if (desc !== '') {
108
+ return true;
109
+ }
110
+ });
111
+ return desc;
112
+ }
113
+ };
114
+
115
+ var Article = function Article(props) {
116
+ var client = props.client,
117
+ pageview = props.pageview,
118
+ videoAccountIDs = props.videoAccountIDs,
119
+ drupalLeadSettings = props.drupalLeadSettings,
120
+ currentPage = props.currentPage,
121
+ _props$article = props.article,
122
+ articleId = _props$article._id,
123
+ title = _props$article.title,
124
+ passwordLock = _props$article.passwordLock,
125
+ authorDetails = _props$article.authorDetails,
126
+ pageNumber = _props$article.pageNumber,
127
+ published = _props$article.published,
128
+ articleBody = _props$article.body,
129
+ thumbnail = _props$article.thumbnail,
130
+ content_placement = _props$article.content_placement,
131
+ _props$article$url = _props$article.url;
132
+ _props$article$url = _props$article$url === undefined ? {
133
+ current: ''
134
+ } : _props$article$url;
135
+ var url = _props$article$url.current,
136
+ issue = _props$article.issue,
137
+ source = _props$article.source,
138
+ regionalPages = props.regionalPages,
139
+ nationalPage = props.nationalPage,
140
+ ISIContent = props.ISIContent,
141
+ changeUrl = props.changeUrl,
142
+ shareOptions = props.shareOptions,
143
+ cpModificationRequired = props.cpModificationRequired,
144
+ authorPrefix = props.authorPrefix,
145
+ _props$lgContextAd = props.lgContextAd,
146
+ lgContextAd = _props$lgContextAd === undefined ? false : _props$lgContextAd,
147
+ queueData = props.queueData;
148
+
149
+ var _useState = useState(null),
150
+ _useState2 = _slicedToArray(_useState, 2),
151
+ contextualADFlag = _useState2[0],
152
+ setContextualADFlag = _useState2[1];
153
+
154
+ var summary = getArticleSummary(props.article);
155
+
156
+ var urlFor = function urlFor(source) {
157
+ return imageUrlBuilder(client).image(source);
158
+ };
159
+
160
+ var isCutomPage = function isCutomPage(article) {
161
+ var url = article.url.current;
162
+
163
+ if (regionalPages || nationalPage) {
164
+ return regionalPages.includes(url) || nationalPage === url;
165
+ } else {
166
+ return false;
167
+ }
168
+ };
169
+
170
+ var renderIsiContent = function renderIsiContent(article) {
171
+ var url = article.url.current;
172
+
173
+ if (regionalPages && regionalPages.includes(url)) {
174
+ return React.createElement(ISIContent, null);
175
+ } else if (nationalPage === url) {
176
+ return React.createElement(ISIContent, { national: true });
177
+ }
178
+ return null;
179
+ };
180
+
181
+ var renderRelevantTopicsDropdown = function renderRelevantTopicsDropdown() {
182
+ if (content_placement && content_placement.length > 0) {
183
+ return React.createElement(
184
+ Dropdown,
185
+ { style: { marginBottom: '1rem' } },
186
+ React.createElement(
187
+ Dropdown.Toggle,
188
+ { variant: 'primary', id: 'partner-dropdown' },
189
+ 'Relevant Topics'
190
+ ),
191
+ React.createElement(
192
+ Dropdown.Menu,
193
+ null,
194
+ content_placement.length > 0 ? content_placement.map(function (cp, index) {
195
+ var cp_url = cpModificationRequired ? get_content_placement_url(cp) : cp.path;
196
+ var href = '/' + cp_url;
197
+ return React.createElement(
198
+ Dropdown.Item,
199
+ { key: index, href: href },
200
+ cp.name
201
+ );
202
+ }) : null
203
+ )
204
+ );
205
+ }
206
+ return null;
207
+ };
208
+
209
+ var renderBlockContent = function renderBlockContent(payload) {
210
+ var _payload = payload,
211
+ body = _payload.body;
212
+
213
+ var findIndex = function findIndex(arr) {
214
+ var indexes = [];
215
+ var _iteratorNormalCompletion = true;
216
+ var _didIteratorError = false;
217
+ var _iteratorError = undefined;
218
+
219
+ try {
220
+ for (var _iterator = _getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
221
+ var ele = _step.value;
222
+
223
+ if (ele['_type'] === 'block' && ele.children.some(function (child) {
224
+ return child.text.trim().length > 0;
225
+ }) && ele['listItem'] !== 'bullet' && ele['style'] === 'normal' || ele['_type'] === 'figure') {
226
+ indexes.push(arr.indexOf(ele));
227
+ }
228
+ }
229
+ } catch (err) {
230
+ _didIteratorError = true;
231
+ _iteratorError = err;
232
+ } finally {
233
+ try {
234
+ if (!_iteratorNormalCompletion && _iterator.return) {
235
+ _iterator.return();
236
+ }
237
+ } finally {
238
+ if (_didIteratorError) {
239
+ throw _iteratorError;
240
+ }
241
+ }
242
+ }
243
+
244
+ return indexes;
245
+ };
246
+ var indexes = findIndex(body);
247
+ if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
248
+ payload = _extends({}, payload, {
249
+ contextualAD: _extends({}, payload.contextualAD, {
250
+ slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
251
+ }),
252
+ contextualVideoAD: _extends({}, payload.contextualVideoAD, {
253
+ slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
254
+ })
255
+ });
256
+ var selectedIndex = indexes[1] + 1;
257
+
258
+ var checkIsAdFound = function checkIsAdFound(isFound) {
259
+ if (!isFound) {
260
+ var parent = document.getElementById('contextual-native-ad-' + payload._id);
261
+ parent.style.height = '0%';
262
+ parent.style.width = '0%';
263
+ parent.style.display = 'none';
264
+ setContextualADFlag(false);
265
+ } else {
266
+ setContextualADFlag(true);
267
+ }
268
+ };
269
+
270
+ var checkIsVideoAdFound = function checkIsVideoAdFound(isFound) {
271
+ if (!isFound) {
272
+ var parent = document.getElementById('contextual-video-ad-' + payload._id);
273
+ parent.style.height = '0%';
274
+ parent.style.width = '0%';
275
+ parent.style.display = 'none';
276
+ setContextualADFlag(false);
277
+ } else {
278
+ setContextualADFlag(true);
279
+ }
280
+ };
281
+
282
+ return React.createElement(
283
+ React.Fragment,
284
+ null,
285
+ React.createElement(BlockContent, _extends({
286
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
287
+ blocks: [].concat(_toConsumableArray(body.slice(0, selectedIndex))),
288
+ imageOptions: { w: 320, h: 240, fit: 'max' }
289
+ }, client.config())),
290
+ React.createElement('span', { className: 'clearfix' }),
291
+ React.createElement(
292
+ 'div',
293
+ { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
294
+ React.createElement(DFPAdSlot, _extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: checkIsAdFound }))
295
+ ),
296
+ React.createElement('span', { className: 'clearfix' }),
297
+ React.createElement(
298
+ 'div',
299
+ { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
300
+ React.createElement(DFPAdSlot, _extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
301
+ ),
302
+ React.createElement(BlockContent, _extends({
303
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
304
+ blocks: [].concat(_toConsumableArray(body.slice(selectedIndex))),
305
+ imageOptions: { w: 320, h: 240, fit: 'max' }
306
+ }, client.config()))
307
+ );
308
+ } else if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && !payload.contextualVideoAD) {
309
+ payload = _extends({}, payload, {
310
+ contextualAD: _extends({}, payload.contextualAD, {
311
+ slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
312
+ className: 'ADFluid',
313
+ // Adding new ad size for large contextual ad for desktop screen width >= 1400
314
+ sizes: lgContextAd ? [[728, 90], 'fluid', [300, 100]] : ['fluid', [300, 100]],
315
+ sizeMapping: lgContextAd ? [{
316
+ viewport: [1400, 0],
317
+ sizes: [[728, 90], 'fluid', [300, 100]]
318
+ }, { viewport: [0, 0], sizes: ['fluid', [300, 100]] }] : ['fluid', [300, 100]]
319
+ })
320
+ });
321
+ var _selectedIndex = indexes[1] + 1;
322
+ var _checkIsAdFound = function _checkIsAdFound(isFound, adData) {
323
+ if (!isFound) {
324
+ var parent = document.getElementById('contextual-native-ad-' + payload._id);
325
+ parent.style.height = '0%';
326
+ parent.style.width = '0%';
327
+ parent.style.display = 'none';
328
+ setContextualADFlag(false);
329
+ } else {
330
+ var _parent = document.getElementById('contextual-native-ad-' + payload._id);
331
+ if (adData && adData.event && adData.event.size && _parent) {
332
+ // Adding fix for fluid contextual ad to avoid from collapsing when size is [0,0]
333
+ var fluidSizes = [[0, 0]];
334
+ var checkAdSize = function checkAdSize(size) {
335
+ return _JSON$stringify(size) === _JSON$stringify(adData.event.size);
336
+ };
337
+ if (!fluidSizes.some(checkAdSize)) {
338
+ _parent.style.width = adData.event.size[0] + 'px';
339
+ _parent.style.height = adData.event.size[1] + 'px';
340
+ }
341
+ _parent.style.margin = 'auto';
342
+ }
343
+ if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
344
+ setContextualADFlag(true);
345
+ }
346
+ }
347
+ };
348
+
349
+ return React.createElement(
350
+ React.Fragment,
351
+ null,
352
+ React.createElement(BlockContent, _extends({
353
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
354
+ blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex))),
355
+ imageOptions: { w: 320, h: 240, fit: 'max' }
356
+ }, client.config())),
357
+ contextualADFlag && React.createElement('span', { className: 'clearfix' }),
358
+ React.createElement(
359
+ 'div',
360
+ { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
361
+ React.createElement(DFPAdSlot, _extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
362
+ ),
363
+ contextualADFlag && React.createElement('span', { className: 'clearfix' }),
364
+ React.createElement(BlockContent, _extends({
365
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
366
+ blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex))),
367
+ imageOptions: { w: 320, h: 240, fit: 'max' }
368
+ }, client.config()))
369
+ );
370
+ } else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
371
+ payload = _extends({}, payload, {
372
+ contextualVideoAD: _extends({}, payload.contextualVideoAD, {
373
+ slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
374
+ })
375
+ });
376
+ var _selectedIndex2 = indexes[1] + 1;
377
+
378
+ var _checkIsAdFound2 = function _checkIsAdFound2(isFound) {
379
+ if (!isFound) {
380
+ var parent = document.getElementById('contextual-video-ad-' + payload._id);
381
+ parent.style.height = '0%';
382
+ parent.style.width = '0%';
383
+ parent.style.display = 'none';
384
+ setContextualADFlag(false);
385
+ } else {
386
+ if (body && body[1] && body[1]._type === 'figure') {
387
+ setContextualADFlag(true);
388
+ }
389
+ }
390
+ };
391
+
392
+ return React.createElement(
393
+ React.Fragment,
394
+ null,
395
+ React.createElement(BlockContent, _extends({
396
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
397
+ blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex2))),
398
+ imageOptions: { w: 320, h: 240, fit: 'max' }
399
+ }, client.config())),
400
+ React.createElement('span', { className: 'clearfix' }),
401
+ React.createElement(
402
+ 'div',
403
+ { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
404
+ React.createElement(DFPAdSlot, _extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
405
+ ),
406
+ React.createElement(BlockContent, _extends({
407
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
408
+ blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex2))),
409
+ imageOptions: { w: 320, h: 240, fit: 'max' }
410
+ }, client.config()))
411
+ );
412
+ } else {
413
+ return React.createElement(BlockContent, _extends({
414
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
415
+ blocks: articleBody,
416
+ imageOptions: { w: 320, h: 240, fit: 'max' }
417
+ }, client.config()));
418
+ }
419
+ };
420
+
421
+ var shareVia = shareOptions.shareVia,
422
+ shareSubject = shareOptions.shareSubject,
423
+ twitterSiteName = shareOptions.twitterSiteName,
424
+ shareImageDefault = shareOptions.shareImageDefault,
425
+ shareBaseUrl = shareOptions.shareBaseUrl,
426
+ shareSiteTitle = shareOptions.shareSiteTitle;
427
+
428
+ var shareUrl = shareBaseUrl + props.article.url.current;
429
+ var shareTitle = title;
430
+ var shareSummary = summary;
431
+ var shareImage = thumbnail && thumbnail.asset ? urlFor(thumbnail.asset).url() : shareImageDefault;
432
+ var siteName = props.website.title;
433
+
434
+ var meta = {
435
+ shareTitle: shareTitle,
436
+ shareSiteName: props.cache.siteSettingCache.name,
437
+ shareSummary: shareSummary,
438
+ shareUrl: shareUrl,
439
+ shareImage: shareImage,
440
+ shareVia: props.Settings.title
441
+ };
442
+ return React.createElement(
443
+ React.Fragment,
444
+ null,
445
+ React.createElement(
446
+ InscreenSensor,
447
+ {
448
+ offSetTop: 120,
449
+ className: 'inscreen-wrapper',
450
+ id: 'article-' + title,
451
+ onChange: function onChange(visible) {
452
+ if (visible === 'top' || visible === 'bottom' || visible === 'small-top') {
453
+ changeUrl(url, visible, meta);
454
+ }
455
+ } },
456
+ React.createElement(
457
+ 'div',
458
+ null,
459
+ queueData && queueData.length === 1 && React.createElement(
460
+ Head,
461
+ null,
462
+ React.createElement(
463
+ 'title',
464
+ { key: 'title' },
465
+ '' + shareTitle
466
+ ),
467
+ React.createElement('meta', { name: 'description', key: 'description', content: shareSummary }),
468
+ passwordLock && React.createElement('meta', { name: 'robots', content: 'noindex, nofollow' }),
469
+ React.createElement('meta', { property: 'og:url', content: shareUrl, key: 'og:url' }),
470
+ React.createElement('meta', { property: 'og:title', content: shareTitle, key: 'og:title' }),
471
+ React.createElement('meta', { property: 'og:image', content: shareImage, key: 'og:image' }),
472
+ React.createElement('meta', { property: 'og:site_name', content: props.Settings.title, key: 'og:site_name' }),
473
+ React.createElement('meta', { property: 'og:description', content: shareSummary, key: 'og:description' }),
474
+ React.createElement('meta', { name: 'twitter:card', content: 'summary', key: 'twitter:card' }),
475
+ React.createElement('meta', { name: 'twitter:title', content: shareTitle, key: 'twitter:title' }),
476
+ React.createElement('meta', { name: 'twitter:image', content: shareImage, key: 'twitter:image' }),
477
+ React.createElement('meta', { name: 'twitter:site', content: '@' + props.Settings.title, key: 'twitter:site' }),
478
+ React.createElement('meta', { name: 'twitter:description', content: shareSummary, key: 'twitter:description' })
479
+ ),
480
+ React.createElement(
481
+ 'h1',
482
+ { className: 'page-title' },
483
+ title
484
+ ),
485
+ React.createElement(
486
+ 'div',
487
+ { className: 'video-detail', style: { marginBottom: isCutomPage(props.article) ? '150px' : 0 } },
488
+ React.createElement(
489
+ 'div',
490
+ null,
491
+ moment(published).format('LL')
492
+ ),
493
+ React.createElement(
494
+ 'div',
495
+ { className: 'mb-3' },
496
+ authorDetails && authorDetails.map(function (authorDetail, index) {
497
+ return React.createElement(
498
+ 'span',
499
+ { key: index },
500
+ renderAuthor(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
501
+ );
502
+ }),
503
+ props.article.source && React.createElement(
504
+ 'div',
505
+ { className: 'sanityDisplayLabel' },
506
+ props.article.source
507
+ ),
508
+ issue && React.createElement(
509
+ 'div',
510
+ null,
511
+ React.createElement(
512
+ 'div',
513
+ { className: 'volume-issue' },
514
+ React.createElement(
515
+ 'p',
516
+ null,
517
+ issue.volume && React.createElement(
518
+ 'span',
519
+ null,
520
+ 'Volume ' + issue.volume,
521
+ ','
522
+ ),
523
+ issue.issueNumber && React.createElement(
524
+ 'span',
525
+ null,
526
+ ' Issue ' + issue.issueNumber
527
+ )
528
+ )
529
+ )
530
+ ),
531
+ pageNumber && React.createElement(
532
+ 'div',
533
+ { className: 'article-pageNumber' },
534
+ 'Page Number: ' + pageNumber
535
+ )
536
+ ),
537
+ React.createElement(
538
+ 'p',
539
+ null,
540
+ React.createElement(SocialShare, {
541
+ shareUrl: shareUrl,
542
+ shareTitle: shareTitle,
543
+ shareVia: shareVia,
544
+ shareSummary: shareSummary,
545
+ shareSubject: shareSubject,
546
+ shareImage: shareImage,
547
+ size: 32,
548
+ siteName: siteName,
549
+ twitterSiteName: twitterSiteName,
550
+ disableMeta: true
551
+ })
552
+ ),
553
+ renderRelevantTopicsDropdown(),
554
+ React.createElement(
555
+ 'p',
556
+ null,
557
+ React.createElement(
558
+ 'em',
559
+ null,
560
+ summary
561
+ ),
562
+ React.createElement('br', null),
563
+ React.createElement('br', null)
564
+ ),
565
+ main_36 && props.article.Ads.map(function (ad, index) {
566
+ if (index === 0) {
567
+ return React.createElement(
568
+ 'div',
569
+ { key: index, id: 'addid-' + index, style: { display: 'flex', flex: '1 0 auto', marginTop: '-1rem', marginBottom: '1rem' } },
570
+ ad.component
571
+ );
572
+ }
573
+ }),
574
+ React.createElement(
575
+ 'div',
576
+ { className: 'block-content' },
577
+ renderBlockContent(props.article),
578
+ issue && issue.url && React.createElement(
579
+ 'a',
580
+ { href: issue.url, target: '_blank', title: 'Download issue' },
581
+ React.createElement('img', { style: { margin: '1rem', maxHeight: '40px', maxWidth: '40px' }, src: '/download.png', alt: 'download issue' }),
582
+ 'Download Issue : ',
583
+ issue.name
584
+ )
585
+ )
586
+ ),
587
+ renderIsiContent(props.article)
588
+ )
589
+ ),
590
+ main_36 && props.article.Ads.map(function (ad, index) {
591
+ if (index > 0) {
592
+ return React.createElement(
593
+ 'div',
594
+ { key: index, id: 'addid-' + index, style: { display: 'flex', flex: '1 0 auto' } },
595
+ ad.component
596
+ );
597
+ }
598
+ }),
599
+ React.createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
600
+ React.createElement('hr', { className: 'article-seperater' }),
601
+ React.createElement(
602
+ 'style',
603
+ { jsx: 'true' },
604
+ '\n .sanityDisplayLabel {\n margin: 0.5rem 0;\n border: 1px solid black;\n width: fit-content;\n padding: 5px;\n }\n '
605
+ )
606
+ );
607
+ };
608
+
609
+ var ArticleQueue = function ArticleQueue(props) {
610
+ var _props$prevUrl = props.prevUrl,
611
+ prevUrl = _props$prevUrl === undefined ? '/' : _props$prevUrl,
612
+ Ads = props.Ads,
613
+ _props$maxListLength = props.maxListLength,
614
+ maxListLength = _props$maxListLength === undefined ? 10 : _props$maxListLength,
615
+ _props$sponsoredTaxon = props.sponsoredTaxonomies,
616
+ sponsoredTaxonomies = _props$sponsoredTaxon === undefined ? [] : _props$sponsoredTaxon,
617
+ _props$cpModification = props.cpModificationRequired,
618
+ cpModificationRequired = _props$cpModification === undefined ? false : _props$cpModification,
619
+ _props$authorPrefix = props.authorPrefix,
620
+ authorPrefix = _props$authorPrefix === undefined ? 'authors' : _props$authorPrefix;
621
+
622
+
623
+ var getTargeting = function getTargeting(article, position) {
624
+ var _article$internalTag = article.internalTag,
625
+ internalTag = _article$internalTag === undefined ? [] : _article$internalTag,
626
+ _article$userDefinedT = article.userDefinedTag,
627
+ userDefinedTag = _article$userDefinedT === undefined ? [] : _article$userDefinedT,
628
+ _article$SponsorshipT = article.SponsorshipTag,
629
+ SponsorshipTag = _article$SponsorshipT === undefined ? [] : _article$SponsorshipT,
630
+ _article$seoTag = article.seoTag,
631
+ seoTag = _article$seoTag === undefined ? [] : _article$seoTag,
632
+ _article$url = article.url;
633
+ _article$url = _article$url === undefined ? {
634
+ current: ''
635
+ } : _article$url;
636
+ var url = _article$url.current,
637
+ _article$documentGrou = article.documentGroup;
638
+ _article$documentGrou = _article$documentGrou === undefined ? {
639
+ path: ''
640
+ } : _article$documentGrou;
641
+ var document_group = _article$documentGrou.path,
642
+ content_placement = article.content_placement;
643
+
644
+ var context = url;
645
+ var localHistory = props.historyCookie ? JSON.parse(props.historyCookie) : [];
646
+ if (!context && localHistory) {
647
+ context = localHistory[localHistory.length - 1];
648
+ }
649
+ context = context && context.split('?')[0];
650
+ context = context && context.split('&')[0];
651
+ var content_placement_urls = [];
652
+ if (content_placement && prevUrl && prevUrl.length) {
653
+ content_placement.forEach(function (item) {
654
+ var path = item.path;
655
+ if (cpModificationRequired) {
656
+ path = get_content_placement_url(item);
657
+ }
658
+
659
+ if (includes_1(prevUrl, path)) {
660
+ content_placement_urls.push(path);
661
+ }
662
+ });
663
+ }
664
+
665
+ if (content_placement) {
666
+ if (content_placement_urls.length === 0) {
667
+ content_placement_urls = content_placement.map(function (item) {
668
+ return cpModificationRequired ? get_content_placement_url(item) : item.path;
669
+ });
670
+ }
671
+ } else {
672
+ content_placement_urls = ['/'];
673
+ }
674
+ var articleKeywords = [].concat(_toConsumableArray(internalTag), _toConsumableArray(userDefinedTag), _toConsumableArray(SponsorshipTag), _toConsumableArray(seoTag));
675
+ var targeting = {
676
+ tags: articleKeywords,
677
+ document_group: [document_group],
678
+ document_url: [url],
679
+ content_placement: content_placement_urls
680
+ };
681
+
682
+ if (article.issue && article.issue.path) {
683
+ targeting.issue_url = [article.issue.path];
684
+ if (article.issue.publication && article.issue.publication.path) {
685
+ targeting.publication_url = [article.issue.publication.path];
686
+ }
687
+ }
688
+
689
+ if (props.cache.hyperTargeting) {
690
+ targeting = _extends({}, targeting, { campaign_id: props.cache.hyperTargeting });
691
+ }
692
+
693
+ if (position && position.length) {
694
+ targeting['pos'] = position;
695
+ }
696
+ return targeting;
697
+ };
698
+
699
+ var firstArticle = function firstArticle() {
700
+ var article = _Object$assign({}, props.article);
701
+ var targeting = getTargeting(props.article);
702
+ article.Ads = Ads.getRightItems(targeting);
703
+ return article;
704
+ };
705
+
706
+ var _useState3 = useState([firstArticle()]),
707
+ _useState4 = _slicedToArray(_useState3, 2),
708
+ queueData = _useState4[0],
709
+ setQueueData = _useState4[1];
710
+
711
+ var refreshAD = function refreshAD(path) {
712
+ if (!main_36) {
713
+ var activeArticle = queueData.find(function (item) {
714
+ return item.url.current === path;
715
+ });
716
+ var targeting = getTargeting(activeArticle);
717
+ lib_3.getGoogletag().then(function (googletag) {
718
+ if (window.googletag && googletag.pubadsReady) {
719
+ var slots = googletag.pubads().getSlots();
720
+ slots.forEach(function (slot) {
721
+ var pos = slot.getTargeting('pos');
722
+ slot.clearTargeting();
723
+ _Object$keys(targeting).forEach(function (key) {
724
+ slot.setTargeting(key, targeting[key]);
725
+ });
726
+ slot.setTargeting('pos', pos);
727
+ });
728
+ lib_3.refresh();
729
+ }
730
+ });
731
+ }
732
+ };
733
+
734
+ var checkSponseredArticle = function checkSponseredArticle(article) {
735
+ var _article$taxonomyMapp = article.taxonomyMapping,
736
+ taxonomyMapping = _article$taxonomyMapp === undefined ? [] : _article$taxonomyMapp;
737
+
738
+ if (props.checkSponsered) {
739
+ return taxonomyMapping.some(function (item) {
740
+ return includes_1(sponsoredTaxonomies, item._ref);
741
+ });
742
+ } else {
743
+ return false;
744
+ }
745
+ };
746
+
747
+ var preVscroll = 0;
748
+ var isScrollDown = true;
749
+
750
+ var scrollDirectionDetect = function scrollDirectionDetect(e) {
751
+ var window = e.currentTarget;
752
+
753
+ if (preVscroll > window.scrollY) {
754
+ isScrollDown = false;
755
+ } else if (preVscroll < window.scrollY) {
756
+ isScrollDown = true;
757
+ }
758
+ preVscroll = window.scrollY;
759
+ };
760
+
761
+ useEffect(function () {
762
+ window.addEventListener('scroll', scrollDirectionDetect);
763
+ return function () {
764
+ return window.removeEventListener('scroll', scrollDirectionDetect);
765
+ };
766
+ });
767
+
768
+ var loadmore = function loadmore() {
769
+ var query = props.relatedArticleQuery;
770
+ var params = props.params;
771
+ if (queueData && queueData.length < maxListLength) {
772
+ params.index = queueData.length - 1;
773
+ props.client.fetch(query, params).then(function (article) {
774
+ if (article && article._id) {
775
+ var targeting = getTargeting(article);
776
+ article.Ads = Ads.getRightItems(targeting);
777
+ setQueueData([].concat(_toConsumableArray(queueData), [article]));
778
+ }
779
+ });
780
+ }
781
+ };
782
+
783
+ var changeMeta = function changeMeta(meta) {
784
+ document.title = meta.shareTitle;
785
+ document.querySelector('meta[name="description"]').setAttribute('content', meta.shareSummary);
786
+ document.querySelector('meta[property="og:url"]').setAttribute('content', meta.shareUrl);
787
+ document.querySelector('meta[property="og:title"]').setAttribute('content', meta.shareTitle);
788
+ document.querySelector('meta[property="og:site_name"]').setAttribute('content', meta.shareVia);
789
+ document.querySelector('meta[property="og:description"]').setAttribute('content', meta.shareSummary);
790
+ document.querySelector('meta[name="twitter:title"]').setAttribute('content', meta.shareTitle);
791
+ document.querySelector('meta[name="twitter:image"]').setAttribute('content', meta.shareImage);
792
+ document.querySelector('meta[name="twitter:site"]').setAttribute('content', meta.shareVia);
793
+ document.querySelector('meta[name="twitter:description"]').setAttribute('content', meta.shareSummary);
794
+ };
795
+
796
+ var changeUrl = function changeUrl(path, visibility, meta) {
797
+ var currentPath = window && window.location && window.location.pathname ? window.location.pathname.replace('/view/', '') : '';
798
+ var newPath = '/view/' + path;
799
+ if (currentPath !== path) {
800
+ if (isScrollDown) {
801
+ if (visibility === 'top') {
802
+ // router.push('/view/[url]', newPath, { shallow: true })
803
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
804
+ changeMeta(meta);
805
+ if (props.pageview) {
806
+ props.pageview(newPath);
807
+ }
808
+ refreshAD(path);
809
+ }
810
+ } else {
811
+ if (visibility === 'bottom') {
812
+ // router.push('/view/[url]', newPath, { shallow: true })
813
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
814
+ changeMeta(meta);
815
+ if (props.pageview) {
816
+ props.pageview(newPath);
817
+ }
818
+ refreshAD(path);
819
+ }
820
+ }
821
+ if (visibility === 'small-top') {
822
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
823
+ changeMeta(meta);
824
+ if (props.pageview) {
825
+ props.pageview(newPath);
826
+ }
827
+ refreshAD(path);
828
+ }
829
+ }
830
+ };
831
+
832
+ return React.createElement(
833
+ InfiniteScroll,
834
+ { dataLength: queueData.length, next: loadmore, scrollThreshold: '60%', hasMore: true, style: { overflow: 'hidden' } },
835
+ queueData.map(function (article, index) {
836
+ if (!checkSponseredArticle(article) && Ads.getVideoContextualAD) {
837
+ article.contextualVideoAD = Ads.getVideoContextualAD(getTargeting(article, 'in-context_video'));
838
+ }
839
+ if (!checkSponseredArticle(article) && Ads.getNativeContextualAD) {
840
+ article.contextualAD = Ads.getNativeContextualAD(getTargeting(article, 'native-ad'));
841
+ }
842
+ return React.createElement(Article, _extends({
843
+ key: index
844
+ }, props, {
845
+ changeUrl: changeUrl,
846
+ authorPrfix: authorPrefix,
847
+ article: article,
848
+ cpModificationRequired: cpModificationRequired,
849
+ queueData: queueData
850
+ }));
851
+ })
852
+ );
853
+ };
854
+
855
+ export default ArticleQueue;