@mjhls/mjh-framework 1.0.205 → 1.0.207

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