@mjhls/mjh-framework 1.0.445 → 1.0.447

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +32 -0
  3. package/dist/cjs/AD300x250.js +60 -0
  4. package/dist/cjs/AD300x250x600.js +60 -0
  5. package/dist/cjs/AD728x90.js +106 -0
  6. package/dist/cjs/ADFloatingFooter.js +139 -0
  7. package/dist/cjs/ADFooter.js +45 -0
  8. package/dist/cjs/ADGutter.js +88 -0
  9. package/dist/cjs/{ADInfeed-ae1f348d.js → ADInfeed-7609d929.js} +2 -2
  10. package/dist/cjs/ADSponsoredResources.js +106 -0
  11. package/dist/cjs/ADWelcome.js +150 -0
  12. package/dist/cjs/{ADlgInfeed-f4c4a1bf.js → ADlgInfeed-700551ef.js} +2 -2
  13. package/dist/cjs/AccordionPanel.js +95 -0
  14. package/dist/cjs/AdSlot.js +166 -0
  15. package/dist/cjs/AdSlotsProvider.js +31 -0
  16. package/dist/cjs/AlphabeticList.js +137 -0
  17. package/dist/cjs/ArticleQueue.js +863 -0
  18. package/dist/cjs/Auth.js +3950 -0
  19. package/dist/cjs/{AuthorComponent-b44bb44e.js → AuthorComponent-5bb8f868.js} +1 -1
  20. package/dist/cjs/Beam.js +347 -0
  21. package/dist/cjs/{TaxonomyCard-fa09aac1.js → BlockContent-80608595.js} +0 -236
  22. package/dist/cjs/Breadcrumbs.js +108 -0
  23. package/dist/cjs/CMEDeck.js +454 -0
  24. package/dist/cjs/Column1.js +39 -0
  25. package/dist/cjs/Column2.js +67 -0
  26. package/dist/cjs/Column3.js +141 -0
  27. package/dist/cjs/ConferenceArticleCard.js +91 -0
  28. package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
  29. package/dist/cjs/DeckContent.js +24 -13
  30. package/dist/cjs/DeckQueue.js +17 -10
  31. package/dist/cjs/{Dfp-d7639f4c.js → Dfp-19f10ad4.js} +8 -5
  32. package/dist/cjs/EventsDeck.js +1999 -0
  33. package/dist/cjs/Feature.js +120 -0
  34. package/dist/cjs/{Figure-cc919c38.js → Figure-ce37247b.js} +3 -2
  35. package/dist/cjs/ForbesHero.js +140 -0
  36. package/dist/cjs/GridContent.js +721 -33
  37. package/dist/cjs/GridHero.js +145 -0
  38. package/dist/cjs/GroupDeck.js +5 -3
  39. package/dist/cjs/HamMagazine.js +477 -0
  40. package/dist/cjs/Header.js +37 -0
  41. package/dist/cjs/Hero.js +56 -0
  42. package/dist/cjs/HighlightenVideo.js +69 -0
  43. package/dist/cjs/HorizontalHero.js +109 -0
  44. package/dist/cjs/InscreenSensor-04a70c60.js +864 -0
  45. package/dist/cjs/IssueContentDeck.js +4 -3
  46. package/dist/cjs/IssueDeck.js +6 -4
  47. package/dist/cjs/IssueLanding.js +115 -0
  48. package/dist/cjs/KMTracker.js +27 -0
  49. package/dist/cjs/LeftNav.js +99 -0
  50. package/dist/cjs/MasterDeck.js +15 -8
  51. package/dist/cjs/NavDvm.js +223 -0
  52. package/dist/cjs/NavFooter-3dcd99a8.js +66 -0
  53. package/dist/cjs/NavMagazine.js +436 -0
  54. package/dist/cjs/NavNative.js +278 -0
  55. package/dist/cjs/NavNormal.js +109 -0
  56. package/dist/cjs/OncliveHero.js +78 -0
  57. package/dist/cjs/OncliveLargeHero.js +243 -0
  58. package/dist/cjs/PageFilter.js +73 -0
  59. package/dist/cjs/PdfDownload.js +28 -0
  60. package/dist/cjs/PopUpModal.js +59 -0
  61. package/dist/cjs/PublicationLanding.js +556 -0
  62. package/dist/cjs/QueueDeckExpanded.js +20 -11
  63. package/dist/cjs/RelatedContent.js +107 -0
  64. package/dist/cjs/RelatedTopicsDropdown.js +90 -0
  65. package/dist/cjs/Search.js +67 -0
  66. package/dist/cjs/Segment.js +225 -0
  67. package/dist/cjs/SetCookie.js +10 -0
  68. package/dist/cjs/SideFooter.js +103 -0
  69. package/dist/cjs/SocialNavFooter-d9ab4d17.js +83 -0
  70. package/dist/cjs/SocialShare.js +72 -0
  71. package/dist/cjs/TaxonomyCard.js +241 -11
  72. package/dist/cjs/TemplateNormal.js +175 -13
  73. package/dist/cjs/Ustream.js +107 -6
  74. package/dist/cjs/VerticalHero.js +75 -0
  75. package/dist/cjs/VideoSeriesFilter.js +133 -0
  76. package/dist/cjs/VideoSeriesListing.js +13 -7
  77. package/dist/cjs/View.js +1156 -0
  78. package/dist/cjs/YahooHero.js +129 -0
  79. package/dist/cjs/YoutubeGroup.js +5 -3
  80. package/dist/cjs/_arrayMap-3b4a0f75.js +91 -0
  81. package/dist/cjs/_is-array-754e012d.js +74 -0
  82. package/dist/cjs/{_iter-detect-234453c3.js → _iter-detect-4d0352f8.js} +4 -4
  83. package/dist/cjs/_object-sap-5e74ba08.js +16 -0
  84. package/dist/cjs/_set-species-4458e975.js +56 -0
  85. package/dist/cjs/{AdSlot-257d8d4e.js → asyncToGenerator-db08763c.js} +1 -710
  86. package/dist/cjs/brightcove-react-player-loader.es-4ba0d3d5.js +2231 -0
  87. package/dist/cjs/{web.dom.iterable-5c889cf1.js → core.get-iterator-method-41e87ec1.js} +0 -46
  88. package/dist/cjs/debounce-32e57002.js +280 -0
  89. package/dist/cjs/{toConsumableArray-25d0e2a3.js → from-ea347372.js} +4 -29
  90. package/dist/cjs/{get-7a75c563.js → get-5dfcdc33.js} +14 -100
  91. package/dist/cjs/getKeywords.js +31 -0
  92. package/dist/cjs/getQuery.js +20 -0
  93. package/dist/cjs/getSerializers.js +8032 -0
  94. package/dist/cjs/getSeriesDetail.js +38 -0
  95. package/dist/cjs/getTargeting-3ced038f.js +108 -0
  96. package/dist/cjs/getTargeting.js +15 -0
  97. package/dist/cjs/iconBase-637d3f1e.js +83 -0
  98. package/dist/cjs/{debounce-420ff8a8.js → index-b2448ff6.js} +0 -483
  99. package/dist/cjs/index.esm-25423c2f.js +16 -0
  100. package/dist/cjs/index.esm-c0d8b44b.js +21 -0
  101. package/dist/cjs/index.esm-fcdbd2c6.js +31 -0
  102. package/dist/cjs/index.js +190 -23088
  103. package/dist/cjs/{inherits-b4036c94.js → inherits-4a2f1cc3.js} +6 -17
  104. package/dist/cjs/isSymbol-488934a7.js +211 -0
  105. package/dist/cjs/js.cookie-a511c430.js +160 -0
  106. package/dist/cjs/keys-a586b7a0.js +25 -0
  107. package/dist/cjs/{promise-0a493c7a.js → promise-074978a7.js} +15 -62
  108. package/dist/cjs/{slicedToArray-419d467a.js → slicedToArray-8063ee51.js} +5 -4
  109. package/dist/cjs/stringify-7c5aff47.js +17 -0
  110. package/dist/cjs/toConsumableArray-ca04303b.js +31 -0
  111. package/dist/cjs/{typeof-0d86b91c.js → typeof-583cdc4b.js} +20 -87
  112. package/dist/cjs/urlFor.js +10 -0
  113. package/dist/cjs/util-f2c1b65b.js +576 -0
  114. package/dist/cjs/web.dom.iterable-43c3e277.js +51 -0
  115. package/dist/esm/AD.js +26 -0
  116. package/dist/esm/AD300x250.js +54 -0
  117. package/dist/esm/AD300x250x600.js +54 -0
  118. package/dist/esm/AD728x90.js +100 -0
  119. package/dist/esm/ADFloatingFooter.js +133 -0
  120. package/dist/esm/ADFooter.js +39 -0
  121. package/dist/esm/ADGutter.js +82 -0
  122. package/dist/esm/{ADInfeed-dff74bbe.js → ADInfeed-1c17dc0e.js} +1 -1
  123. package/dist/esm/ADSponsoredResources.js +100 -0
  124. package/dist/esm/ADWelcome.js +144 -0
  125. package/dist/esm/{ADlgInfeed-7b29db85.js → ADlgInfeed-94d7f5dd.js} +1 -1
  126. package/dist/esm/AccordionPanel.js +88 -0
  127. package/dist/esm/AdSlot.js +159 -0
  128. package/dist/esm/AdSlotsProvider.js +25 -0
  129. package/dist/esm/AlphabeticList.js +131 -0
  130. package/dist/esm/ArticleQueue.js +855 -0
  131. package/dist/esm/Auth.js +3930 -0
  132. package/dist/esm/{AuthorComponent-4f5f15ed.js → AuthorComponent-f67cb027.js} +1 -1
  133. package/dist/esm/Beam.js +345 -0
  134. package/dist/esm/{TaxonomyCard-b22a742f.js → BlockContent-4af2feb9.js} +2 -233
  135. package/dist/esm/Breadcrumbs.js +101 -0
  136. package/dist/esm/CMEDeck.js +448 -0
  137. package/dist/esm/Column1.js +29 -0
  138. package/dist/esm/Column2.js +57 -0
  139. package/dist/esm/Column3.js +131 -0
  140. package/dist/esm/ConferenceArticleCard.js +85 -0
  141. package/dist/esm/ConferenceBanner-9162d0ca.js +18 -0
  142. package/dist/esm/DeckContent.js +24 -13
  143. package/dist/esm/DeckQueue.js +17 -10
  144. package/dist/esm/{Dfp-994cd0ab.js → Dfp-7addbfb1.js} +7 -4
  145. package/dist/esm/EventsDeck.js +1987 -0
  146. package/dist/esm/Feature.js +113 -0
  147. package/dist/esm/{Figure-1c55ebf0.js → Figure-408929f3.js} +4 -3
  148. package/dist/esm/ForbesHero.js +134 -0
  149. package/dist/esm/GridContent.js +714 -30
  150. package/dist/esm/GridHero.js +139 -0
  151. package/dist/esm/GroupDeck.js +6 -4
  152. package/dist/esm/HamMagazine.js +465 -0
  153. package/dist/esm/Header.js +28 -0
  154. package/dist/esm/Hero.js +50 -0
  155. package/dist/esm/HighlightenVideo.js +63 -0
  156. package/dist/esm/HorizontalHero.js +103 -0
  157. package/dist/esm/InscreenSensor-b7f931bf.js +857 -0
  158. package/dist/esm/IssueContentDeck.js +5 -4
  159. package/dist/esm/IssueDeck.js +8 -6
  160. package/dist/esm/IssueLanding.js +109 -0
  161. package/dist/esm/KMTracker.js +25 -0
  162. package/dist/esm/LeftNav.js +90 -0
  163. package/dist/esm/MasterDeck.js +17 -10
  164. package/dist/esm/NavDvm.js +211 -0
  165. package/dist/esm/NavFooter-c29526b7.js +60 -0
  166. package/dist/esm/NavMagazine.js +424 -0
  167. package/dist/esm/NavNative.js +266 -0
  168. package/dist/esm/NavNormal.js +97 -0
  169. package/dist/esm/OncliveHero.js +72 -0
  170. package/dist/esm/OncliveLargeHero.js +237 -0
  171. package/dist/esm/PageFilter.js +67 -0
  172. package/dist/esm/PdfDownload.js +22 -0
  173. package/dist/esm/PopUpModal.js +52 -0
  174. package/dist/esm/PublicationLanding.js +546 -0
  175. package/dist/esm/QueueDeckExpanded.js +22 -13
  176. package/dist/esm/RelatedContent.js +101 -0
  177. package/dist/esm/RelatedTopicsDropdown.js +82 -0
  178. package/dist/esm/Search.js +58 -0
  179. package/dist/esm/Segment.js +223 -0
  180. package/dist/esm/SetCookie.js +8 -0
  181. package/dist/esm/SideFooter.js +97 -0
  182. package/dist/esm/SocialNavFooter-1a531144.js +77 -0
  183. package/dist/esm/SocialShare.js +65 -0
  184. package/dist/esm/TaxonomyCard.js +237 -11
  185. package/dist/esm/TemplateNormal.js +175 -14
  186. package/dist/esm/Ustream.js +107 -6
  187. package/dist/esm/VerticalHero.js +69 -0
  188. package/dist/esm/VideoSeriesFilter.js +127 -0
  189. package/dist/esm/VideoSeriesListing.js +14 -8
  190. package/dist/esm/View.js +1145 -0
  191. package/dist/esm/YahooHero.js +123 -0
  192. package/dist/esm/YoutubeGroup.js +6 -4
  193. package/dist/esm/_arrayMap-a8dd2b2c.js +87 -0
  194. package/dist/esm/_is-array-dd5523d6.js +71 -0
  195. package/dist/esm/{_iter-detect-7c281f0a.js → _iter-detect-6e099a34.js} +2 -2
  196. package/dist/esm/_object-sap-56bb8073.js +14 -0
  197. package/dist/esm/_set-species-6f64f1c1.js +51 -0
  198. package/dist/esm/{_to-object-1b1f7766.js → _to-object-16fd8b46.js} +1 -1
  199. package/dist/esm/{AdSlot-362a1c30.js → asyncToGenerator-204b5a5c.js} +3 -703
  200. package/dist/esm/brightcove-react-player-loader.es-e1c6b0f2.js +2225 -0
  201. package/dist/esm/{web.dom.iterable-e6bf2bf6.js → core.get-iterator-method-f5c0d66a.js} +2 -47
  202. package/dist/esm/debounce-8cd9e09c.js +277 -0
  203. package/dist/esm/{extends-92072fff.js → extends-6e00b262.js} +1 -1
  204. package/dist/esm/{toConsumableArray-c5e2fde8.js → from-2c0a5f49.js} +4 -29
  205. package/dist/esm/{get-bc6cf9fb.js → get-ae817b75.js} +3 -86
  206. package/dist/esm/getKeywords.js +29 -0
  207. package/dist/esm/getQuery.js +18 -0
  208. package/dist/esm/getSerializers.js +8021 -0
  209. package/dist/esm/getSeriesDetail.js +36 -0
  210. package/dist/esm/getTargeting-8f4bd5db.js +105 -0
  211. package/dist/esm/getTargeting.js +9 -0
  212. package/dist/esm/iconBase-6ee2f2fb.js +81 -0
  213. package/dist/esm/{debounce-42a7f724.js → index-fb49124c.js} +2 -476
  214. package/dist/esm/index.esm-9d6faf80.js +17 -0
  215. package/dist/esm/index.esm-a7ad65ba.js +13 -0
  216. package/dist/esm/{index.esm-536609db.js → index.esm-b97cf389.js} +2 -80
  217. package/dist/esm/index.js +137 -23019
  218. package/dist/esm/{inherits-bbec2f34.js → inherits-2758cc14.js} +5 -15
  219. package/dist/esm/isSymbol-c1b9be80.js +203 -0
  220. package/dist/esm/js.cookie-6874175c.js +158 -0
  221. package/dist/esm/keys-04cdec91.js +23 -0
  222. package/dist/esm/{main-cf4930f0.js → main-8c8784b8.js} +1 -1
  223. package/dist/esm/{promise-2592a80a.js → promise-53143c9a.js} +6 -49
  224. package/dist/esm/{slicedToArray-04e02710.js → slicedToArray-f1e40361.js} +3 -2
  225. package/dist/esm/stringify-e30bc114.js +15 -0
  226. package/dist/esm/toConsumableArray-8712d678.js +29 -0
  227. package/dist/esm/{typeof-09bf9211.js → typeof-7e72fee0.js} +5 -70
  228. package/dist/esm/urlFor.js +8 -0
  229. package/dist/esm/util-7700fc59.js +574 -0
  230. package/dist/esm/web.dom.iterable-46c95e52.js +49 -0
  231. package/package.json +1 -1
  232. package/dist/cjs/GridContent-6a0216fb.js +0 -728
  233. package/dist/cjs/Normal-430e8e61.js +0 -2315
  234. package/dist/cjs/Ustream-46288bdf.js +0 -119
  235. package/dist/cjs/index.esm-340d3792.js +0 -110
  236. package/dist/esm/GridContent-7e11f013.js +0 -717
  237. package/dist/esm/Normal-6efd92da.js +0 -2282
  238. package/dist/esm/Ustream-c4f281a3.js +0 -112
@@ -0,0 +1,1156 @@
1
+ 'use strict';
2
+
3
+ var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
4
+ require('./_to-object-329a650b.js');
5
+ require('./core.get-iterator-method-41e87ec1.js');
6
+ require('./_library-dd23b178.js');
7
+ require('./_iter-detect-4d0352f8.js');
8
+ require('./from-ea347372.js');
9
+ var toConsumableArray = require('./toConsumableArray-ca04303b.js');
10
+ require('./_object-pie-68c5bcbc.js');
11
+ var _extends = require('./extends-60837c34.js');
12
+ require('./_object-sap-5e74ba08.js');
13
+ var inherits = require('./inherits-4a2f1cc3.js');
14
+ require('./web.dom.iterable-43c3e277.js');
15
+ require('./typeof-583cdc4b.js');
16
+ require('./_is-array-754e012d.js');
17
+ var React = require('react');
18
+ var index = require('./index-b2448ff6.js');
19
+ require('prop-types');
20
+ var moment = require('./moment-66a6a284.js');
21
+ require('next/router');
22
+ require('./isSymbol-488934a7.js');
23
+ require('./debounce-32e57002.js');
24
+ var index_es = require('./index.es-44c8e726.js');
25
+ require('react-dom');
26
+ require('./index-be0c82be.js');
27
+ require('./index-8a3fb0bc.js');
28
+ var main = require('./main-d76cde9c.js');
29
+ require('./entities-310b46ee.js');
30
+ var slicedToArray = require('./slicedToArray-8063ee51.js');
31
+ var stringify = require('./stringify-7c5aff47.js');
32
+ var asyncToGenerator = require('./asyncToGenerator-db08763c.js');
33
+ require('./_set-species-4458e975.js');
34
+ require('./promise-074978a7.js');
35
+ require('./Beam.js');
36
+ require('./Segment.js');
37
+ var AdSlot = require('./AdSlot.js');
38
+ require('./_arrayMap-3b4a0f75.js');
39
+ var BlockContent = require('./BlockContent-80608595.js');
40
+ require('./smoothscroll-95231a70.js');
41
+ require('./GroupDeck.js');
42
+ require('react-bootstrap');
43
+ var Button = require('react-bootstrap/Button');
44
+ var Head = require('next/head');
45
+ require('react-share');
46
+ var SocialShare = require('./SocialShare.js');
47
+ var Form = require('react-bootstrap/Form');
48
+ var FormControl = require('react-bootstrap/FormControl');
49
+ var keys = require('./keys-a586b7a0.js');
50
+ var Dropdown = require('react-bootstrap/Dropdown');
51
+ require('./brightcove-react-player-loader.es-4ba0d3d5.js');
52
+ var InscreenSensor = require('./InscreenSensor-04a70c60.js');
53
+ var getSerializers = require('./getSerializers.js');
54
+ require('./util-f2c1b65b.js');
55
+ require('react-bootstrap/Pagination');
56
+ require('next/dynamic');
57
+ var getTargeting = require('./getTargeting-3ced038f.js');
58
+ var urlFor = require('./urlFor.js');
59
+
60
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
61
+
62
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
63
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
64
+ var Head__default = /*#__PURE__*/_interopDefaultLegacy(Head);
65
+ var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
66
+ var FormControl__default = /*#__PURE__*/_interopDefaultLegacy(FormControl);
67
+ var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
68
+
69
+ var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
70
+ var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
71
+
72
+ if (authorName && authorURL) {
73
+ return React__default['default'].createElement(
74
+ 'span',
75
+ null,
76
+ React__default['default'].createElement(
77
+ 'a',
78
+ { href: '/' + defaultUrl + '/' + authorURL.current, key: index },
79
+ authorName
80
+ ),
81
+ length !== index + 1 && ' , '
82
+ );
83
+ } else if (authorName) {
84
+ return React__default['default'].createElement(
85
+ 'span',
86
+ { key: index },
87
+ authorName,
88
+ length !== index + 1 && ' , '
89
+ );
90
+ }
91
+ };
92
+
93
+ var getArticleSummary = function getArticleSummary(article) {
94
+ if (article.summary && article.summary.length > 0) {
95
+ return article.summary;
96
+ } else {
97
+ var _article$body = article.body,
98
+ body = _article$body === undefined ? [] : _article$body;
99
+
100
+ var desc = '';
101
+ body.some(function (children) {
102
+ children.children && children.children.some(function (item) {
103
+ if (item.text && String(item.text).trim().length > 0 && desc === '') {
104
+ desc = String(item.text);
105
+ return true;
106
+ }
107
+ });
108
+ if (desc !== '') {
109
+ return true;
110
+ }
111
+ });
112
+ return desc;
113
+ }
114
+ };
115
+
116
+ var getDocumentGroupUrl = function getDocumentGroupUrl(docGroup) {
117
+ if (!docGroup) {
118
+ return null;
119
+ }
120
+ var url = void 0;
121
+ if (docGroup.path.includes('/')) {
122
+ return "/" + docGroup.path;
123
+ }
124
+
125
+ if (docGroup.parent) {
126
+ url = '/' + docGroup.parent.identifier.current;
127
+ if (docGroup.parent.parent && docGroup.parent.parent.name) {
128
+ url = '/' + docGroup.parent.parent.identifier.current + url;
129
+ }
130
+ }
131
+
132
+ if (!docGroup.thumbnail) ;
133
+ url = url + '/' + docGroup.path;
134
+
135
+ return url;
136
+ };
137
+
138
+ var getDocumentGroupName = function getDocumentGroupName(docGroup) {
139
+ var name = void 0;
140
+ if (!docGroup) {
141
+ return null;
142
+ }
143
+
144
+ if (docGroup.parent) {
145
+ name = docGroup.parent.name;
146
+
147
+ if (docGroup.parent.parent && docGroup.parent.parent.name) {
148
+ name = docGroup.parent.parent.name + ' | ' + name;
149
+ }
150
+ }
151
+
152
+ if (!docGroup.thumbnail) {
153
+ name = name + ' | <b>' + docGroup.name + '</b>';
154
+ }
155
+
156
+ return name;
157
+ };
158
+
159
+ var DocumentGroup = function DocumentGroup(_ref) {
160
+ var article = _ref.article,
161
+ client = _ref.client;
162
+
163
+ if (!article.documentGroup) {
164
+ return null;
165
+ }
166
+ var name = getDocumentGroupName(article.documentGroup);
167
+ var url = getDocumentGroupUrl(article.documentGroup);
168
+ var thumbnailUrl = false;
169
+
170
+ if (article.documentGroup.thumbnail) {
171
+ thumbnailUrl = urlFor(client, article.documentGroup.thumbnail).url();
172
+ }
173
+
174
+ return React__default['default'].createElement(
175
+ 'a',
176
+ {
177
+ href: url,
178
+ className: 'doc-group',
179
+ style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
180
+ thumbnailUrl && React__default['default'].createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
181
+ React__default['default'].createElement('p', {
182
+ style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_36 ? 'left' : 'right', marginTop: '.25rem' },
183
+ dangerouslySetInnerHTML: { __html: name } }),
184
+ main.main_36 && !thumbnailUrl && React__default['default'].createElement(
185
+ 'style',
186
+ { jsx: 'true' },
187
+ '\n a.doc-group {\n display: block !important;\n padding: 0!important;\n }\n '
188
+ )
189
+ );
190
+ };
191
+
192
+ var Article = function Article(props) {
193
+ var onVote = function () {
194
+ var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(nodeKey, selectedChoice) {
195
+ var response, result;
196
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
197
+ while (1) {
198
+ switch (_context.prev = _context.next) {
199
+ case 0:
200
+ _context.next = 2;
201
+ return fetch('/api/polls/vote', {
202
+ method: 'POST',
203
+ headers: { 'Content-Type': 'application/json' },
204
+ body: stringify._JSON$stringify({ articleId: props.article._id, nodeKey: nodeKey, selectedChoice: selectedChoice, body: articleBody })
205
+ });
206
+
207
+ case 2:
208
+ response = _context.sent;
209
+
210
+ if (!response.ok) {
211
+ _context.next = 11;
212
+ break;
213
+ }
214
+
215
+ _context.next = 6;
216
+ return response.json();
217
+
218
+ case 6:
219
+ result = _context.sent;
220
+
221
+ setShowVotes(true);
222
+
223
+ console.log('Voted successfully');
224
+ _context.next = 12;
225
+ break;
226
+
227
+ case 11:
228
+ console.log('Unable to vote!');
229
+
230
+ case 12:
231
+ case 'end':
232
+ return _context.stop();
233
+ }
234
+ }
235
+ }, _callee, this);
236
+ }));
237
+
238
+ return function onVote(_x, _x2) {
239
+ return _ref.apply(this, arguments);
240
+ };
241
+ }();
242
+
243
+ var article = props.article;
244
+ var client = props.client,
245
+ pageview = props.pageview,
246
+ videoAccountIDs = props.videoAccountIDs,
247
+ drupalLeadSettings = props.drupalLeadSettings,
248
+ currentPage = props.currentPage,
249
+ _props$article = props.article,
250
+ title = _props$article.title,
251
+ _props$article$passwo = _props$article.passwordLock,
252
+ passwordLock = _props$article$passwo === undefined ? false : _props$article$passwo,
253
+ authorDetails = _props$article.authorDetails,
254
+ pageNumber = _props$article.pageNumber,
255
+ published = _props$article.published,
256
+ articleBody = _props$article.body,
257
+ thumbnail = _props$article.thumbnail,
258
+ content_placement = _props$article.content_placement,
259
+ _props$article$url = _props$article.url;
260
+ _props$article$url = _props$article$url === undefined ? {
261
+ current: ''
262
+ } : _props$article$url;
263
+ var url = _props$article$url.current,
264
+ issue = _props$article.issue,
265
+ source = _props$article.source,
266
+ documentGroup = _props$article.documentGroup,
267
+ regionalPages = props.regionalPages,
268
+ nationalPage = props.nationalPage,
269
+ ISIContent = props.ISIContent,
270
+ shareOptions = props.shareOptions,
271
+ cpModificationRequired = props.cpModificationRequired,
272
+ authorPrefix = props.authorPrefix;
273
+ var changeUrl = props.changeUrl;
274
+
275
+ var _useState = React.useState(null),
276
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
277
+ contextualADFlag = _useState2[0],
278
+ setContextualADFlag = _useState2[1];
279
+
280
+ var summary = getArticleSummary(props.article);
281
+
282
+ var _useState3 = React.useState(1),
283
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
284
+ auth = _useState4[0],
285
+ setAuth = _useState4[1];
286
+
287
+ var _useState5 = React.useState(''),
288
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
289
+ passwordKey = _useState6[0],
290
+ setPasswordKey = _useState6[1];
291
+
292
+ var _useState7 = React.useState(false),
293
+ _useState8 = slicedToArray._slicedToArray(_useState7, 2),
294
+ showVotes = _useState8[0],
295
+ setShowVotes = _useState8[1];
296
+
297
+ var isCutomPage = function isCutomPage(article) {
298
+ var url = article.url.current;
299
+
300
+ if (regionalPages || nationalPage) {
301
+ return regionalPages.includes(url) || nationalPage === url;
302
+ } else {
303
+ return false;
304
+ }
305
+ };
306
+
307
+ var renderIsiContent = function renderIsiContent(article) {
308
+ var url = article.url.current;
309
+
310
+ if (regionalPages && ISIContent && regionalPages.includes(url)) {
311
+ return React__default['default'].createElement(ISIContent, null);
312
+ } else if (nationalPage === url && ISIContent) {
313
+ return React__default['default'].createElement(ISIContent, { national: true });
314
+ }
315
+ return null;
316
+ };
317
+
318
+ var renderRelevantTopicsDropdown = function renderRelevantTopicsDropdown() {
319
+ if (content_placement && content_placement.length > 0 || documentGroup) {
320
+ return React__default['default'].createElement(
321
+ Dropdown__default['default'],
322
+ null,
323
+ React__default['default'].createElement(
324
+ Dropdown__default['default'].Toggle,
325
+ { variant: 'primary', id: 'partner-dropdown' },
326
+ 'Relevant Topics'
327
+ ),
328
+ React__default['default'].createElement(
329
+ Dropdown__default['default'].Menu,
330
+ null,
331
+ documentGroup && documentGroup.parent && React__default['default'].createElement(
332
+ Dropdown__default['default'].Item,
333
+ { href: cpModificationRequired ? '/' + documentGroup.parent.identifier.current + '/' + documentGroup.path : '/' + documentGroup.path },
334
+ documentGroup.name
335
+ ),
336
+ content_placement.length > 0 ? content_placement.map(function (cp, index) {
337
+ var cp_url = cpModificationRequired ? getTargeting.getContentPlacementUrl(cp) : cp.path;
338
+ var href = '/' + cp_url;
339
+ return React__default['default'].createElement(
340
+ Dropdown__default['default'].Item,
341
+ { key: index, href: href },
342
+ cp.name
343
+ );
344
+ }) : null
345
+ )
346
+ );
347
+ }
348
+ return null;
349
+ };
350
+
351
+ var form = function form() {
352
+ return React__default['default'].createElement(
353
+ React__default['default'].Fragment,
354
+ null,
355
+ React__default['default'].createElement(
356
+ Head__default['default'],
357
+ null,
358
+ React__default['default'].createElement('meta', { name: 'googlebot', content: 'noindex' })
359
+ ),
360
+ React__default['default'].createElement(
361
+ 'div',
362
+ { className: 'mt-5', style: { display: 'flex', justifyContent: 'center', alignItems: 'center' } },
363
+ React__default['default'].createElement(
364
+ Form__default['default'],
365
+ {
366
+ inline: true,
367
+ onSubmit: function onSubmit(e) {
368
+ e.preventDefault();
369
+ } },
370
+ React__default['default'].createElement(FormControl__default['default'], { type: 'text', className: 'mr-sm-2', value: passwordKey, onChange: function onChange(e) {
371
+ return setPasswordKey(e.target.value);
372
+ }, placeholder: 'Password' }),
373
+ React__default['default'].createElement(
374
+ Button__default['default'],
375
+ {
376
+ variant: 'primary',
377
+ onClick: function onClick() {
378
+ if (passwordKey === props.article.password) {
379
+ setAuth(2);
380
+ } else {
381
+ alert('Incorrect Password');
382
+ }
383
+ } },
384
+ 'Submit'
385
+ )
386
+ )
387
+ )
388
+ );
389
+ };
390
+
391
+ var renderBlockContent = function renderBlockContent(payload) {
392
+ var _payload = payload,
393
+ body = _payload.body;
394
+
395
+ var findIndex = function findIndex(arr) {
396
+ var indexes = [];
397
+ var _iteratorNormalCompletion = true;
398
+ var _didIteratorError = false;
399
+ var _iteratorError = undefined;
400
+
401
+ try {
402
+ for (var _iterator = slicedToArray._getIterator(arr), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
403
+ var ele = _step.value;
404
+
405
+ if (ele['_type'] === 'block' && ele.children.some(function (child) {
406
+ return child.text.trim().length > 0;
407
+ }) && ele['listItem'] !== 'bullet' && ele['style'] === 'normal' || ele['_type'] === 'figure') {
408
+ indexes.push(arr.indexOf(ele));
409
+ }
410
+ }
411
+ } catch (err) {
412
+ _didIteratorError = true;
413
+ _iteratorError = err;
414
+ } finally {
415
+ try {
416
+ if (!_iteratorNormalCompletion && _iterator.return) {
417
+ _iterator.return();
418
+ }
419
+ } finally {
420
+ if (_didIteratorError) {
421
+ throw _iteratorError;
422
+ }
423
+ }
424
+ }
425
+
426
+ return indexes;
427
+ };
428
+ var indexes = findIndex(body);
429
+ if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && payload.contextualVideoAD) {
430
+ payload = _extends._extends({}, payload, {
431
+ contextualAD: _extends._extends({}, payload.contextualAD, {
432
+ slotId: (payload.contextualAD.slotId || 'native-ad') + '-' + payload._id
433
+ }),
434
+ contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
435
+ slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
436
+ })
437
+ });
438
+ var selectedIndex = indexes[1] + 1;
439
+
440
+ var checkIsAdFound = function checkIsAdFound(isFound) {
441
+ if (!isFound) {
442
+ var parent = document.getElementById('contextual-native-ad-' + payload._id);
443
+ parent.style.height = '0%';
444
+ parent.style.width = '0%';
445
+ parent.style.display = 'none';
446
+ setContextualADFlag(false);
447
+ } else {
448
+ if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
449
+ setContextualADFlag(true);
450
+ }
451
+ }
452
+ };
453
+
454
+ var checkIsVideoAdFound = function checkIsVideoAdFound(isFound) {
455
+ if (!isFound) {
456
+ var parent = document.getElementById('contextual-video-ad-' + payload._id);
457
+ parent.style.height = '0%';
458
+ parent.style.width = '0%';
459
+ parent.style.display = 'none';
460
+ setContextualADFlag(false);
461
+ } else {
462
+ setContextualADFlag(true);
463
+ }
464
+ };
465
+
466
+ return React__default['default'].createElement(
467
+ React__default['default'].Fragment,
468
+ null,
469
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
470
+ serializers: getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings, currentPage, false, contextualADFlag),
471
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, selectedIndex))),
472
+ imageOptions: { w: 320, h: 240, fit: 'max' }
473
+ }, client.config())),
474
+ React__default['default'].createElement('span', { className: 'clearfix' }),
475
+ React__default['default'].createElement(
476
+ 'div',
477
+ { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
478
+ React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: checkIsAdFound }))
479
+ ),
480
+ React__default['default'].createElement('span', { className: 'clearfix' }),
481
+ React__default['default'].createElement(
482
+ 'div',
483
+ { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
484
+ React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
485
+ ),
486
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
487
+ serializers: getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings, currentPage, false),
488
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(selectedIndex))),
489
+ imageOptions: { w: 320, h: 240, fit: 'max' }
490
+ }, client.config()))
491
+ );
492
+ } else if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && !payload.contextualVideoAD) {
493
+ payload = _extends._extends({}, payload, {
494
+ contextualAD: _extends._extends({}, payload.contextualAD, {
495
+ slotId: (payload.contextualAD.slotId || 'native-ad') + '-' + payload._id
496
+ })
497
+ });
498
+ var _selectedIndex = indexes[1] + 1;
499
+
500
+ var _checkIsAdFound = function _checkIsAdFound(isFound) {
501
+ if (!isFound) {
502
+ var parent = document.getElementById('contextual-native-ad-' + payload._id);
503
+ parent.style.height = '0%';
504
+ parent.style.width = '0%';
505
+ parent.style.display = 'none';
506
+ setContextualADFlag(false);
507
+ } else {
508
+ if (body && body[1] && body[1]._type === 'figure') {
509
+ setContextualADFlag(true);
510
+ }
511
+ }
512
+ };
513
+
514
+ return React__default['default'].createElement(
515
+ React__default['default'].Fragment,
516
+ null,
517
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
518
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
519
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, _selectedIndex))),
520
+ imageOptions: { w: 320, h: 240, fit: 'max' }
521
+ }, client.config())),
522
+ contextualADFlag && React__default['default'].createElement('span', { className: 'clearfix' }),
523
+ React__default['default'].createElement(
524
+ 'div',
525
+ { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
526
+ React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
527
+ ),
528
+ contextualADFlag && React__default['default'].createElement('span', { className: 'clearfix' }),
529
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
530
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
531
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(_selectedIndex))),
532
+ imageOptions: { w: 320, h: 240, fit: 'max' }
533
+ }, client.config()))
534
+ );
535
+ } else if (indexes.length >= 2 && body.length > 3 && payload.contextualVideoAD && !payload.contextualAD) {
536
+ payload = _extends._extends({}, payload, {
537
+ contextualVideoAD: _extends._extends({}, payload.contextualVideoAD, {
538
+ slotId: (payload.contextualVideoAD.slotId || 'in-context_video') + '-' + payload._id
539
+ })
540
+ });
541
+ var _selectedIndex2 = indexes[1] + 1;
542
+
543
+ var _checkIsAdFound2 = function _checkIsAdFound2(isFound) {
544
+ if (!isFound) {
545
+ var parent = document.getElementById('contextual-video-ad-' + payload._id);
546
+ parent.style.height = '0%';
547
+ parent.style.width = '0%';
548
+ parent.style.display = 'none';
549
+ setContextualADFlag(false);
550
+ } else {
551
+ if (body && body[1] && body[1]._type === 'figure') {
552
+ setContextualADFlag(true);
553
+ }
554
+ }
555
+ };
556
+
557
+ return React__default['default'].createElement(
558
+ React__default['default'].Fragment,
559
+ null,
560
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
561
+ serializers: getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings, currentPage, false, contextualADFlag),
562
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, _selectedIndex2))),
563
+ imageOptions: { w: 320, h: 240, fit: 'max' }
564
+ }, client.config())),
565
+ React__default['default'].createElement('span', { className: 'clearfix' }),
566
+ React__default['default'].createElement(
567
+ 'div',
568
+ { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
569
+ React__default['default'].createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
570
+ ),
571
+ React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
572
+ serializers: getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings, currentPage, false),
573
+ blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(_selectedIndex2))),
574
+ imageOptions: { w: 320, h: 240, fit: 'max' }
575
+ }, client.config()))
576
+ );
577
+ } else {
578
+ return React__default['default'].createElement(BlockContent.BlockContent, _extends._extends({
579
+ serializers: getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings, currentPage, false),
580
+ blocks: articleBody,
581
+ imageOptions: { w: 320, h: 240, fit: 'max' }
582
+ }, client.config()));
583
+ }
584
+ };
585
+
586
+ var detail = function detail() {
587
+ var shareVia = shareOptions.shareVia,
588
+ shareSubject = shareOptions.shareSubject,
589
+ twitterSiteName = shareOptions.twitterSiteName,
590
+ shareImageDefault = shareOptions.shareImageDefault,
591
+ shareBaseUrl = shareOptions.shareBaseUrl,
592
+ shareSiteTitle = shareOptions.shareSiteTitle;
593
+
594
+ var shareUrl = shareBaseUrl + props.article.url.current;
595
+ var shareTitle = article.title;
596
+ var shareSummary = article.summary;
597
+ var shareImage = thumbnail && thumbnail.asset ? urlFor(props.client, thumbnail.asset).url() : shareImageDefault;
598
+ var siteName = props.website && props.website.title ? props.website.title : '';
599
+
600
+ var meta = {
601
+ shareTitle: shareTitle,
602
+ shareSiteName: props.cache.siteSettingCache.name,
603
+ shareSummary: shareSummary,
604
+ shareUrl: shareUrl,
605
+ shareImage: shareImage,
606
+ shareVia: props.Settings.title
607
+ };
608
+ if (!props.infiniteScroll) {
609
+ changeUrl = function changeUrl() {
610
+ return null;
611
+ };
612
+ }
613
+
614
+ return React__default['default'].createElement(
615
+ React__default['default'].Fragment,
616
+ null,
617
+ React__default['default'].createElement(
618
+ InscreenSensor.InscreenSensor,
619
+ {
620
+ offSetTop: 120,
621
+ className: 'inscreen-wrapper',
622
+ id: 'article-' + title,
623
+ onChange: function onChange(visible) {
624
+ if (visible === 'top' || visible === 'bottom' || visible === 'small-top') {
625
+ changeUrl(url, visible, meta);
626
+ }
627
+ } },
628
+ React__default['default'].createElement(
629
+ 'div',
630
+ null,
631
+ React__default['default'].createElement(
632
+ 'div',
633
+ { className: 'video-detail', style: { marginBottom: isCutomPage(props.article) ? '150px' : 0 } },
634
+ React__default['default'].createElement(
635
+ 'h1',
636
+ { className: 'page-title' },
637
+ title
638
+ ),
639
+ React__default['default'].createElement(
640
+ 'div',
641
+ { className: 'mb-4 doc-group-container', style: { display: 'flex', justifyContent: 'space-between', alignItems: 'flex-end' } },
642
+ React__default['default'].createElement(
643
+ 'style',
644
+ { jsx: 'true' },
645
+ '\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 }\n '
646
+ ),
647
+ React__default['default'].createElement(
648
+ 'div',
649
+ { className: 'left-wrap' },
650
+ React__default['default'].createElement(
651
+ 'div',
652
+ null,
653
+ moment.moment(published).format('LL')
654
+ ),
655
+ React__default['default'].createElement(
656
+ 'div',
657
+ { className: 'mb-3' },
658
+ authorDetails && authorDetails.map(function (authorDetail, index) {
659
+ return React__default['default'].createElement(
660
+ 'span',
661
+ { key: index },
662
+ renderAuthor(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
663
+ );
664
+ }),
665
+ React__default['default'].createElement(
666
+ 'div',
667
+ null,
668
+ source && React__default['default'].createElement(
669
+ 'p',
670
+ {
671
+ style: {
672
+ display: 'inline-block',
673
+ padding: '0 .25rem',
674
+ color: 'var(--franchise-primary, #484848)',
675
+ borderRadius: '2px',
676
+ fontWeight: 'bold',
677
+ border: '2px solid var(--franchise-primary, #484848)'
678
+ },
679
+ className: 'source-label' },
680
+ source
681
+ )
682
+ ),
683
+ issue && React__default['default'].createElement(
684
+ 'div',
685
+ null,
686
+ React__default['default'].createElement(
687
+ 'div',
688
+ { className: 'volume-issue' },
689
+ React__default['default'].createElement(
690
+ 'p',
691
+ null,
692
+ issue.volume && React__default['default'].createElement(
693
+ 'span',
694
+ null,
695
+ 'Volume ' + issue.volume,
696
+ ','
697
+ ),
698
+ issue.issueNumber && React__default['default'].createElement(
699
+ 'span',
700
+ null,
701
+ ' Issue ' + issue.issueNumber
702
+ )
703
+ )
704
+ )
705
+ ),
706
+ pageNumber && React__default['default'].createElement(
707
+ 'div',
708
+ { className: 'article-pageNumber' },
709
+ 'Page Number: ' + pageNumber
710
+ )
711
+ ),
712
+ React__default['default'].createElement(
713
+ 'p',
714
+ null,
715
+ React__default['default'].createElement(SocialShare, {
716
+ shareUrl: shareUrl,
717
+ shareTitle: shareTitle,
718
+ shareVia: shareVia,
719
+ shareSummary: shareSummary,
720
+ shareSubject: shareSubject,
721
+ shareImage: shareImage,
722
+ size: 32,
723
+ siteName: siteName,
724
+ twitterSiteName: twitterSiteName,
725
+ disableMeta: true
726
+ })
727
+ ),
728
+ renderRelevantTopicsDropdown()
729
+ ),
730
+ React__default['default'].createElement(
731
+ 'div',
732
+ null,
733
+ React__default['default'].createElement(DocumentGroup, { article: props.article, client: props.client })
734
+ )
735
+ ),
736
+ React__default['default'].createElement(
737
+ 'p',
738
+ null,
739
+ React__default['default'].createElement(
740
+ 'em',
741
+ null,
742
+ summary
743
+ ),
744
+ React__default['default'].createElement('br', null),
745
+ React__default['default'].createElement('br', null)
746
+ ),
747
+ React__default['default'].createElement(
748
+ 'div',
749
+ { className: 'ad-box', style: { textAlign: 'center' } },
750
+ main.main_36 && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
751
+ if (index === 0) {
752
+ return React__default['default'].createElement(
753
+ 'div',
754
+ {
755
+ key: index,
756
+ id: 'addid-' + index,
757
+ style: {
758
+ display: 'flex',
759
+ flex: '1 0 auto',
760
+ justifyContent: 'center',
761
+ alignItems: 'center',
762
+ textAlign: 'center'
763
+ } },
764
+ ad.component
765
+ );
766
+ }
767
+ })
768
+ ),
769
+ React__default['default'].createElement(
770
+ 'div',
771
+ { className: 'block-content' },
772
+ renderBlockContent(props.article),
773
+ React__default['default'].createElement(
774
+ 'noscript',
775
+ null,
776
+ React__default['default'].createElement(
777
+ 'div',
778
+ { style: { display: 'flex', justifyContent: 'center' }, className: 'series-links' },
779
+ props.article.seriesDetail && props.article.seriesDetail.prevUrl && React__default['default'].createElement(
780
+ 'a',
781
+ { className: 'mx-3', href: props.article.seriesDetail.prevUrl },
782
+ 'Previous ',
783
+ props.article.seriesDetail.type
784
+ ),
785
+ props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default['default'].createElement(
786
+ 'a',
787
+ { className: 'mx-3', href: props.article.seriesDetail.nextUrl },
788
+ 'Next ',
789
+ props.article.seriesDetail.type
790
+ )
791
+ )
792
+ ),
793
+ issue && issue.url && React__default['default'].createElement(
794
+ 'a',
795
+ { href: issue.url, target: '_blank', title: 'Download issue' },
796
+ React__default['default'].createElement('img', { style: { margin: '1rem', maxHeight: '40px', maxWidth: '40px' }, src: '/download.png', alt: 'download issue' }),
797
+ 'Download Issue : ',
798
+ issue.name
799
+ )
800
+ )
801
+ ),
802
+ renderIsiContent(props.article)
803
+ )
804
+ ),
805
+ main.main_36 && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
806
+ if (index > 0) {
807
+ return React__default['default'].createElement(
808
+ 'div',
809
+ { key: index, id: 'addid-' + index, style: { display: 'flex', flex: '1 0 auto' } },
810
+ ad.component
811
+ );
812
+ }
813
+ }),
814
+ React__default['default'].createElement('div', { className: 'clearfix', style: { minHeight: '1px' } }),
815
+ React__default['default'].createElement('hr', { className: 'article-seperater my-5' })
816
+ );
817
+ };
818
+
819
+ if (passwordLock) {
820
+ if (auth === 2) {
821
+ return detail();
822
+ } else {
823
+ return form();
824
+ }
825
+ } else {
826
+ return detail();
827
+ }
828
+ };
829
+
830
+ var defineProperty = _commonjsHelpers.createCommonjsModule(function (module, exports) {
831
+
832
+ exports.__esModule = true;
833
+
834
+
835
+
836
+ var _defineProperty2 = _interopRequireDefault(inherits.defineProperty);
837
+
838
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
839
+
840
+ exports.default = function (obj, key, value) {
841
+ if (key in obj) {
842
+ (0, _defineProperty2.default)(obj, key, {
843
+ value: value,
844
+ enumerable: true,
845
+ configurable: true,
846
+ writable: true
847
+ });
848
+ } else {
849
+ obj[key] = value;
850
+ }
851
+
852
+ return obj;
853
+ };
854
+ });
855
+
856
+ var _defineProperty = _commonjsHelpers.unwrapExports(defineProperty);
857
+
858
+ var ArticleQueue = function ArticleQueue(props) {
859
+ var _props$prevUrl = props.prevUrl,
860
+ prevUrl = _props$prevUrl === undefined ? '/' : _props$prevUrl,
861
+ Ads = props.Ads,
862
+ _props$maxListLength = props.maxListLength,
863
+ maxListLength = _props$maxListLength === undefined ? 10 : _props$maxListLength,
864
+ _props$sponsoredTaxon = props.sponsoredTaxonomies,
865
+ sponsoredTaxonomies = _props$sponsoredTaxon === undefined ? [] : _props$sponsoredTaxon,
866
+ _props$cpModification = props.cpModificationRequired,
867
+ cpModificationRequired = _props$cpModification === undefined ? false : _props$cpModification,
868
+ _props$authorPrefix = props.authorPrefix,
869
+ authorPrefix = _props$authorPrefix === undefined ? 'authors' : _props$authorPrefix;
870
+
871
+
872
+ var firstArticle = function firstArticle() {
873
+ var article = _extends._Object$assign({}, props.article);
874
+ var targeting = getTargeting.getTargeting(props);
875
+ article.Ads = Ads.getRightItems(targeting);
876
+ return article;
877
+ };
878
+
879
+ var _useState = React.useState([firstArticle()]),
880
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
881
+ queueData = _useState2[0],
882
+ setQueueData = _useState2[1];
883
+
884
+ var refreshAD = function refreshAD(path) {
885
+ if (!main.main_36) {
886
+ var activeArticle = queueData.find(function (item) {
887
+ return item.url.current === path;
888
+ });
889
+
890
+ var targeting = getTargeting.getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl });
891
+
892
+ index.lib_3.getGoogletag().then(function (googletag) {
893
+ if (window.googletag && googletag.pubadsReady) {
894
+ var slots = googletag.pubads().getSlots();
895
+ slots.forEach(function (slot) {
896
+ var pos = slot.getTargeting('pos');
897
+
898
+ slot.clearTargeting();
899
+ keys._Object$keys(targeting).forEach(function (key) {
900
+ slot.setTargeting(key, targeting[key]);
901
+ });
902
+ slot.setTargeting('pos', pos);
903
+ });
904
+ index.lib_3.refresh();
905
+ }
906
+ });
907
+ }
908
+ };
909
+
910
+ var checkSponseredArticle = function checkSponseredArticle(article) {
911
+ var _article$taxonomyMapp = article.taxonomyMapping,
912
+ taxonomyMapping = _article$taxonomyMapp === undefined ? [] : _article$taxonomyMapp;
913
+
914
+ if (props.checkSponsered) {
915
+ return taxonomyMapping.some(function (item) {
916
+ return InscreenSensor.includes_1(sponsoredTaxonomies, item._ref);
917
+ });
918
+ } else {
919
+ return false;
920
+ }
921
+ };
922
+
923
+ var preVscroll = 0;
924
+ var isScrollDown = true;
925
+
926
+ var scrollDirectionDetect = function scrollDirectionDetect(e) {
927
+ var window = e.currentTarget;
928
+
929
+ if (preVscroll > window.scrollY) {
930
+ isScrollDown = false;
931
+ } else if (preVscroll < window.scrollY) {
932
+ isScrollDown = true;
933
+ }
934
+ preVscroll = window.scrollY;
935
+ };
936
+
937
+ React.useEffect(function () {
938
+ window.addEventListener('scroll', scrollDirectionDetect);
939
+ return function () {
940
+ return window.removeEventListener('scroll', scrollDirectionDetect);
941
+ };
942
+ });
943
+
944
+ var loadmore = function loadmore() {
945
+ var query = props.relatedArticleQuery;
946
+ var params = props.params;
947
+ if (queueData && queueData.length < maxListLength) {
948
+ params.index = queueData.length - 1;
949
+ props.client.fetch(query, params).then(function (article) {
950
+ if (article && article._id) {
951
+ var targeting = getTargeting.getTargeting({ article: article, cpModificationRequired: cpModificationRequired, prevUrl: prevUrl });
952
+ article.Ads = Ads.getRightItems(targeting);
953
+ setQueueData([].concat(toConsumableArray._toConsumableArray(queueData), [article]));
954
+ }
955
+ });
956
+ }
957
+ };
958
+
959
+ var changeMeta = function changeMeta(meta) {
960
+ document.title = meta.shareTitle;
961
+ document.querySelector('meta[name="description"]').setAttribute('content', meta.shareSummary);
962
+ document.querySelector('meta[property="og:url"]').setAttribute('content', meta.shareUrl);
963
+ document.querySelector('meta[property="og:title"]').setAttribute('content', meta.shareTitle);
964
+ document.querySelector('meta[property="og:site_name"]').setAttribute('content', meta.shareVia);
965
+ document.querySelector('meta[property="og:description"]').setAttribute('content', meta.shareSummary);
966
+ document.querySelector('meta[name="twitter:title"]').setAttribute('content', meta.shareTitle);
967
+ document.querySelector('meta[name="twitter:image"]').setAttribute('content', meta.shareImage);
968
+ document.querySelector('meta[name="twitter:site"]').setAttribute('content', meta.shareVia);
969
+ document.querySelector('meta[name="twitter:description"]').setAttribute('content', meta.shareSummary);
970
+ };
971
+
972
+ var changeUrl = function changeUrl(path, visibility, meta) {
973
+ var currentPath = window && window.location && window.location.pathname ? window.location.pathname.replace('/view/', '') : '';
974
+ var newPath = '/view/' + path;
975
+ if (currentPath !== path) {
976
+ if (isScrollDown) {
977
+ if (visibility === 'top') {
978
+ // router.push('/view/[url]', newPath, { shallow: true })
979
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
980
+ changeMeta(meta);
981
+ if (props.pageview) {
982
+ props.pageview(newPath);
983
+ }
984
+ refreshAD(path);
985
+ }
986
+ } else {
987
+ if (visibility === 'bottom') {
988
+ // router.push('/view/[url]', newPath, { shallow: true })
989
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
990
+ changeMeta(meta);
991
+ if (props.pageview) {
992
+ props.pageview(newPath);
993
+ }
994
+ refreshAD(path);
995
+ }
996
+ }
997
+ if (visibility === 'small-top') {
998
+ window.history.pushState({ page: path }, meta.shareTitle, newPath);
999
+ changeMeta(meta);
1000
+ if (props.pageview) {
1001
+ props.pageview(newPath);
1002
+ }
1003
+ refreshAD(path);
1004
+ }
1005
+ }
1006
+ };
1007
+
1008
+ return React__default['default'].createElement(
1009
+ index_es.InfiniteScroll,
1010
+ { dataLength: queueData.length, next: loadmore, scrollThreshold: '60%', hasMore: true, style: { overflow: 'hidden' } },
1011
+ queueData.map(function (article, index) {
1012
+ if (!checkSponseredArticle(article) && Ads.getVideoContextualAD) {
1013
+ article.contextualVideoAD = Ads.getVideoContextualAD(getTargeting.getTargeting(props));
1014
+ }
1015
+ if (!checkSponseredArticle(article) && Ads.getNativeContextualAD) {
1016
+ article.contextualAD = Ads.getNativeContextualAD(getTargeting.getTargeting(props));
1017
+ }
1018
+ return React__default['default'].createElement(Article, _extends._extends({ key: index }, props, { changeUrl: changeUrl, authorPrfix: authorPrefix, article: article, cpModificationRequired: cpModificationRequired }));
1019
+ })
1020
+ );
1021
+ };
1022
+
1023
+ var Articles = function Articles(props) {
1024
+ var _extends2;
1025
+
1026
+ var videoAccountIDs = props.videoAccountIDs,
1027
+ Ads = props.Ads,
1028
+ cpModificationRequired = props.cpModificationRequired,
1029
+ Settings = props.Settings,
1030
+ ISIContent = props.ISIContent,
1031
+ prevUrl = props.prevUrl,
1032
+ setActiveArticle = props.setActiveArticle,
1033
+ article = props.article,
1034
+ client = props.client,
1035
+ relatedArticleQuery = props.relatedArticleQuery,
1036
+ Website = props.Website,
1037
+ pageview = props.pageview,
1038
+ shareOptions = props.shareOptions,
1039
+ WAds = props.WAds,
1040
+ regionalPages = props.regionalPages,
1041
+ nationalPage = props.nationalPage;
1042
+ var taxonomyMapping = article.taxonomyMapping,
1043
+ _article$url = article.url;
1044
+ _article$url = _article$url === undefined ? {
1045
+ current: null
1046
+ } : _article$url;
1047
+ var url = _article$url.current,
1048
+ content_placement = article.content_placement;
1049
+
1050
+
1051
+ var taxonomy = [];
1052
+ content_placement.forEach(function (_ref2) {
1053
+ var path = _ref2.path,
1054
+ _id = _ref2._id;
1055
+
1056
+ var prev_url_to_check = prevUrl;
1057
+ if (prev_url_to_check.includes('?')) {
1058
+ prev_url_to_check = prev_url_to_check.split('?')[0];
1059
+ }
1060
+ if (prev_url_to_check.endsWith(path)) taxonomy.push(_id);
1061
+ });
1062
+
1063
+ if (taxonomy.length === 0) {
1064
+ taxonomy = taxonomyMapping.map(function (_ref3) {
1065
+ var _ref = _ref3._ref;
1066
+ return _ref;
1067
+ });
1068
+ }
1069
+
1070
+ var params = {
1071
+ url: url,
1072
+ taxonomy: taxonomy,
1073
+ index: 0
1074
+ };
1075
+
1076
+ return React__default['default'].createElement(ArticleQueue, _extends._extends((_extends2 = {
1077
+ client: client,
1078
+ params: params,
1079
+ relatedArticleQuery: relatedArticleQuery,
1080
+ website: Website,
1081
+ checkSponsered: true,
1082
+ pageview: pageview,
1083
+ shareOptions: shareOptions,
1084
+ Ads: WAds,
1085
+ regionalPages: regionalPages,
1086
+ nationalPage: nationalPage
1087
+ }, _defineProperty(_extends2, 'pageview', pageview), _defineProperty(_extends2, 'onVote', function onVote() {}), _defineProperty(_extends2, 'ISIContent', ISIContent), _defineProperty(_extends2, 'videoAccountIDs', videoAccountIDs), _defineProperty(_extends2, 'sponsoredTaxonomies', []), _defineProperty(_extends2, 'cpModificationRequired', cpModificationRequired), _defineProperty(_extends2, 'Settings', Settings), _extends2), props));
1088
+ };
1089
+
1090
+ var View = function View(props) {
1091
+ var shareOptions = props.shareOptions,
1092
+ article = props.article;
1093
+ var _props$article = props.article,
1094
+ _props$article$passwo = _props$article.passwordLock,
1095
+ passwordLock = _props$article$passwo === undefined ? false : _props$article$passwo,
1096
+ description = _props$article.description,
1097
+ title = _props$article.title;
1098
+
1099
+ //disable infinite scroll
1100
+
1101
+ var checkVideoSeries = function checkVideoSeries(article) {
1102
+ for (var i = 0; i < article.body.length; i++) {
1103
+ var row = article.body[i];
1104
+ if (typeof row.videos !== 'undefined') {
1105
+ return true;
1106
+ }
1107
+ }
1108
+ return false;
1109
+ };
1110
+ var isVideoSeries = checkVideoSeries(props.article);
1111
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !article.ExcludeFromInfiniteScroll;
1112
+
1113
+ if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
1114
+ description = null;
1115
+ title = null;
1116
+ }
1117
+
1118
+ if (!needInfiniteScroll && !title) {
1119
+ title = props.article ? props.article.title : '';
1120
+ }
1121
+
1122
+ return React__default['default'].createElement(
1123
+ React__default['default'].Fragment,
1124
+ null,
1125
+ React__default['default'].createElement(
1126
+ Head__default['default'],
1127
+ null,
1128
+ React__default['default'].createElement(
1129
+ 'title',
1130
+ { key: 'title' },
1131
+ article.title + ' | ' + props.cache.siteSettingCache.name
1132
+ ),
1133
+ React__default['default'].createElement('meta', { name: 'description', key: 'description', content: shareOptions.shareSummary }),
1134
+ passwordLock && React__default['default'].createElement('meta', { name: 'robots', content: 'noindex, nofollow' }),
1135
+ React__default['default'].createElement('meta', { property: 'og:url', content: shareOptions.shareUrl, key: 'og:url' }),
1136
+ React__default['default'].createElement('meta', { property: 'og:title', content: shareOptions.shareTitle, key: 'og:title' }),
1137
+ React__default['default'].createElement('meta', { property: 'og:image', content: shareOptions.shareImage, key: 'og:image' }),
1138
+ React__default['default'].createElement('meta', { property: 'og:site_name', content: props.Settings.title, key: 'og:site_name' }),
1139
+ React__default['default'].createElement('meta', { property: 'og:description', content: shareOptions.shareSummary, key: 'og:description' }),
1140
+ React__default['default'].createElement('meta', { name: 'twitter:card', content: 'summary', key: 'twitter:card' }),
1141
+ React__default['default'].createElement('meta', { name: 'twitter:title', content: shareOptions.shareTitle, key: 'twitter:title' }),
1142
+ React__default['default'].createElement('meta', { name: 'twitter:image', content: shareOptions.shareImage, key: 'twitter:image' }),
1143
+ React__default['default'].createElement('meta', { name: 'twitter:site', content: '@' + props.Settings.title, key: 'twitter:site' }),
1144
+ React__default['default'].createElement('meta', { name: 'twitter:description', content: shareOptions.shareSummary, key: 'twitter:description' }),
1145
+ React__default['default'].createElement(
1146
+ 'noscript',
1147
+ null,
1148
+ props.article.seriesDetail && props.article.seriesDetail.prevUrl && React__default['default'].createElement('link', { rel: 'prev', href: props.article.seriesDetail.prevUrl }),
1149
+ props.article.seriesDetail && props.article.seriesDetail.nextUrl && React__default['default'].createElement('link', { rel: 'next', href: props.article.seriesDetail.nextUrl })
1150
+ )
1151
+ ),
1152
+ !needInfiniteScroll ? React__default['default'].createElement(Article, _extends._extends({ infiniteScroll: false }, props)) : React__default['default'].createElement(Articles, _extends._extends({ infiniteScroll: true }, props))
1153
+ );
1154
+ };
1155
+
1156
+ module.exports = View;