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