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