@mjhls/mjh-framework 1.0.445 → 1.0.446

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +32 -0
  3. package/dist/cjs/AD300x250.js +60 -0
  4. package/dist/cjs/AD300x250x600.js +60 -0
  5. package/dist/cjs/AD728x90.js +134 -0
  6. package/dist/cjs/ADFloatingFooter.js +139 -0
  7. package/dist/cjs/ADFooter.js +45 -0
  8. package/dist/cjs/ADGutter.js +88 -0
  9. package/dist/cjs/{ADInfeed-ae1f348d.js → ADInfeed-7609d929.js} +2 -2
  10. package/dist/cjs/ADSponsoredResources.js +106 -0
  11. package/dist/cjs/ADWelcome.js +150 -0
  12. package/dist/cjs/{ADlgInfeed-f4c4a1bf.js → ADlgInfeed-700551ef.js} +2 -2
  13. package/dist/cjs/AccordionPanel.js +95 -0
  14. package/dist/cjs/AdSlot.js +166 -0
  15. package/dist/cjs/AdSlotsProvider.js +31 -0
  16. package/dist/cjs/AlphabeticList.js +137 -0
  17. package/dist/cjs/ArticleQueue.js +863 -0
  18. package/dist/cjs/Auth.js +3950 -0
  19. package/dist/cjs/{AuthorComponent-b44bb44e.js → AuthorComponent-5bb8f868.js} +1 -1
  20. package/dist/cjs/Beam.js +347 -0
  21. package/dist/cjs/{TaxonomyCard-fa09aac1.js → BlockContent-80608595.js} +0 -236
  22. package/dist/cjs/Breadcrumbs.js +108 -0
  23. package/dist/cjs/CMEDeck.js +454 -0
  24. package/dist/cjs/Column1.js +39 -0
  25. package/dist/cjs/Column2.js +67 -0
  26. package/dist/cjs/Column3.js +141 -0
  27. package/dist/cjs/ConferenceArticleCard.js +91 -0
  28. package/dist/cjs/ConferenceBanner-6c9e718a.js +24 -0
  29. package/dist/cjs/DeckContent.js +24 -13
  30. package/dist/cjs/DeckQueue.js +17 -10
  31. package/dist/cjs/{Dfp-d7639f4c.js → Dfp-19f10ad4.js} +8 -5
  32. package/dist/cjs/EventsDeck.js +1999 -0
  33. package/dist/cjs/Feature.js +120 -0
  34. package/dist/cjs/{Figure-cc919c38.js → Figure-ce37247b.js} +3 -2
  35. package/dist/cjs/ForbesHero.js +140 -0
  36. package/dist/cjs/GridContent.js +721 -33
  37. package/dist/cjs/GridHero.js +145 -0
  38. package/dist/cjs/GroupDeck.js +5 -3
  39. package/dist/cjs/HamMagazine.js +477 -0
  40. package/dist/cjs/Header.js +37 -0
  41. package/dist/cjs/Hero.js +56 -0
  42. package/dist/cjs/HighlightenVideo.js +69 -0
  43. package/dist/cjs/HorizontalHero.js +109 -0
  44. package/dist/cjs/InscreenSensor-04a70c60.js +864 -0
  45. package/dist/cjs/IssueContentDeck.js +4 -3
  46. package/dist/cjs/IssueDeck.js +6 -4
  47. package/dist/cjs/IssueLanding.js +115 -0
  48. package/dist/cjs/KMTracker.js +27 -0
  49. package/dist/cjs/LeftNav.js +99 -0
  50. package/dist/cjs/MasterDeck.js +15 -8
  51. package/dist/cjs/NavDvm.js +223 -0
  52. package/dist/cjs/NavFooter-3dcd99a8.js +66 -0
  53. package/dist/cjs/NavMagazine.js +436 -0
  54. package/dist/cjs/NavNative.js +278 -0
  55. package/dist/cjs/NavNormal.js +109 -0
  56. package/dist/cjs/OncliveHero.js +78 -0
  57. package/dist/cjs/OncliveLargeHero.js +243 -0
  58. package/dist/cjs/PageFilter.js +73 -0
  59. package/dist/cjs/PdfDownload.js +28 -0
  60. package/dist/cjs/PopUpModal.js +59 -0
  61. package/dist/cjs/PublicationLanding.js +556 -0
  62. package/dist/cjs/QueueDeckExpanded.js +20 -11
  63. package/dist/cjs/RelatedContent.js +107 -0
  64. package/dist/cjs/RelatedTopicsDropdown.js +90 -0
  65. package/dist/cjs/Search.js +67 -0
  66. package/dist/cjs/Segment.js +225 -0
  67. package/dist/cjs/SetCookie.js +10 -0
  68. package/dist/cjs/SideFooter.js +103 -0
  69. package/dist/cjs/SocialNavFooter-d9ab4d17.js +83 -0
  70. package/dist/cjs/SocialShare.js +72 -0
  71. package/dist/cjs/TaxonomyCard.js +241 -11
  72. package/dist/cjs/TemplateNormal.js +175 -13
  73. package/dist/cjs/Ustream.js +107 -6
  74. package/dist/cjs/VerticalHero.js +75 -0
  75. package/dist/cjs/VideoSeriesFilter.js +133 -0
  76. package/dist/cjs/VideoSeriesListing.js +13 -7
  77. package/dist/cjs/View.js +1156 -0
  78. package/dist/cjs/YahooHero.js +129 -0
  79. package/dist/cjs/YoutubeGroup.js +5 -3
  80. package/dist/cjs/_arrayMap-3b4a0f75.js +91 -0
  81. package/dist/cjs/_is-array-754e012d.js +74 -0
  82. package/dist/cjs/{_iter-detect-234453c3.js → _iter-detect-4d0352f8.js} +4 -4
  83. package/dist/cjs/_object-sap-5e74ba08.js +16 -0
  84. package/dist/cjs/_set-species-4458e975.js +56 -0
  85. package/dist/cjs/{AdSlot-257d8d4e.js → asyncToGenerator-db08763c.js} +1 -710
  86. package/dist/cjs/brightcove-react-player-loader.es-4ba0d3d5.js +2231 -0
  87. package/dist/cjs/{web.dom.iterable-5c889cf1.js → core.get-iterator-method-41e87ec1.js} +0 -46
  88. package/dist/cjs/debounce-32e57002.js +280 -0
  89. package/dist/cjs/{toConsumableArray-25d0e2a3.js → from-ea347372.js} +4 -29
  90. package/dist/cjs/{get-7a75c563.js → get-5dfcdc33.js} +14 -100
  91. package/dist/cjs/getKeywords.js +31 -0
  92. package/dist/cjs/getQuery.js +20 -0
  93. package/dist/cjs/getSerializers.js +8032 -0
  94. package/dist/cjs/getSeriesDetail.js +38 -0
  95. package/dist/cjs/getTargeting-3ced038f.js +108 -0
  96. package/dist/cjs/getTargeting.js +15 -0
  97. package/dist/cjs/iconBase-637d3f1e.js +83 -0
  98. package/dist/cjs/{debounce-420ff8a8.js → index-b2448ff6.js} +0 -483
  99. package/dist/cjs/index.esm-25423c2f.js +16 -0
  100. package/dist/cjs/index.esm-c0d8b44b.js +21 -0
  101. package/dist/cjs/index.esm-fcdbd2c6.js +31 -0
  102. package/dist/cjs/index.js +190 -23088
  103. package/dist/cjs/{inherits-b4036c94.js → inherits-4a2f1cc3.js} +6 -17
  104. package/dist/cjs/isSymbol-488934a7.js +211 -0
  105. package/dist/cjs/js.cookie-a511c430.js +160 -0
  106. package/dist/cjs/keys-a586b7a0.js +25 -0
  107. package/dist/cjs/{promise-0a493c7a.js → promise-074978a7.js} +15 -62
  108. package/dist/cjs/{slicedToArray-419d467a.js → slicedToArray-8063ee51.js} +5 -4
  109. package/dist/cjs/stringify-7c5aff47.js +17 -0
  110. package/dist/cjs/toConsumableArray-ca04303b.js +31 -0
  111. package/dist/cjs/{typeof-0d86b91c.js → typeof-583cdc4b.js} +20 -87
  112. package/dist/cjs/urlFor.js +10 -0
  113. package/dist/cjs/util-f2c1b65b.js +576 -0
  114. package/dist/cjs/web.dom.iterable-43c3e277.js +51 -0
  115. package/dist/esm/AD.js +26 -0
  116. package/dist/esm/AD300x250.js +54 -0
  117. package/dist/esm/AD300x250x600.js +54 -0
  118. package/dist/esm/AD728x90.js +128 -0
  119. package/dist/esm/ADFloatingFooter.js +133 -0
  120. package/dist/esm/ADFooter.js +39 -0
  121. package/dist/esm/ADGutter.js +82 -0
  122. package/dist/esm/{ADInfeed-dff74bbe.js → ADInfeed-1c17dc0e.js} +1 -1
  123. package/dist/esm/ADSponsoredResources.js +100 -0
  124. package/dist/esm/ADWelcome.js +144 -0
  125. package/dist/esm/{ADlgInfeed-7b29db85.js → ADlgInfeed-94d7f5dd.js} +1 -1
  126. package/dist/esm/AccordionPanel.js +88 -0
  127. package/dist/esm/AdSlot.js +159 -0
  128. package/dist/esm/AdSlotsProvider.js +25 -0
  129. package/dist/esm/AlphabeticList.js +131 -0
  130. package/dist/esm/ArticleQueue.js +855 -0
  131. package/dist/esm/Auth.js +3930 -0
  132. package/dist/esm/{AuthorComponent-4f5f15ed.js → AuthorComponent-f67cb027.js} +1 -1
  133. package/dist/esm/Beam.js +345 -0
  134. package/dist/esm/{TaxonomyCard-b22a742f.js → BlockContent-4af2feb9.js} +2 -233
  135. package/dist/esm/Breadcrumbs.js +101 -0
  136. package/dist/esm/CMEDeck.js +448 -0
  137. package/dist/esm/Column1.js +29 -0
  138. package/dist/esm/Column2.js +57 -0
  139. package/dist/esm/Column3.js +131 -0
  140. package/dist/esm/ConferenceArticleCard.js +85 -0
  141. package/dist/esm/ConferenceBanner-9162d0ca.js +18 -0
  142. package/dist/esm/DeckContent.js +24 -13
  143. package/dist/esm/DeckQueue.js +17 -10
  144. package/dist/esm/{Dfp-994cd0ab.js → Dfp-7addbfb1.js} +7 -4
  145. package/dist/esm/EventsDeck.js +1987 -0
  146. package/dist/esm/Feature.js +113 -0
  147. package/dist/esm/{Figure-1c55ebf0.js → Figure-408929f3.js} +4 -3
  148. package/dist/esm/ForbesHero.js +134 -0
  149. package/dist/esm/GridContent.js +714 -30
  150. package/dist/esm/GridHero.js +139 -0
  151. package/dist/esm/GroupDeck.js +6 -4
  152. package/dist/esm/HamMagazine.js +465 -0
  153. package/dist/esm/Header.js +28 -0
  154. package/dist/esm/Hero.js +50 -0
  155. package/dist/esm/HighlightenVideo.js +63 -0
  156. package/dist/esm/HorizontalHero.js +103 -0
  157. package/dist/esm/InscreenSensor-b7f931bf.js +857 -0
  158. package/dist/esm/IssueContentDeck.js +5 -4
  159. package/dist/esm/IssueDeck.js +8 -6
  160. package/dist/esm/IssueLanding.js +109 -0
  161. package/dist/esm/KMTracker.js +25 -0
  162. package/dist/esm/LeftNav.js +90 -0
  163. package/dist/esm/MasterDeck.js +17 -10
  164. package/dist/esm/NavDvm.js +211 -0
  165. package/dist/esm/NavFooter-c29526b7.js +60 -0
  166. package/dist/esm/NavMagazine.js +424 -0
  167. package/dist/esm/NavNative.js +266 -0
  168. package/dist/esm/NavNormal.js +97 -0
  169. package/dist/esm/OncliveHero.js +72 -0
  170. package/dist/esm/OncliveLargeHero.js +237 -0
  171. package/dist/esm/PageFilter.js +67 -0
  172. package/dist/esm/PdfDownload.js +22 -0
  173. package/dist/esm/PopUpModal.js +52 -0
  174. package/dist/esm/PublicationLanding.js +546 -0
  175. package/dist/esm/QueueDeckExpanded.js +22 -13
  176. package/dist/esm/RelatedContent.js +101 -0
  177. package/dist/esm/RelatedTopicsDropdown.js +82 -0
  178. package/dist/esm/Search.js +58 -0
  179. package/dist/esm/Segment.js +223 -0
  180. package/dist/esm/SetCookie.js +8 -0
  181. package/dist/esm/SideFooter.js +97 -0
  182. package/dist/esm/SocialNavFooter-1a531144.js +77 -0
  183. package/dist/esm/SocialShare.js +65 -0
  184. package/dist/esm/TaxonomyCard.js +237 -11
  185. package/dist/esm/TemplateNormal.js +175 -14
  186. package/dist/esm/Ustream.js +107 -6
  187. package/dist/esm/VerticalHero.js +69 -0
  188. package/dist/esm/VideoSeriesFilter.js +127 -0
  189. package/dist/esm/VideoSeriesListing.js +14 -8
  190. package/dist/esm/View.js +1145 -0
  191. package/dist/esm/YahooHero.js +123 -0
  192. package/dist/esm/YoutubeGroup.js +6 -4
  193. package/dist/esm/_arrayMap-a8dd2b2c.js +87 -0
  194. package/dist/esm/_is-array-dd5523d6.js +71 -0
  195. package/dist/esm/{_iter-detect-7c281f0a.js → _iter-detect-6e099a34.js} +2 -2
  196. package/dist/esm/_object-sap-56bb8073.js +14 -0
  197. package/dist/esm/_set-species-6f64f1c1.js +51 -0
  198. package/dist/esm/{_to-object-1b1f7766.js → _to-object-16fd8b46.js} +1 -1
  199. package/dist/esm/{AdSlot-362a1c30.js → asyncToGenerator-204b5a5c.js} +3 -703
  200. package/dist/esm/brightcove-react-player-loader.es-e1c6b0f2.js +2225 -0
  201. package/dist/esm/{web.dom.iterable-e6bf2bf6.js → core.get-iterator-method-f5c0d66a.js} +2 -47
  202. package/dist/esm/debounce-8cd9e09c.js +277 -0
  203. package/dist/esm/{extends-92072fff.js → extends-6e00b262.js} +1 -1
  204. package/dist/esm/{toConsumableArray-c5e2fde8.js → from-2c0a5f49.js} +4 -29
  205. package/dist/esm/{get-bc6cf9fb.js → get-ae817b75.js} +3 -86
  206. package/dist/esm/getKeywords.js +29 -0
  207. package/dist/esm/getQuery.js +18 -0
  208. package/dist/esm/getSerializers.js +8021 -0
  209. package/dist/esm/getSeriesDetail.js +36 -0
  210. package/dist/esm/getTargeting-8f4bd5db.js +105 -0
  211. package/dist/esm/getTargeting.js +9 -0
  212. package/dist/esm/iconBase-6ee2f2fb.js +81 -0
  213. package/dist/esm/{debounce-42a7f724.js → index-fb49124c.js} +2 -476
  214. package/dist/esm/index.esm-9d6faf80.js +17 -0
  215. package/dist/esm/index.esm-a7ad65ba.js +13 -0
  216. package/dist/esm/{index.esm-536609db.js → index.esm-b97cf389.js} +2 -80
  217. package/dist/esm/index.js +137 -23019
  218. package/dist/esm/{inherits-bbec2f34.js → inherits-2758cc14.js} +5 -15
  219. package/dist/esm/isSymbol-c1b9be80.js +203 -0
  220. package/dist/esm/js.cookie-6874175c.js +158 -0
  221. package/dist/esm/keys-04cdec91.js +23 -0
  222. package/dist/esm/{main-cf4930f0.js → main-8c8784b8.js} +1 -1
  223. package/dist/esm/{promise-2592a80a.js → promise-53143c9a.js} +6 -49
  224. package/dist/esm/{slicedToArray-04e02710.js → slicedToArray-f1e40361.js} +3 -2
  225. package/dist/esm/stringify-e30bc114.js +15 -0
  226. package/dist/esm/toConsumableArray-8712d678.js +29 -0
  227. package/dist/esm/{typeof-09bf9211.js → typeof-7e72fee0.js} +5 -70
  228. package/dist/esm/urlFor.js +8 -0
  229. package/dist/esm/util-7700fc59.js +574 -0
  230. package/dist/esm/web.dom.iterable-46c95e52.js +49 -0
  231. package/package.json +1 -1
  232. package/dist/cjs/GridContent-6a0216fb.js +0 -728
  233. package/dist/cjs/Normal-430e8e61.js +0 -2315
  234. package/dist/cjs/Ustream-46288bdf.js +0 -119
  235. package/dist/cjs/index.esm-340d3792.js +0 -110
  236. package/dist/esm/GridContent-7e11f013.js +0 -717
  237. package/dist/esm/Normal-6efd92da.js +0 -2282
  238. package/dist/esm/Ustream-c4f281a3.js +0 -112
@@ -1,35 +1,719 @@
1
1
  import './_commonjsHelpers-0c4b6f40.js';
2
- import './_to-object-1b1f7766.js';
3
- import './web.dom.iterable-e6bf2bf6.js';
2
+ import './_to-object-16fd8b46.js';
3
+ import './core.get-iterator-method-f5c0d66a.js';
4
4
  import './_library-528f1934.js';
5
- import './_iter-detect-7c281f0a.js';
6
- import './toConsumableArray-c5e2fde8.js';
5
+ import './_iter-detect-6e099a34.js';
6
+ import './from-2c0a5f49.js';
7
+ import { _ as _toConsumableArray } from './toConsumableArray-8712d678.js';
7
8
  import './_object-pie-33c40e79.js';
8
- import './extends-92072fff.js';
9
- import './inherits-bbec2f34.js';
10
- import './typeof-09bf9211.js';
11
- import 'react';
12
- import './debounce-42a7f724.js';
9
+ import { _ as _extends } from './extends-6e00b262.js';
10
+ import './_object-sap-56bb8073.js';
11
+ import { _ as _inherits, a as _classCallCheck, b as _possibleConstructorReturn, c as _Object$getPrototypeOf, d as _createClass } from './inherits-2758cc14.js';
12
+ import './web.dom.iterable-46c95e52.js';
13
+ import './typeof-7e72fee0.js';
14
+ import './_is-array-dd5523d6.js';
15
+ import React from 'react';
16
+ import { l as lib_3 } from './index-fb49124c.js';
13
17
  import 'prop-types';
14
- import 'react-bootstrap/Container';
15
- import 'react-bootstrap/Row';
16
- import 'react-bootstrap/Col';
17
- import 'react-bootstrap/Card';
18
- import './moment-12415288.js';
19
- import 'next/router';
20
- import './index.es-27d0bae9.js';
18
+ import Container from 'react-bootstrap/Container';
19
+ import Row from 'react-bootstrap/Row';
20
+ import Col from 'react-bootstrap/Col';
21
+ import Card from 'react-bootstrap/Card';
22
+ import { m as moment } from './moment-12415288.js';
23
+ import { withRouter } from 'next/router';
24
+ import './isSymbol-c1b9be80.js';
25
+ import { d as debounce_1 } from './debounce-8cd9e09c.js';
26
+ import { I as InfiniteScroll } from './index.es-27d0bae9.js';
21
27
  import 'react-dom';
22
- import './visibility-sensor-87d6b78c.js';
23
- import './index-73819142.js';
24
- import './index-c5fd0af5.js';
25
- import './main-cf4930f0.js';
26
- import './entities-7cc3bf45.js';
27
- import './slicedToArray-04e02710.js';
28
- import './AdSlot-362a1c30.js';
29
- import './promise-2592a80a.js';
30
- import './ADInfeed-dff74bbe.js';
31
- import './lodash-17fdfebb.js';
32
- import './ADlgInfeed-7b29db85.js';
33
- import './get-bc6cf9fb.js';
34
- export { G as default } from './GridContent-7e11f013.js';
35
- import './AuthorComponent-4f5f15ed.js';
28
+ import { V as VisibilitySensor } from './visibility-sensor-87d6b78c.js';
29
+ import { i as imageUrlBuilder } from './index-73819142.js';
30
+ import { L as LazyLoad } from './index-c5fd0af5.js';
31
+ import { m as main_36 } from './main-8c8784b8.js';
32
+ import { c as clean_html_1 } from './entities-7cc3bf45.js';
33
+ import './slicedToArray-f1e40361.js';
34
+ import './stringify-e30bc114.js';
35
+ import './asyncToGenerator-204b5a5c.js';
36
+ import './_set-species-6f64f1c1.js';
37
+ import './promise-53143c9a.js';
38
+ import './Beam.js';
39
+ import './Segment.js';
40
+ import './AdSlot.js';
41
+ import { A as ADInfeed } from './ADInfeed-1c17dc0e.js';
42
+ import { l as lodash } from './lodash-17fdfebb.js';
43
+ import { A as ADlgInfeed } from './ADlgInfeed-94d7f5dd.js';
44
+ import './_arrayMap-a8dd2b2c.js';
45
+ import { g as get_1 } from './get-ae817b75.js';
46
+ import './AD.js';
47
+ import { A as AuthorComponent } from './AuthorComponent-f67cb027.js';
48
+
49
+ var GridContent = function (_React$Component) {
50
+ _inherits(GridContent, _React$Component);
51
+
52
+ function GridContent() {
53
+ var _ref;
54
+
55
+ var _temp, _this, _ret;
56
+
57
+ _classCallCheck(this, GridContent);
58
+
59
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
60
+ args[_key] = arguments[_key];
61
+ }
62
+
63
+ return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = GridContent.__proto__ || _Object$getPrototypeOf(GridContent)).call.apply(_ref, [this].concat(args))), _this), _this.page = _this.props.page, _this.mapping = _this.props.mapping, _this.data = _this.props.dataRecord, _this.query = _this.props.query, _this.params = _this.props.params, _this.pointer = _this.props.pointer ? _this.props.pointer : false, _this.pointerArray = _this.props.pointerArray ? _this.props.pointerArray : false, _this.defaultImage = _this.props.defaultImage ? _this.props.defaultImage : '/placeholder.jpg', _this.state = {
64
+ data: _this.data,
65
+ per: _this.params ? _this.params.to : 2,
66
+ page: _this.props.currentPage || 1,
67
+ from: _this.params ? _this.params.from : 0,
68
+ to: _this.params ? _this.params.to : 2,
69
+ total_pages: null,
70
+ scrolling: true,
71
+ query: _this.query,
72
+ currentPage: _this.props.currentPage || 1,
73
+ lgInfeedAd: _this.props.lgInfeedAd ? _this.props.lgInfeedAd : false
74
+ }, _this.loadMore = debounce_1(function () {
75
+ _this.setState(function (state) {
76
+ var page = state.page,
77
+ from = state.from,
78
+ per = state.per,
79
+ to = state.to;
80
+
81
+ return {
82
+ page: page + 1,
83
+ from: from + per,
84
+ to: to + per
85
+ };
86
+ }, _this.loadData);
87
+ }, 0), _this.componentDidMount = function () {
88
+ document.addEventListener('scroll', _this.trackScrolling);
89
+ }, _this.componentWillUnmount = function () {
90
+ document.removeEventListener('scroll', _this.trackScrolling);
91
+ }, _this.componentDidUpdate = function (prevProps, prevState) {
92
+ if (prevState.currentPage !== _this.state.currentPage) {
93
+ document.addEventListener('scroll', _this.trackScrolling);
94
+ }
95
+
96
+ // Logging GA Pageview on path change
97
+ var _this$props = _this.props,
98
+ pageview = _this$props.pageview,
99
+ currentPath = _this$props.router.asPath;
100
+ var prevPath = prevProps.router.asPath;
101
+
102
+ if (pageview && currentPath !== prevPath) {
103
+ pageview(currentPath);
104
+ }
105
+ }, _this.trackScrolling = function () {
106
+ var itemsPerPage = _this.props.params.itemsPerPage ? _this.props.params.itemsPerPage : 10;
107
+ if (window.pageYOffset === 0) {
108
+ if (_this.state.currentPage > 1) {
109
+ _this.changePageNumber(1, itemsPerPage, 1);
110
+ }
111
+ }
112
+ }, _this.loadData = function () {
113
+ var _this$state = _this.state,
114
+ from = _this$state.from,
115
+ to = _this$state.to,
116
+ data = _this$state.data,
117
+ query = _this$state.query,
118
+ page = _this$state.page;
119
+ var client = _this.props.client;
120
+
121
+
122
+ var params = _extends({}, _this.params, { from: from, to: to
123
+ // const queryUpdated = query.replace('$from', params.from).replace('$to', params.to)
124
+ });client.fetch(query, params).then(function (dataArr) {
125
+ if (_this.pointer && _this.pointerArray) {
126
+ var pointer = _this.pointer;
127
+ dataArr = dataArr[_this.pointerArray][pointer];
128
+ }
129
+ dataArr = dataArr.map(function (item) {
130
+ return _extends({}, item, {
131
+ pageNumber: page
132
+ });
133
+ });
134
+
135
+ _this.setState(function () {
136
+ if (dataArr.length > 0) {
137
+ return {
138
+ data: [].concat(_toConsumableArray(data), _toConsumableArray(dataArr)),
139
+ scrolling: true
140
+ };
141
+ } else {
142
+ return {
143
+ scrolling: false
144
+ };
145
+ }
146
+ });
147
+ });
148
+ }, _this.urlFor = function (source) {
149
+ var client = _this.props.client;
150
+
151
+ var builder = imageUrlBuilder(client);
152
+ return builder.image(source).auto('format');
153
+ }, _this.renderCardImage = function (row, page) {
154
+ if (row.thumbnail && row.thumbnail.asset) {
155
+ var url = _this.urlFor(row.thumbnail);
156
+ if (_this.props.imageHeight) url = url.height(_this.props.imageHeight);
157
+ if (_this.props.imageWidth) url = url.width(_this.props.imageWidth);
158
+ return url.url();
159
+ } else {
160
+ return _this.defaultImage;
161
+ }
162
+ }, _this.changePageNumber = function (pageNumber, itemsPerPage, itemIndex) {
163
+ var _this$props2 = _this.props,
164
+ seoPaginate = _this$props2.seoPaginate,
165
+ pageview = _this$props2.pageview,
166
+ router = _this$props2.router;
167
+ var currentPage = _this.state.currentPage;
168
+
169
+ if (seoPaginate) {
170
+ var path = router.asPath;
171
+ var qrIndex = path.indexOf('?');
172
+ var pathname = router.pathname;
173
+ var queryString = '';
174
+
175
+ if (qrIndex > 0) {
176
+ path = path.substring(1, qrIndex);
177
+
178
+ var partialQS = router.asPath.substring(qrIndex + 1);
179
+ var partialQSArr = partialQS.split('&');
180
+
181
+ // exclude page=xxx from query string
182
+ partialQSArr.map(function (item) {
183
+ var itemArr = item.split('=');
184
+ var key = itemArr[0];
185
+ var val = itemArr[1];
186
+
187
+ if (key !== 'page') {
188
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
189
+ }
190
+ });
191
+ }
192
+
193
+ if (queryString.length > 0) {
194
+ path += '?' + queryString;
195
+ }
196
+
197
+ // pageNumber = parseInt(pageNumber)
198
+
199
+ var index = Number(itemIndex);
200
+ var perPage = Number(itemsPerPage);
201
+
202
+ pageNumber = Math.ceil((index + 1) / perPage);
203
+
204
+ if (currentPage !== pageNumber) {
205
+ lib_3.refresh();
206
+
207
+ _this.setState({
208
+ currentPage: pageNumber
209
+ }, function () {
210
+ if (path[0] !== '/') {
211
+ path = '/' + path;
212
+ }
213
+
214
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
215
+ // if (pageview) {
216
+ // pageview(newPath)
217
+ // }
218
+
219
+ router.push(pathname, newPath, {
220
+ shallow: true
221
+ });
222
+ });
223
+ }
224
+ }
225
+ }, _this.checkExternalUrl = function (url) {
226
+ return new RegExp(['http', 'https'].join('|')).test(url);
227
+ }, _this.renderMobileAd = function (index, numberOfItemsBeforeAd) {
228
+ var rightItems = _this.props.rightItems;
229
+
230
+ var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
231
+ return React.createElement(
232
+ 'div',
233
+ { style: { display: 'flex', flex: '1 0 auto' } },
234
+ rightItems[i].component
235
+ );
236
+ }, _this.renderManualPagination = function () {
237
+ var currentPage = _this.state.currentPage;
238
+
239
+ return React.createElement(
240
+ 'div',
241
+ { className: 'd-flex justify-content-between' },
242
+ currentPage && currentPage > 1 && React.createElement(
243
+ 'a',
244
+ { href: '?page=' + (currentPage - 1) },
245
+ '<< Previous'
246
+ ),
247
+ React.createElement(
248
+ 'a',
249
+ { href: '?page=' + (currentPage + 1) },
250
+ 'Next >>'
251
+ )
252
+ );
253
+ }, _temp), _possibleConstructorReturn(_this, _ret);
254
+ }
255
+
256
+ _createClass(GridContent, [{
257
+ key: 'cardLoader',
258
+ value: function cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight, lgInfeedAd) {
259
+ var _this2 = this;
260
+
261
+ var lgVar = Math.floor(12 / columns);
262
+ var itemCounter = 0;
263
+ var numberOfItemsBeforeAd = 6;
264
+ var numberOfItemsBeforeVideo = 3;
265
+ if (variant === 'stack') {
266
+ return React.createElement(
267
+ Row,
268
+ null,
269
+ this.state.data && this.state.data.length > 0 ? this.state.data.map(function (row, index) {
270
+ // const thumbnailURL = get(row, 'thumbnail.asset.url', this.props.defaultImage)
271
+ return React.createElement(
272
+ Col,
273
+ { key: index, md: 12, lg: lgVar, style: { display: 'flex', flex: '1 0 auto' } },
274
+ React.createElement(
275
+ Card,
276
+ { className: 'queue-card', style: { borderTop: '1px solid #EEE' } },
277
+ React.createElement(
278
+ Row,
279
+ { style: { flexDirection: 'row' } },
280
+ React.createElement(
281
+ Col,
282
+ { md: 12, lg: 4 },
283
+ React.createElement(
284
+ 'a',
285
+ { href: _this2.page + '/' + get_1(row, 'url.current') },
286
+ React.createElement(
287
+ LazyLoad,
288
+ { height: _this2.props.imageHeight },
289
+ React.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
290
+ )
291
+ )
292
+ ),
293
+ React.createElement(
294
+ Col,
295
+ null,
296
+ React.createElement(
297
+ Card.Body,
298
+ { style: { padding: '20px' } },
299
+ React.createElement(
300
+ Card.Title,
301
+ null,
302
+ React.createElement(
303
+ 'a',
304
+ { href: _this2.page + '/' + get_1(row, 'url.current') },
305
+ row.title
306
+ )
307
+ ),
308
+ _this2.props.showPublished && row.published && React.createElement(
309
+ Card.Subtitle,
310
+ { style: { marginTop: 0 } },
311
+ moment(row.published).format('MMMM DD, YYYY')
312
+ ),
313
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React.createElement(
314
+ LazyLoad,
315
+ { height: 50 },
316
+ React.createElement(AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
317
+ ),
318
+ React.createElement(
319
+ Card.Text,
320
+ null,
321
+ clean_html_1(row.summary)
322
+ )
323
+ )
324
+ )
325
+ )
326
+ )
327
+ );
328
+ }) : React.createElement(
329
+ 'div',
330
+ null,
331
+ React.createElement(
332
+ 'h5',
333
+ null,
334
+ React.createElement(
335
+ 'em',
336
+ null,
337
+ 'New content coming soon, please check back later.'
338
+ )
339
+ )
340
+ )
341
+ );
342
+ }
343
+
344
+ var insert = function insert(arr, index, newElement) {
345
+ return [].concat(_toConsumableArray(arr.slice(0, index)), [newElement], _toConsumableArray(arr.slice(index)));
346
+ };
347
+ var posts = [];
348
+ if (brandInsight && (lgInfeedAd || showBI)) {
349
+ var firstThree = this.state.data.slice(0, 3);
350
+ var data = this.state.data.slice(3);
351
+
352
+ // Need to pass flag "lgInfeedAd={true}" along with brandInsight from site level for large infeed-ad to render
353
+ // Checking lgInfeedAd flag in desktop view ( window >= 1200px ).
354
+ if (lgInfeedAd && window && window.innerWidth >= 1200) {
355
+ var lgInFeedAd = {
356
+ _type: 'lg-infeed',
357
+ adUnit: brandInsight.adUnit,
358
+ className: 'lg-infeed',
359
+ networkID: brandInsight.networkID,
360
+ sizes: [728, 90],
361
+ targeting: {
362
+ content_placement: brandInsight.targeting.content_placement,
363
+ document_url: brandInsight.targeting.document_url
364
+ }
365
+ };
366
+ var chunks = lodash.chunk(data, 6).map(function (chunk) {
367
+ var set = lodash.chunk(chunk, 2);
368
+ for (var i = 0; i < set.length; i++) {
369
+ if (i !== set.length - 1) {
370
+ set[i].push(lgInFeedAd);
371
+ }
372
+ }
373
+ return lodash.flattenDeep(set);
374
+ });
375
+
376
+ posts = lodash.flatten(chunks);
377
+ }
378
+
379
+ if (showBI) {
380
+ // Checking lgInfeedAd flag in desktop view ( window >= 1200px ).
381
+ if (lgInfeedAd && window && window.innerWidth >= 1200) {
382
+ brandInsight.interval = 8;
383
+ } else {
384
+ brandInsight.interval = 5;
385
+ posts = data;
386
+ }
387
+
388
+ var pos = 0;
389
+ for (var i = 1; pos < posts.length; i++) {
390
+ var inFeedAd = {
391
+ adUnit: brandInsight.adUnit,
392
+ className: brandInsight.className,
393
+ networkID: brandInsight.networkID,
394
+ sizes: brandInsight.sizes,
395
+ slotId: brandInsight.slotId + '_' + i,
396
+ targeting: {
397
+ pos: 'article' + i,
398
+ content_placement: brandInsight.targeting.content_placement,
399
+ document_url: brandInsight.targeting.document_url
400
+ },
401
+ _type: 'BrandInsight'
402
+ };
403
+
404
+ posts = insert(posts, pos, inFeedAd);
405
+ pos += brandInsight.interval + 1;
406
+ }
407
+ }
408
+ posts = firstThree.concat(posts);
409
+ posts = posts.map(function (ele, i) {
410
+ if (ele._type === 'lg-infeed') {
411
+ // Setting pos as top2 for the first occurence of large infeed ad
412
+ var _pos = posts.indexOf(posts.find(function (d) {
413
+ return d._type === 'lg-infeed';
414
+ })) === i ? 'top2' : 'lg-infeed_' + i;
415
+ return _extends({}, ele, { slotId: 'lg-infeed_' + i, targeting: _extends({}, ele.targeting, { pos: _pos }) });
416
+ } else {
417
+ return ele;
418
+ }
419
+ });
420
+ } else {
421
+ posts = this.state.data;
422
+ }
423
+ var itemsPerPage = this.props.params && this.props.params.itemsPerPage ? this.props.params.itemsPerPage : 10;
424
+ var heroContent = this.props.heroContent ? this.props.heroContent : 0;
425
+ var featureCount = 0;
426
+ return React.createElement(
427
+ 'div',
428
+ { className: 'grid-container' },
429
+ posts && posts.length > 0 ? posts.map(function (row, index) {
430
+ var pageNumber = row.pageNumber || _this2.state.page;
431
+ var contentCategoryName = row.contentCategory && row.contentCategory.name && _this2.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
432
+ var linkHref = row.url && row.url.current ? _this2.mapping[contentCategoryName] + '/' + row.url.current : '';
433
+ if (row._type === 'feature') {
434
+ featureCount++;
435
+ if (row.blank || _this2.checkExternalUrl(row.url.current)) {
436
+ return React.createElement(
437
+ React.Fragment,
438
+ { key: itemCounter },
439
+ React.createElement(
440
+ VisibilitySensor,
441
+ {
442
+ partialVisibility: true,
443
+ onChange: function onChange(isVisible) {
444
+ isVisible && _this2.changePageNumber(1, itemsPerPage, index);
445
+ } },
446
+ React.createElement(
447
+ 'div',
448
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
449
+ React.createElement(
450
+ Card,
451
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
452
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React.createElement(
453
+ 'a',
454
+ { href: row.url.current, target: '_blank', className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
455
+ React.createElement(
456
+ LazyLoad,
457
+ { height: _this2.props.imageHeight },
458
+ React.createElement(Card.Img, {
459
+ variant: 'top',
460
+ src: _this2.renderCardImage(row, page),
461
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
462
+ })
463
+ )
464
+ ),
465
+ React.createElement(
466
+ Card.Body,
467
+ null,
468
+ React.createElement(
469
+ 'a',
470
+ { href: row.url.current, target: '_blank' },
471
+ React.createElement(
472
+ Card.Title,
473
+ null,
474
+ row.title
475
+ )
476
+ ),
477
+ _this2.props.showPublished && row.published && React.createElement(
478
+ Card.Subtitle,
479
+ { style: { marginTop: 0 } },
480
+ moment(row.published).format('MMMM DD, YYYY')
481
+ ),
482
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React.createElement(
483
+ LazyLoad,
484
+ { height: 50 },
485
+ React.createElement(AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
486
+ ),
487
+ React.createElement(
488
+ Card.Text,
489
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
490
+ clean_html_1(row.summary)
491
+ )
492
+ )
493
+ )
494
+ )
495
+ ),
496
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React.createElement(VideoPlayer, null),
497
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
498
+ );
499
+ } else {
500
+ return React.createElement(
501
+ React.Fragment,
502
+ { key: itemCounter },
503
+ React.createElement(
504
+ VisibilitySensor,
505
+ {
506
+ partialVisibility: true,
507
+ onChange: function onChange(isVisible) {
508
+ isVisible && _this2.changePageNumber(1, itemsPerPage, index);
509
+ } },
510
+ React.createElement(
511
+ 'div',
512
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
513
+ React.createElement(
514
+ Card,
515
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
516
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React.createElement(
517
+ 'a',
518
+ { href: row.url.current, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
519
+ React.createElement(
520
+ LazyLoad,
521
+ { height: _this2.props.imageHeight },
522
+ React.createElement(Card.Img, {
523
+ variant: 'top',
524
+ src: _this2.renderCardImage(row, page),
525
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
526
+ })
527
+ )
528
+ ),
529
+ React.createElement(
530
+ Card.Body,
531
+ null,
532
+ React.createElement(
533
+ 'a',
534
+ { href: row.url.current },
535
+ React.createElement(
536
+ Card.Title,
537
+ null,
538
+ row.title
539
+ )
540
+ ),
541
+ _this2.props.showPublished && row.published && React.createElement(
542
+ Card.Subtitle,
543
+ { style: { marginTop: 0 } },
544
+ moment(row.published).format('MMMM DD, YYYY')
545
+ ),
546
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React.createElement(
547
+ LazyLoad,
548
+ { height: 50 },
549
+ React.createElement(AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
550
+ ),
551
+ React.createElement(
552
+ Card.Text,
553
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
554
+ clean_html_1(row.summary)
555
+ )
556
+ )
557
+ )
558
+ )
559
+ ),
560
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React.createElement(VideoPlayer, null),
561
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
562
+ );
563
+ }
564
+ } else if (row._type === 'lg-infeed' && row.adUnit) {
565
+ return React.createElement(ADlgInfeed, _extends({ index: index }, row));
566
+ } else if (row._type === 'BrandInsight' && row.adUnit) {
567
+ return React.createElement(ADInfeed, { index: index, infeedAd: row });
568
+ }
569
+ if (index + 1 > heroContent + featureCount && (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type))) {
570
+ return React.createElement(
571
+ React.Fragment,
572
+ { key: itemCounter },
573
+ React.createElement(
574
+ VisibilitySensor,
575
+ {
576
+ onChange: function onChange(isVisible) {
577
+ isVisible && _this2.changePageNumber(pageNumber, itemsPerPage, index);
578
+ } },
579
+ React.createElement(
580
+ 'div',
581
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
582
+ React.createElement(
583
+ Card,
584
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
585
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React.createElement(
586
+ 'a',
587
+ { href: linkHref, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
588
+ React.createElement(
589
+ LazyLoad,
590
+ { height: _this2.props.imageHeight },
591
+ React.createElement(Card.Img, {
592
+ variant: 'top',
593
+ src: _this2.renderCardImage(row, page),
594
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
595
+ })
596
+ )
597
+ ),
598
+ React.createElement(
599
+ Card.Body,
600
+ null,
601
+ React.createElement(
602
+ 'a',
603
+ { href: linkHref },
604
+ React.createElement(
605
+ Card.Title,
606
+ null,
607
+ row.title
608
+ )
609
+ ),
610
+ _this2.props.showPublished && row.published && React.createElement(
611
+ Card.Subtitle,
612
+ { style: { marginTop: 0 } },
613
+ moment(row.published).format('MMMM DD, YYYY')
614
+ ),
615
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && React.createElement(
616
+ LazyLoad,
617
+ { height: 50 },
618
+ React.createElement(AuthorComponent, { key: index.toString(), index: index, authors: row.authorMapping })
619
+ ),
620
+ React.createElement(
621
+ Card.Text,
622
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
623
+ clean_html_1(row.summary)
624
+ )
625
+ )
626
+ )
627
+ )
628
+ ),
629
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React.createElement(VideoPlayer, null),
630
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
631
+ );
632
+ } else return null;
633
+ }) : React.createElement(
634
+ 'div',
635
+ null,
636
+ React.createElement(
637
+ 'h5',
638
+ null,
639
+ React.createElement(
640
+ 'em',
641
+ null,
642
+ 'New content coming soon, please check back later.'
643
+ )
644
+ )
645
+ )
646
+ );
647
+ }
648
+ }, {
649
+ key: 'render',
650
+ value: function render() {
651
+ var _this3 = this;
652
+
653
+ var _props = this.props,
654
+ columns = _props.columns,
655
+ variant = _props.variant,
656
+ autoScroll = _props.autoScroll,
657
+ page = _props.page,
658
+ showVideo = _props.showVideo,
659
+ VideoPlayer = _props.VideoPlayer,
660
+ showBI = _props.showBI,
661
+ brandInsight = _props.brandInsight;
662
+
663
+
664
+ return React.createElement(
665
+ 'div',
666
+ { className: 'contentDeck' },
667
+ autoScroll ? React.createElement(
668
+ InfiniteScroll,
669
+ { dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling },
670
+ React.createElement(
671
+ Container,
672
+ null,
673
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight, this.state.lgInfeedAd)
674
+ )
675
+ ) : React.createElement(
676
+ React.Fragment,
677
+ null,
678
+ React.createElement(
679
+ Container,
680
+ null,
681
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight, this.state.lgInfeedAd)
682
+ ),
683
+ React.createElement(
684
+ 'div',
685
+ { style: { padding: '0px 10px' } },
686
+ this.state.scrolling ? React.createElement(
687
+ 'button',
688
+ {
689
+ style: { margin: 'auto', width: '100%' },
690
+ onClick: function onClick(e) {
691
+ _this3.loadMore();
692
+ } },
693
+ 'Load More'
694
+ ) : React.createElement(
695
+ 'p',
696
+ { style: { textAlign: 'center' } },
697
+ React.createElement(
698
+ 'b',
699
+ null,
700
+ 'End of data'
701
+ )
702
+ )
703
+ ),
704
+ React.createElement(
705
+ 'noscript',
706
+ null,
707
+ this.renderManualPagination()
708
+ )
709
+ )
710
+ );
711
+ }
712
+ }]);
713
+
714
+ return GridContent;
715
+ }(React.Component);
716
+
717
+ var GridContent$1 = React.memo(withRouter(GridContent));
718
+
719
+ export default GridContent$1;