@mjhls/mjh-framework 1.0.204 → 1.0.205

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 (74) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD-e2479b7c.js +31 -0
  3. package/dist/cjs/DeckContent.js +430 -0
  4. package/dist/cjs/DeckQueue.js +366 -0
  5. package/dist/cjs/Dfp-d94f7f73.js +97 -0
  6. package/dist/cjs/GridContent.js +613 -0
  7. package/dist/cjs/GroupDeck.js +156 -0
  8. package/dist/cjs/IssueContentDeck.js +81 -0
  9. package/dist/cjs/IssueDeck.js +144 -0
  10. package/dist/cjs/MasterDeck.js +340 -0
  11. package/dist/cjs/Normal-7dd8c339.js +2374 -0
  12. package/dist/cjs/PublicationDeck.js +81 -0
  13. package/dist/cjs/QueueDeckExpanded.js +559 -0
  14. package/dist/cjs/TaxonomyCard-7b5b4298.js +1045 -0
  15. package/dist/cjs/TaxonomyCard.js +18 -0
  16. package/dist/cjs/TemplateNormal.js +29 -0
  17. package/dist/cjs/ThumbnailCard.js +58 -0
  18. package/dist/cjs/Ustream-0d3dd953.js +122 -0
  19. package/dist/cjs/Ustream.js +10 -0
  20. package/dist/cjs/VideoSeriesListing.js +248 -0
  21. package/dist/cjs/YoutubeGroup-f7707ceb.js +228 -0
  22. package/dist/cjs/YoutubeGroup.js +13 -0
  23. package/dist/cjs/_babelHelpers-f321c258.js +119 -0
  24. package/dist/cjs/_commonjsHelpers-3fc1f64e.js +20 -0
  25. package/dist/cjs/debounce-286eb3fb.js +279 -0
  26. package/dist/cjs/entities-3e0b4a16.js +506 -0
  27. package/dist/cjs/get-06aac51b.js +992 -0
  28. package/dist/cjs/index-0d0efcfa.js +610 -0
  29. package/dist/cjs/index-a4c53ff4.js +551 -0
  30. package/dist/cjs/index.es-2289df51.js +5028 -0
  31. package/dist/cjs/index.esm-340d3792.js +113 -0
  32. package/dist/cjs/index.js +12044 -0
  33. package/dist/cjs/isSymbol-311eb805.js +209 -0
  34. package/dist/cjs/main-58839f4e.js +858 -0
  35. package/dist/cjs/visibility-sensor-5c5a7302.js +2251 -0
  36. package/dist/esm/AD-1b2a3dd3.js +26 -0
  37. package/dist/esm/DeckContent.js +424 -0
  38. package/dist/esm/DeckQueue.js +360 -0
  39. package/dist/esm/Dfp-ab7941d3.js +92 -0
  40. package/dist/esm/GridContent.js +607 -0
  41. package/dist/esm/GroupDeck.js +151 -0
  42. package/dist/esm/IssueContentDeck.js +76 -0
  43. package/dist/esm/IssueDeck.js +139 -0
  44. package/dist/esm/MasterDeck.js +334 -0
  45. package/dist/esm/Normal-403c5666.js +2354 -0
  46. package/dist/esm/PublicationDeck.js +76 -0
  47. package/dist/esm/QueueDeckExpanded.js +553 -0
  48. package/dist/esm/TaxonomyCard-f9c93953.js +1039 -0
  49. package/dist/esm/TaxonomyCard.js +12 -0
  50. package/dist/esm/TemplateNormal.js +23 -0
  51. package/dist/esm/ThumbnailCard.js +53 -0
  52. package/dist/esm/Ustream-6bb45fe7.js +116 -0
  53. package/dist/esm/Ustream.js +4 -0
  54. package/dist/esm/VideoSeriesListing.js +242 -0
  55. package/dist/esm/YoutubeGroup-06df4923.js +222 -0
  56. package/dist/esm/YoutubeGroup.js +7 -0
  57. package/dist/esm/_babelHelpers-67c05996.js +111 -0
  58. package/dist/esm/_commonjsHelpers-ae1b5db5.js +15 -0
  59. package/dist/esm/debounce-a0242b4a.js +277 -0
  60. package/dist/esm/entities-e85d3a4a.js +503 -0
  61. package/dist/esm/get-b684ff61.js +990 -0
  62. package/dist/esm/index-3c1ee9ab.js +605 -0
  63. package/dist/esm/index-ca4ff5cb.js +548 -0
  64. package/dist/esm/index.es-f369b3e8.js +5022 -0
  65. package/dist/esm/index.esm-536609db.js +103 -0
  66. package/dist/esm/index.js +11991 -0
  67. package/dist/esm/isSymbol-c2b7d05a.js +203 -0
  68. package/dist/esm/main-dea495b7.js +851 -0
  69. package/dist/esm/visibility-sensor-3cfe6713.js +2243 -0
  70. package/package.json +8 -7
  71. package/dist/index.es.js +0 -30261
  72. package/dist/index.es.js.map +0 -1
  73. package/dist/index.js +0 -30320
  74. package/dist/index.js.map +0 -1
@@ -0,0 +1,607 @@
1
+ import React__default from 'react';
2
+ import './_commonjsHelpers-ae1b5db5.js';
3
+ import { V as VisibilitySensor, l as lib_3 } from './visibility-sensor-3cfe6713.js';
4
+ import 'prop-types';
5
+ import Container from 'react-bootstrap/Container';
6
+ import Row from 'react-bootstrap/Row';
7
+ import Col from 'react-bootstrap/Col';
8
+ import Card from 'react-bootstrap/Card';
9
+ import { m as moment, I as InfiniteScroll } from './index.es-f369b3e8.js';
10
+ import 'next/link';
11
+ import { withRouter } from 'next/router';
12
+ import './isSymbol-c2b7d05a.js';
13
+ import { d as debounce_1 } from './debounce-a0242b4a.js';
14
+ import 'react-dom';
15
+ import { i as imageUrlBuilder } from './index-ca4ff5cb.js';
16
+ import { L as LazyLoad } from './index-3c1ee9ab.js';
17
+ import { a as main_36 } from './main-dea495b7.js';
18
+ import { c as clean_html_1 } from './entities-e85d3a4a.js';
19
+ import { i as inherits, c as createClass, t as toConsumableArray, a as classCallCheck, p as possibleConstructorReturn, _ as _extends } from './_babelHelpers-67c05996.js';
20
+ import { g as get_1 } from './get-b684ff61.js';
21
+ import { A as AD } from './AD-1b2a3dd3.js';
22
+
23
+ var GridContent = function (_React$Component) {
24
+ inherits(GridContent, _React$Component);
25
+
26
+ function GridContent() {
27
+ var _ref;
28
+
29
+ var _temp, _this, _ret;
30
+
31
+ classCallCheck(this, GridContent);
32
+
33
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
34
+ args[_key] = arguments[_key];
35
+ }
36
+
37
+ 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 = {
38
+ data: _this.data,
39
+ per: _this.params ? _this.params.to : 2,
40
+ page: _this.props.currentPage || 1,
41
+ from: _this.params ? _this.params.from : 0,
42
+ to: _this.params ? _this.params.to : 2,
43
+ total_pages: null,
44
+ scrolling: true,
45
+ query: _this.query,
46
+ currentPage: _this.props.currentPage || 1
47
+ }, _this.loadMore = debounce_1(function () {
48
+ _this.setState(function (state) {
49
+ var page = state.page,
50
+ from = state.from,
51
+ per = state.per,
52
+ to = state.to;
53
+
54
+ return {
55
+ page: page + 1,
56
+ from: from + per,
57
+ to: to + per
58
+ };
59
+ }, _this.loadData);
60
+ }, 0), _this.loadData = function () {
61
+ var _this$state = _this.state,
62
+ from = _this$state.from,
63
+ to = _this$state.to,
64
+ data = _this$state.data,
65
+ query = _this$state.query,
66
+ page = _this$state.page;
67
+ var client = _this.props.client;
68
+
69
+
70
+ var params = _extends({}, _this.params, { from: from, to: to
71
+ // const queryUpdated = query.replace('$from', params.from).replace('$to', params.to)
72
+ });client.fetch(query, params).then(function (dataArr) {
73
+ if (_this.pointer && _this.pointerArray) {
74
+ var pointer = _this.pointer;
75
+ dataArr = dataArr[_this.pointerArray][pointer];
76
+ }
77
+ dataArr = dataArr.map(function (item) {
78
+ return _extends({}, item, {
79
+ pageNumber: page
80
+ });
81
+ });
82
+
83
+ _this.setState(function () {
84
+ if (dataArr.length > 0) {
85
+ return {
86
+ data: [].concat(toConsumableArray(data), toConsumableArray(dataArr)),
87
+ scrolling: true
88
+ };
89
+ } else {
90
+ return {
91
+ scrolling: false
92
+ };
93
+ }
94
+ });
95
+ });
96
+ }, _this.urlFor = function (source) {
97
+ var client = _this.props.client;
98
+
99
+ var builder = imageUrlBuilder(client);
100
+ return builder.image(source).auto('format');
101
+ }, _this.renderCardImage = function (row, page) {
102
+ if (row.thumbnail && row.thumbnail.asset) {
103
+ var url = _this.urlFor(row.thumbnail);
104
+ if (_this.props.imageHeight) url = url.height(_this.props.imageHeight);
105
+ if (_this.props.imageWidth) url = url.width(_this.props.imageWidth);
106
+ return url.url();
107
+ } else {
108
+ return _this.defaultImage;
109
+ }
110
+ }, _this.changePageNumber = function (pageNumber) {
111
+ var _this$props = _this.props,
112
+ seoPaginate = _this$props.seoPaginate,
113
+ pageview = _this$props.pageview,
114
+ router = _this$props.router;
115
+ var currentPage = _this.state.currentPage;
116
+
117
+ if (seoPaginate) {
118
+ var path = router.asPath;
119
+ var qrIndex = path.indexOf('?');
120
+ var pathname = router.pathname;
121
+ var queryString = '';
122
+
123
+ if (qrIndex > 0) {
124
+ path = path.substring(1, qrIndex);
125
+
126
+ var partialQS = router.asPath.substring(qrIndex + 1);
127
+ var partialQSArr = partialQS.split('&');
128
+
129
+ // exclude page=xxx from query string
130
+ partialQSArr.map(function (item) {
131
+ var itemArr = item.split('=');
132
+ var key = itemArr[0];
133
+ var val = itemArr[1];
134
+
135
+ if (key !== 'page') {
136
+ queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
137
+ }
138
+ });
139
+ }
140
+
141
+ if (queryString.length > 0) {
142
+ path += '?' + queryString;
143
+ }
144
+
145
+ pageNumber = parseInt(pageNumber);
146
+
147
+ if (currentPage !== pageNumber) {
148
+ lib_3.refresh();
149
+
150
+ _this.setState({
151
+ currentPage: pageNumber
152
+ }, function () {
153
+ if (path[0] !== '/') {
154
+ path = '/' + path;
155
+ }
156
+
157
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
158
+ if (pageview) {
159
+ pageview(newPath);
160
+ }
161
+
162
+ router.push(pathname, newPath, {
163
+ shallow: true
164
+ });
165
+ });
166
+ }
167
+ }
168
+ }, _this.renderAuthor = function (authorDetail, index, length) {
169
+ if (authorDetail) {
170
+ var _id = authorDetail._id,
171
+ displayName = authorDetail.displayName,
172
+ url = authorDetail.url;
173
+
174
+ if (displayName && url && url.current) {
175
+ return React__default.createElement(
176
+ 'div',
177
+ { key: _id },
178
+ index === 0 && React__default.createElement(
179
+ 'span',
180
+ { className: 'pr-1' },
181
+ 'By'
182
+ ),
183
+ React__default.createElement(
184
+ 'a',
185
+ { href: '/authors/' + url.current, className: 'text-muted' },
186
+ displayName,
187
+ length !== index + 1 && React__default.createElement('br', null)
188
+ )
189
+ );
190
+ } else if (displayName) {
191
+ return React__default.createElement(
192
+ 'div',
193
+ { key: _id },
194
+ index === 0 && React__default.createElement(
195
+ 'span',
196
+ { className: 'pr-1' },
197
+ 'By'
198
+ ),
199
+ React__default.createElement(
200
+ 'span',
201
+ { className: 'text-muted' },
202
+ displayName,
203
+ length !== index + 1 && React__default.createElement('br', null)
204
+ )
205
+ );
206
+ }
207
+ } else return null;
208
+ }, _this.checkExternalUrl = function (url) {
209
+ return new RegExp(['http', 'https'].join('|')).test(url);
210
+ }, _this.renderMobileAd = function (index, numberOfItemsBeforeAd) {
211
+ var rightItems = _this.props.rightItems;
212
+
213
+ var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
214
+ return React__default.createElement(
215
+ 'div',
216
+ { style: { display: 'flex', flex: '1 0 auto' } },
217
+ rightItems[i].component
218
+ );
219
+ }, _this.renderManualPagination = function () {
220
+ var currentPage = _this.state.currentPage;
221
+
222
+ return React__default.createElement(
223
+ 'div',
224
+ { className: 'd-flex justify-content-between' },
225
+ currentPage && currentPage > 1 && React__default.createElement(
226
+ 'a',
227
+ { href: '?page=' + (currentPage - 1) },
228
+ '<< Previous'
229
+ ),
230
+ React__default.createElement(
231
+ 'a',
232
+ { href: '?page=' + (currentPage + 1) },
233
+ 'Next >>'
234
+ )
235
+ );
236
+ }, _temp), possibleConstructorReturn(_this, _ret);
237
+ }
238
+
239
+ createClass(GridContent, [{
240
+ key: 'cardLoader',
241
+ value: function cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight) {
242
+ var _this2 = this;
243
+
244
+ var lgVar = Math.floor(12 / columns);
245
+ var itemCounter = 0;
246
+ var numberOfItemsBeforeAd = 6;
247
+ var numberOfItemsBeforeVideo = 3;
248
+ if (variant === 'stack') {
249
+ return React__default.createElement(
250
+ Row,
251
+ null,
252
+ this.state.data && this.state.data.map(function (row, index) {
253
+ // const thumbnailURL = get(row, 'thumbnail.asset.url', this.props.defaultImage)
254
+ return React__default.createElement(
255
+ Col,
256
+ { key: index, md: 12, lg: lgVar, style: { display: 'flex', flex: '1 0 auto' } },
257
+ React__default.createElement(
258
+ Card,
259
+ { className: 'queue-card', style: { borderTop: '1px solid #EEE' } },
260
+ React__default.createElement(
261
+ Row,
262
+ { style: { flexDirection: 'row' } },
263
+ React__default.createElement(
264
+ Col,
265
+ { md: 12, lg: 4 },
266
+ React__default.createElement(
267
+ 'a',
268
+ { href: _this2.page + '/' + get_1(row, 'url.current') },
269
+ React__default.createElement(
270
+ LazyLoad,
271
+ { height: _this2.props.imageHeight },
272
+ React__default.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
273
+ )
274
+ )
275
+ ),
276
+ React__default.createElement(
277
+ Col,
278
+ null,
279
+ React__default.createElement(
280
+ Card.Body,
281
+ { style: { padding: '20px' } },
282
+ React__default.createElement(
283
+ Card.Title,
284
+ null,
285
+ React__default.createElement(
286
+ 'a',
287
+ { href: _this2.page + '/' + get_1(row, 'url.current') },
288
+ row.title
289
+ )
290
+ ),
291
+ _this2.props.showPublished && row.published && React__default.createElement(
292
+ Card.Subtitle,
293
+ { style: { marginTop: 0 } },
294
+ moment(row.published).format('MMMM DD, YYYY')
295
+ ),
296
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && row.authorMapping.map(function (authorDetail, index) {
297
+ return _this2.renderAuthor(authorDetail, index, row.authorMapping.length);
298
+ }),
299
+ React__default.createElement(
300
+ Card.Text,
301
+ null,
302
+ clean_html_1(row.summary)
303
+ )
304
+ )
305
+ )
306
+ )
307
+ )
308
+ );
309
+ })
310
+ );
311
+ }
312
+
313
+ var insert = function insert(arr, index, newElement) {
314
+ return [].concat(toConsumableArray(arr.slice(0, index)), [newElement], toConsumableArray(arr.slice(index)));
315
+ };
316
+ var posts = [];
317
+ if (showBI) {
318
+ var data = this.state.data;
319
+ posts = data;
320
+ var pos = 3;
321
+ var i = 1;
322
+ while (pos < posts.length) {
323
+ brandInsight.targeting.pos = 'article' + i;
324
+ posts = insert(posts, pos, brandInsight);
325
+ i++;
326
+ pos += brandInsight.interval + 1;
327
+ }
328
+ } else {
329
+ posts = this.state.data;
330
+ }
331
+
332
+ return React__default.createElement(
333
+ 'div',
334
+ { className: 'grid-container' },
335
+ posts && posts.map(function (row, index) {
336
+ var pageNumber = row.pageNumber || _this2.state.page;
337
+ var contentCategoryName = row.contentCategory && row.contentCategory.name && _this2.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
338
+ var linkHref = row.url && row.url.current ? _this2.mapping[contentCategoryName] + '/' + row.url.current : '';
339
+ if (row._type === 'feature') {
340
+ if (row.blank || _this2.checkExternalUrl(row.url.current)) {
341
+ return React__default.createElement(
342
+ React__default.Fragment,
343
+ { key: itemCounter },
344
+ React__default.createElement(
345
+ VisibilitySensor,
346
+ {
347
+ onChange: function onChange(isVisible) {
348
+ isVisible && _this2.changePageNumber(pageNumber);
349
+ } },
350
+ React__default.createElement(
351
+ 'div',
352
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
353
+ React__default.createElement(
354
+ Card,
355
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
356
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React__default.createElement(
357
+ 'a',
358
+ { href: row.url.current, target: '_blank', className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
359
+ React__default.createElement(
360
+ LazyLoad,
361
+ { height: _this2.props.imageHeight },
362
+ React__default.createElement(Card.Img, {
363
+ variant: 'top',
364
+ src: _this2.renderCardImage(row, page),
365
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
366
+ })
367
+ )
368
+ ),
369
+ React__default.createElement(
370
+ Card.Body,
371
+ null,
372
+ React__default.createElement(
373
+ 'a',
374
+ { href: row.url.current, target: '_blank' },
375
+ React__default.createElement(
376
+ Card.Title,
377
+ null,
378
+ row.title
379
+ )
380
+ ),
381
+ _this2.props.showPublished && row.published && React__default.createElement(
382
+ Card.Subtitle,
383
+ { style: { marginTop: 0 } },
384
+ moment(row.published).format('MMMM DD, YYYY')
385
+ ),
386
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && row.authorMapping.map(function (authorDetail, index) {
387
+ return _this2.renderAuthor(authorDetail, index, row.authorMapping.length);
388
+ }),
389
+ React__default.createElement(
390
+ Card.Text,
391
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
392
+ clean_html_1(row.summary)
393
+ )
394
+ )
395
+ )
396
+ )
397
+ ),
398
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
399
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
400
+ );
401
+ } else {
402
+ return React__default.createElement(
403
+ React__default.Fragment,
404
+ { key: itemCounter },
405
+ React__default.createElement(
406
+ VisibilitySensor,
407
+ {
408
+ onChange: function onChange(isVisible) {
409
+ isVisible && _this2.changePageNumber(pageNumber);
410
+ } },
411
+ React__default.createElement(
412
+ 'div',
413
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
414
+ React__default.createElement(
415
+ Card,
416
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
417
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React__default.createElement(
418
+ 'a',
419
+ { href: row.url.current, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
420
+ React__default.createElement(
421
+ LazyLoad,
422
+ { height: _this2.props.imageHeight },
423
+ React__default.createElement(Card.Img, {
424
+ variant: 'top',
425
+ src: _this2.renderCardImage(row, page),
426
+ alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
427
+ })
428
+ )
429
+ ),
430
+ React__default.createElement(
431
+ Card.Body,
432
+ null,
433
+ React__default.createElement(
434
+ 'a',
435
+ { href: row.url.current },
436
+ React__default.createElement(
437
+ Card.Title,
438
+ null,
439
+ row.title
440
+ )
441
+ ),
442
+ _this2.props.showPublished && row.published && React__default.createElement(
443
+ Card.Subtitle,
444
+ { style: { marginTop: 0 } },
445
+ moment(row.published).format('MMMM DD, YYYY')
446
+ ),
447
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && row.authorMapping.map(function (authorDetail, index) {
448
+ return _this2.renderAuthor(authorDetail, index, row.authorMapping.length);
449
+ }),
450
+ React__default.createElement(
451
+ Card.Text,
452
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
453
+ clean_html_1(row.summary)
454
+ )
455
+ )
456
+ )
457
+ )
458
+ ),
459
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
460
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
461
+ );
462
+ }
463
+ } else if (row._type === 'BrandInsight' && row.adUnit) {
464
+ return React__default.createElement(
465
+ React__default.Fragment,
466
+ { key: itemCounter, className: 'brand-insight-wrapper' },
467
+ React__default.createElement(
468
+ 'div',
469
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
470
+ React__default.createElement(
471
+ Card,
472
+ { className: 'content-card ad-wrapper', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
473
+ React__default.createElement(AD, { networkID: row.networkID, adUnit: row.adUnit, targeting: row.targeting, className: row.className, sizes: row.sizes, slotId: row.slotId })
474
+ )
475
+ )
476
+ );
477
+ }
478
+ return React__default.createElement(
479
+ React__default.Fragment,
480
+ { key: itemCounter },
481
+ React__default.createElement(
482
+ VisibilitySensor,
483
+ {
484
+ onChange: function onChange(isVisible) {
485
+ isVisible && _this2.changePageNumber(pageNumber);
486
+ } },
487
+ React__default.createElement(
488
+ 'div',
489
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
490
+ React__default.createElement(
491
+ Card,
492
+ { className: 'content-card', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
493
+ (row.thumbnail && row.thumbnail.asset || _this2.props.defaultImage) && React__default.createElement(
494
+ 'a',
495
+ { href: linkHref, className: index === 0 || index % 4 === 0 ? '' : 'card-image' },
496
+ React__default.createElement(
497
+ LazyLoad,
498
+ { height: _this2.props.imageHeight },
499
+ React__default.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
500
+ )
501
+ ),
502
+ React__default.createElement(
503
+ Card.Body,
504
+ null,
505
+ React__default.createElement(
506
+ 'a',
507
+ { href: linkHref },
508
+ React__default.createElement(
509
+ Card.Title,
510
+ null,
511
+ row.title
512
+ )
513
+ ),
514
+ _this2.props.showPublished && row.published && React__default.createElement(
515
+ Card.Subtitle,
516
+ { style: { marginTop: 0 } },
517
+ moment(row.published).format('MMMM DD, YYYY')
518
+ ),
519
+ _this2.props.showAuthor && row.authorMapping && row.authorMapping.length > 0 && row.authorMapping.map(function (authorDetail, index) {
520
+ return _this2.renderAuthor(authorDetail, index, row.authorMapping.length);
521
+ }),
522
+ React__default.createElement(
523
+ Card.Text,
524
+ { className: index === 0 || index % 4 === 0 ? '' : 'card-subtext' },
525
+ clean_html_1(row.summary)
526
+ )
527
+ )
528
+ )
529
+ )
530
+ ),
531
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
532
+ main_36 && _this2.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index, numberOfItemsBeforeAd)
533
+ );
534
+ })
535
+ );
536
+ }
537
+ }, {
538
+ key: 'render',
539
+ value: function render() {
540
+ var _this3 = this;
541
+
542
+ var _props = this.props,
543
+ columns = _props.columns,
544
+ variant = _props.variant,
545
+ autoScroll = _props.autoScroll,
546
+ page = _props.page,
547
+ showVideo = _props.showVideo,
548
+ VideoPlayer = _props.VideoPlayer,
549
+ showBI = _props.showBI,
550
+ brandInsight = _props.brandInsight;
551
+
552
+
553
+ return React__default.createElement(
554
+ 'div',
555
+ { className: 'contentDeck' },
556
+ autoScroll ? React__default.createElement(
557
+ InfiniteScroll,
558
+ { dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling },
559
+ React__default.createElement(
560
+ Container,
561
+ null,
562
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight)
563
+ )
564
+ ) : React__default.createElement(
565
+ React__default.Fragment,
566
+ null,
567
+ React__default.createElement(
568
+ Container,
569
+ null,
570
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight)
571
+ ),
572
+ React__default.createElement(
573
+ 'div',
574
+ { style: { padding: '0px 10px' } },
575
+ this.state.scrolling ? React__default.createElement(
576
+ 'button',
577
+ {
578
+ style: { margin: 'auto', width: '100%' },
579
+ onClick: function onClick(e) {
580
+ _this3.loadMore();
581
+ } },
582
+ 'Load More'
583
+ ) : React__default.createElement(
584
+ 'p',
585
+ { style: { textAlign: 'center' } },
586
+ React__default.createElement(
587
+ 'b',
588
+ null,
589
+ 'End of data'
590
+ )
591
+ )
592
+ ),
593
+ React__default.createElement(
594
+ 'noscript',
595
+ null,
596
+ this.renderManualPagination()
597
+ )
598
+ )
599
+ );
600
+ }
601
+ }]);
602
+ return GridContent;
603
+ }(React__default.Component);
604
+
605
+ var GridContent$1 = React__default.memo(withRouter(GridContent));
606
+
607
+ export default GridContent$1;