@mjhls/mjh-framework 1.0.1005-next12-0001 → 1.0.1005-next12-0003

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 (605) hide show
  1. package/dist/cjs/AD-898996a0.js +1 -0
  2. package/dist/cjs/AD.js +1 -32
  3. package/dist/cjs/AD300x250-266996c8.js +1 -0
  4. package/dist/cjs/AD300x250.js +1 -95
  5. package/dist/cjs/AD300x250x600-f5ccbeef.js +1 -0
  6. package/dist/cjs/AD300x250x600.js +1 -112
  7. package/dist/cjs/AD728x90-cfaa3590.js +1 -0
  8. package/dist/cjs/AD728x90.js +1 -109
  9. package/dist/cjs/ADFloatingFooter-6a82d5a0.js +1 -0
  10. package/dist/cjs/ADFloatingFooter.js +1 -143
  11. package/dist/cjs/ADFooter-86087810.js +1 -0
  12. package/dist/cjs/ADFooter.js +1 -53
  13. package/dist/cjs/ADGutter-c2fafa7d.js +1 -0
  14. package/dist/cjs/ADGutter.js +1 -115
  15. package/dist/cjs/ADInfeed-f496a8f6.js +1 -0
  16. package/dist/cjs/ADSkyscraper-dcea8c02.js +1 -0
  17. package/dist/cjs/ADSkyscraper.js +1 -117
  18. package/dist/cjs/ADSponsoredResources-b3c41d02.js +1 -0
  19. package/dist/cjs/ADSponsoredResources.js +1 -114
  20. package/dist/cjs/ADWebcast-cd4cb6eb.js +1 -0
  21. package/dist/cjs/ADWebcast.js +1 -119
  22. package/dist/cjs/ADWelcome-62c95f83.js +1 -0
  23. package/dist/cjs/ADWelcome.js +1 -166
  24. package/dist/cjs/ADlgInfeed-01f5ef1b.js +1 -0
  25. package/dist/cjs/AccordionPanel-9a3ea5e9.js +1 -0
  26. package/dist/cjs/AccordionPanel.js +1 -94
  27. package/dist/cjs/AdSlot-d541f28d.js +1 -0
  28. package/dist/cjs/AdSlot.js +1 -251
  29. package/dist/cjs/AdSlotsProvider-2e4f7f6f.js +1 -0
  30. package/dist/cjs/AdSlotsProvider.js +1 -183
  31. package/dist/cjs/AlgoliaSearch-8eab2349.js +1 -0
  32. package/dist/cjs/AlgoliaSearch.js +1 -195
  33. package/dist/cjs/AlphabeticList-a86a341f.js +1 -0
  34. package/dist/cjs/AlphabeticList.js +1 -135
  35. package/dist/cjs/ArticleCarousel-75b7d666.js +1 -0
  36. package/dist/cjs/ArticleCarousel.js +1 -46
  37. package/dist/cjs/ArticleProgramLandingPage-c22f8d23.js +1 -0
  38. package/dist/cjs/ArticleProgramLandingPage.js +1 -188
  39. package/dist/cjs/ArticleSeriesLandingPage-5225aa96.js +1 -0
  40. package/dist/cjs/ArticleSeriesLandingPage.js +1 -162
  41. package/dist/cjs/ArticleSeriesListing-be79214a.js +1 -0
  42. package/dist/cjs/ArticleSeriesListing.js +1 -315
  43. package/dist/cjs/Auth.js +1 -3514
  44. package/dist/cjs/AuthWrapper.js +1 -143
  45. package/dist/cjs/AuthorComponent-91032070.js +1 -0
  46. package/dist/cjs/Beam.js +1 -350
  47. package/dist/cjs/Breadcrumbs-ad264db7.js +1 -0
  48. package/dist/cjs/Breadcrumbs.js +1 -107
  49. package/dist/cjs/CMEDeck-c58e524e.js +1 -0
  50. package/dist/cjs/CMEDeck.js +1 -443
  51. package/dist/cjs/Column1-9a0e0262.js +1 -0
  52. package/dist/cjs/Column1.js +1 -39
  53. package/dist/cjs/Column2-739faed9.js +1 -0
  54. package/dist/cjs/Column2.js +1 -74
  55. package/dist/cjs/Column3-fa7c056f.js +1 -0
  56. package/dist/cjs/Column3.js +1 -143
  57. package/dist/cjs/ConferenceArticleCard-4f472e4b.js +1 -0
  58. package/dist/cjs/ConferenceArticleCard.js +1 -93
  59. package/dist/cjs/ConferenceBanner-9fb497af.js +1 -0
  60. package/dist/cjs/ContentCard-94a11e61.js +1 -0
  61. package/dist/cjs/ContentCardPaginated.js +1 -417
  62. package/dist/cjs/DeckContent.js +1 -507
  63. package/dist/cjs/DeckQueue.js +1 -403
  64. package/dist/cjs/DeckQueuePaginated.js +1 -348
  65. package/dist/cjs/Dfp-6d5370e2.js +1 -0
  66. package/dist/cjs/DropdownButton-469c179c.js +6 -0
  67. package/dist/cjs/Dvm-d7766f28.js +1 -0
  68. package/dist/cjs/EventsDeck-6f4dae1e.js +1 -0
  69. package/dist/cjs/EventsDeck.js +1 -884
  70. package/dist/cjs/ExternalResources-e965dd3d.js +1 -0
  71. package/dist/cjs/ExternalResources.js +1 -222
  72. package/dist/cjs/Feature-3cf45f11.js +1 -0
  73. package/dist/cjs/Feature.js +1 -129
  74. package/dist/cjs/ForbesHero-741e751e.js +1 -0
  75. package/dist/cjs/ForbesHero.js +1 -137
  76. package/dist/cjs/GridContent-ffe6735d.js +1 -0
  77. package/dist/cjs/GridContent.js +1 -828
  78. package/dist/cjs/GridContentPaginated.js +1 -704
  79. package/dist/cjs/GridHero-80338231.js +1 -0
  80. package/dist/cjs/GridHero.js +1 -147
  81. package/dist/cjs/GroupDeck-f3b67f3d.js +1 -0
  82. package/dist/cjs/GroupDeck.js +1 -314
  83. package/dist/cjs/HamMagazine.js +1 -602
  84. package/dist/cjs/HamburgerNav-ef1d1832.js +1 -0
  85. package/dist/cjs/Header-268a2cda.js +1 -0
  86. package/dist/cjs/Header.js +1 -39
  87. package/dist/cjs/HealthCareProfessionalModal.js +1 -78
  88. package/dist/cjs/Hero-43574b9d.js +1 -0
  89. package/dist/cjs/Hero.js +1 -48
  90. package/dist/cjs/HighlightenVideo-20edba55.js +1 -0
  91. package/dist/cjs/HighlightenVideo.js +1 -69
  92. package/dist/cjs/HorizontalArticleListing-906f5b20.js +1 -0
  93. package/dist/cjs/HorizontalArticleListing.js +1 -169
  94. package/dist/cjs/HorizontalHero-7911527d.js +1 -0
  95. package/dist/cjs/HorizontalHero.js +1 -111
  96. package/dist/cjs/ImageSlider-1b09bc59.js +1 -0
  97. package/dist/cjs/IssueContentDeck-f79e2c82.js +1 -0
  98. package/dist/cjs/IssueContentDeck.js +1 -241
  99. package/dist/cjs/IssueDeck-e41a10eb.js +1 -0
  100. package/dist/cjs/IssueDeck.js +1 -268
  101. package/dist/cjs/IssueLanding-89e0e42f.js +1 -0
  102. package/dist/cjs/IssueLanding.js +1 -176
  103. package/dist/cjs/KMTracker-4e1de793.js +1 -0
  104. package/dist/cjs/KMTracker.js +1 -27
  105. package/dist/cjs/LeftNav-1f40f0cc.js +1 -0
  106. package/dist/cjs/LeftNav.js +1 -154
  107. package/dist/cjs/Magazine-93dc6beb.js +1 -0
  108. package/dist/cjs/MasterDeck-65dd366b.js +1 -0
  109. package/dist/cjs/MasterDeck.js +1 -555
  110. package/dist/cjs/MasterDeckPaginated.js +1 -469
  111. package/dist/cjs/MediaSeriesCard-8ae50064.js +1 -0
  112. package/dist/cjs/MediaSeriesLanding.js +1 -508
  113. package/dist/cjs/MediaSeriesLandingPaginated.js +1 -534
  114. package/dist/cjs/Native-d1a75938.js +1 -0
  115. package/dist/cjs/NavDvm.js +1 -276
  116. package/dist/cjs/NavFooter-f905aca3.js +1 -0
  117. package/dist/cjs/NavMagazine.js +1 -613
  118. package/dist/cjs/NavNative.js +1 -880
  119. package/dist/cjs/Normal-1e9c0fa8.js +1 -0
  120. package/dist/cjs/OncliveHero-3fb41e1f.js +1 -0
  121. package/dist/cjs/OncliveHero.js +1 -79
  122. package/dist/cjs/OncliveLargeHero-c538ea20.js +1 -0
  123. package/dist/cjs/OncliveLargeHero.js +1 -241
  124. package/dist/cjs/PageFilter-4bb08c20.js +1 -0
  125. package/dist/cjs/PageFilter.js +1 -72
  126. package/dist/cjs/Pagination-825e4903.js +1 -0
  127. package/dist/cjs/PartnerDetailListing-f849c242.js +1 -0
  128. package/dist/cjs/PartnerDetailListing.js +1 -344
  129. package/dist/cjs/PartnerDetailListingPaginated.js +1 -353
  130. package/dist/cjs/PdfDownload-c99142ff.js +1 -0
  131. package/dist/cjs/PdfDownload.js +1 -28
  132. package/dist/cjs/PixelTracking.js +1 -165
  133. package/dist/cjs/PodcastsLanding.js +1 -236
  134. package/dist/cjs/PopUpModal-7cc1667b.js +1 -0
  135. package/dist/cjs/PopUpModal.js +1 -58
  136. package/dist/cjs/PtceDeck.js +1 -149
  137. package/dist/cjs/PubSection-e962964d.js +1 -0
  138. package/dist/cjs/PubSection.js +1 -120
  139. package/dist/cjs/PubToc-e2ff1533.js +1 -0
  140. package/dist/cjs/PubToc.js +1 -87
  141. package/dist/cjs/PublicationDeck-fd0d582f.js +1 -0
  142. package/dist/cjs/PublicationDeck.js +1 -183
  143. package/dist/cjs/PublicationFeature-00d7d119.js +1 -0
  144. package/dist/cjs/PublicationLanding-a8b90432.js +1 -0
  145. package/dist/cjs/PublicationLanding.js +1 -853
  146. package/dist/cjs/Queue-6872841c.js +1 -0
  147. package/dist/cjs/QueueDeckExpanded-b5dd6cda.js +1 -0
  148. package/dist/cjs/QueueDeckExpanded.js +1 -1540
  149. package/dist/cjs/QueueDeckExpandedPaginated.js +1 -1388
  150. package/dist/cjs/RecentNews.js +1 -91
  151. package/dist/cjs/RelatedContent-fa1fdaf1.js +1 -0
  152. package/dist/cjs/RelatedContent.js +1 -114
  153. package/dist/cjs/RelatedTopicsDropdown-4736b927.js +1 -0
  154. package/dist/cjs/RelatedTopicsDropdown.js +1 -90
  155. package/dist/cjs/RolesDeck-83cbb45e.js +1 -0
  156. package/dist/cjs/RolesDeck.js +1 -94
  157. package/dist/cjs/Schema-5c66c5cd.js +1 -0
  158. package/dist/cjs/Schema.js +1 -103
  159. package/dist/cjs/Search.js +1 -66
  160. package/dist/cjs/Segment.js +1 -452
  161. package/dist/cjs/SeriesListingDeck.js +1 -248
  162. package/dist/cjs/SeriesSlider-72fde209.js +1 -0
  163. package/dist/cjs/SetCookie.js +1 -10
  164. package/dist/cjs/SideFooter-2b3625c9.js +1 -0
  165. package/dist/cjs/SideFooter.js +1 -150
  166. package/dist/cjs/SocialIcons-425827d3.js +1 -0
  167. package/dist/cjs/SocialIcons.js +1 -103
  168. package/dist/cjs/SocialNavFooter-8f053a08.js +1 -0
  169. package/dist/cjs/SocialSearchComponent-3dc5405e.js +1 -0
  170. package/dist/cjs/SocialShare-3d7c8abe.js +1 -0
  171. package/dist/cjs/SocialShare.js +1 -74
  172. package/dist/cjs/TaxonomyCard-ca56a7b2.js +1 -0
  173. package/dist/cjs/TaxonomyCard.js +1 -257
  174. package/dist/cjs/TaxonomyDescription-becc5cc5.js +1 -0
  175. package/dist/cjs/TaxonomyDescription.js +1 -209
  176. package/dist/cjs/TemplateNormal.js +1 -203
  177. package/dist/cjs/ThumbnailCard-25c9e37b.js +1 -0
  178. package/dist/cjs/ThumbnailCard.js +1 -59
  179. package/dist/cjs/Ustream-e85bed96.js +1 -0
  180. package/dist/cjs/Ustream.js +1 -156
  181. package/dist/cjs/VerticalHero-ef71262f.js +1 -0
  182. package/dist/cjs/VerticalHero.js +1 -74
  183. package/dist/cjs/VideoProgramLandingPage-bcef4cda.js +1 -0
  184. package/dist/cjs/VideoProgramLandingPage.js +1 -264
  185. package/dist/cjs/VideoSeriesCard.js +1 -88
  186. package/dist/cjs/VideoSeriesFilter-c45505be.js +1 -0
  187. package/dist/cjs/VideoSeriesFilter.js +1 -128
  188. package/dist/cjs/VideoSeriesLandingPage-7e199b48.js +1 -0
  189. package/dist/cjs/VideoSeriesLandingPage.js +1 -178
  190. package/dist/cjs/VideoSeriesListing-0d8ffc18.js +1 -0
  191. package/dist/cjs/VideoSeriesListing.js +1 -422
  192. package/dist/cjs/View.js +1 -2680
  193. package/dist/cjs/YahooHero-5cce225b.js +1 -0
  194. package/dist/cjs/YahooHero.js +1 -126
  195. package/dist/cjs/YoutubeGroup-d36b3e49.js +1 -0
  196. package/dist/cjs/YoutubeGroup.js +1 -371
  197. package/dist/cjs/_commonjsHelpers-0a7b82d9.js +1 -0
  198. package/dist/cjs/beam-6940aa8c.js +1 -0
  199. package/dist/cjs/checkSisterSite-d2d62375.js +1 -0
  200. package/dist/cjs/defineProperty-3cad0327.js +1 -0
  201. package/dist/cjs/entities-6106638a.js +1 -0
  202. package/dist/cjs/extends-f8003900.js +1 -0
  203. package/dist/cjs/faundadb.js +1 -406
  204. package/dist/cjs/getContentCategory-ee6d9fdf.js +1 -0
  205. package/dist/cjs/getKeywords-5341ea76.js +1 -0
  206. package/dist/cjs/getKeywords.js +1 -46
  207. package/dist/cjs/getPrototypeOf-e5dabebb.js +1 -0
  208. package/dist/cjs/getPtceActivities.js +1 -89
  209. package/dist/cjs/getQuery-154617ad.js +1 -0
  210. package/dist/cjs/getQuery.js +1 -28
  211. package/dist/cjs/getRelatedArticle-1008e957.js +1 -0
  212. package/dist/cjs/getRelatedArticle.js +1 -478
  213. package/dist/cjs/getRootDocGroup.js +1 -62
  214. package/dist/cjs/getSerializers.js +1 -68
  215. package/dist/cjs/getSeriesDetail-e2980903.js +1 -0
  216. package/dist/cjs/getSeriesDetail.js +1 -40
  217. package/dist/cjs/getTargeting-3b9a1da0.js +1 -0
  218. package/dist/cjs/getTargeting.js +1 -13
  219. package/dist/cjs/index-4c0b6033.js +1 -0
  220. package/dist/cjs/index-6e1fba48.js +1 -0
  221. package/dist/cjs/index-83bcf60c.js +1 -0
  222. package/dist/cjs/index-efb74633.js +1 -0
  223. package/dist/cjs/index.js +1 -643
  224. package/dist/cjs/searchForm-2a06a0a6.js +1 -0
  225. package/dist/cjs/segment-lib-1c52764b.js +1 -0
  226. package/dist/cjs/setCookie-e72f573d.js +1 -0
  227. package/dist/cjs/slicedToArray-e6d9072a.js +1 -0
  228. package/dist/cjs/style-inject.es-dcee06b6.js +1 -30
  229. package/dist/cjs/timeDifferenceCalc.js +1 -39
  230. package/dist/cjs/toConsumableArray-bf649f24.js +1 -0
  231. package/dist/cjs/typeof-5f2c4427.js +1 -0
  232. package/dist/cjs/unsupportedIterableToArray-a6f9513d.js +1 -0
  233. package/dist/cjs/urlFor-ca017581.js +1 -0
  234. package/dist/cjs/urlFor.js +1 -65
  235. package/dist/cjs/urlForFile-266cd07c.js +1 -0
  236. package/dist/cjs/ustream-api-05a918f3.js +1 -0
  237. package/dist/esm/AD-52252475.js +1 -0
  238. package/dist/esm/AD.js +1 -26
  239. package/dist/esm/AD300x250-6ba14878.js +1 -0
  240. package/dist/esm/AD300x250.js +1 -89
  241. package/dist/esm/AD300x250x600-371610a9.js +1 -0
  242. package/dist/esm/AD300x250x600.js +1 -106
  243. package/dist/esm/AD728x90-22304c6a.js +1 -0
  244. package/dist/esm/AD728x90.js +1 -103
  245. package/dist/esm/ADFloatingFooter-57571461.js +1 -0
  246. package/dist/esm/ADFloatingFooter.js +1 -137
  247. package/dist/esm/ADFooter-def97764.js +1 -0
  248. package/dist/esm/ADFooter.js +1 -47
  249. package/dist/esm/ADGutter-05ea5a24.js +1 -0
  250. package/dist/esm/ADGutter.js +1 -109
  251. package/dist/esm/ADInfeed-20197eba.js +1 -0
  252. package/dist/esm/ADSkyscraper-d992d7aa.js +1 -0
  253. package/dist/esm/ADSkyscraper.js +1 -111
  254. package/dist/esm/ADSponsoredResources-169c4989.js +1 -0
  255. package/dist/esm/ADSponsoredResources.js +1 -108
  256. package/dist/esm/ADWebcast-aa6c2a84.js +1 -0
  257. package/dist/esm/ADWebcast.js +1 -113
  258. package/dist/esm/ADWelcome-be877a73.js +1 -0
  259. package/dist/esm/ADWelcome.js +1 -160
  260. package/dist/esm/ADlgInfeed-180f8b7e.js +1 -0
  261. package/dist/esm/AccordionPanel-4c89ec1e.js +1 -0
  262. package/dist/esm/AccordionPanel.js +1 -87
  263. package/dist/esm/AdSlot-7c2daad3.js +1 -0
  264. package/dist/esm/AdSlot.js +1 -244
  265. package/dist/esm/AdSlotsProvider-565c5169.js +1 -0
  266. package/dist/esm/AdSlotsProvider.js +1 -176
  267. package/dist/esm/AlgoliaSearch-a4af9d6e.js +1 -0
  268. package/dist/esm/AlgoliaSearch.js +1 -188
  269. package/dist/esm/AlphabeticList-fcf0c93c.js +1 -0
  270. package/dist/esm/AlphabeticList.js +1 -129
  271. package/dist/esm/ArticleCarousel-62e593d2.js +1 -0
  272. package/dist/esm/ArticleCarousel.js +1 -40
  273. package/dist/esm/ArticleProgramLandingPage-0618efa4.js +1 -0
  274. package/dist/esm/ArticleProgramLandingPage.js +1 -182
  275. package/dist/esm/ArticleSeriesLandingPage-764a8206.js +1 -0
  276. package/dist/esm/ArticleSeriesLandingPage.js +1 -156
  277. package/dist/esm/ArticleSeriesListing-017388bd.js +1 -0
  278. package/dist/esm/ArticleSeriesListing.js +1 -308
  279. package/dist/esm/Auth.js +1 -3494
  280. package/dist/esm/AuthWrapper.js +1 -136
  281. package/dist/esm/AuthorComponent-4bb0a577.js +1 -0
  282. package/dist/esm/Beam.js +1 -348
  283. package/dist/esm/Breadcrumbs-11913dcf.js +1 -0
  284. package/dist/esm/Breadcrumbs.js +1 -100
  285. package/dist/esm/CMEDeck-d11e05c6.js +1 -0
  286. package/dist/esm/CMEDeck.js +1 -437
  287. package/dist/esm/Column1-3304e0a7.js +1 -0
  288. package/dist/esm/Column1.js +1 -29
  289. package/dist/esm/Column2-216e1b74.js +1 -0
  290. package/dist/esm/Column2.js +1 -64
  291. package/dist/esm/Column3-0799b8d1.js +1 -0
  292. package/dist/esm/Column3.js +1 -133
  293. package/dist/esm/ConferenceArticleCard-c8ebc4c5.js +1 -0
  294. package/dist/esm/ConferenceArticleCard.js +1 -87
  295. package/dist/esm/ConferenceBanner-8a6f3ed9.js +1 -0
  296. package/dist/esm/ContentCard-b326f8e0.js +1 -0
  297. package/dist/esm/ContentCardPaginated.js +1 -406
  298. package/dist/esm/DeckContent.js +1 -497
  299. package/dist/esm/DeckQueue.js +1 -393
  300. package/dist/esm/DeckQueuePaginated.js +1 -337
  301. package/dist/esm/Dfp-5935bfb4.js +1 -0
  302. package/dist/esm/DropdownButton-07c4dfae.js +6 -0
  303. package/dist/esm/Dvm-f67220c0.js +1 -0
  304. package/dist/esm/EventsDeck-f0ffda78.js +1 -0
  305. package/dist/esm/EventsDeck.js +1 -871
  306. package/dist/esm/ExternalResources-075e250c.js +1 -0
  307. package/dist/esm/ExternalResources.js +1 -215
  308. package/dist/esm/Feature-0c2c0b2d.js +1 -0
  309. package/dist/esm/Feature.js +1 -122
  310. package/dist/esm/ForbesHero-ec644354.js +1 -0
  311. package/dist/esm/ForbesHero.js +1 -131
  312. package/dist/esm/GridContent-99a1bfc4.js +1 -0
  313. package/dist/esm/GridContent.js +1 -818
  314. package/dist/esm/GridContentPaginated.js +1 -693
  315. package/dist/esm/GridHero-fd6a363f.js +1 -0
  316. package/dist/esm/GridHero.js +1 -141
  317. package/dist/esm/GroupDeck-c173accb.js +1 -0
  318. package/dist/esm/GroupDeck.js +1 -308
  319. package/dist/esm/HamMagazine.js +1 -590
  320. package/dist/esm/HamburgerNav-134f2aa6.js +1 -0
  321. package/dist/esm/Header-b0624adc.js +1 -0
  322. package/dist/esm/Header.js +1 -30
  323. package/dist/esm/HealthCareProfessionalModal.js +1 -70
  324. package/dist/esm/Hero-37edbb29.js +1 -0
  325. package/dist/esm/Hero.js +1 -42
  326. package/dist/esm/HighlightenVideo-5c3fd0fd.js +1 -0
  327. package/dist/esm/HighlightenVideo.js +1 -63
  328. package/dist/esm/HorizontalArticleListing-820bb4f7.js +1 -0
  329. package/dist/esm/HorizontalArticleListing.js +1 -163
  330. package/dist/esm/HorizontalHero-7576d927.js +1 -0
  331. package/dist/esm/HorizontalHero.js +1 -105
  332. package/dist/esm/ImageSlider-a0786266.js +1 -0
  333. package/dist/esm/IssueContentDeck-9d771cc2.js +1 -0
  334. package/dist/esm/IssueContentDeck.js +1 -231
  335. package/dist/esm/IssueDeck-787f939c.js +1 -0
  336. package/dist/esm/IssueDeck.js +1 -258
  337. package/dist/esm/IssueLanding-0e46e28d.js +1 -0
  338. package/dist/esm/IssueLanding.js +1 -170
  339. package/dist/esm/KMTracker-d9e1c288.js +1 -0
  340. package/dist/esm/KMTracker.js +1 -25
  341. package/dist/esm/LeftNav-b4fa0d0b.js +1 -0
  342. package/dist/esm/LeftNav.js +1 -145
  343. package/dist/esm/Magazine-fb80c07a.js +1 -0
  344. package/dist/esm/MasterDeck-5efbeb73.js +1 -0
  345. package/dist/esm/MasterDeck.js +1 -548
  346. package/dist/esm/MasterDeckPaginated.js +1 -461
  347. package/dist/esm/MediaSeriesCard-18ee909f.js +1 -0
  348. package/dist/esm/MediaSeriesLanding.js +1 -501
  349. package/dist/esm/MediaSeriesLandingPaginated.js +1 -527
  350. package/dist/esm/Native-41cedb31.js +1 -0
  351. package/dist/esm/NavDvm.js +1 -264
  352. package/dist/esm/NavFooter-83d89acd.js +1 -0
  353. package/dist/esm/NavMagazine.js +1 -601
  354. package/dist/esm/NavNative.js +1 -865
  355. package/dist/esm/Normal-28f50540.js +1 -0
  356. package/dist/esm/OncliveHero-525c9d19.js +1 -0
  357. package/dist/esm/OncliveHero.js +1 -73
  358. package/dist/esm/OncliveLargeHero-219b4577.js +1 -0
  359. package/dist/esm/OncliveLargeHero.js +1 -235
  360. package/dist/esm/PageFilter-7f97f8ed.js +1 -0
  361. package/dist/esm/PageFilter.js +1 -66
  362. package/dist/esm/Pagination-44c3ff7c.js +1 -0
  363. package/dist/esm/PartnerDetailListing-7ec391ac.js +1 -0
  364. package/dist/esm/PartnerDetailListing.js +1 -338
  365. package/dist/esm/PartnerDetailListingPaginated.js +1 -347
  366. package/dist/esm/PdfDownload-eff648d3.js +1 -0
  367. package/dist/esm/PdfDownload.js +1 -22
  368. package/dist/esm/PixelTracking.js +1 -156
  369. package/dist/esm/PodcastsLanding.js +1 -229
  370. package/dist/esm/PopUpModal-bf7b6151.js +1 -0
  371. package/dist/esm/PopUpModal.js +1 -51
  372. package/dist/esm/PtceDeck.js +1 -143
  373. package/dist/esm/PubSection-37b37129.js +1 -0
  374. package/dist/esm/PubSection.js +1 -114
  375. package/dist/esm/PubToc-af66289b.js +1 -0
  376. package/dist/esm/PubToc.js +1 -81
  377. package/dist/esm/PublicationDeck-cbef1029.js +1 -0
  378. package/dist/esm/PublicationDeck.js +1 -173
  379. package/dist/esm/PublicationFeature-13838b92.js +1 -0
  380. package/dist/esm/PublicationLanding-3d724d91.js +1 -0
  381. package/dist/esm/PublicationLanding.js +1 -843
  382. package/dist/esm/Queue-bb3f3625.js +1 -0
  383. package/dist/esm/QueueDeckExpanded-6af47534.js +1 -0
  384. package/dist/esm/QueueDeckExpanded.js +1 -1534
  385. package/dist/esm/QueueDeckExpandedPaginated.js +1 -1382
  386. package/dist/esm/RecentNews.js +1 -85
  387. package/dist/esm/RelatedContent-85ad1d8e.js +1 -0
  388. package/dist/esm/RelatedContent.js +1 -108
  389. package/dist/esm/RelatedTopicsDropdown-0cf5829a.js +1 -0
  390. package/dist/esm/RelatedTopicsDropdown.js +1 -82
  391. package/dist/esm/RolesDeck-6146633e.js +1 -0
  392. package/dist/esm/RolesDeck.js +1 -84
  393. package/dist/esm/Schema-e0d1fc48.js +1 -0
  394. package/dist/esm/Schema.js +1 -97
  395. package/dist/esm/Search.js +1 -57
  396. package/dist/esm/Segment.js +1 -450
  397. package/dist/esm/SeriesListingDeck.js +1 -242
  398. package/dist/esm/SeriesSlider-21d0daf6.js +1 -0
  399. package/dist/esm/SetCookie.js +1 -8
  400. package/dist/esm/SideFooter-2f08df74.js +1 -0
  401. package/dist/esm/SideFooter.js +1 -144
  402. package/dist/esm/SocialIcons-c7861c13.js +1 -0
  403. package/dist/esm/SocialIcons.js +1 -97
  404. package/dist/esm/SocialNavFooter-66c6cf3c.js +1 -0
  405. package/dist/esm/SocialSearchComponent-a4fa0609.js +1 -0
  406. package/dist/esm/SocialShare-9cc43665.js +1 -0
  407. package/dist/esm/SocialShare.js +1 -67
  408. package/dist/esm/TaxonomyCard-f7ac379f.js +1 -0
  409. package/dist/esm/TaxonomyCard.js +1 -247
  410. package/dist/esm/TaxonomyDescription-32abd442.js +1 -0
  411. package/dist/esm/TaxonomyDescription.js +1 -202
  412. package/dist/esm/TemplateNormal.js +1 -196
  413. package/dist/esm/ThumbnailCard-8377176b.js +1 -0
  414. package/dist/esm/ThumbnailCard.js +1 -52
  415. package/dist/esm/Ustream-2e9965ac.js +1 -0
  416. package/dist/esm/Ustream.js +1 -150
  417. package/dist/esm/VerticalHero-5719a7c4.js +1 -0
  418. package/dist/esm/VerticalHero.js +1 -68
  419. package/dist/esm/VideoProgramLandingPage-9b20c066.js +1 -0
  420. package/dist/esm/VideoProgramLandingPage.js +1 -255
  421. package/dist/esm/VideoSeriesCard.js +1 -82
  422. package/dist/esm/VideoSeriesFilter-2ce9ff0e.js +1 -0
  423. package/dist/esm/VideoSeriesFilter.js +1 -122
  424. package/dist/esm/VideoSeriesLandingPage-1f6b5f71.js +1 -0
  425. package/dist/esm/VideoSeriesLandingPage.js +1 -172
  426. package/dist/esm/VideoSeriesListing-72688d44.js +1 -0
  427. package/dist/esm/VideoSeriesListing.js +1 -415
  428. package/dist/esm/View.js +1 -2669
  429. package/dist/esm/YahooHero-96f912cb.js +1 -0
  430. package/dist/esm/YahooHero.js +1 -120
  431. package/dist/esm/YoutubeGroup-fdd46eeb.js +1 -0
  432. package/dist/esm/YoutubeGroup.js +1 -365
  433. package/dist/esm/_commonjsHelpers-57e89916.js +1 -0
  434. package/dist/esm/beam-cf274172.js +1 -0
  435. package/dist/esm/checkSisterSite-20e2bf62.js +1 -0
  436. package/dist/esm/defineProperty-9f9de5d0.js +1 -0
  437. package/dist/esm/entities-c5c3079c.js +1 -0
  438. package/dist/esm/extends-464f0b6e.js +1 -0
  439. package/dist/esm/faundadb.js +1 -396
  440. package/dist/esm/getContentCategory-f99fdf90.js +1 -0
  441. package/dist/esm/getKeywords-2512775a.js +1 -0
  442. package/dist/esm/getKeywords.js +1 -44
  443. package/dist/esm/getPrototypeOf-5b57bbdd.js +1 -0
  444. package/dist/esm/getPtceActivities.js +1 -87
  445. package/dist/esm/getQuery-bfc0390c.js +1 -0
  446. package/dist/esm/getQuery.js +1 -26
  447. package/dist/esm/getRelatedArticle-418087a7.js +1 -0
  448. package/dist/esm/getRelatedArticle.js +1 -476
  449. package/dist/esm/getRootDocGroup.js +1 -60
  450. package/dist/esm/getSerializers.js +1 -62
  451. package/dist/esm/getSeriesDetail-aef9680c.js +1 -0
  452. package/dist/esm/getSeriesDetail.js +1 -38
  453. package/dist/esm/getTargeting-6bf24d0e.js +1 -0
  454. package/dist/esm/getTargeting.js +1 -7
  455. package/dist/esm/index-58183fed.js +1 -0
  456. package/dist/esm/index-663f3f10.js +1 -0
  457. package/dist/esm/index-bfecdbef.js +1 -0
  458. package/dist/esm/index-fcd6d5f7.js +1 -0
  459. package/dist/esm/index.js +1 -536
  460. package/dist/esm/searchForm-3f3f5af6.js +1 -0
  461. package/dist/esm/segment-lib-563b26a6.js +1 -0
  462. package/dist/esm/setCookie-0f2ab6df.js +1 -0
  463. package/dist/esm/slicedToArray-c92cae3a.js +1 -0
  464. package/dist/esm/style-inject.es-1f59c1d0.js +1 -28
  465. package/dist/esm/timeDifferenceCalc.js +1 -37
  466. package/dist/esm/toConsumableArray-25e5c43c.js +1 -0
  467. package/dist/esm/typeof-a0b2b621.js +1 -0
  468. package/dist/esm/unsupportedIterableToArray-dc74e326.js +1 -0
  469. package/dist/esm/urlFor-b366f69d.js +1 -0
  470. package/dist/esm/urlFor.js +1 -63
  471. package/dist/esm/urlForFile-272819a6.js +1 -0
  472. package/dist/esm/ustream-api-7998d140.js +1 -0
  473. package/package.json +21 -20
  474. package/dist/cjs/ADInfeed-08a6ef56.js +0 -66
  475. package/dist/cjs/ADlgInfeed-f46139b2.js +0 -60
  476. package/dist/cjs/AuthorComponent-17e1c62b.js +0 -96
  477. package/dist/cjs/BlockContent-8b494587.js +0 -916
  478. package/dist/cjs/ConferenceBanner-6c9e718a.js +0 -24
  479. package/dist/cjs/Dfp-bcaa7e3f.js +0 -103
  480. package/dist/cjs/ImageSlider-10cd194f.js +0 -1383
  481. package/dist/cjs/MediaSeriesCard-a6e3f32e.js +0 -81
  482. package/dist/cjs/NavFooter-4799de4b.js +0 -71
  483. package/dist/cjs/Pagination-7624a3bd.js +0 -90
  484. package/dist/cjs/PublicationFeature-6f89fb97.js +0 -130
  485. package/dist/cjs/SeriesSlider-08699353.js +0 -332
  486. package/dist/cjs/SocialSearchComponent-59192efd.js +0 -213
  487. package/dist/cjs/Tooltip-7be5df78.js +0 -9229
  488. package/dist/cjs/_commonjsHelpers-06173234.js +0 -25
  489. package/dist/cjs/_is-array-aa52fa1e.js +0 -74
  490. package/dist/cjs/_iter-detect-05795553.js +0 -52
  491. package/dist/cjs/_library-dd23b178.js +0 -5
  492. package/dist/cjs/_object-pie-68c5bcbc.js +0 -16
  493. package/dist/cjs/_object-sap-171b9ea5.js +0 -16
  494. package/dist/cjs/_object-to-array-9bac8737.js +0 -25
  495. package/dist/cjs/asyncToGenerator-df19209d.js +0 -1395
  496. package/dist/cjs/brightcove-react-player-loader.es-5c98aec7.js +0 -2232
  497. package/dist/cjs/checkSisterSite-b29833b2.js +0 -19
  498. package/dist/cjs/core.get-iterator-method-f3c44602.js +0 -584
  499. package/dist/cjs/debounce-529c8d06.js +0 -216
  500. package/dist/cjs/define-property-21887c62.js +0 -20
  501. package/dist/cjs/entities-310b46ee.js +0 -506
  502. package/dist/cjs/eq-bb2843ed.js +0 -79
  503. package/dist/cjs/extends-7df78678.js +0 -86
  504. package/dist/cjs/get-adbb11e3.js +0 -920
  505. package/dist/cjs/getContentCategory-f38a4c00.js +0 -11
  506. package/dist/cjs/getTargeting-5eabd6e2.js +0 -164
  507. package/dist/cjs/iconBase-68959171.js +0 -84
  508. package/dist/cjs/index-187c967e.js +0 -54
  509. package/dist/cjs/index-44481153.js +0 -1664
  510. package/dist/cjs/index-99edf08a.js +0 -1572
  511. package/dist/cjs/index-9d365128.js +0 -613
  512. package/dist/cjs/index-b278e08f.js +0 -10526
  513. package/dist/cjs/index-b5eb3ff8.js +0 -551
  514. package/dist/cjs/index-bd6c9f56.js +0 -211
  515. package/dist/cjs/index.es-f3e47207.js +0 -445
  516. package/dist/cjs/index.esm-44f3e2d0.js +0 -13
  517. package/dist/cjs/index.esm-48e0f0d8.js +0 -19
  518. package/dist/cjs/index.esm-f4cf6943.js +0 -97
  519. package/dist/cjs/index.esm-f93506ac.js +0 -25
  520. package/dist/cjs/inherits-420ee86f.js +0 -185
  521. package/dist/cjs/isSymbol-04666465.js +0 -209
  522. package/dist/cjs/js.cookie-a511c430.js +0 -160
  523. package/dist/cjs/keys-d207942e.js +0 -25
  524. package/dist/cjs/lodash-7fd85bcf.js +0 -17147
  525. package/dist/cjs/main-7b5e57b0.js +0 -898
  526. package/dist/cjs/md5-e1ca5797.js +0 -323
  527. package/dist/cjs/moment-ca3bd9fb.js +0 -5669
  528. package/dist/cjs/react-social-icons-07939b41.js +0 -616
  529. package/dist/cjs/slicedToArray-f6d4eaa8.js +0 -95
  530. package/dist/cjs/smoothscroll-5054361f.js +0 -438
  531. package/dist/cjs/stringify-bbc68047.js +0 -17
  532. package/dist/cjs/toConsumableArray-c9b8a0d0.js +0 -74
  533. package/dist/cjs/toNumber-36d1e7e5.js +0 -69
  534. package/dist/cjs/typeof-ec08d471.js +0 -382
  535. package/dist/cjs/urlForFile-ad96158c.js +0 -24
  536. package/dist/cjs/ustream-api-9ebe112f.js +0 -106
  537. package/dist/cjs/util-f2c1b65b.js +0 -576
  538. package/dist/cjs/visibility-sensor-eb2c5b69.js +0 -597
  539. package/dist/cjs/web.dom.iterable-e34bf324.js +0 -50
  540. package/dist/esm/ADInfeed-36973a76.js +0 -59
  541. package/dist/esm/ADlgInfeed-f6e898d5.js +0 -54
  542. package/dist/esm/AuthorComponent-b0a47123.js +0 -90
  543. package/dist/esm/BlockContent-d05b5b23.js +0 -909
  544. package/dist/esm/ConferenceBanner-9162d0ca.js +0 -18
  545. package/dist/esm/Dfp-e151d2de.js +0 -96
  546. package/dist/esm/ImageSlider-5ae6287a.js +0 -1375
  547. package/dist/esm/MediaSeriesCard-66045ffb.js +0 -75
  548. package/dist/esm/NavFooter-da30eae3.js +0 -65
  549. package/dist/esm/Pagination-1e09918f.js +0 -82
  550. package/dist/esm/PublicationFeature-0379cc20.js +0 -121
  551. package/dist/esm/SeriesSlider-b364d074.js +0 -326
  552. package/dist/esm/SocialSearchComponent-09b55779.js +0 -204
  553. package/dist/esm/Tooltip-af3e4ee9.js +0 -9220
  554. package/dist/esm/_commonjsHelpers-0c4b6f40.js +0 -19
  555. package/dist/esm/_is-array-31d40a83.js +0 -71
  556. package/dist/esm/_iter-detect-72edfd60.js +0 -48
  557. package/dist/esm/_library-528f1934.js +0 -3
  558. package/dist/esm/_object-pie-33c40e79.js +0 -13
  559. package/dist/esm/_object-sap-4201ccf6.js +0 -14
  560. package/dist/esm/_object-to-array-fa0feeff.js +0 -23
  561. package/dist/esm/asyncToGenerator-9c835201.js +0 -1387
  562. package/dist/esm/brightcove-react-player-loader.es-4abff0b1.js +0 -2226
  563. package/dist/esm/checkSisterSite-baa4fb6b.js +0 -17
  564. package/dist/esm/core.get-iterator-method-8c71f470.js +0 -547
  565. package/dist/esm/debounce-9207d8ee.js +0 -214
  566. package/dist/esm/define-property-a8a00786.js +0 -18
  567. package/dist/esm/entities-7cc3bf45.js +0 -503
  568. package/dist/esm/eq-b470f743.js +0 -76
  569. package/dist/esm/extends-7fbbe94e.js +0 -83
  570. package/dist/esm/get-1e515072.js +0 -918
  571. package/dist/esm/getContentCategory-15dcc413.js +0 -9
  572. package/dist/esm/getTargeting-eed01f73.js +0 -161
  573. package/dist/esm/iconBase-602d52fe.js +0 -81
  574. package/dist/esm/index-1819118a.js +0 -1655
  575. package/dist/esm/index-3a7c5bbe.js +0 -10504
  576. package/dist/esm/index-51a80699.js +0 -548
  577. package/dist/esm/index-6c12bdd5.js +0 -605
  578. package/dist/esm/index-c7e2ac95.js +0 -52
  579. package/dist/esm/index-db3bb315.js +0 -207
  580. package/dist/esm/index-fa2ffe86.js +0 -1570
  581. package/dist/esm/index.es-c6222053.js +0 -439
  582. package/dist/esm/index.esm-55f22b35.js +0 -14
  583. package/dist/esm/index.esm-9d701385.js +0 -90
  584. package/dist/esm/index.esm-c6715e80.js +0 -10
  585. package/dist/esm/index.esm-d1125763.js +0 -18
  586. package/dist/esm/inherits-d26c739e.js +0 -179
  587. package/dist/esm/isSymbol-1981418f.js +0 -203
  588. package/dist/esm/js.cookie-6874175c.js +0 -158
  589. package/dist/esm/keys-5e9bd229.js +0 -23
  590. package/dist/esm/lodash-ec8c6b48.js +0 -17145
  591. package/dist/esm/main-43ca42fe.js +0 -886
  592. package/dist/esm/md5-4e42248e.js +0 -321
  593. package/dist/esm/moment-b6f49411.js +0 -5667
  594. package/dist/esm/react-social-icons-3822f1ce.js +0 -609
  595. package/dist/esm/slicedToArray-99bcfd93.js +0 -92
  596. package/dist/esm/smoothscroll-0cd4c7a6.js +0 -436
  597. package/dist/esm/stringify-0c65d837.js +0 -15
  598. package/dist/esm/toConsumableArray-47a5394a.js +0 -71
  599. package/dist/esm/toNumber-2f7a84cd.js +0 -67
  600. package/dist/esm/typeof-d92ed6e0.js +0 -378
  601. package/dist/esm/urlForFile-0fc42ed8.js +0 -22
  602. package/dist/esm/ustream-api-cbba615a.js +0 -104
  603. package/dist/esm/util-7700fc59.js +0 -574
  604. package/dist/esm/visibility-sensor-f40c2564.js +0 -590
  605. package/dist/esm/web.dom.iterable-406140e0.js +0 -48
package/dist/cjs/View.js CHANGED
@@ -1,2680 +1 @@
1
- 'use strict';
2
-
3
- require('./_commonjsHelpers-06173234.js');
4
- require('./core.get-iterator-method-f3c44602.js');
5
- require('./_library-dd23b178.js');
6
- require('./_iter-detect-05795553.js');
7
- var toConsumableArray = require('./toConsumableArray-c9b8a0d0.js');
8
- require('./_object-pie-68c5bcbc.js');
9
- var _extends = require('./extends-7df78678.js');
10
- require('./_object-sap-171b9ea5.js');
11
- require('./inherits-420ee86f.js');
12
- require('./define-property-21887c62.js');
13
- require('./web.dom.iterable-e34bf324.js');
14
- var _typeof = require('./typeof-ec08d471.js');
15
- require('./_is-array-aa52fa1e.js');
16
- var React = require('react');
17
- var index = require('./index-44481153.js');
18
- require('prop-types');
19
- require('react-bootstrap/Row');
20
- require('react-bootstrap/Col');
21
- var moment = require('./moment-ca3bd9fb.js');
22
- var Router = require('next/router');
23
- require('./isSymbol-04666465.js');
24
- require('./debounce-529c8d06.js');
25
- require('./toNumber-36d1e7e5.js');
26
- var index_es = require('./index.es-f3e47207.js');
27
- require('react-dom');
28
- var visibilitySensor = require('./visibility-sensor-eb2c5b69.js');
29
- var slicedToArray = require('./slicedToArray-f6d4eaa8.js');
30
- require('./index-b5eb3ff8.js');
31
- var urlFor = require('./urlFor.js');
32
- require('./index-9d365128.js');
33
- var main = require('./main-7b5e57b0.js');
34
- require('./entities-310b46ee.js');
35
- var stringify = require('./stringify-bbc68047.js');
36
- var asyncToGenerator = require('./asyncToGenerator-df19209d.js');
37
- require('./Segment.js');
38
- require('./Beam.js');
39
- var AdSlot = require('./AdSlot.js');
40
- var Button = require('react-bootstrap/Button');
41
- var BlockContent = require('./BlockContent-8b494587.js');
42
- require('./checkSisterSite-b29833b2.js');
43
- require('./index-187c967e.js');
44
- require('./smoothscroll-5054361f.js');
45
- require('./GroupDeck.js');
46
- require('react-bootstrap');
47
- require('./iconBase-68959171.js');
48
- require('./index.esm-48e0f0d8.js');
49
- var getSerializers = require('./index-b278e08f.js');
50
- require('./util-f2c1b65b.js');
51
- var urlForFile = require('./urlForFile-ad96158c.js');
52
- require('./brightcove-react-player-loader.es-5c98aec7.js');
53
- require('./_object-to-array-9bac8737.js');
54
- var keys = require('./keys-d207942e.js');
55
- require('react-bootstrap/Modal');
56
- var Form = require('react-bootstrap/Form');
57
- require('react-ga');
58
- var Head = require('next/head');
59
- require('react-share');
60
- var SocialShare = require('./SocialShare.js');
61
- require('react-bootstrap/Pagination');
62
- require('react-bootstrap/Figure');
63
- require('react-bootstrap/OverlayTrigger');
64
- require('react-bootstrap/Tooltip');
65
- require('react-bootstrap/Popover');
66
- require('react-script-tag');
67
- var FormControl = require('react-bootstrap/FormControl');
68
- require('react-bootstrap/Dropdown');
69
- var index_esm = require('./index.esm-f93506ac.js');
70
- var PixelTracking = require('./PixelTracking.js');
71
- var getSeriesDetail = require('./getSeriesDetail.js');
72
- require('./index-bd6c9f56.js');
73
- var getRelatedArticle = require('./getRelatedArticle.js');
74
- var getQuery = require('./getQuery.js');
75
- var SeriesSlider = require('./SeriesSlider-08699353.js');
76
- var getTargeting = require('./getTargeting-5eabd6e2.js');
77
- var getKeywords = require('./getKeywords.js');
78
- var styleInject_es = require('./style-inject.es-dcee06b6.js');
79
- var disqusReact = require('disqus-react');
80
- var Schema = require('./Schema.js');
81
- var FileSaver = require('file-saver');
82
-
83
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
84
-
85
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
86
- var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
87
- var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
88
- var Head__default = /*#__PURE__*/_interopDefaultLegacy(Head);
89
- var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
90
- var FileSaver__default = /*#__PURE__*/_interopDefaultLegacy(FileSaver);
91
-
92
- var getArticleSummary = function getArticleSummary(article) {
93
- if (article.summary && article.summary.length > 0) {
94
- return article.summary;
95
- } else {
96
- return false;
97
- }
98
- };
99
-
100
- var getDocumentGroupUrl = function getDocumentGroupUrl(docGroup) {
101
- if (!docGroup) {
102
- return null;
103
- }
104
- var url = void 0;
105
-
106
- if (docGroup.path && docGroup.path.includes('/') && (!docGroup.parent || !docGroup.parent.parent)) {
107
- return '/' + docGroup.path;
108
- }
109
- // Checking if Parent has Parent
110
- if (docGroup.path && docGroup.path.includes('/') && docGroup.parent && docGroup.parent.parent) {
111
- if (docGroup.path.includes(docGroup.parent.identifier.current)) {
112
- return '/' + docGroup.parent.parent.identifier.current + '/' + docGroup.path;
113
- } else {
114
- return '/' + docGroup.parent.parent.identifier.current + '/' + docGroup.parent.identifier.current + '/' + docGroup.path;
115
- }
116
- }
117
-
118
- if (docGroup.parent) {
119
- url = '/' + docGroup.parent.identifier.current;
120
- if (docGroup.parent.parent && docGroup.parent.parent.name) {
121
- url = '/' + docGroup.parent.parent.identifier.current + url;
122
- }
123
- }
124
-
125
- if (!docGroup.thumbnail) ;
126
- if (typeof url != 'undefined') {
127
- url = url + '/' + docGroup.path;
128
- } else {
129
- url = '/' + docGroup.path;
130
- }
131
-
132
- return url;
133
- };
134
-
135
- var getDocumentGroupName = function getDocumentGroupName(docGroup) {
136
- var name = void 0;
137
- if (!docGroup) {
138
- return null;
139
- }
140
-
141
- if (docGroup.parent) {
142
- name = docGroup.parent.name;
143
-
144
- if (docGroup.parent.parent && docGroup.parent.parent.name) {
145
- name = docGroup.parent.parent.name + ' | ' + name;
146
- }
147
- }
148
-
149
- //if (!docGroup.thumbnail) {
150
- if (typeof name != 'undefined') {
151
- name = name + ' | <b>' + docGroup.name + '</b>';
152
- } else {
153
- name = '<b>' + docGroup.name + '</b>';
154
- }
155
- //}
156
-
157
- return name && typeof name != 'undefined' ? name : null;
158
- };
159
-
160
- var DocumentGroup = function DocumentGroup(_ref) {
161
- var article = _ref.article,
162
- client = _ref.client;
163
-
164
-
165
- var mediaSeriesGroup = null;
166
- var disableThumbnail = false;
167
-
168
- if (article.documentGroup && article.documentGroup.hideThumbnail === true) {
169
- disableThumbnail = true;
170
- }
171
-
172
- if (article.documentGroup && article.documentGroup.isShow !== false && article.documentGroup.isSeries !== true) {
173
- mediaSeriesGroup = article.documentGroup;
174
- }
175
- if (!article.documentGroup && article.documentGroupMapping) {
176
- for (var i = 0; i < article.documentGroupMapping.length; i++) {
177
- if (article.documentGroupMapping[i].isShow !== false && article.documentGroupMapping[i].isSeries !== true) {
178
- mediaSeriesGroup = article.documentGroupMapping[i];
179
- break;
180
- }
181
- }
182
- }
183
-
184
- if (!mediaSeriesGroup) {
185
- return null;
186
- }
187
-
188
- var name = getDocumentGroupName(mediaSeriesGroup);
189
- var url = getDocumentGroupUrl(mediaSeriesGroup);
190
- var thumbnailUrl = false;
191
-
192
- if (mediaSeriesGroup.thumbnail) {
193
- thumbnailUrl = urlFor({ client: client, source: mediaSeriesGroup.thumbnail });
194
- }
195
-
196
- return React__default['default'].createElement(
197
- 'a',
198
- {
199
- href: url,
200
- className: 'doc-group',
201
- style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
202
- thumbnailUrl && !disableThumbnail && React__default['default'].createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
203
- (disableThumbnail || !thumbnailUrl) && React__default['default'].createElement('p', {
204
- style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_40 ? 'left' : 'right', marginTop: '.25rem' },
205
- dangerouslySetInnerHTML: { __html: name } }),
206
- main.main_40 && !thumbnailUrl && React__default['default'].createElement(
207
- 'style',
208
- { jsx: 'true' },
209
- '\n a.doc-group {\n display: block !important;\n padding: 0 !important;\n }\n '
210
- )
211
- );
212
- };
213
-
214
- var findIndex = function findIndex(arr) {
215
- var indexes = [];
216
- if ((typeof arr === 'undefined' ? 'undefined' : _typeof._typeof(arr)) === 'object') {
217
- var _iteratorNormalCompletion = true;
218
- var _didIteratorError = false;
219
- var _iteratorError = undefined;
220
-
221
- try {
222
- for (var _iterator = slicedToArray._getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
223
- var ele = _step.value;
224
-
225
- if (ele['_type'] === 'block' && ele.children.some(function (child) {
226
- return child.text.trim().length > 0;
227
- }) && ele['listItem'] !== 'bullet' &&
228
- // To skip li tags when setting contextual native ads
229
- ele['listItem'] !== 'number' && ele['style'] === 'normal' || ele['_type'] === 'figure') {
230
- indexes.push(arr.indexOf(ele));
231
- }
232
- }
233
- } catch (err) {
234
- _didIteratorError = true;
235
- _iteratorError = err;
236
- } finally {
237
- try {
238
- if (!_iteratorNormalCompletion && _iterator.return) {
239
- _iterator.return();
240
- }
241
- } finally {
242
- if (_didIteratorError) {
243
- throw _iteratorError;
244
- }
245
- }
246
- }
247
- }
248
- return indexes;
249
- };
250
-
251
- var ISI = function ISI(props) {
252
- var children = props.children;
253
-
254
- var _useState = React.useState(false),
255
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
256
- active = _useState2[0],
257
- setActive = _useState2[1];
258
-
259
- var _useState3 = React.useState(false),
260
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
261
- bottomOfArticle = _useState4[0],
262
- setbottomOfArticle = _useState4[1];
263
-
264
- var isi = React.useRef();
265
-
266
- React.useEffect(function () {
267
- if (active) {
268
- var offset = '5rem';
269
- var nav = document.getElementsByTagName('header');
270
- if (nav && nav.length > 0) {
271
- offset = nav[0].offsetHeight + 'px';
272
- }
273
- isi.current.style.maxHeight = 'calc(100% - ' + offset + ')';
274
- isi.current.style.overflowY = 'scroll';
275
- } else {
276
- isi.current.style.maxHeight = '';
277
- isi.current.style.overflowY = '';
278
- }
279
- }, [active]);
280
- React.useEffect(function () {
281
- var detectBottomOfArticle = function detectBottomOfArticle() {
282
- var article_body = document.getElementById('article__block');
283
- var isi = document.getElementById('isi');
284
- var articleBottomPosition = article_body.getBoundingClientRect().bottom - window.innerHeight;
285
- // console.log(articleBottomPosition, bottomOfArticle)
286
- if (articleBottomPosition < 30 && !isi.classList.contains('in-view')) {
287
- setbottomOfArticle(true);
288
- }
289
- if (articleBottomPosition > 60 && isi.classList.contains('in-view')) {
290
- setbottomOfArticle(false);
291
- }
292
- };
293
- window.addEventListener('scroll', detectBottomOfArticle);
294
- return function () {
295
- return window.removeEventListener('scroll', detectBottomOfArticle);
296
- };
297
- }, []);
298
-
299
- React.useEffect(function () {
300
- var isi = document.getElementById('isi');
301
- if (bottomOfArticle) {
302
- toggleSticky(true);
303
- isi.classList.add('in-view');
304
- if (active) {
305
- setActive(false);
306
- }
307
- }
308
- if (!bottomOfArticle) {
309
- toggleSticky(false);
310
- isi.classList.remove('in-view');
311
- }
312
- }, [bottomOfArticle]);
313
-
314
- var toggleSticky = function toggleSticky(sticky) {
315
- var isiToggle = document.getElementById('isiToggle');
316
- var isiContent = document.getElementById('isiContent');
317
- var isi = document.getElementById('isi');
318
- if (sticky) {
319
- isi.style.bottom = '-200px';
320
- setTimeout(function () {
321
- isi.style.maxHeight = 'unset';
322
- isi.style.position = 'relative';
323
- isi.style.boxShadow = 'none';
324
- isi.style.zIndex = '1';
325
- isi.style.marginTop = '-25rem';
326
- isi.style.marginBottom = '15rem';
327
- isiToggle.style.display = 'none';
328
- isiContent.style.padding = '0';
329
- }, 300);
330
- } else if (!sticky) {
331
-
332
- isi.style.marginBottom = '0';
333
- isi.style.maxHeight = '12rem';
334
- isi.style.position = 'fixed';
335
- isi.style.boxShadow = '0 0 1rem 0 rgba(0, 0, 0, 0.5)';
336
- isi.style.zIndex = '99999';
337
-
338
- isiToggle.style.display = 'block';
339
- isiContent.style.padding = '1rem';
340
- setTimeout(function () {
341
- isi.style.bottom = '0';
342
- isi.style.marginTop = '0';
343
- }, 300);
344
- }
345
- };
346
- return React__default['default'].createElement(
347
- React__default['default'].Fragment,
348
- null,
349
- React__default['default'].createElement(
350
- 'div',
351
- { id: 'isi', ref: isi },
352
- React__default['default'].createElement(
353
- 'div',
354
- { id: 'isiContent' },
355
- React__default['default'].createElement(
356
- 'div',
357
- { onClick: function onClick() {
358
- return setActive(function (prev) {
359
- return !prev;
360
- });
361
- }, id: 'isiToggle' },
362
- active ? React__default['default'].createElement(
363
- 'p',
364
- null,
365
- 'Close ',
366
- React__default['default'].createElement(index_esm.FaMinus, null)
367
- ) : React__default['default'].createElement(
368
- 'p',
369
- null,
370
- 'See More ',
371
- React__default['default'].createElement(index_esm.FaPlus, null)
372
- )
373
- ),
374
- children
375
- )
376
- ),
377
- React__default['default'].createElement(
378
- 'style',
379
- { jsx: true },
380
- '\n #isi {\n position: fixed;\n z-index: 9999999;\n bottom: 0;\n left: 0;\n max-height: 12rem;\n background-color: #ffffff;\n overflow-x: hidden;\n overflow-y: hidden;\n width: 100%;\n box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.5);\n transition: bottom .5s ease , margin-top .3s, max-height .2s;\n }\n #isiContent {\n width: 100%;\n max-width: 1000px;\n margin-left: auto;\n margin-right: auto;\n position: relative;\n padding: 1rem;\n font-size: 1rem;\n }\n #isi::-webkit-scrollbar {\n display: none;\n }\n #isiToggle {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem;\n font-weight: bold;\n cursor: pointer;\n font-size: 1rem;\n }\n #isiToggle p {\n margin: 0;\n }\n '
381
- )
382
- );
383
- };
384
-
385
- var css = ".RelatedArticles-module_mediaContainer__10h9k {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n margin: 0 -1rem;\n}\n.RelatedArticles-module_mediaCard__3wQbn {\n margin: 0 1rem 1rem;\n width: calc(33% - 1rem);\n display: column;\n flex-direction: row;\n margin-bottom: 0.75rem;\n padding-bottom: 0.75rem;\n border-bottom: none;\n}\n.RelatedArticles-module_mediaCard__3wQbn:last-child {\n border-bottom: none;\n}\n.RelatedArticles-module_cardTitle__3P-Ib {\n font-weight: bold;\n color: #252525;\n margin-bottom: 0.25rem;\n font-size: 15px;\n}\n.RelatedArticles-module_authorListing__1EFg4 span.RelatedArticles-module_text-muted__3b0zX {\n color: #000;\n font-weight: bold;\n}\n.RelatedArticles-module_cardDate__1wOR5 {\n color: var(--dark);\n display: block;\n background: #fff !important;\n margin-bottom: 0;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 {\n display: block;\n text-align: center;\n margin-bottom: 0.5rem;\n}\n.RelatedArticles-module_imgWrapper__5Jx_4 img {\n height: 135px;\n width: 100%;\n object-fit: cover;\n object-position: center;\n}\n@media screen and (max-width: 1064px) {\n}\n@media screen and (max-width: 968px) {\n .RelatedArticles-module_mediaContainer__10h9k {\n flex-wrap: wrap;\n }\n .RelatedArticles-module_imgWrapper__5Jx_4 {\n display: none;\n }\n .RelatedArticles-module_mediaCard__3wQbn {\n width: 100%;\n margin-bottom: 0.5rem;\n padding: 0;\n }\n .RelatedArticles-module_cardTitle__3P-Ib {\n font-size: 0.75rem;\n margin-bottom: 0;\n }\n}\n";
386
- 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" };
387
- styleInject_es.styleInject(css);
388
-
389
- var RelatedArticle = function RelatedArticle(_ref) {
390
- var articles = _ref.articles,
391
- client = _ref.client,
392
- fallbackImage = _ref.fallbackImage,
393
- _ref$showRelatedArtic = _ref.showRelatedArticleFallbackImage,
394
- showRelatedArticleFallbackImage = _ref$showRelatedArtic === undefined ? true : _ref$showRelatedArtic;
395
-
396
- if (!articles || articles.length == 0 || !articles[0]) {
397
- return null;
398
- }
399
- return React__default['default'].createElement(
400
- 'div',
401
- { className: styles.mediaContainer },
402
- articles.map(function (article, index) {
403
- if (article && article.url && article.url.current) {
404
- return React__default['default'].createElement(
405
- 'div',
406
- { id: 'related-card', key: index, className: styles.mediaCard },
407
- React__default['default'].createElement(
408
- 'a',
409
- { className: styles.imgWrapper, href: '/view/' + (article.url ? article.url.current : '') },
410
- article.thumbnail ? React__default['default'].createElement('img', {
411
- style: { objectFit: 'cover', objectPosition: 'center' },
412
- src: article.thumbnail && urlFor({ client: client, source: article.thumbnail.asset, imageWidth: 250 }),
413
- alt: article.title
414
- }) : React__default['default'].createElement(
415
- React__default['default'].Fragment,
416
- null,
417
- fallbackImage && showRelatedArticleFallbackImage && React__default['default'].createElement('img', { src: fallbackImage, alt: 'website logo', style: { objectFit: 'contain' } })
418
- )
419
- ),
420
- React__default['default'].createElement(
421
- 'div',
422
- { className: styles.mediaBody },
423
- React__default['default'].createElement(
424
- 'a',
425
- { href: '/view/' + (article.url ? article.url.current : '') },
426
- React__default['default'].createElement(
427
- 'div',
428
- { className: styles.cardTitle },
429
- article.title
430
- )
431
- )
432
- )
433
- );
434
- }
435
- })
436
- );
437
- };
438
-
439
- var getSocialShareDisableFlag = function getSocialShareDisableFlag(article) {
440
- //Need to check Taxonomy, DocumentGroup, and Authors for showSocialShare
441
- var showSocialShare = true;
442
- if (article.showSocialShare === true) {
443
- return showSocialShare;
444
- }
445
-
446
- if (article.showSocialShare === false) {
447
- showSocialShare = false;
448
- return showSocialShare;
449
- }
450
-
451
- if (article.content_placement && article.content_placement.length > 0) {
452
- //loop through each
453
- article.content_placement.forEach(function (category) {
454
- if (category.showSocialShare === false) {
455
- showSocialShare = false;
456
- }
457
- });
458
- }
459
- if (article.authorDetails && article.authorDetails.length > 0) {
460
- article.authorDetails.forEach(function (author) {
461
- if (author.showSocialShare === false) {
462
- showSocialShare = false;
463
- }
464
- });
465
- }
466
- if (article.documentGroup && article.documentGroup.length > 0) {
467
- article.documentGroup.forEach(function (docGroup) {
468
- if (docGroup.showSocialShare === false) {
469
- showSocialShare = false;
470
- }
471
- });
472
- }
473
- if (article.documentGroupMapping && article.documentGroupMapping.length > 0) {
474
- article.documentGroupMapping.forEach(function (docGroup) {
475
- if (docGroup.showSocialShare === false) {
476
- showSocialShare = false;
477
- }
478
- });
479
- }
480
-
481
- return showSocialShare;
482
- };
483
-
484
- var css$1 = ".RecommendedArticles-module_recommendTitle__2kUji {\n border-bottom: 2px solid var(--secondary-blue);\n font-size: 1.5rem;\n font-weight: bold;\n color: #0d335a;\n padding: 0.5rem;\n}\n.RecommendedArticles-module_recommendContainer__sZukI {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin: 0 -0.5rem;\n}\n.RecommendedArticles-module_recommendTop__1_yqw {\n margin: 0.5rem;\n width: 100%;\n flex-basis: 100%;\n display: flex;\n\n}\n.RecommendedArticles-module_recommendTopImg__1b9gu {\n min-width: 55%;\n width: 55%;\n height: 100%;\n}\n.RecommendedArticles-module_recommendTopImg__1b9gu img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n.RecommendedArticles-module_recommendTopBody__-13FI {\n margin-left: 1rem;\n line-height: 1.3;\n color: #121212;\n display: flex;\n flex-direction: column;\n}\n.RecommendedArticles-module_topTitle__2EafN {\n font-size: 25px;\n font-weight: bold;\n margin-bottom: 0.5rem;\n}\n.RecommendedArticles-module_topBody__2_VNi {\n font-size: 19px;\n margin-bottom: 0.5rem;\n}\n.RecommendedArticles-module_topLink__2RnXu {\n font-size: 19px;\n color: rgb(43, 43, 151);\n text-decoration: underline;\n margin-top: auto;\n}\n.RecommendedArticles-module_smContainer__4byBO {\n width: calc(25% - 1rem);\n margin: 0 0.5rem;\n}\n.RecommendedArticles-module_smImage__TYZGY img {\n width: 100%;\n}\n.RecommendedArticles-module_title__3q1ud {\n margin-top: 1rem;\n line-height: 1.2;\n color: #121212;\n}\n.RecommendedArticles-module_category__2jRto {\n text-transform: uppercase;\n font-size: 16px;\n letter-spacing: 2px;\n margin: 0.25rem 0;\n}\n\n/* media query */\n\n@media screen and (max-width: 1399px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 21px;\n }\n .RecommendedArticles-module_topBody__2_VNi {\n font-size: 15px;\n }\n}\n@media screen and (max-width: 1191px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 23px;\n }\n .RecommendedArticles-module_topBody__2_VNi,\n .RecommendedArticles-module_topLink__2RnXu {\n font-size: 17px;\n }\n}\n@media screen and (max-width: 968px) {\n .RecommendedArticles-module_topTitle__2EafN {\n font-size: 18px;\n }\n .RecommendedArticles-module_topBody__2_VNi,\n .RecommendedArticles-module_topLink__2RnXu {\n font-size: 15px;\n }\n}\n@media screen and (max-width: 768px) {\n .RecommendedArticles-module_recommendTop__1_yqw {\n flex-direction: column;\n }\n .RecommendedArticles-module_recommendTopImg__1b9gu,\n .RecommendedArticles-module_recommendTopBody__-13FI {\n width: 100%;\n margin: 0;\n }\n .RecommendedArticles-module_recommendTopBody__-13FI {\n margin-bottom: 1rem;\n }\n .RecommendedArticles-module_smContainer__4byBO {\n width: calc(50% - 1rem);\n }\n}";
485
- var styles$1 = { "recommendTitle": "RecommendedArticles-module_recommendTitle__2kUji", "recommendContainer": "RecommendedArticles-module_recommendContainer__sZukI", "recommendTop": "RecommendedArticles-module_recommendTop__1_yqw", "recommendTopImg": "RecommendedArticles-module_recommendTopImg__1b9gu", "recommendTopBody": "RecommendedArticles-module_recommendTopBody__-13FI", "topTitle": "RecommendedArticles-module_topTitle__2EafN", "topBody": "RecommendedArticles-module_topBody__2_VNi", "topLink": "RecommendedArticles-module_topLink__2RnXu", "smContainer": "RecommendedArticles-module_smContainer__4byBO", "smImage": "RecommendedArticles-module_smImage__TYZGY", "title": "RecommendedArticles-module_title__3q1ud", "category": "RecommendedArticles-module_category__2jRto" };
486
- styleInject_es.styleInject(css$1);
487
-
488
- var _this = undefined;
489
-
490
- var Recommended = function Recommended(props) {
491
- var article = props.article,
492
- client = props.client,
493
- _props$index = props.index,
494
- index = _props$index === undefined ? 0 : _props$index,
495
- cpModificationRequired = props.cpModificationRequired,
496
- emailList = props.emailList,
497
- articleRecsQuery = props.articleRecsQuery;
498
-
499
- var _useState = React.useState(false),
500
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
501
- segmentLoaded = _useState2[0],
502
- setSegmentLoaded = _useState2[1];
503
-
504
- var _useState3 = React.useState([]),
505
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
506
- articles = _useState4[0],
507
- setArticles = _useState4[1];
508
-
509
- var _useState5 = React.useState('loading'),
510
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
511
- loaded = _useState6[0],
512
- setLoaded = _useState6[1]; // loading, loaded, failed
513
-
514
-
515
- var starting = index * 5;
516
- var emailTracked = React.useRef(false);
517
-
518
- var contentMapping = {
519
- videos: 'video',
520
- articles: 'article',
521
- podcasts: 'podcast'
522
- };
523
- var mainCategories = article.content_placement.filter(function (cp) {
524
- return cp.usedForRecommendations === true;
525
- }).map(function (cp) {
526
- return cp.name;
527
- }).sort();
528
-
529
- React.useEffect(function () {
530
- try {
531
- if (!segmentLoaded) {
532
- return;
533
- }
534
- if (mainCategories.length > 0) {
535
- analytics.track('Article Category Viewed', {
536
- 'categories.$': stringify._JSON$stringify(mainCategories)
537
- });
538
- }
539
- var getSegmentProfile = function () {
540
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
541
- var anonymousId, traits, i, response, data, addTaxonomyName, favoriteCategories, articlesCategory, videosCategory, podcastCategory, taxonomyCategories, taxonomies, articlesQuery, videosQuery, podcastQuery, params, _ref2, _ref3, _articles, videos, podcasts, recs;
542
-
543
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
544
- while (1) {
545
- switch (_context.prev = _context.next) {
546
- case 0:
547
- anonymousId = analytics.user().anonymousId();
548
- traits = analytics.user().traits();
549
- // console.log('anonymousId', anonymousId)
550
-
551
- if (!(traits && traits.email)) {
552
- _context.next = 11;
553
- break;
554
- }
555
-
556
- i = 0;
557
-
558
- case 4:
559
- if (!(i < emailList.length)) {
560
- _context.next = 11;
561
- break;
562
- }
563
-
564
- if (!(traits.email === emailList[i].email)) {
565
- _context.next = 8;
566
- break;
567
- }
568
-
569
- emailTracked.current = true;
570
- return _context.abrupt('break', 11);
571
-
572
- case 8:
573
- i++;
574
- _context.next = 4;
575
- break;
576
-
577
- case 11:
578
- _context.next = 13;
579
- return fetch('/api/getSegmentProfile', {
580
- method: 'POST',
581
- body: stringify._JSON$stringify({ anonymousId: anonymousId })
582
- });
583
-
584
- case 13:
585
- response = _context.sent;
586
- _context.next = 16;
587
- return response.json();
588
-
589
- case 16:
590
- data = _context.sent;
591
-
592
- if (!(emailTracked.current || data && data.traits)) {
593
- _context.next = 54;
594
- break;
595
- }
596
-
597
- // console.log('%csegment user profile', 'font-size:1.5rem;color:#000000;padding:1rem;background-color:yellow;', data.traits)
598
- addTaxonomyName = function addTaxonomyName(taxArr) {
599
- if (!taxArr) return '';
600
- var query = ' && ( ';
601
- taxArr.forEach(function (item, index) {
602
- if (index === 0) {
603
- query = query + ('name == \'' + item + '\'');
604
- } else {
605
- query = query + (' || name == \'' + item + '\'');
606
- }
607
- });
608
-
609
- query = query + ' )';
610
-
611
- return query;
612
- };
613
-
614
- favoriteCategories = data.traits.most_frequent_article_category ? JSON.parse(data.traits.most_frequent_article_category) : null;
615
-
616
- // grab contentCategory ID
617
-
618
- _context.next = 22;
619
- return client.fetch("*[_type == 'contentCategory' && name == 'Articles'][0]{_id}");
620
-
621
- case 22:
622
- articlesCategory = _context.sent;
623
- _context.next = 25;
624
- return client.fetch("*[_type == 'contentCategory' && name == 'Videos'][0]{_id}");
625
-
626
- case 25:
627
- videosCategory = _context.sent;
628
- _context.next = 28;
629
- return client.fetch("*[_type == 'contentCategory' && name == 'Podcasts'][0]{_id}");
630
-
631
- case 28:
632
- podcastCategory = _context.sent;
633
- _context.next = 31;
634
- return client.fetch('*[_type == \'taxonomy\' ' + addTaxonomyName(favoriteCategories) + ']');
635
-
636
- case 31:
637
- taxonomyCategories = _context.sent;
638
- taxonomies = '';
639
-
640
- taxonomyCategories.forEach(function (taxonomy, index) {
641
- if (index === 0) {
642
- taxonomies = taxonomies + (' && ( references(\'' + taxonomy._id + '\')');
643
- } else {
644
- taxonomies = taxonomies + (' || references(\'' + taxonomy._id + '\')');
645
- }
646
- });
647
- taxonomies = taxonomies + ' )';
648
- // grab 3 articles from sanity different from the one currently being read
649
- articlesQuery = '*[_type == \'article\'\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && is_visible == true \n && passwordLock != true\n && references(\'' + articlesCategory._id + '\')\n ' + taxonomies + '\n && defined(published)\n && _id != $id\n && dateTime(published) <= dateTime(now())] | order(published desc) [' + starting + '...' + (starting + 5) + '] {\n ...,\n title,\n thumbnail,\n url,\n contentCategory->,\n published,\n }';
650
- videosQuery = '*[_type == \'article\'\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && is_visible == true \n && passwordLock != true\n && references(\'' + videosCategory._id + '\')\n ' + taxonomies + '\n && defined(published)\n && _id != $id\n && dateTime(published) <= dateTime(now())] | order(published desc) [' + starting + '...' + (starting + 1) + '] {\n ...,\n title,\n thumbnail,\n url,\n contentCategory->,\n published,\n }';
651
- podcastQuery = '*[_type == \'article\'\n && !(_id in path("drafts.**"))\n && defined(title)\n && defined(url)\n && is_visible == true \n && passwordLock != true\n && references(\'' + podcastCategory._id + '\')\n ' + taxonomies + '\n && defined(published)\n && _id != $id\n && dateTime(published) <= dateTime(now())] | order(published desc) [' + starting + '...' + (starting + 2) + '] {\n ...,\n title,\n thumbnail,\n url,\n contentCategory->,\n published,\n }';
652
- params = {
653
- id: article._id
654
- };
655
- _context.next = 41;
656
- return asyncToGenerator._Promise.all([client.fetch(articlesQuery, params), client.fetch(videosQuery, params), client.fetch(podcastQuery, params), client.fetch(articleRecsQuery)]);
657
-
658
- case 41:
659
- _ref2 = _context.sent;
660
- _ref3 = slicedToArray._slicedToArray(_ref2, 4);
661
- _articles = _ref3[0];
662
- videos = _ref3[1];
663
- podcasts = _ref3[2];
664
- recs = _ref3[3];
665
-
666
- if (_articles.length === 0) setLoaded('failed');
667
-
668
- if (!(emailTracked.current && recs)) {
669
- _context.next = 51;
670
- break;
671
- }
672
-
673
- setArticles(recs);
674
- return _context.abrupt('return');
675
-
676
- case 51:
677
- if (_articles && !emailTracked.current) {
678
- if (videos[0] && _articles[2]) {
679
- _articles[2] = videos[0];
680
- }
681
- if (videos[1] && _articles[4]) {
682
- _articles[4] = videos[1];
683
- }
684
- if (podcasts[0] && _articles[3]) {
685
- _articles[3] = podcasts[0];
686
- }
687
- setArticles(_articles);
688
- }
689
- _context.next = 55;
690
- break;
691
-
692
- case 54:
693
- setLoaded('failed');
694
-
695
- case 55:
696
- case 'end':
697
- return _context.stop();
698
- }
699
- }
700
- }, _callee, _this);
701
- }));
702
-
703
- return function getSegmentProfile() {
704
- return _ref.apply(this, arguments);
705
- };
706
- }();
707
- getSegmentProfile();
708
- } catch (err) {
709
- console.log(err);
710
- setLoaded('failed');
711
- }
712
- }, [segmentLoaded]);
713
-
714
- React.useEffect(function () {
715
- if (articles && articles.length > 0) {
716
- setLoaded('loaded');
717
- }
718
- }, [articles]);
719
-
720
- React.useEffect(function () {
721
- try {
722
- analytics.ready(function () {
723
- setSegmentLoaded(function () {
724
- return 'loaded';
725
- });
726
- });
727
- } catch (err) {
728
- console.log(err);
729
- setLoaded('failed');
730
- }
731
- }, []);
732
-
733
- return React__default['default'].createElement(
734
- 'div',
735
- { id: 'recommended', style: { minHeight: '150px' } },
736
- loaded === 'loaded' && React__default['default'].createElement(
737
- React__default['default'].Fragment,
738
- null,
739
- React__default['default'].createElement(
740
- 'h4',
741
- { className: styles$1.recommendTitle },
742
- 'Recommended For You'
743
- ),
744
- React__default['default'].createElement(
745
- 'div',
746
- { className: styles$1.recommendContainer, id: 'recommendedContent' },
747
- articles.map(function (article, index) {
748
- if (index === 0) {
749
- return React__default['default'].createElement(
750
- 'div',
751
- { key: article._id + ('-' + index), className: styles$1.recommendTop },
752
- React__default['default'].createElement(
753
- 'div',
754
- { className: styles$1.recommendTopImg },
755
- React__default['default'].createElement(
756
- 'a',
757
- { href: '/view/' + article.url.current + '?utm_source=website&utm_medium=dynamic_content&utm_campaign=in_feed_unit' },
758
- React__default['default'].createElement('img', { src: urlFor({ source: article.thumbnail, client: client, imageHeight: 306, imageWidth: 544 }) })
759
- )
760
- ),
761
- React__default['default'].createElement(
762
- 'div',
763
- { className: styles$1.recommendTopBody },
764
- React__default['default'].createElement(
765
- 'div',
766
- { className: styles$1.topTitle },
767
- article.title
768
- ),
769
- React__default['default'].createElement(
770
- 'p',
771
- { className: styles$1.topBody },
772
- article.summary
773
- ),
774
- React__default['default'].createElement(
775
- 'a',
776
- { href: '/view/' + article.url.current + '?utm_source=website&utm_medium=dynamic_content&utm_campaign=in_feed_unit', className: styles$1.topLink },
777
- '>> ',
778
- 'Read Article'
779
- )
780
- )
781
- );
782
- } else {
783
- return React__default['default'].createElement(
784
- 'div',
785
- { key: article._id + ('-' + index), className: styles$1.smContainer },
786
- React__default['default'].createElement(
787
- 'div',
788
- { className: styles$1.category },
789
- contentMapping && contentMapping[article.contentCategory.name] && contentMapping[article.contentCategory.name.toLowerCase()] ? contentMapping[article.contentCategory.name.toLowerCase()] : article.contentCategory.name
790
- ),
791
- React__default['default'].createElement(
792
- 'a',
793
- { href: '/view/' + article.url.current + '?utm_source=website&utm_medium=dynamic_content&utm_campaign=in_feed_unit' },
794
- React__default['default'].createElement(
795
- 'div',
796
- { className: styles$1.smImage },
797
- React__default['default'].createElement('img', { src: urlFor({ source: article.thumbnail, client: client, imageHeight: 270, imageWidth: 480 }) })
798
- ),
799
- React__default['default'].createElement(
800
- 'div',
801
- { className: styles$1.title },
802
- article.title
803
- )
804
- )
805
- );
806
- }
807
- })
808
- )
809
- ),
810
- loaded === 'failed' && React__default['default'].createElement(
811
- 'section',
812
- { id: 'related-content-section', className: 'my-1' },
813
- (article.relatedArticle || RelevantTopics({ article: article })) && React__default['default'].createElement(
814
- 'p',
815
- { className: 'mb-0' },
816
- React__default['default'].createElement(
817
- 'b',
818
- null,
819
- 'Related Content:'
820
- )
821
- ),
822
- React__default['default'].createElement(RelevantTopics, { article: article, cpModificationRequired: cpModificationRequired, Settings: props.Settings }),
823
- React__default['default'].createElement(
824
- 'div',
825
- { className: 'pt-2' },
826
- React__default['default'].createElement(RelatedArticle, {
827
- articles: article.relatedArticle,
828
- client: client,
829
- fallbackImage: props.Settings.logo,
830
- showRelatedArticleFallbackImage: props.showRelatedArticleFallbackImage
831
- })
832
- )
833
- )
834
- );
835
- };
836
-
837
- var RelevantTopics = function RelevantTopics(props) {
838
- var article = props.article,
839
- cpModificationRequired = props.cpModificationRequired;
840
- var content_placement = article.content_placement,
841
- documentGroupMapping = article.documentGroupMapping,
842
- issueGroup = article.issueGroup;
843
-
844
- if (content_placement && content_placement.length > 0 || documentGroupMapping && documentGroupMapping.length > 0) {
845
- var relatedLinks = [];
846
- if (documentGroupMapping && documentGroupMapping.length > 0) {
847
- documentGroupMapping.forEach(function (documentGroup) {
848
- if (documentGroup.isShow === false || documentGroup.excludeRelatedContents) {
849
- return null;
850
- }
851
- if (documentGroup.parent) {
852
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{
853
- label: documentGroup.name,
854
- href: cpModificationRequired ? getDocumentGroupUrl(documentGroup) : documentGroup.parent.identifier && documentGroup.parent.identifier.current && !documentGroup.path.includes('/') ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path
855
- }]);
856
- }
857
- });
858
- }
859
- if (content_placement && content_placement.length > 0) {
860
- content_placement.filter(function (item) {
861
- return item.path !== 'news';
862
- }).forEach(function (cp) {
863
- if (cp.excludeRelatedContents) {
864
- return null;
865
- }
866
- var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
867
- var href = '/' + cp_url;
868
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: cp.name, href: href }]);
869
- });
870
- }
871
- if (issueGroup && issueGroup.name && issueGroup.identifier && issueGroup.identifier.current && issueGroup.parent && issueGroup.parent.identifier && issueGroup.parent.identifier.current) {
872
- var _props$Settings$issue = props.Settings.issueMapping,
873
- issueMapping = _props$Settings$issue === undefined ? '/publications' : _props$Settings$issue;
874
-
875
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: issueGroup.name, href: issueMapping + '/' + issueGroup.parent.identifier.current + '/' + issueGroup.identifier.current }]);
876
- }
877
- if (relatedLinks && relatedLinks.length > 0) {
878
- return React__default['default'].createElement(
879
- 'div',
880
- null,
881
- relatedLinks.map(function (relatedLink, index) {
882
- if (relatedLink && relatedLink.href && relatedLink.label) {
883
- return React__default['default'].createElement(
884
- 'span',
885
- { key: relatedLink.label, className: 'related-link' },
886
- React__default['default'].createElement(
887
- 'a',
888
- { className: 'related-links', style: { color: 'blue' }, href: relatedLink.href },
889
- relatedLink.label
890
- ),
891
- React__default['default'].createElement(
892
- 'style',
893
- { jsx: 'true' },
894
- '\n .related-link:not(:first-child):before {\n content: \' | \';\n }\n '
895
- )
896
- );
897
- }
898
- })
899
- );
900
- }
901
- return null;
902
- }
903
- return null;
904
- };
905
-
906
- var checkDocGroupMappingForSeries = function checkDocGroupMappingForSeries(docGroupArray) {
907
-
908
- for (var i = 0; i < docGroupArray.length; i++) {
909
- if (docGroupArray[i].isSeries) {
910
- return docGroupArray[i];
911
- }
912
- }
913
-
914
- return false;
915
- };
916
-
917
- var Article = React__default['default'].memo(React.forwardRef(function (props, ref) {
918
- var onVote = function () {
919
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(nodeKey, selectedChoice) {
920
- var response, result;
921
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
922
- while (1) {
923
- switch (_context.prev = _context.next) {
924
- case 0:
925
- _context.next = 2;
926
- return fetch('/api/polls/vote', {
927
- method: 'POST',
928
- headers: { 'Content-Type': 'application/json' },
929
- body: stringify._JSON$stringify({ articleId: props.article._id, nodeKey: nodeKey, selectedChoice: selectedChoice, body: articleBody })
930
- });
931
-
932
- case 2:
933
- response = _context.sent;
934
-
935
- if (!response.ok) {
936
- _context.next = 11;
937
- break;
938
- }
939
-
940
- _context.next = 6;
941
- return response.json();
942
-
943
- case 6:
944
- result = _context.sent;
945
-
946
- setArticleBody(result.body);
947
-
948
- console.log('Voted successfully');
949
- _context.next = 12;
950
- break;
951
-
952
- case 11:
953
- console.log('Unable to vote!');
954
-
955
- case 12:
956
- case 'end':
957
- return _context.stop();
958
- }
959
- }
960
- }, _callee, this);
961
- }));
962
-
963
- return function onVote(_x, _x2) {
964
- return _ref.apply(this, arguments);
965
- };
966
- }();
967
-
968
- var article = props.article,
969
- Ads = props.Ads,
970
- showRelatedArticles = props.showRelatedArticles,
971
- _props$hideFBShare = props.hideFBShare,
972
- hideFBShare = _props$hideFBShare === undefined ? false : _props$hideFBShare,
973
- _props$hidePinterestS = props.hidePinterestShare,
974
- hidePinterestShare = _props$hidePinterestS === undefined ? false : _props$hidePinterestS,
975
- onChangeArticle = props.onChangeArticle,
976
- _props$showSocialShar = props.showSocialShare,
977
- showSocialShare = _props$showSocialShar === undefined ? true : _props$showSocialShar;
978
- var client = props.client,
979
- pageview = props.pageview,
980
- videoAccountIDs = props.videoAccountIDs,
981
- drupalLeadSettings = props.drupalLeadSettings,
982
- currentPage = props.currentPage,
983
- _props$showAuthorDeta = props.showAuthorDetails,
984
- showAuthorDetails = _props$showAuthorDeta === undefined ? false : _props$showAuthorDeta,
985
- audioAutoplay = props.audioAutoplay,
986
- _props$article = props.article,
987
- title = _props$article.title,
988
- _props$article$passwo = _props$article.passwordLock,
989
- passwordLock = _props$article$passwo === undefined ? false : _props$article$passwo,
990
- authorDetails = _props$article.authorDetails,
991
- pageNumber = _props$article.pageNumber,
992
- published = _props$article.published,
993
- _props$article$showPu = _props$article.showPublished,
994
- showPublished = _props$article$showPu === undefined ? true : _props$article$showPu,
995
- body = _props$article.body,
996
- thumbnail = _props$article.thumbnail,
997
- content_placement = _props$article.content_placement,
998
- _props$article$url = _props$article.url;
999
- _props$article$url = _props$article$url === undefined ? {
1000
- current: ''
1001
- } : _props$article$url;
1002
- var url = _props$article$url.current,
1003
- issue = _props$article.issue,
1004
- source = _props$article.source,
1005
- documentGroupMapping = _props$article.documentGroupMapping,
1006
- issueGroup = _props$article.issueGroup,
1007
- showIsi = _props$article.showIsi,
1008
- isi = _props$article.isi,
1009
- _props$article$displa = _props$article.display_summary,
1010
- display_summary = _props$article$displa === undefined ? true : _props$article$displa,
1011
- regionalPages = props.regionalPages,
1012
- nationalPage = props.nationalPage,
1013
- ISIContent = props.ISIContent,
1014
- shareOptions = props.shareOptions,
1015
- cpModificationRequired = props.cpModificationRequired,
1016
- authorPrefix = props.authorPrefix,
1017
- _props$lgContextAd = props.lgContextAd,
1018
- lgContextAd = _props$lgContextAd === undefined ? false : _props$lgContextAd,
1019
- queueData = props.queueData,
1020
- _props$sponsoredFlag = props.sponsoredFlag,
1021
- sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag,
1022
- _props$authorImgHeigh = props.authorImgHeight,
1023
- authorImgHeight = _props$authorImgHeigh === undefined ? 270 : _props$authorImgHeigh,
1024
- active = props.active,
1025
- _props$refreshFlag = props.refreshFlag,
1026
- refreshFlag = _props$refreshFlag === undefined ? false : _props$refreshFlag,
1027
- disqusConfig = props.disqusConfig,
1028
- showDisqus = props.showDisqus,
1029
- _props$downloadCitati = props.downloadCitation,
1030
- downloadCitation = _props$downloadCitati === undefined ? false : _props$downloadCitati,
1031
- _props$useSegmentReco = props.useSegmentRecommendedArticles,
1032
- useSegmentRecommendedArticles = _props$useSegmentReco === undefined ? false : _props$useSegmentReco,
1033
- showIssueNameOnly = props.showIssueNameOnly,
1034
- showPageNumber = props.showPageNumber,
1035
- emailList = props.emailList,
1036
- articleRecs = props.articleRecs;
1037
- var sliderData = props.sliderData;
1038
-
1039
- var disableEpisodeNumber = false;
1040
- var articleRecsQuery = '*[_type == \'article\' && url.current in ';
1041
-
1042
- if (article && article.documentGroup && article.documentGroup.disableEpisodeNumber === true) {
1043
- disableEpisodeNumber = true;
1044
- }
1045
- var logicforDisplayingEpisodeNumber = !disableEpisodeNumber;
1046
- var targeting = getTargeting.getTargeting(props);
1047
- // remove slider data if toggled
1048
- if (article && article.documentGroup && article.documentGroup.hideSeriesSlider === true) {
1049
- sliderData = null;
1050
- }
1051
- // build query string for article recs, pass down as props
1052
- if (articleRecs) {
1053
- articleRecs.forEach(function (rec, ind) {
1054
- ind === 0 ? articleRecsQuery = articleRecsQuery.concat('[\'' + rec + '\', ') : ind === articleRecs.length - 1 ? articleRecsQuery = articleRecsQuery.concat('\'' + rec + '\']]') : articleRecsQuery = articleRecsQuery.concat('\'' + rec + '\', ');
1055
- });
1056
- }
1057
- //next video url
1058
- if (sliderData) {
1059
- var nextArticle = void 0;
1060
- sliderData.forEach(function (data, index) {
1061
- if (data.url.current === props.article.url.current) {
1062
- nextArticle = index + 1;
1063
- }
1064
- });
1065
-
1066
- if (nextArticle && sliderData[nextArticle]) {
1067
- article.nextVideo = sliderData[nextArticle].url.current;
1068
- }
1069
- }
1070
-
1071
- // if showSocialShare is not disabled for entire site, check article taxonomy, docgroup, authors for showSocialShare === false
1072
- if (showSocialShare) {
1073
- showSocialShare = getSocialShareDisableFlag(props.article);
1074
- }
1075
-
1076
- // If sponsored flag, disable contextual ads
1077
- if (sponsoredFlag) {
1078
- article.contextualVideoAD = false;
1079
- article.contextualAD = false;
1080
- showRelatedArticles = false;
1081
- }
1082
- if (article.disableRelatedContent) {
1083
- showRelatedArticles = false;
1084
- }
1085
- // This was being done in ArticleQueue2 which wasnt effecting articles excluded from infinite scroll, moved inside article component
1086
- if (!sponsoredFlag && Ads.getVideoContextualAD) {
1087
- article.contextualVideoAD = Ads.getVideoContextualAD(getTargeting.getTargeting(props, 'in-context_video'));
1088
- }
1089
- if (!sponsoredFlag && Ads.getNativeContextualAD) {
1090
- article.contextualAD = Ads.getNativeContextualAD(getTargeting.getTargeting(props, 'native-ad'));
1091
- }
1092
-
1093
- var _useState = React.useState(null),
1094
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
1095
- contextualADFlag = _useState2[0],
1096
- setContextualADFlag = _useState2[1];
1097
- // Setting new Flag 'visibleFlag' to know when the article is visible so that new contextual ad can be appended into DOM.
1098
-
1099
-
1100
- var _useState3 = React.useState(false),
1101
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
1102
- visibleFlag = _useState4[0],
1103
- setVisibleFlag = _useState4[1];
1104
-
1105
- var summary = getArticleSummary(props.article);
1106
-
1107
- var _useState5 = React.useState(1),
1108
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
1109
- auth = _useState6[0],
1110
- setAuth = _useState6[1];
1111
-
1112
- var _useState7 = React.useState(''),
1113
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
1114
- passwordKey = _useState8[0],
1115
- setPasswordKey = _useState8[1];
1116
-
1117
- var _useState9 = React.useState(body),
1118
- _useState10 = slicedToArray._slicedToArray(_useState9, 2),
1119
- articleBody = _useState10[0],
1120
- setArticleBody = _useState10[1];
1121
-
1122
- var _useState11 = React.useState(0),
1123
- _useState12 = slicedToArray._slicedToArray(_useState11, 2),
1124
- containerHeight = _useState12[0],
1125
- setContainerHeight = _useState12[1];
1126
-
1127
- var _useState13 = React.useState(true),
1128
- _useState14 = slicedToArray._slicedToArray(_useState13, 2),
1129
- previewAd = _useState14[0],
1130
- setPreviewAd = _useState14[1];
1131
-
1132
- var _useState15 = React.useState(props.index === 0),
1133
- _useState16 = slicedToArray._slicedToArray(_useState15, 2),
1134
- isFirstArticle = _useState16[0],
1135
- setIsFirstArticle = _useState16[1];
1136
-
1137
- React.useEffect(function () {
1138
- var path = window && window.location && window.location.search;
1139
- // Setting flag for Ad-preview URLs
1140
- setPreviewAd(path.split('&').some(function (param) {
1141
- return param.includes('creativeId');
1142
- }));
1143
- setContainerHeight(window.innerHeight);
1144
- }, []);
1145
-
1146
- var isCutomPage = function isCutomPage(article) {
1147
- var url = article.url.current;
1148
-
1149
- if (regionalPages || nationalPage) {
1150
- return regionalPages.includes(url) || nationalPage === url;
1151
- } else {
1152
- return false;
1153
- }
1154
- };
1155
- var renderAuthorBiography = function renderAuthorBiography(biography) {
1156
- if (biography) {
1157
- return React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1158
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, contextualADFlag),
1159
- blocks: [biography]
1160
- }, client.config()));
1161
- }
1162
- };
1163
-
1164
- var getAbstract = function getAbstract() {
1165
- return article.abstract && article.abstract.map(function (block) {
1166
- if (block.children) {
1167
- return block.children.map(function (child) {
1168
- if (child._type === 'span') return child.text;
1169
- });
1170
- }
1171
- }).join(' ');
1172
- };
1173
-
1174
- var renderIsiContent = function renderIsiContent(article) {
1175
- var url = article.url.current;
1176
-
1177
- if (regionalPages && ISIContent && regionalPages.includes(url)) {
1178
- return React__default['default'].createElement(ISIContent, null);
1179
- } else if (nationalPage === url && ISIContent) {
1180
- return React__default['default'].createElement(ISIContent, { national: true });
1181
- }
1182
- return null;
1183
- };
1184
- var generateRIS = function generateRIS() {
1185
- var fileContent = 'TY - JOUR\n';
1186
- if (issue) {
1187
- if (article.title) {
1188
- fileContent += 'TI - ' + article.title + '\n'; // Title - TI
1189
- fileContent += 'T1 - ' + article.title + '\n'; // Title - T1
1190
- }
1191
- if (authorDetails && authorDetails.length) {
1192
- authorDetails.map(function (authorDetail, index) {
1193
- return fileContent += 'AU - ' + (authorDetail.firstName && authorDetail.lastName ? authorDetail.lastName + ', ' + authorDetail.firstName : '' + authorDetail.displayName) + '\n';
1194
- } // Author
1195
- );
1196
- }
1197
- if (issue.publication && issue.publication.name) {
1198
- fileContent += 'T2 - ' + issue.publication.name + '\n'; // Secondary Title - T2
1199
- fileContent += 'JF - ' + issue.publication.name + '\n'; // Journal Name - JF
1200
- }
1201
- if (issue.name) {
1202
- fileContent += 'T3 - ' + issue.name + '\n'; // Issue Name - T3
1203
- }
1204
- if (issue.abbreviatedJournal) {
1205
- fileContent += 'JO - ' + issue.abbreviatedJournal + '\n'; // Journal Name - JO
1206
- }
1207
- if (article.abstract) fileContent += 'AB - ' + getAbstract() + '\n'; // Abstract - AB
1208
- if (article.abstract) fileContent += 'N2 - ' + getAbstract() + '\n'; // Abstract - N2
1209
- if (issue.issueNumber) fileContent += 'IS - ' + issue.issueNumber + '\n'; // Issue Number - IS
1210
- fileContent += 'PB - MJH Life Sciences\n'; // Publisher - PB
1211
- if (issue.year) fileContent += 'PY - ' + issue.year + '\n'; // Published Year - PY
1212
- if (issue.volume) fileContent += 'VL - ' + issue.volume + '\n'; // Volume - VL
1213
- if (issue.url) fileContent += 'L1 - ' + issue.url + '\n'; // Link to PDF - L1
1214
- if (shareOptions && shareOptions.shareBaseUrl) {
1215
- fileContent += 'L2 - ' + (shareOptions.shareBaseUrl + url) + '\n'; // Link to Full-text - L2
1216
- fileContent += 'UR - ' + (shareOptions.shareBaseUrl + url) + '\n'; // Doc URL - UR
1217
- }
1218
- if (props.Website) fileContent += 'LK - https://' + props.Website.liveDomain + '\n'; // Website Link - LK
1219
- if (issue.isbn_issn) {
1220
- fileContent += 'SN - ' + issue.isbn_issn + '\n'; // ISSN/ISBN - TI
1221
- }
1222
- if (pageNumber) {
1223
- if (pageNumber.includes('-')) {
1224
- fileContent += 'SP - ' + pageNumber.split('-')[0] + '\n'; // Start Page - SP
1225
- fileContent += 'EP - ' + pageNumber.split('-')[1] + '\n'; // End Page - EP
1226
- } else {
1227
- fileContent += 'SP - ' + pageNumber + '\n';
1228
- }
1229
- }
1230
- if (article.published) fileContent += 'Y1 - ' + moment.moment(published).format('DD-MMMM-YYYY') + '\n'; // Primary Date - Y1
1231
- fileContent += 'Y2 - ' + moment.moment().format('DD-MMMM-YYYY') + '\n'; // Access Date - Y2
1232
- }
1233
- fileContent += 'ER -\n'; // End of Record
1234
- return fileContent;
1235
- };
1236
- var getAuthorList = function getAuthorList() {
1237
- var authorList = '';
1238
- if (authorDetails && authorDetails.length > 0) {
1239
- authorDetails.map(function (author) {
1240
- if (author.lastName && author.firstName) authorList += author.lastName + ',' + author.firstName + ';';else if (author.displayName) authorList += author.displayName + ';';
1241
- });
1242
- }
1243
- return authorList;
1244
- };
1245
- var downloadRIS = function downloadRIS() {
1246
- var fileContent = generateRIS();
1247
- var file = new File([fileContent], 'citation-' + url + '.ris', { type: 'application/x-research-info-systems;charset=utf-8' });
1248
- FileSaver__default['default'].saveAs(file, 'citation-' + url + '.ris');
1249
- };
1250
-
1251
- var RelevantTopics = function RelevantTopics() {
1252
- if (content_placement && content_placement.length > 0 || documentGroupMapping && documentGroupMapping.length > 0) {
1253
- var relatedLinks = [];
1254
- if (documentGroupMapping && documentGroupMapping.length > 0) {
1255
- documentGroupMapping.forEach(function (documentGroup) {
1256
- if (documentGroup.isShow === false || documentGroup.excludeRelatedContents) {
1257
- return null;
1258
- }
1259
- if (documentGroup.parent) {
1260
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{
1261
- label: documentGroup.name,
1262
- href: cpModificationRequired ? getDocumentGroupUrl(documentGroup) : documentGroup.parent.identifier && documentGroup.parent.identifier.current && !documentGroup.path.includes('/') ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path
1263
- }]);
1264
- }
1265
- });
1266
- }
1267
- if (content_placement && content_placement.length > 0) {
1268
- content_placement.filter(function (item) {
1269
- return item.path !== 'news';
1270
- }).forEach(function (cp) {
1271
- if (cp.excludeRelatedContents) {
1272
- return null;
1273
- }
1274
- var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
1275
- var href = '/' + cp_url;
1276
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: cp.name, href: href }]);
1277
- });
1278
- }
1279
- if (issueGroup && issueGroup.name && issueGroup.identifier && issueGroup.identifier.current && issueGroup.parent && issueGroup.parent.identifier && issueGroup.parent.identifier.current) {
1280
- var _props$Settings$issue = props.Settings.issueMapping,
1281
- issueMapping = _props$Settings$issue === undefined ? '/publications' : _props$Settings$issue;
1282
-
1283
- relatedLinks = [].concat(toConsumableArray._toConsumableArray(relatedLinks), [{ label: issueGroup.name, href: issueMapping + '/' + issueGroup.parent.identifier.current + '/' + issueGroup.identifier.current }]);
1284
- }
1285
- if (relatedLinks && relatedLinks.length > 0) {
1286
- return React__default['default'].createElement(
1287
- 'div',
1288
- null,
1289
- relatedLinks.map(function (relatedLink, index) {
1290
- if (relatedLink && relatedLink.href && relatedLink.label) {
1291
- return React__default['default'].createElement(
1292
- 'span',
1293
- { key: index, className: 'related-link' },
1294
- React__default['default'].createElement(
1295
- 'a',
1296
- { className: 'related-links', style: { color: 'blue' }, href: relatedLink.href },
1297
- relatedLink.label
1298
- ),
1299
- React__default['default'].createElement(
1300
- 'style',
1301
- { jsx: 'true' },
1302
- '\n .related-link:not(:first-child):before {\n content: \' | \';\n }\n '
1303
- )
1304
- );
1305
- }
1306
- })
1307
- );
1308
- }
1309
- return null;
1310
- }
1311
- return null;
1312
- };
1313
-
1314
- var RelatedContent = React__default['default'].memo(function () {
1315
- return React__default['default'].createElement(
1316
- 'div',
1317
- null,
1318
- useSegmentRecommendedArticles ? React__default['default'].createElement(Recommended, {
1319
- client: client,
1320
- article: article,
1321
- index: props.index,
1322
- Settings: props.Settings,
1323
- showRelatedArticleFallbackImage: props.showRelatedArticleFallbackImage,
1324
- cpModificationRequired: cpModificationRequired,
1325
- emailList: emailList,
1326
- articleRecsQuery: articleRecsQuery
1327
- }) : React__default['default'].createElement(
1328
- 'section',
1329
- { id: 'related-content-section', className: 'my-1' },
1330
- (article.relatedArticle || RelevantTopics()) && React__default['default'].createElement(
1331
- 'p',
1332
- { className: 'mb-0' },
1333
- React__default['default'].createElement(
1334
- 'b',
1335
- null,
1336
- 'Related Content:'
1337
- )
1338
- ),
1339
- React__default['default'].createElement(RelevantTopics, null),
1340
- React__default['default'].createElement(
1341
- 'div',
1342
- { className: 'pt-2' },
1343
- React__default['default'].createElement(RelatedArticle, {
1344
- articles: article.relatedArticle,
1345
- client: client,
1346
- fallbackImage: props.Settings.logo,
1347
- showRelatedArticleFallbackImage: props.showRelatedArticleFallbackImage
1348
- })
1349
- )
1350
- )
1351
- );
1352
- });
1353
-
1354
- var form = function form() {
1355
- return React__default['default'].createElement(
1356
- React__default['default'].Fragment,
1357
- null,
1358
- React__default['default'].createElement(
1359
- Head__default['default'],
1360
- null,
1361
- React__default['default'].createElement('meta', { name: 'googlebot', content: 'noindex' })
1362
- ),
1363
- React__default['default'].createElement(
1364
- 'div',
1365
- { className: 'mt-5', style: { display: 'flex', justifyContent: 'center', alignItems: 'center' } },
1366
- React__default['default'].createElement(
1367
- Form__default['default'],
1368
- {
1369
- inline: true,
1370
- onSubmit: function onSubmit(e) {
1371
- e.preventDefault();
1372
- } },
1373
- React__default['default'].createElement(FormControl__default['default'], { type: 'text', className: 'mr-sm-2', value: passwordKey, onChange: function onChange(e) {
1374
- return setPasswordKey(e.target.value);
1375
- }, placeholder: 'Password' }),
1376
- React__default['default'].createElement(
1377
- Button__default['default'],
1378
- {
1379
- variant: 'primary',
1380
- onClick: function onClick() {
1381
- if (passwordKey === props.article.password) {
1382
- setAuth(2);
1383
- } else {
1384
- alert('Incorrect Password');
1385
- }
1386
- } },
1387
- 'Submit'
1388
- )
1389
- )
1390
- )
1391
- );
1392
- };
1393
-
1394
- var renderBlockContent = function renderBlockContent(payload, meta, authorImgHeight) {
1395
- var _payload = payload,
1396
- body = _payload.body;
1397
-
1398
- var indexes = findIndex(body);
1399
- var seriesInfo = checkIfMediaSeriesHasVideo(article);
1400
- var isMediaSeries = false;
1401
- if (article.documentGroup && article.documentGroup.isSeries) {
1402
- isMediaSeries = true;
1403
- } else if (!article.documentGroup && article.documentGroupMapping && checkDocGroupMappingForSeries(article.documentGroupMapping)) {
1404
- isMediaSeries = true;
1405
- }
1406
-
1407
- if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
1408
- payload = _extends._extends({}, payload, {
1409
- contextualAD: _extends._extends({}, payload.contextualAD, {
1410
- slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
1411
- }),
1412
- contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
1413
- slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
1414
- })
1415
- });
1416
- var selectedIndex = !(indexes.length % 2) ? indexes.length / 2 + 1 : Math.round(indexes.length / 2);
1417
- if (seriesInfo.hasVideo) {
1418
- selectedIndex = seriesInfo.videoIndex;
1419
- }
1420
-
1421
- var checkIsVideoAdFound = function checkIsVideoAdFound(isFound) {
1422
- if (!isFound) {
1423
- var parent = document.getElementById('contextual-video-ad-' + payload._id);
1424
- parent.style.height = '0%';
1425
- parent.style.width = '0%';
1426
- parent.style.display = 'none';
1427
- setContextualADFlag(false);
1428
- } else {
1429
- setContextualADFlag(true);
1430
- }
1431
- };
1432
- return React__default['default'].createElement(
1433
- React__default['default'].Fragment,
1434
- null,
1435
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1436
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, contextualADFlag, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1437
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, selectedIndex))),
1438
- imageOptions: { w: 320, h: 240, fit: 'max' }
1439
- }, client.config())),
1440
- React__default['default'].createElement('span', { className: 'clearfix' }),
1441
- isMediaSeries && sliderData && seriesInfo.hasVideo && React__default['default'].createElement(SeriesSlider.SeriesSlider, { dataset: sliderData, client: client, nowPlaying: article.title, displayEpisodeNumber: logicforDisplayingEpisodeNumber }),
1442
- React__default['default'].createElement(
1443
- 'div',
1444
- { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
1445
- React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: refreshFlag }))
1446
- ),
1447
- React__default['default'].createElement(
1448
- 'style',
1449
- { jsx: 'true' },
1450
- '\n .contextual-native-ad {\n margin-bottom: 1rem;\n }\n '
1451
- ),
1452
- React__default['default'].createElement('span', { className: 'clearfix' }),
1453
- React__default['default'].createElement(
1454
- 'div',
1455
- { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
1456
- React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: refreshFlag, checkIsAdFound: checkIsVideoAdFound }))
1457
- ),
1458
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1459
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, null, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1460
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(selectedIndex))),
1461
- imageOptions: { w: 320, h: 240, fit: 'max' }
1462
- }, client.config()))
1463
- );
1464
- } else if (indexes.length >= 2 && body.length >= 3 && payload.contextualAD && !payload.contextualVideoAD) {
1465
- payload = _extends._extends({}, payload, {
1466
- contextualAD: _extends._extends({}, payload.contextualAD, {
1467
- slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
1468
- className: 'ADFluid',
1469
- // Fetching new contextual targeting based on the current active article.
1470
- targeting: getTargeting.getTargeting(props, 'native-ad'),
1471
- // Adding new ad size for large contextual ad for desktop screen width >= 1400
1472
- sizes: lgContextAd ? [[728, 90], 'fluid', [300, 100]] : ['fluid', [300, 100]],
1473
- sizeMapping: lgContextAd ? [{
1474
- viewport: [1400, 0],
1475
- sizes: [[728, 90], 'fluid', [300, 100]]
1476
- }, { viewport: [0, 0], sizes: ['fluid', [300, 100]] }] : [{ viewport: [0, 0], sizes: ['fluid', [300, 100]] }]
1477
- })
1478
- });
1479
- var _selectedIndex = !(indexes.length % 2) ? indexes.length / 2 + 1 : Math.round(indexes.length / 2);
1480
- if (seriesInfo.hasVideo) {
1481
- _selectedIndex = seriesInfo.videoIndex;
1482
- }
1483
- return React__default['default'].createElement(
1484
- React__default['default'].Fragment,
1485
- null,
1486
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1487
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, contextualADFlag, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1488
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex))),
1489
- imageOptions: { w: 320, h: 240, fit: 'max' }
1490
- }, client.config())),
1491
- contextualADFlag && React__default['default'].createElement('span', { className: 'clearfix' }),
1492
- isMediaSeries && sliderData && seriesInfo.hasVideo && React__default['default'].createElement(SeriesSlider.SeriesSlider, { dataset: sliderData, client: client, nowPlaying: article.title, displayEpisodeNumber: logicforDisplayingEpisodeNumber }),
1493
- (visibleFlag || queueData && queueData.length === 1 || !props.infiniteScroll) && React__default['default'].createElement(
1494
- React__default['default'].Fragment,
1495
- null,
1496
- React__default['default'].createElement(
1497
- 'div',
1498
- { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
1499
- React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: refreshFlag }))
1500
- ),
1501
- React__default['default'].createElement(
1502
- 'style',
1503
- { jsx: 'true' },
1504
- '\n .contextual-native-ad {\n margin-bottom: 1rem;\n }\n '
1505
- )
1506
- ),
1507
- contextualADFlag && React__default['default'].createElement('span', { className: 'clearfix' }),
1508
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1509
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, null, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1510
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex))),
1511
- imageOptions: { w: 320, h: 240, fit: 'max' }
1512
- }, client.config()))
1513
- );
1514
- } else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
1515
- payload = _extends._extends({}, payload, {
1516
- contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
1517
- slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
1518
- })
1519
- });
1520
- var _selectedIndex2 = !(indexes.length % 2) ? indexes.length / 2 + 1 : Math.round(indexes.length / 2);
1521
- if (seriesInfo.hasVideo) {
1522
- _selectedIndex2 = seriesInfo.videoIndex;
1523
- }
1524
- var checkIsAdFound = function checkIsAdFound(isFound) {
1525
- if (!isFound) {
1526
- var parent = document.getElementById('contextual-video-ad-' + payload._id);
1527
- parent.style.height = '0%';
1528
- parent.style.width = '0%';
1529
- parent.style.display = 'none';
1530
- setContextualADFlag(false);
1531
- } else {
1532
- if (body && body[1] && body[1]._type === 'figure') {
1533
- setContextualADFlag(true);
1534
- }
1535
- }
1536
- };
1537
-
1538
- return React__default['default'].createElement(
1539
- React__default['default'].Fragment,
1540
- null,
1541
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1542
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, contextualADFlag, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1543
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex2))),
1544
- imageOptions: { w: 320, h: 240, fit: 'max' }
1545
- }, client.config())),
1546
- React__default['default'].createElement('span', { className: 'clearfix' }),
1547
- isMediaSeries && sliderData && seriesInfo.hasVideo && React__default['default'].createElement(SeriesSlider.SeriesSlider, { dataset: sliderData, client: client, nowPlaying: article.title, displayEpisodeNumber: logicforDisplayingEpisodeNumber }),
1548
- React__default['default'].createElement(
1549
- 'div',
1550
- { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
1551
- React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: refreshFlag, checkIsAdFound: checkIsAdFound }))
1552
- ),
1553
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1554
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, null, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1555
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex2))),
1556
- imageOptions: { w: 320, h: 240, fit: 'max' }
1557
- }, client.config()))
1558
- );
1559
- } else {
1560
- var _selectedIndex3 = !(indexes.length % 2) ? indexes.length / 2 + 1 : Math.round(indexes.length / 2);
1561
- if (seriesInfo.hasVideo) {
1562
- _selectedIndex3 = seriesInfo.videoIndex;
1563
- }
1564
-
1565
- return React__default['default'].createElement(
1566
- 'div',
1567
- null,
1568
- React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1569
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, false, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1570
- blocks: article.documentGroup && article.documentGroup.isSeries ? [].concat(toConsumableArray._toConsumableArray(articleBody.slice(0, _selectedIndex3))) : articleBody,
1571
- imageOptions: { w: 320, h: 240, fit: 'max' }
1572
- }, client.config())),
1573
- isMediaSeries && sliderData && seriesInfo.hasVideo && React__default['default'].createElement(SeriesSlider.SeriesSlider, { dataset: sliderData, client: client, nowPlaying: article.title, displayEpisodeNumber: logicforDisplayingEpisodeNumber }),
1574
- article.documentGroup && article.documentGroup.isSeries && React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
1575
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, isMediaSeries, null, null, article.Ads, targeting, article, meta, authorPrefix, authorImgHeight, audioAutoplay),
1576
- blocks: [].concat(toConsumableArray._toConsumableArray(articleBody.slice(_selectedIndex3))),
1577
- imageOptions: { w: 320, h: 240, fit: 'max' }
1578
- }, client.config()))
1579
- );
1580
- }
1581
- };
1582
-
1583
- var checkIfVideoSeries = function checkIfVideoSeries(article) {
1584
- if (!article || !article.body) {
1585
- return false;
1586
- }
1587
-
1588
- for (var i = 0; i < article.body.length; i++) {
1589
- var block = article.body[i];
1590
- if (block._type === 'youtubeGallery') {
1591
- return true;
1592
- }
1593
- }
1594
-
1595
- return false;
1596
- };
1597
- var checkIfFormAssembly = function checkIfFormAssembly(article) {
1598
- if (!article || !article.body) {
1599
- return false;
1600
- }
1601
-
1602
- for (var i = 0; i < article.body.length; i++) {
1603
- var block = article.body[i];
1604
- if (block._type === 'formassembly') {
1605
- return true;
1606
- }
1607
- }
1608
- return false;
1609
- };
1610
- var checkIfMediaSeriesHasVideo = function checkIfMediaSeriesHasVideo(article) {
1611
- var seriesInfo = { hasVideo: false, videoIndex: 0 };
1612
- if (!article || !article.body) {
1613
- return false;
1614
- }
1615
-
1616
- for (var i = 0; i < article.body.length; i++) {
1617
- var block = article.body[i];
1618
- if (block._type == 'video' || block._type == 'youtube' || block._type == 'audio') {
1619
- seriesInfo.hasVideo = true;
1620
- seriesInfo.videoIndex = i + 1;
1621
- }
1622
- }
1623
-
1624
- return seriesInfo;
1625
- };
1626
-
1627
- var detail = function detail() {
1628
- var shareVia = shareOptions.shareVia,
1629
- shareSubject = shareOptions.shareSubject,
1630
- twitterSiteName = shareOptions.twitterSiteName,
1631
- shareImageDefault = shareOptions.shareImageDefault,
1632
- shareBaseUrl = shareOptions.shareBaseUrl,
1633
- shareSiteTitle = shareOptions.shareSiteTitle;
1634
-
1635
- var shareUrl = shareBaseUrl + props.article.url.current;
1636
- var shareTitle = article.title;
1637
- var shareSummary = article.summary;
1638
- var shareImage = thumbnail && thumbnail.asset ? urlFor({ client: props.client, source: thumbnail.asset }) : shareImageDefault;
1639
- var siteName = props.Website && props.Website.title ? props.Website.title : '';
1640
- var shareKeywords = getKeywords(props.article).join(',');
1641
-
1642
- var meta = {
1643
- shareTitle: shareTitle,
1644
- shareSiteName: props.cache.siteSettingCache.name,
1645
- shareSummary: shareSummary,
1646
- shareUrl: shareUrl,
1647
- shareImage: shareImage,
1648
- shareVia: props.Settings.title,
1649
- shareKeywords: shareKeywords
1650
- };
1651
- if (!props.infiniteScroll) {
1652
- onChangeArticle = function onChangeArticle() {
1653
- return null;
1654
- };
1655
- }
1656
- var fetchCurrentEpisode = function fetchCurrentEpisode(sliderData, article) {
1657
- if (!sliderData) return null;
1658
- var episode = null;
1659
- sliderData.forEach(function (seriesArticle, index) {
1660
- if (seriesArticle.title === article.title) {
1661
- episode = index + 1;
1662
- }
1663
- });
1664
- return episode;
1665
- };
1666
- // pixels from bottom of window to change trigger visibility change
1667
- var triggerOffset = 20;
1668
- var isVideoSeries = checkIfVideoSeries(article);
1669
- var episodeNumber = fetchCurrentEpisode(sliderData, props.article);
1670
- var isMediaSeries = false;
1671
- var mediaSeriesName = '';
1672
- var seriesInfo = checkIfMediaSeriesHasVideo(article);
1673
- var isFormAssembly = checkIfFormAssembly(article);
1674
-
1675
- if (article.documentGroup && article.documentGroup.isSeries) {
1676
- isMediaSeries = true;
1677
- mediaSeriesName = article.documentGroup.name;
1678
- }
1679
- if (!article.documentGroup && article.documentGroupMapping && checkDocGroupMappingForSeries(article.documentGroupMapping)) {
1680
- isMediaSeries = true;
1681
- mediaSeriesName = checkDocGroupMappingForSeries(article.documentGroupMapping).name;
1682
- }
1683
-
1684
- return React__default['default'].createElement(
1685
- React__default['default'].Fragment,
1686
- null,
1687
- React__default['default'].createElement(
1688
- visibilitySensor.VisibilitySensor,
1689
- {
1690
- partialVisibility: true,
1691
- offset: { bottom: triggerOffset, top: containerHeight && containerHeight },
1692
- onChange: function onChange(isVisible) {
1693
- if (isVisible && !isFirstArticle) {
1694
- var pageviewProperties = _extends._extends({}, targeting, {
1695
- category: article && article.category ? article.category.name : ''
1696
- });
1697
- onChangeArticle(url, meta, pageviewProperties);
1698
- setVisibleFlag(function () {
1699
- return true;
1700
- });
1701
- }
1702
- if (isFirstArticle) {
1703
- setIsFirstArticle(false);
1704
- }
1705
- } },
1706
- React__default['default'].createElement(
1707
- 'div',
1708
- { id: 'article__block', style: { position: 'relative' }, ref: ref },
1709
- React__default['default'].createElement(PixelTracking.PixelTrackingArticle, { article: article, infiniteScroll: props.infiniteScroll }),
1710
- React__default['default'].createElement(
1711
- 'div',
1712
- { className: 'video-detail', style: { marginBottom: isCutomPage(props.article) || showIsi && Array.isArray(isi) && isi.length > 0 ? '15rem' : 0 } },
1713
- issue && React__default['default'].createElement(
1714
- Head__default['default'],
1715
- null,
1716
- article.title && React__default['default'].createElement('meta', { name: 'citation_title', content: article.title }),
1717
- published && React__default['default'].createElement('meta', { name: 'citation_date', content: moment.moment(published).format('LL') }),
1718
- issue.year && React__default['default'].createElement('meta', { name: 'citation_year', content: issue.year }),
1719
- issue.isbn_issn && React__default['default'].createElement('meta', { name: 'citation_isbn', content: issue.isbn_issn }),
1720
- article.abstract && React__default['default'].createElement('meta', { name: 'citation_abstract', content: getAbstract() }),
1721
- React__default['default'].createElement('meta', { name: 'citation_author', content: getAuthorList() }),
1722
- issue.pdf && React__default['default'].createElement('meta', { name: 'citation_pdf_url', content: urlForFile.urlForFile({ asset: issue.pdf }) })
1723
- ),
1724
- isVideoSeries && renderBlockContent(article, meta, authorImgHeight),
1725
- !isVideoSeries && React__default['default'].createElement(
1726
- 'div',
1727
- null,
1728
- isMediaSeries && React__default['default'].createElement(
1729
- 'p',
1730
- { style: { fontSize: '14px' } },
1731
- disableEpisodeNumber ? '' + mediaSeriesName : mediaSeriesName + ' - Episode ' + episodeNumber
1732
- ),
1733
- React__default['default'].createElement(
1734
- 'h1',
1735
- { className: 'page-title', style: { fontSize: '1.9rem' } },
1736
- title
1737
- )
1738
- ),
1739
- React__default['default'].createElement(
1740
- 'div',
1741
- { className: 'mb-3 doc-group-container', style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-end' } },
1742
- React__default['default'].createElement(
1743
- 'style',
1744
- { jsx: 'true' },
1745
- '\n .social-ris-container {\n display: flex;\n justify-content: space-between;\n }\n @media screen and (max-width: 468px) {\n .video-detail .doc-group-container {\n flex-direction: column;\n align-items: flex-start !important;\n }\n .video-detail .doc-group {\n margin-top: 2rem;\n width: calc(100vw - 45px);\n align-items: center;\n }\n .video-detail .doc-group img,\n .doc-group p {\n max-width: calc(100vw - 45px) !important;\n }\n .social-ris-container {\n flex-direction: column;\n }\n }\n .author-details-img {\n margin-right: 10px;\n max-height: 250px;\n min-height: 150px;\n max-width: 250px;\n min-width: 150px;\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n .author-details-img-container {\n text-align: center;\n }\n .author-details-col {\n padding-left: 25px;\n }\n .left-wrap {\n width: 100%;\n }\n '
1746
- ),
1747
- React__default['default'].createElement(
1748
- 'div',
1749
- { className: 'left-wrap' },
1750
- !isVideoSeries && !isFormAssembly && showPublished && React__default['default'].createElement(
1751
- 'div',
1752
- null,
1753
- React__default['default'].createElement(
1754
- 'time',
1755
- {
1756
- className: 'meta-date',
1757
- dateTime: moment.moment(published).utc().format(moment.moment.HTML5_FMT.DATETIME_LOCAL_MS) },
1758
- moment.moment(published).format('LL')
1759
- )
1760
- )
1761
- /* Show Published date */
1762
- ,
1763
- React__default['default'].createElement(
1764
- 'div',
1765
- { className: 'mb-3' },
1766
- !isVideoSeries && authorDetails && authorDetails.map(function (authorDetail, index) {
1767
- return React__default['default'].createElement(
1768
- 'span',
1769
- { key: index },
1770
- getSerializers.renderAuthor(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix, authorDetail.biography && renderAuthorBiography(authorDetail.biography[0]), authorDetail.profileImage && urlFor({ client: props.client, source: authorDetail.profileImage, imageHeight: authorImgHeight }), showAuthorDetails)
1771
- );
1772
- }),
1773
- React__default['default'].createElement(
1774
- 'div',
1775
- null,
1776
- source && React__default['default'].createElement(
1777
- 'p',
1778
- {
1779
- style: {
1780
- display: 'inline-block',
1781
- padding: '0 .25rem',
1782
- color: 'var(--franchise-primary, #484848)',
1783
- borderRadius: '2px',
1784
- fontWeight: 'bold',
1785
- border: '2px solid var(--franchise-primary, #484848)'
1786
- },
1787
- className: 'source-label' },
1788
- source
1789
- )
1790
- ),
1791
- issue && React__default['default'].createElement(
1792
- 'div',
1793
- { className: 'volume-issue' },
1794
- issue.publication && issue.publication.name && React__default['default'].createElement(
1795
- 'span',
1796
- { className: 'mb-0-pub' },
1797
- React__default['default'].createElement(
1798
- 'b',
1799
- null,
1800
- issue.publication.name
1801
- ),
1802
- ',',
1803
- ' '
1804
- ),
1805
- issue.name && showIssueNameOnly === undefined ? React__default['default'].createElement(
1806
- 'span',
1807
- { className: 'mb-0' },
1808
- issue.name,
1809
- ', '
1810
- ) : issue.name && showIssueNameOnly === false ? React__default['default'].createElement(
1811
- 'span',
1812
- { className: 'mb-0' },
1813
- issue.name,
1814
- ', '
1815
- ) : null,
1816
- issue.volume && React__default['default'].createElement(
1817
- 'span',
1818
- null,
1819
- 'Volume ' + issue.volume,
1820
- ', '
1821
- ),
1822
- issue.issueNumber && React__default['default'].createElement(
1823
- 'span',
1824
- null,
1825
- ' Issue ' + issue.issueNumber
1826
- )
1827
- ),
1828
- pageNumber && showPageNumber ? React__default['default'].createElement(
1829
- 'div',
1830
- { className: 'article-pageNumber' },
1831
- 'Pages: ' + pageNumber
1832
- ) : pageNumber && showPageNumber === undefined ? React__default['default'].createElement(
1833
- 'div',
1834
- { className: 'article-pageNumber' },
1835
- 'Pages: ' + pageNumber
1836
- ) : null
1837
- ),
1838
- React__default['default'].createElement(
1839
- 'div',
1840
- { className: 'social-ris-container' },
1841
- !isVideoSeries && showSocialShare && React__default['default'].createElement(
1842
- 'p',
1843
- null,
1844
- React__default['default'].createElement(SocialShare, {
1845
- shareUrl: shareUrl,
1846
- shareTitle: shareTitle,
1847
- shareVia: shareVia,
1848
- shareSummary: shareSummary,
1849
- shareSubject: shareSubject,
1850
- shareImage: shareImage,
1851
- size: 32,
1852
- siteName: siteName,
1853
- twitterSiteName: twitterSiteName,
1854
- disableMeta: true,
1855
- hidePinterest: hidePinterestShare,
1856
- hideFacebook: hideFBShare
1857
- })
1858
- ),
1859
- issue && downloadCitation && (!issue.hasOwnProperty('show_download_ris_button') || issue.show_download_ris_button !== false) && (!issue.publication || !issue.publication.hasOwnProperty('show_download_ris_button') || issue.publication.show_download_ris_button !== false) && React__default['default'].createElement(
1860
- Button__default['default'],
1861
- { className: 'ris-download-button', onClick: function onClick() {
1862
- return downloadRIS();
1863
- } },
1864
- 'Download RIS'
1865
- )
1866
- )
1867
- ),
1868
- React__default['default'].createElement(
1869
- 'div',
1870
- null,
1871
- React__default['default'].createElement(DocumentGroup, { article: props.article, client: props.client })
1872
- )
1873
- ),
1874
- !isVideoSeries && summary && display_summary && React__default['default'].createElement(
1875
- 'p',
1876
- null,
1877
- React__default['default'].createElement(
1878
- 'em',
1879
- null,
1880
- summary
1881
- )
1882
- ),
1883
- React__default['default'].createElement(
1884
- 'div',
1885
- { className: 'ad-box', style: { textAlign: 'center' } },
1886
- main.main_40 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1887
- if (index === 0) {
1888
- return React__default['default'].createElement(
1889
- 'div',
1890
- {
1891
- key: index,
1892
- id: 'addid-' + index,
1893
- style: {
1894
- display: 'flex',
1895
- flex: '1 0 auto',
1896
- justifyContent: 'center',
1897
- alignItems: 'center',
1898
- textAlign: 'center'
1899
- } },
1900
- ad.component
1901
- );
1902
- }
1903
- })
1904
- ),
1905
- React__default['default'].createElement(
1906
- 'div',
1907
- { className: 'block-content mt-3' },
1908
- !isVideoSeries && renderBlockContent(article, meta),
1909
- React__default['default'].createElement('div', { className: 'clearfix' }),
1910
- React__default['default'].createElement(
1911
- 'noscript',
1912
- null,
1913
- React__default['default'].createElement(
1914
- 'div',
1915
- { style: { display: 'flex', justifyContent: 'center' }, className: 'series-links' },
1916
- props.article.seriesDetail && props.article.seriesDetail.prevUrl && React__default['default'].createElement(
1917
- 'a',
1918
- { className: 'mx-3', href: props.article.seriesDetail.prevUrl },
1919
- 'Previous ',
1920
- props.article.seriesDetail.type
1921
- ),
1922
- props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default['default'].createElement(
1923
- 'a',
1924
- { className: 'mx-3', href: props.article.seriesDetail.nextUrl },
1925
- 'Next ',
1926
- props.article.seriesDetail.type
1927
- )
1928
- )
1929
- ),
1930
- React__default['default'].createElement(
1931
- 'div',
1932
- { className: 'downloads-container' },
1933
- issue && issue.pdf && React__default['default'].createElement(
1934
- 'a',
1935
- { rel: 'noopener', href: urlForFile.urlForFile({ asset: issue.pdf }), target: '_blank', title: 'Download issue' },
1936
- React__default['default'].createElement('img', { style: { margin: '1rem', maxHeight: '40px', maxWidth: '40px' }, src: '/download.png', alt: 'download issue' }),
1937
- 'Download Issue : ',
1938
- issue.name
1939
- )
1940
- )
1941
- ),
1942
- React__default['default'].createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
1943
- article.documentGroup && article.documentGroup.isSeries && sliderData && !seriesInfo.hasVideo && React__default['default'].createElement(
1944
- 'div',
1945
- null,
1946
- false ,
1947
- React__default['default'].createElement(SeriesSlider.SeriesSlider, { dataset: sliderData, client: client, nowPlaying: article.title, displayEpisodeNumber: logicforDisplayingEpisodeNumber })
1948
- ),
1949
- showRelatedArticles && !showIsi && React__default['default'].createElement(RelatedContent, null),
1950
- disqusConfig && showDisqus && React__default['default'].createElement(
1951
- 'div',
1952
- { id: 'disqusContainer' },
1953
- React__default['default'].createElement(disqusReact.DiscussionEmbed, {
1954
- shortname: disqusConfig.shortname,
1955
- config: {
1956
- url: disqusConfig.url,
1957
- identifier: disqusConfig.identifier,
1958
- title: disqusConfig.title
1959
- }
1960
- })
1961
- )
1962
- ),
1963
- renderIsiContent(props.article)
1964
- )
1965
- ),
1966
- showIsi && Array.isArray(isi) && isi.length > 0 && React__default['default'].createElement(
1967
- ISI,
1968
- null,
1969
- React__default['default'].createElement(BlockContent.BlockContent, {
1970
- serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, false, null, article.Ads, targeting),
1971
- blocks: isi
1972
- })
1973
- ),
1974
- main.main_40 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1975
- if (index > 0) {
1976
- return React__default['default'].createElement(
1977
- 'div',
1978
- { key: index, id: 'addid-' + index },
1979
- ad.component
1980
- );
1981
- }
1982
- }),
1983
- React__default['default'].createElement(
1984
- 'noscript',
1985
- null,
1986
- props.infiniteScroll && props.article.relatedArticle && props.article.relatedArticle[0] && props.article.relatedArticle[0].url && props.article.relatedArticle[0].url.current && React__default['default'].createElement(
1987
- 'div',
1988
- { style: { textAlign: 'center' } },
1989
- React__default['default'].createElement(
1990
- 'a',
1991
- { href: '/view/' + props.article.relatedArticle[0].url.current },
1992
- 'Related Article ',
1993
- '>>>'
1994
- )
1995
- )
1996
- ),
1997
- props.infiniteScroll && React__default['default'].createElement('hr', { className: 'article-seperater mb-5 mt-3' }),
1998
- React__default['default'].createElement(Schema, { article: props.article, Website: props.Website, client: props.client })
1999
- );
2000
- };
2001
-
2002
- if (passwordLock) {
2003
- if (auth === 2) {
2004
- return detail();
2005
- } else {
2006
- return form();
2007
- }
2008
- } else {
2009
- return detail();
2010
- }
2011
- }), function (prevProps, nextProps) {
2012
- if (prevProps.article._id === nextProps.article._id) return true;
2013
- return false;
2014
- });
2015
-
2016
- var _this$1 = undefined;
2017
-
2018
- var ArticleQueue = function ArticleQueue(props) {
2019
- var router = Router.useRouter();
2020
-
2021
- var _props$prevUrl = props.prevUrl,
2022
- prevUrl = _props$prevUrl === undefined ? '/' : _props$prevUrl,
2023
- Ads = props.Ads,
2024
- _props$maxListLength = props.maxListLength,
2025
- maxListLength = _props$maxListLength === undefined ? 10 : _props$maxListLength,
2026
- _props$sponsoredTaxon = props.sponsoredTaxonomies,
2027
- _props$cpModification = props.cpModificationRequired,
2028
- cpModificationRequired = _props$cpModification === undefined ? false : _props$cpModification,
2029
- _props$authorPrefix = props.authorPrefix,
2030
- authorPrefix = _props$authorPrefix === undefined ? 'authors' : _props$authorPrefix,
2031
- showRelatedArticles = props.showRelatedArticles,
2032
- canonicalTag = props.canonicalTag,
2033
- _props$disablePrevUrl = props.disablePrevUrlCheckContentPlacement,
2034
- disablePrevUrlCheckContentPlacement = _props$disablePrevUrl === undefined ? false : _props$disablePrevUrl;
2035
-
2036
- var _useState = React.useState(0),
2037
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
2038
- containerHeight = _useState2[0],
2039
- setContainerHeight = _useState2[1];
2040
-
2041
- React.useEffect(function () {
2042
- var checkFullScreen = function checkFullScreen() {
2043
- if (window.innerWidth == screen.width && window.innerHeight == screen.height) {
2044
- return true;
2045
- } else {
2046
- return false;
2047
- }
2048
- };
2049
- setContainerHeight(function () {
2050
- return window.innerHeight;
2051
- });
2052
- var handleResize = function handleResize() {
2053
- return !checkFullScreen() && setContainerHeight(function () {
2054
- return window.innerHeight;
2055
- });
2056
- };
2057
- window.addEventListener('resize', handleResize);
2058
- return function () {
2059
- return window.removeEventListener('resize', handleResize);
2060
- };
2061
- }, []);
2062
-
2063
- var firstArticle = function firstArticle() {
2064
- var article = _extends._Object$assign({}, props.article);
2065
- var targeting = getTargeting.getTargeting(props);
2066
- article.Ads = Ads.getRightItems(targeting);
2067
- return article;
2068
- };
2069
-
2070
- var _useState3 = React.useState([firstArticle()]),
2071
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
2072
- queueData = _useState4[0],
2073
- setQueueData = _useState4[1];
2074
-
2075
- var _useState5 = React.useState(queueData[0]._id),
2076
- _useState6 = slicedToArray._slicedToArray(_useState5, 2),
2077
- active = _useState6[0],
2078
- setActive = _useState6[1];
2079
-
2080
- var refreshAD = function refreshAD(path) {
2081
- var activeArticle = queueData.find(function (item) {
2082
- return item.url.current === path;
2083
- });
2084
- var targeting = getTargeting.getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl, disablePrevUrlCheckContentPlacement: disablePrevUrlCheckContentPlacement });
2085
- if (!main.main_40) {
2086
- index.lib_3.getGoogletag().then(function (googletag) {
2087
- if (window.googletag && googletag.pubadsReady) {
2088
- var slots = googletag.pubads().getSlots();
2089
- slots.forEach(function (slot) {
2090
- var pos = slot.getTargeting('pos');
2091
- slot.clearTargeting();
2092
- keys._Object$keys(targeting).forEach(function (key) {
2093
- slot.setTargeting(key, targeting[key]);
2094
- });
2095
- slot.setTargeting('pos', pos);
2096
- });
2097
- index.lib_3.refresh();
2098
- }
2099
- });
2100
- }
2101
- //Refresh leaderboard ad on mobile
2102
- if (main.main_40) {
2103
- var leaderboardSlotId = '';
2104
- index.lib_3.getGoogletag().then(function (googletag) {
2105
- if (window.googletag && googletag.pubadsReady) {
2106
- var slots = googletag.pubads().getSlots();
2107
- slots.forEach(function (slot) {
2108
- var pos = slot.getTargeting('pos');
2109
- if (pos == 'top-mobile') {
2110
- //gets the slotId of the leaderboard ad to refresh
2111
- leaderboardSlotId = slot.getSlotId().getDomId();
2112
- slot.clearTargeting();
2113
- keys._Object$keys(targeting).forEach(function (key) {
2114
- slot.setTargeting(key, targeting[key]);
2115
- });
2116
- slot.setTargeting('pos', pos);
2117
- }
2118
- });
2119
- index.lib_3.refresh(leaderboardSlotId);
2120
- }
2121
- });
2122
- }
2123
- };
2124
-
2125
- var hasVerticalScroll = function hasVerticalScroll() {
2126
- if (window.innerHeight) {
2127
- return document.body.offsetHeight > window.innerHeight;
2128
- } else {
2129
- return document.documentElement.scrollHeight > document.documentElement.offsetHeight || document.body.scrollHeight > document.body.offsetHeight;
2130
- }
2131
- };
2132
-
2133
- React.useEffect(function () {
2134
- // Fetching related article after component mounted if vertical scroll not found
2135
- setTimeout(function () {
2136
- if (!hasVerticalScroll()) {
2137
- loadmore();
2138
- }
2139
- }, 1000);
2140
- }, [queueData.length]);
2141
-
2142
- var loadmore = function () {
2143
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee() {
2144
- var index, article, startingIndex, endingIndex, targeting;
2145
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
2146
- while (1) {
2147
- switch (_context.prev = _context.next) {
2148
- case 0:
2149
- if (!(queueData && queueData.length < maxListLength)) {
2150
- _context.next = 27;
2151
- break;
2152
- }
2153
-
2154
- index = queueData.length - 1;
2155
- article = null;
2156
- _context.prev = 3;
2157
- _context.next = 6;
2158
- return getRelatedArticle(null, props.client, props.article, prevUrl, index);
2159
-
2160
- case 6:
2161
- article = _context.sent;
2162
- _context.next = 12;
2163
- break;
2164
-
2165
- case 9:
2166
- _context.prev = 9;
2167
- _context.t0 = _context['catch'](3);
2168
-
2169
- console.error(_context.t0);
2170
-
2171
- case 12:
2172
- if (!(article && article._id)) {
2173
- _context.next = 27;
2174
- break;
2175
- }
2176
-
2177
- //query next 4 related article without repeating previous 4 related articles
2178
- startingIndex = queueData.length + 1;
2179
- endingIndex = startingIndex + 2;
2180
- _context.prev = 15;
2181
- _context.next = 18;
2182
- return getRelatedArticle(null, props.client, props.article, prevUrl, startingIndex + '..' + endingIndex);
2183
-
2184
- case 18:
2185
- article.relatedArticle = _context.sent;
2186
- _context.next = 24;
2187
- break;
2188
-
2189
- case 21:
2190
- _context.prev = 21;
2191
- _context.t1 = _context['catch'](15);
2192
-
2193
- console.error(_context.t1);
2194
-
2195
- case 24:
2196
- targeting = getTargeting.getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl, disablePrevUrlCheckContentPlacement: disablePrevUrlCheckContentPlacement });
2197
-
2198
- article.Ads = Ads.getRightItems(targeting);
2199
- setQueueData([].concat(toConsumableArray._toConsumableArray(queueData), [article]));
2200
-
2201
- case 27:
2202
- case 'end':
2203
- return _context.stop();
2204
- }
2205
- }
2206
- }, _callee, _this$1, [[3, 9], [15, 21]]);
2207
- }));
2208
-
2209
- return function loadmore() {
2210
- return _ref.apply(this, arguments);
2211
- };
2212
- }();
2213
-
2214
- var currentPath = router && router.asPath;
2215
- var seoLinks = props.cache.seoManager && props.cache.seoManager.filter(function (eachDocument) {
2216
- return eachDocument.urlSeo == currentPath;
2217
- });
2218
-
2219
- var metaDescriptionSanity = seoLinks && seoLinks.length == 1 && seoLinks[0].metaDescription;
2220
- var metaTitleSanity = seoLinks && seoLinks.length == 1 && seoLinks[0].metaTitle;
2221
- // let urlSeo = seoLinks && seoLinks.length ==1 && seoLinks[0].urlSeo
2222
-
2223
- var changeMetaFromSanity = function changeMetaFromSanity(metaDescription, metaTitle, oldMeta) {
2224
- document.title = metaTitle;
2225
- //this was throwing an error if there was no description, doing a check for the description meta
2226
- if (document.querySelector('meta[name="description"]')) document.querySelector('meta[name="description"]').setAttribute('content', metaDescription);
2227
- document.querySelector('meta[name="keywords"]').setAttribute('content', oldMeta.shareKeywords);
2228
- document.querySelector('meta[property="og:url"]').setAttribute('content', oldMeta.shareUrl);
2229
- document.querySelector('meta[property="og:title"]').setAttribute('content', metaTitle);
2230
- document.querySelector('meta[property="og:site_name"]').setAttribute('content', oldMeta.shareVia);
2231
- document.querySelector('meta[property="og:description"]').setAttribute('content', metaDescription);
2232
- document.querySelector('meta[name="twitter:title"]').setAttribute('content', metaTitle);
2233
- document.querySelector('meta[name="twitter:image"]').setAttribute('content', oldMeta.shareImage);
2234
- document.querySelector('meta[name="twitter:site"]').setAttribute('content', oldMeta.shareVia);
2235
- //this was throwing an error if there was no description, doing a check for the description meta
2236
- if (document.querySelector('meta[name="twitter:description"]')) document.querySelector('meta[name="twitter:description"]').setAttribute('content', metaDescription);
2237
- if (canonicalTag) {
2238
- document.querySelector('link[rel="canonical"]').setAttribute('href', oldMeta.shareUrl);
2239
- }
2240
- };
2241
-
2242
- var changeMeta = function changeMeta(meta) {
2243
- document.title = meta.shareTitle;
2244
- //this was throwing an error if there was no description, doing a check for the description meta
2245
- if (document.querySelector('meta[name="description"]')) document.querySelector('meta[name="description"]').setAttribute('content', meta.shareSummary);
2246
- document.querySelector('meta[name="keywords"]').setAttribute('content', meta.shareKeywords);
2247
- document.querySelector('meta[property="og:url"]').setAttribute('content', meta.shareUrl);
2248
- document.querySelector('meta[property="og:title"]').setAttribute('content', meta.shareTitle);
2249
- document.querySelector('meta[property="og:site_name"]').setAttribute('content', meta.shareVia);
2250
- document.querySelector('meta[property="og:description"]').setAttribute('content', meta.shareSummary);
2251
- document.querySelector('meta[name="twitter:title"]').setAttribute('content', meta.shareTitle);
2252
- document.querySelector('meta[name="twitter:image"]').setAttribute('content', meta.shareImage);
2253
- document.querySelector('meta[name="twitter:site"]').setAttribute('content', meta.shareVia);
2254
- //this was throwing an error if there was no description, doing a check for the description meta
2255
- if (document.querySelector('meta[name="twitter:description"]')) document.querySelector('meta[name="twitter:description"]').setAttribute('content', meta.shareSummary);
2256
- if (canonicalTag) {
2257
- document.querySelector('link[rel="canonical"]').setAttribute('href', meta.shareUrl);
2258
- }
2259
- };
2260
-
2261
- var onChangeArticle = function onChangeArticle(path, meta, pageviewProperties) {
2262
- var newPath = '/view/' + path;
2263
- var activeArticle = queueData.find(function (item) {
2264
- return item.url.current === path;
2265
- });
2266
- setActive(function () {
2267
- return activeArticle._id;
2268
- });
2269
- // Change URL and do other changes
2270
- window.history.pushState({ page: path }, meta.shareTitle, newPath);
2271
-
2272
- if (metaDescriptionSanity && metaTitleSanity && currentPath == newPath) {
2273
- changeMetaFromSanity(metaDescriptionSanity, metaTitleSanity, meta);
2274
- } else {
2275
- changeMeta(meta);
2276
- }
2277
- if (props.setCustomDimensions) {
2278
- props.setCustomDimensions(activeArticle, '200', prevUrl, '');
2279
- }
2280
- if (props.pageview) props.pageview(newPath, null, pageviewProperties);
2281
- if (props.gtagSetCustomDimensions) props.gtagSetCustomDimensions(activeArticle, '200', prevUrl, '', true);
2282
- refreshAD(path);
2283
- };
2284
-
2285
- return React__default['default'].createElement(
2286
- index_es.InfiniteScroll,
2287
- { dataLength: queueData.length, next: loadmore, scrollThreshold: '40%', hasMore: true, style: { overflow: 'hidden' } },
2288
- queueData.map(function (article, index) {
2289
- return React__default['default'].createElement(
2290
- React__default['default'].Fragment,
2291
- { key: index },
2292
- React__default['default'].createElement(Article, _extends._extends({}, props, {
2293
- containerHeight: containerHeight,
2294
- onChangeArticle: onChangeArticle,
2295
- authorPrfix: authorPrefix,
2296
- article: article,
2297
- cpModificationRequired: cpModificationRequired,
2298
- active: active === article._id
2299
- // Passing queueData to check for single article
2300
- , queueData: queueData,
2301
- showRelatedArticles: showRelatedArticles,
2302
- index: index,
2303
- showPageNumber: article.issueGroup && article.issueGroup.parent ? article.issueGroup.parent.showPageNumber : null,
2304
- showIssueNameOnly: article.issueGroup && article.issueGroup.parent ? article.issueGroup.parent.showIssueNameOnly : null
2305
- }))
2306
- );
2307
- })
2308
- );
2309
- };
2310
-
2311
- var _this$2 = undefined;
2312
-
2313
- var View = function View(props) {
2314
- var router = Router.useRouter();
2315
- var shareOptions = props.shareOptions,
2316
- article = props.article,
2317
- _props$article = props.article,
2318
- hideComments = _props$article.hideComments,
2319
- content_placement = _props$article.content_placement,
2320
- _props$sponsoredFlag = props.sponsoredFlag,
2321
- sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag,
2322
- _props$sponsoredTaxon = props.sponsoredTaxonomies,
2323
- Ads = props.Ads,
2324
- setCustomDimensions = props.setCustomDimensions,
2325
- gtagSetCustomDimensions = props.gtagSetCustomDimensions,
2326
- statusCode = props.statusCode,
2327
- prevUrl = props.prevUrl,
2328
- pageview = props.pageview,
2329
- _props$showRelatedArt = props.showRelatedArticles,
2330
- showRelatedArticles = _props$showRelatedArt === undefined ? false : _props$showRelatedArt,
2331
- _props$canonicalTag = props.canonicalTag,
2332
- canonicalTag = _props$canonicalTag === undefined ? true : _props$canonicalTag,
2333
- _props$infiniteScroll = props.infiniteScrollFlag,
2334
- infiniteScrollFlag = _props$infiniteScroll === undefined ? true : _props$infiniteScroll,
2335
- emailList = props.emailList,
2336
- articleRecs = props.articleRecs;
2337
- var _props$article2 = props.article,
2338
- _props$article2$passw = _props$article2.passwordLock,
2339
- passwordLock = _props$article2$passw === undefined ? false : _props$article2$passw,
2340
- description = _props$article2.description,
2341
- title = _props$article2.title,
2342
- seriesShareOptions = _props$article2.seriesShareOptions;
2343
-
2344
- var _useState = React.useState(0),
2345
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
2346
- currentPage = _useState2[0],
2347
- setCurrentPage = _useState2[1];
2348
- // Logging GA pageview for the initial article with custom dimensions
2349
-
2350
-
2351
- React.useEffect(function () {
2352
- if (pageview && setCustomDimensions) {
2353
- var timer = void 0;
2354
- var pageviewProperties = _extends._extends({}, getTargeting.getTargeting(props), {
2355
- category: article && article.category ? article.category.name : ''
2356
- });
2357
- var waitAndExicute = function waitAndExicute() {
2358
- if (typeof window.GA_INITIALIZED !== 'undefined') {
2359
- setCustomDimensions(article, statusCode, prevUrl, '');
2360
- pageview(router.asPath, null, pageviewProperties);
2361
- } else timer = setTimeout(waitAndExicute, 1000);
2362
- };
2363
- waitAndExicute();
2364
- return function () {
2365
- clearTimeout(timer);
2366
- };
2367
- } else if (gtagSetCustomDimensions) {
2368
- var _timer = void 0;
2369
- var _waitAndExicute = function _waitAndExicute() {
2370
- if (typeof window.GA_INITIALIZED !== 'undefined') {
2371
- gtagSetCustomDimensions(article, statusCode, prevUrl, '', false);
2372
- } else _timer = setTimeout(_waitAndExicute, 1000);
2373
- };
2374
- _waitAndExicute();
2375
- return function () {
2376
- clearTimeout(_timer);
2377
- };
2378
- }
2379
- }, []);
2380
-
2381
- var isVideoSeries = false;
2382
- // check for certain serializers that need to disable infinite scroll
2383
- var checkBodyForDisableInfiniteScroll = function checkBodyForDisableInfiniteScroll(article) {
2384
- if (!article || !article.body) {
2385
- return false;
2386
- }
2387
- for (var i = 0; i < article.body.length; i++) {
2388
- if (article.body[i]._type === 'articleSeries' || article.body[i]._type === 'slideshows' || article.body[i]._type === 'quiz') {
2389
- return true;
2390
- }
2391
- var row = article.body[i];
2392
- if (typeof row.videos !== 'undefined') {
2393
- isVideoSeries = true;
2394
- return true;
2395
- }
2396
- }
2397
- return false;
2398
- };
2399
-
2400
- var isMediaSeries = false;
2401
-
2402
- if (article.documentGroup && article.documentGroup.isSeries) {
2403
- isMediaSeries = true;
2404
- }
2405
- if (!article.documentGroup && article.documentGroupMapping && checkDocGroupMappingForSeries(article.documentGroupMapping)) {
2406
- isMediaSeries = true;
2407
- }
2408
-
2409
- var disableInfiniteScroll = checkBodyForDisableInfiniteScroll(props.article);
2410
- var commentsEnabledInTaxonomy = Array.isArray(content_placement) && content_placement.some(function (t) {
2411
- return t.showComments === true;
2412
- });
2413
- var showDisqus = commentsEnabledInTaxonomy || hideComments === false;
2414
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !disableInfiniteScroll && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && !isMediaSeries && !showDisqus;
2415
-
2416
- if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
2417
- description = null;
2418
- title = null;
2419
- }
2420
-
2421
- if (!needInfiniteScroll && !title) {
2422
- title = props.article ? props.article.title : '';
2423
- }
2424
- // add mobile ads to articles not using infinite scroll
2425
- if (!needInfiniteScroll) {
2426
- var targeting = getTargeting.getTargeting(props);
2427
- article.Ads = Ads.getRightItems(targeting);
2428
- if (!sponsoredFlag && Ads.getVideoContextualAD) {
2429
- article.contextualVideoAD = Ads.getVideoContextualAD(getTargeting.getTargeting(props, 'in-context_video'));
2430
- }
2431
- if (!sponsoredFlag && Ads.getNativeContextualAD) {
2432
- article.contextualAD = Ads.getNativeContextualAD(getTargeting.getTargeting(props, 'native-ad'));
2433
- }
2434
- }
2435
- React.useEffect(function () {
2436
- router.asPath && router.asPath.length > 0 && router.asPath.includes('?') && router.asPath.split('?')[1].split('&').forEach(function (item) {
2437
- if (item.includes('page=')) {
2438
- setCurrentPage(item.split('=')[1]);
2439
- } else {
2440
- setCurrentPage(0);
2441
- }
2442
- });
2443
- if (!router.asPath.includes('page=') && currentPage !== 0) {
2444
- setCurrentPage(0);
2445
- }
2446
- }, [router]);
2447
-
2448
- var meta_description = seriesShareOptions && seriesShareOptions.seriesSummary ? '' + seriesShareOptions.seriesSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : article.seo && article.seo.meta_description ? '' + article.seo.meta_description + (currentPage > 0 ? ' | Page ' + currentPage : '') : shareOptions.shareSummary ? '' + shareOptions.shareSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : '' + (currentPage > 0 ? 'Page ' + currentPage : '');
2449
-
2450
- if (isVideoSeries) {
2451
- meta_description = seriesShareOptions && seriesShareOptions.seriesSummary ? '' + seriesShareOptions.seriesSummary + (currentPage > 0 ? ' | Page ' + currentPage : '') : '';
2452
- }
2453
-
2454
- var currentPath = router && router.asPath;
2455
- var seoLinks = props.cache.seoManager && props.cache.seoManager.filter(function (eachDocument) {
2456
- return eachDocument.urlSeo == currentPath;
2457
- });
2458
-
2459
- var metaDescriptionSanity = seoLinks && seoLinks.length == 1 && seoLinks[0].metaDescription;
2460
- var metaTitleSanity = seoLinks && seoLinks.length == 1 && seoLinks[0].metaTitle;
2461
- return React__default['default'].createElement(
2462
- React__default['default'].Fragment,
2463
- null,
2464
- React__default['default'].createElement(
2465
- Head__default['default'],
2466
- null,
2467
- React__default['default'].createElement(
2468
- 'title',
2469
- { key: 'title' },
2470
- metaTitleSanity ? '' + metaTitleSanity + (currentPage > 0 ? ' | Page ' + currentPage : '') : seriesShareOptions && seriesShareOptions.seriesTitle ? '' + seriesShareOptions.seriesTitle + (currentPage > 0 ? ' | Page ' + currentPage : '') : article && article.seo && article.seo.seo_title ? '' + article.seo.seo_title + (currentPage > 0 ? ' | Page ' + currentPage : '') : '' + article.title + (currentPage > 0 ? ' | Page ' + currentPage : '')
2471
- ),
2472
- metaDescriptionSanity ? React__default['default'].createElement('meta', { name: 'description', key: 'description', content: metaDescriptionSanity }) : meta_description && React__default['default'].createElement('meta', { name: 'description', key: 'description', content: meta_description }),
2473
- React__default['default'].createElement('meta', { name: 'keywords', content: getKeywords(article).join(','), key: 'keywords' }),
2474
- passwordLock && React__default['default'].createElement('meta', { name: 'robots', content: 'noindex, nofollow' }),
2475
- React__default['default'].createElement('meta', {
2476
- property: 'og:url',
2477
- content: seriesShareOptions && seriesShareOptions.seriesUrl ? shareOptions.shareUrl + seriesShareOptions.seriesUrl : shareOptions.shareUrl,
2478
- key: 'og:url'
2479
- }),
2480
- React__default['default'].createElement('meta', {
2481
- property: 'og:title',
2482
- content: metaTitleSanity ? '' + metaTitleSanity + (currentPage > 0 ? ' | Page ' + currentPage : '') : seriesShareOptions && seriesShareOptions.seriesTitle ? '' + seriesShareOptions.seriesTitle + (currentPage > 0 ? ' | Page ' + currentPage : '') : article.seo && article.seo.seo_title ? '' + article.seo.seo_title + (currentPage > 0 ? ' | Page ' + currentPage : '') : '' + shareOptions.shareTitle + (currentPage > 0 ? ' | Page ' + currentPage : ''),
2483
- key: 'og:title'
2484
- }),
2485
- React__default['default'].createElement('meta', {
2486
- property: 'og:image',
2487
- content: seriesShareOptions && seriesShareOptions.seriesThumbnail ? seriesShareOptions.seriesThumbnail : shareOptions.shareImage,
2488
- key: 'og:image'
2489
- }),
2490
- React__default['default'].createElement('meta', { property: 'og:site_name', content: props.Settings.title, key: 'og:site_name' }),
2491
- metaDescriptionSanity ? React__default['default'].createElement('meta', { property: 'og:description', key: 'og:description', content: metaDescriptionSanity }) : meta_description && React__default['default'].createElement('meta', { property: 'og:description', key: 'og:description', content: meta_description }),
2492
- React__default['default'].createElement('meta', { name: 'twitter:card', content: 'summary', key: 'twitter:card' }),
2493
- React__default['default'].createElement('meta', {
2494
- name: 'twitter:title',
2495
- content: metaTitleSanity ? '' + metaTitleSanity + (currentPage > 0 ? ' | Page ' + currentPage : '') : seriesShareOptions && seriesShareOptions.seriesTitle ? '' + seriesShareOptions.seriesTitle + (currentPage > 0 ? ' | Page ' + currentPage : '') : article.seo && article.seo.seo_title ? '' + article.seo.seo_title + (currentPage > 0 ? ' | Page ' + currentPage : '') : '' + shareOptions.shareTitle + (currentPage > 0 ? ' | Page ' + currentPage : ''),
2496
- key: 'twitter:title'
2497
- }),
2498
- React__default['default'].createElement('meta', {
2499
- name: 'twitter:image',
2500
- content: seriesShareOptions && seriesShareOptions.seriesThumbnail ? seriesShareOptions.seriesThumbnail : shareOptions.shareImage,
2501
- key: 'twitter:image'
2502
- }),
2503
- React__default['default'].createElement('meta', { name: 'twitter:site', content: '@' + props.Settings.title, key: 'twitter:site' }),
2504
- metaDescriptionSanity ? React__default['default'].createElement('meta', { name: 'twitter:description', key: 'twitter:description', content: metaDescriptionSanity }) : meta_description && React__default['default'].createElement('meta', { name: 'twitter:description', key: 'twitter:description', content: meta_description }),
2505
- canonicalTag && React__default['default'].createElement('link', {
2506
- rel: 'canonical',
2507
- href: seriesShareOptions && seriesShareOptions.seriesUrl ? shareOptions.shareUrl + seriesShareOptions.seriesUrl : shareOptions.shareUrl,
2508
- key: 'canonical'
2509
- }),
2510
- React__default['default'].createElement(
2511
- 'noscript',
2512
- null,
2513
- props.article.seriesDetail && props.article.seriesDetail.prevUrl && React__default['default'].createElement('link', { rel: 'prev', href: props.article.seriesDetail.prevUrl }),
2514
- props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default['default'].createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
2515
- )
2516
- ),
2517
- !needInfiniteScroll ? React__default['default'].createElement(Article, _extends._extends({ infiniteScroll: false, showRelatedArticles: showRelatedArticles, showDisqus: showDisqus, emailList: emailList, articleRecs: articleRecs }, props, { showIssueNameOnly: article.issueGroup && article.issueGroup.parent ? article.issueGroup.parent.showIssueNameOnly : null, showPageNumber: article.issueGroup && article.issueGroup.parent ? article.issueGroup.parent.showPageNumber : null })) : React__default['default'].createElement(ArticleQueue, _extends._extends({
2518
- infiniteScroll: true,
2519
- showRelatedArticles: showRelatedArticles,
2520
- canonicalTag: canonicalTag,
2521
- checkSponsered: true,
2522
- Ads: props.WAds,
2523
- onVote: function onVote() {},
2524
- sponsoredTaxonomies: []
2525
- }, props))
2526
- );
2527
- };
2528
-
2529
- // This should be called in /view/[url] getInitialProps to fetch the article data and related articles. This will also set the sponsoredFlag to true if any taxonomies have disabled ads.
2530
- View.returnGetInitialProps = function () {
2531
- var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(url, prevUrl, seriesVid, client, sao) {
2532
- var context = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : null;
2533
-
2534
- var article, relatedArticleQuery, sliderData, statusCode, sliderArticles, _sliderArticles, _context$query$series, seriesArticle, sponsoredFlag;
2535
-
2536
- return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
2537
- while (1) {
2538
- switch (_context.prev = _context.next) {
2539
- case 0:
2540
- _context.next = 2;
2541
- return client.fetch(getQuery('article'), { url: url });
2542
-
2543
- case 2:
2544
- article = _context.sent;
2545
-
2546
- console.log('article url current', url);
2547
- relatedArticleQuery = getQuery('related');
2548
-
2549
- article.seriesDetail = getSeriesDetail(article, seriesVid);
2550
- sliderData = [];
2551
- statusCode = 200;
2552
-
2553
- if (!article || !article._id || !article.body) {
2554
- statusCode = 404;
2555
- }
2556
-
2557
- if (!(article.documentGroup && article.documentGroup.isSeries)) {
2558
- _context.next = 16;
2559
- break;
2560
- }
2561
-
2562
- _context.next = 12;
2563
- return client.fetch('*[!(_id in path("drafts.**")) \n && _type == "article"\n && defined(title)\n && references(\'' + article.documentGroup._id + '\')\n && is_visible == true\n && defined(published)\n && dateTime(published) <= dateTime(now())\n ] | order(published asc) {\n title,\n thumbnail,\n url,\n published\n }');
2564
-
2565
- case 12:
2566
- sliderArticles = _context.sent;
2567
-
2568
- sliderData = sliderArticles;
2569
- _context.next = 21;
2570
- break;
2571
-
2572
- case 16:
2573
- if (!(article.documentGroupMapping && article.documentGroupMapping[0] && article.documentGroupMapping[0].isSeries)) {
2574
- _context.next = 21;
2575
- break;
2576
- }
2577
-
2578
- _context.next = 19;
2579
- return client.fetch('*[!(_id in path("drafts.**")) \n && _type == "article"\n && defined(title)\n && references(\'' + article.documentGroupMapping[0]._id + '\')\n && is_visible == true\n && defined(published)\n && dateTime(published) <= dateTime(now())\n ] | order(published asc) {\n title,\n thumbnail,\n url,\n published\n }');
2580
-
2581
- case 19:
2582
- _sliderArticles = _context.sent;
2583
-
2584
- sliderData = _sliderArticles;
2585
-
2586
- case 21:
2587
- _context$query$series = context.query.seriesArticle, seriesArticle = _context$query$series === undefined ? false : _context$query$series;
2588
-
2589
- if ((seriesArticle || seriesVid) && article.body) {
2590
- article.body.map(function (block) {
2591
- if (block._type === 'articleSeries' && block.articles && block.articles.length > 0) {
2592
- block.articles.map(function (subArticle) {
2593
- if (subArticle.param.current === seriesArticle) {
2594
- var seriesShareOptions = {
2595
- seriesUrl: '?seriesArticle=' + seriesArticle,
2596
- seriesTitle: subArticle.title,
2597
- seriesSummary: subArticle.summary,
2598
- seriesThumbnail: subArticle.thumbnail && subArticle.thumbnail.asset ? urlFor({ client: client, source: subArticle.thumbnail.asset }) : null
2599
- };
2600
- article.seriesShareOptions = seriesShareOptions;
2601
- }
2602
- });
2603
- }
2604
- if (block._type === 'youtubeGallery' && block.videos && block.videos.length > 0) {
2605
- block.videos.map(function (video, index) {
2606
- if (index + 1 === Number(seriesVid)) {
2607
- var seriesShareOptions = {
2608
- seriesUrl: '?seriesVid=' + seriesVid,
2609
- seriesTitle: video.title,
2610
- seriesSummary: video.intro,
2611
- seriesThumbnail: video.thumbnail && video.thumbnail.asset ? urlFor({ client: client, source: video.thumbnail.asset }) : null
2612
- };
2613
- article.seriesShareOptions = seriesShareOptions;
2614
- }
2615
- });
2616
- }
2617
- });
2618
- }
2619
- sponsoredFlag = false;
2620
- // check for disableAds flag on each taxonomoy
2621
-
2622
- if (article && article.content_placement) {
2623
- article.content_placement.forEach(function (x) {
2624
- if (x.disableAds) {
2625
- sponsoredFlag = true;
2626
- }
2627
- });
2628
- }
2629
- // check for disableAds flag on content category
2630
- if (article.category && article.category.disableAds) {
2631
- sponsoredFlag = true;
2632
- }
2633
-
2634
- if (!article.disableRelatedContent) {
2635
- _context.next = 31;
2636
- break;
2637
- }
2638
-
2639
- article.relatedArticle = null;
2640
- _context.next = 35;
2641
- break;
2642
-
2643
- case 31:
2644
- if (!article) {
2645
- _context.next = 35;
2646
- break;
2647
- }
2648
-
2649
- _context.next = 34;
2650
- return getRelatedArticle(context, client, article, prevUrl, '0..2');
2651
-
2652
- case 34:
2653
- article.relatedArticle = _context.sent;
2654
-
2655
- case 35:
2656
- return _context.abrupt('return', {
2657
- url: url,
2658
- sao: sao,
2659
- statusCode: statusCode,
2660
- prevUrl: prevUrl,
2661
- relatedArticleQuery: relatedArticleQuery,
2662
- article: article,
2663
- sliderData: sliderData,
2664
- sponsoredFlag: sponsoredFlag
2665
- });
2666
-
2667
- case 36:
2668
- case 'end':
2669
- return _context.stop();
2670
- }
2671
- }
2672
- }, _callee, _this$2);
2673
- }));
2674
-
2675
- return function (_x, _x2, _x3, _x4, _x5) {
2676
- return _ref.apply(this, arguments);
2677
- };
2678
- }();
2679
-
2680
- module.exports = View;
1
+ "use strict";require("./index-6e1fba48.js"),require("./extends-f8003900.js"),require("./defineProperty-3cad0327.js"),require("./slicedToArray-e6d9072a.js"),require("react"),require("next/head"),require("next/router");var e=require("./index-4c0b6033.js");require("./getKeywords-5341ea76.js"),require("./getQuery-154617ad.js"),require("./getSeriesDetail-e2980903.js"),require("./getTargeting-3b9a1da0.js"),require("./getRelatedArticle-1008e957.js"),require("./urlFor-ca017581.js"),require("./unsupportedIterableToArray-a6f9513d.js"),require("./toConsumableArray-bf649f24.js"),require("moment"),require("@sanity/block-content-to-react"),require("react-device-detect"),require("react-bootstrap/Form"),require("react-bootstrap/FormControl"),require("react-bootstrap/Button"),require("react-visibility-sensor"),require("./SocialShare-3d7c8abe.js"),require("react-share"),require("./index-83bcf60c.js"),require("react-bootstrap"),require("react-dfp"),require("get-youtube-id"),require("react-youtube"),require("./segment-lib-1c52764b.js"),require("./urlForFile-266cd07c.js"),require("react-lazyload"),require("./typeof-5f2c4427.js"),require("@brightcove/react-player-loader"),require("react-bootstrap/Modal"),require("react-player"),require("react-ga"),require("./GroupDeck-f3b67f3d.js"),require("smoothscroll-polyfill"),require("react-bootstrap/Pagination"),require("./entities-6106638a.js"),require("striptags"),require("./_commonjsHelpers-0a7b82d9.js"),require("./AdSlot-d541f28d.js"),require("prop-types"),require("lodash/debounce"),require("react-bootstrap/Row"),require("react-bootstrap/Col"),require("./getPrototypeOf-e5dabebb.js"),require("react-icons/io"),require("react-bootstrap/Figure"),require("react-bootstrap/OverlayTrigger"),require("react-bootstrap/Tooltip"),require("react-bootstrap/Popover"),require("react-script-tag"),require("./checkSisterSite-d2d62375.js"),require("./SeriesSlider-72fde209.js"),require("react-icons/fa"),require("./style-inject.es-dcee06b6.js"),require("disqus-react"),require("./Schema-5c66c5cd.js"),require("file-saver"),require("./PixelTracking.js"),require("react-infinite-scroll-component"),require("nookies"),require("@sanity/image-url"),module.exports=e.View;