@mjhls/mjh-framework 1.0.403 → 1.0.405

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.
package/dist/cjs/index.js CHANGED
@@ -35,10 +35,10 @@ var entities = require('./entities-310b46ee.js');
35
35
  var slicedToArray = require('./slicedToArray-419d467a.js');
36
36
  var AdSlot = require('./AdSlot-4d22aad4.js');
37
37
  var promise = require('./promise-0a493c7a.js');
38
- var ADInfeed = require('./ADInfeed-494f5e6b.js');
38
+ require('./ADInfeed-494f5e6b.js');
39
39
  var DeckContent = require('./DeckContent.js');
40
40
  var get$1 = require('./get-5aa7468c.js');
41
- var GridContent = require('./GridContent-2f42692a.js');
41
+ var GridContent = require('./GridContent-62c5d302.js');
42
42
  var AuthorComponent = require('./AuthorComponent-4706f297.js');
43
43
  var DeckQueue = require('./DeckQueue.js');
44
44
  require('react-bootstrap/Media');
@@ -82,639 +82,6 @@ var useSWR = _interopDefault(require('swr'));
82
82
  var Local = _interopDefault(require('passport-local'));
83
83
  var mysql = _interopDefault(require('mysql'));
84
84
 
85
- var urlFor$1 = function urlFor(source, builder) {
86
- return builder.image(source).auto('format');
87
- };
88
-
89
- var renderCardImage = function renderCardImage(row, builder, imageHeight, imageWidth) {
90
- var url = urlFor$1(row.thumbnail, builder);
91
- if (imageHeight) url = url.height(imageHeight);
92
- if (imageWidth) url = url.width(imageWidth);
93
- return url.url();
94
- };
95
-
96
- var loadMore = function loadMore(values, setValues, per) {
97
- setValues({
98
- page: values.page + 1,
99
- from: values.from + per,
100
- to: values.to + per
101
- });
102
- };
103
-
104
- var loadData = function loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray) {
105
- params = _extends$2._extends({}, params, {
106
- from: values.from,
107
- to: values.to
108
- });
109
-
110
- client.fetch(query, params).then(function (dataArr) {
111
- if (pointer && pointerArray) {
112
- dataArr = dataArr[pointerArray][pointer];
113
- }
114
-
115
- if (!dataArr) {
116
- dataArr = [];
117
- }
118
-
119
- dataArr = dataArr.map(function (item) {
120
- return _extends$2._extends({}, item, {
121
- pageNumber: values.page
122
- });
123
- });
124
-
125
- if (dataArr.length > 0) {
126
- setData(function (prevData) {
127
- return [].concat(toConsumableArray._toConsumableArray(prevData), toConsumableArray._toConsumableArray(dataArr));
128
- });
129
- setScrolling(true);
130
- } else {
131
- setScrolling(false);
132
- }
133
- });
134
- };
135
-
136
- var changePageNumber = function changePageNumber(pageNumber, seoPaginate, pageview, router, currentPage, setCurrentPage, itemsPerPage, itemIndex) {
137
- if (seoPaginate) {
138
- var path = router.asPath;
139
- var qrIndex = path.indexOf('?');
140
- var pathname = router.pathname;
141
- var queryString = '';
142
-
143
- if (qrIndex > 0) {
144
- path = path.substring(1, qrIndex);
145
-
146
- var partialQS = router.asPath.substring(qrIndex + 1);
147
- var partialQSArr = partialQS.split('&');
148
-
149
- // exclude page=xxx from query string
150
- partialQSArr.map(function (item) {
151
- var itemArr = item.split('=');
152
- var key = itemArr[0];
153
- var val = itemArr[1];
154
-
155
- if (key !== 'page') {
156
- queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
157
- }
158
- });
159
- }
160
-
161
- if (queryString.length > 0) {
162
- path += '?' + queryString;
163
- }
164
-
165
- // pageNumber = parseInt(pageNumber)
166
-
167
- var index = Number(itemIndex);
168
- var perPage = Number(itemsPerPage);
169
-
170
- pageNumber = Math.ceil((index + 1) / perPage);
171
-
172
- if (currentPage !== pageNumber) {
173
- debounce.lib_3.refresh();
174
-
175
- setCurrentPage(pageNumber);
176
- if (path[0] !== '/') {
177
- path = '/' + path;
178
- }
179
- var newPath = pageNumber === 1 ? '' + path : '' + path + (queryString.length > 0 ? '&' : '?') + 'page=' + pageNumber;
180
-
181
- if (pageview) {
182
- pageview(newPath);
183
- }
184
-
185
- router.push(pathname, newPath, {
186
- shallow: true
187
- });
188
- }
189
- }
190
- };
191
-
192
- var renderAuthor = function renderAuthor(authorDetail, index, length) {
193
- if (authorDetail) {
194
- var _id = authorDetail._id,
195
- displayName = authorDetail.displayName,
196
- url = authorDetail.url;
197
-
198
- if (displayName && url && url.current) {
199
- return React__default.createElement(
200
- 'div',
201
- { key: _id },
202
- index === 0 && React__default.createElement(
203
- 'span',
204
- { className: 'pr-1' },
205
- 'By'
206
- ),
207
- React__default.createElement(
208
- 'a',
209
- { href: '/authors/' + url.current, className: 'text-muted' },
210
- displayName,
211
- length !== index + 1 && React__default.createElement('br', null)
212
- )
213
- );
214
- } else if (displayName) {
215
- return React__default.createElement(
216
- 'div',
217
- { key: _id },
218
- index === 0 && React__default.createElement(
219
- 'span',
220
- { className: 'pr-1' },
221
- 'By'
222
- ),
223
- React__default.createElement(
224
- 'span',
225
- { className: 'text-muted' },
226
- displayName,
227
- length !== index + 1 && React__default.createElement('br', null)
228
- )
229
- );
230
- }
231
- } else return null;
232
- };
233
-
234
- var checkExternalUrl = function checkExternalUrl(url) {
235
- return new RegExp(['http', 'https'].join('|')).test(url);
236
- };
237
-
238
- var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate, pageview, router, currentPage, setCurrentPage, showPublished, defaultImage, showAuthor, showCategory, imageHeight, imageWidth, rightItems, brandInsightAd, showBI, itemsPerPage, heroContent) {
239
- var numberOfItemsBeforeAd = 6;
240
-
241
- var insertBrandInsightAd = function insertBrandInsightAd(arr, index, newElement) {
242
- return [].concat(toConsumableArray._toConsumableArray(arr.slice(0, index)), [newElement], toConsumableArray._toConsumableArray(arr.slice(index)));
243
- };
244
- if (showBI && brandInsightAd) {
245
- var pos = 0;
246
- for (var i = 1; pos < data.length; i++) {
247
- var inFeedAd = {
248
- adUnit: brandInsightAd.adUnit,
249
- className: brandInsightAd.className,
250
- networkID: brandInsightAd.networkID,
251
- sizes: brandInsightAd.sizes,
252
- slotId: brandInsightAd.slotId + '_' + i,
253
- targeting: {
254
- pos: 'article' + i,
255
- content_placement: brandInsightAd.targeting.content_placement,
256
- document_url: brandInsightAd.targeting.document_url
257
- },
258
- _type: 'brandInsightAd'
259
- };
260
-
261
- data = insertBrandInsightAd(data, pos, inFeedAd);
262
- pos += brandInsightAd.interval + 1;
263
- }
264
- }
265
-
266
- var featureCount = 0;
267
-
268
- return React__default.createElement(
269
- 'div',
270
- null,
271
- data && data.length > 0 ? data.map(function (article, index) {
272
- var pageNumber = article.pageNumber || values.page;
273
-
274
- var contentCategoryName = article.contentCategory ? article.contentCategory.name : 'Articles';
275
-
276
- if (article._type === 'feature') {
277
- featureCount++;
278
- if (article.blank || checkExternalUrl(article.url.current)) {
279
- return React__default.createElement(
280
- React__default.Fragment,
281
- { key: article._id ? article._id : index },
282
- React__default.createElement(
283
- visibilitySensor.VisibilitySensor,
284
- {
285
- key: article._id ? article._id : index,
286
- partialVisibility: true,
287
- onChange: function onChange(isVisible) {
288
- isVisible && changePageNumber(1, seoPaginate, pageview, router, currentPage, setCurrentPage, itemsPerPage, parseInt(index));
289
- } },
290
- React__default.createElement(
291
- React__default.Fragment,
292
- null,
293
- React__default.createElement(
294
- reactBootstrap.Media,
295
- {
296
- key: article._id ? article._id : index,
297
- className: 'feature-media',
298
- style: { flexDirection: 'column', marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
299
- (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
300
- 'a',
301
- { href: article.url.current, target: '_blank', className: 'feature-wrapper' },
302
- React__default.createElement(
303
- index$1.LazyLoad,
304
- { height: imageHeight },
305
- article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', { className: 'img-fluid', src: renderCardImage(article, builder, imageHeight, imageWidth), alt: article.title }) : article.thumbnail ? React__default.createElement('img', { src: article.thumbnail, className: 'mr-3', alt: article.title }) : React__default.createElement('img', { src: defaultImage, src2: article.thumbnail, className: 'mr-3', width: '240', height: '135', alt: article.title })
306
- )
307
- ),
308
- React__default.createElement(
309
- reactBootstrap.Media.Body,
310
- null,
311
- React__default.createElement(
312
- 'a',
313
- { href: article.url.current, target: '_blank' },
314
- article.title && React__default.createElement(
315
- 'h4',
316
- { className: 'card-title', style: { fontWeight: '500', color: 'var(--gray-dark)', marginBottom: '.5rem' } },
317
- article.title
318
- )
319
- ),
320
- showPublished && article.published && React__default.createElement(
321
- 'p',
322
- { className: 'card-text', style: { color: 'var(--dark)', marginBottom: '.25rem' } },
323
- moment.moment(article.published).format('MMMM DD, YYYY')
324
- ),
325
- showAuthor && article.authorMapping && article.authorMapping.length > 0 && article.authorMapping.map(function (authorDetail, index) {
326
- return renderAuthor(authorDetail, index, article.authorMapping.length);
327
- }),
328
- article.source && React__default.createElement(
329
- 'p',
330
- { className: 'p-0 mb-1' },
331
- article.source
332
- ),
333
- showCategory && article.contentCategory && React__default.createElement(
334
- 'p',
335
- {
336
- className: 'article-category',
337
- style: {
338
- background: '#3FB618',
339
- color: '#ffffff',
340
- marginBottom: '.25rem',
341
- display: 'inline-block',
342
- padding: '0 .25rem',
343
- fontSize: '.8rem'
344
- } },
345
- article.contentCategory.name.slice(0, article.contentCategory.name.length - 1)
346
- ),
347
- article.summary && React__default.createElement(
348
- 'p',
349
- { className: 'pt-2 card-text' },
350
- entities.clean_html_1(article.summary)
351
- )
352
- )
353
- )
354
- )
355
- ),
356
- main.main_39 && rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && renderMobileAd(index, numberOfItemsBeforeAd, rightItems)
357
- );
358
- } else {
359
- return React__default.createElement(
360
- React__default.Fragment,
361
- { key: article._id ? article._id : index },
362
- React__default.createElement(
363
- visibilitySensor.VisibilitySensor,
364
- {
365
- key: article._id ? article._id : index,
366
- partialVisibility: true,
367
- onChange: function onChange(isVisible) {
368
- isVisible && changePageNumber(1, seoPaginate, pageview, router, currentPage, setCurrentPage, itemsPerPage, parseInt(index));
369
- } },
370
- React__default.createElement(
371
- React__default.Fragment,
372
- null,
373
- React__default.createElement(
374
- reactBootstrap.Media,
375
- {
376
- key: article._id ? article._id : index,
377
- className: 'feature-media',
378
- style: { flexDirection: 'column', marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
379
- (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
380
- 'a',
381
- { href: article.url.current, className: 'feature-wrapper' },
382
- React__default.createElement(
383
- index$1.LazyLoad,
384
- { height: imageHeight },
385
- article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', { className: 'img-fluid', src: renderCardImage(article, builder, imageHeight, imageWidth), alt: article.title }) : article.thumbnail ? React__default.createElement('img', { src: article.thumbnail, className: 'mr-3', alt: article.title }) : React__default.createElement('img', { src: defaultImage, src2: article.thumbnail, className: 'mr-3', width: '240', height: '135', alt: article.title })
386
- )
387
- ),
388
- React__default.createElement(
389
- reactBootstrap.Media.Body,
390
- null,
391
- React__default.createElement(
392
- 'a',
393
- { href: article.url.current },
394
- article.title && React__default.createElement(
395
- 'h4',
396
- { className: 'card-title', style: { fontWeight: '500', color: 'var(--gray-dark)', marginBottom: '.5rem' } },
397
- article.title
398
- )
399
- ),
400
- showPublished && article.published && React__default.createElement(
401
- 'p',
402
- { className: 'card-text', style: { color: 'var(--dark)', marginBottom: '.25rem' } },
403
- moment.moment(article.published).format('MMMM DD, YYYY')
404
- ),
405
- showAuthor && article.authorMapping && article.authorMapping.length > 0 && article.authorMapping.map(function (authorDetail, index) {
406
- return renderAuthor(authorDetail, index, article.authorMapping.length);
407
- }),
408
- article.source && React__default.createElement(
409
- 'p',
410
- { className: 'p-0 mb-1' },
411
- article.source
412
- ),
413
- showCategory && article.contentCategory && React__default.createElement(
414
- 'p',
415
- {
416
- style: {
417
- background: '#3FB618',
418
- color: '#ffffff',
419
- marginBottom: '.25rem',
420
- display: 'inline-block',
421
- padding: '0 .25rem',
422
- fontSize: '.8rem'
423
- } },
424
- article.contentCategory.name.slice(0, article.contentCategory.name.length - 1)
425
- ),
426
- article.summary && React__default.createElement(
427
- 'p',
428
- { className: 'pt-2 card-text' },
429
- entities.clean_html_1(article.summary)
430
- )
431
- )
432
- )
433
- )
434
- ),
435
- main.main_39 && rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && renderMobileAd(index, numberOfItemsBeforeAd, rightItems)
436
- );
437
- }
438
- } else if (article._type === 'brandInsightAd' && article.adUnit) {
439
- return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: article });
440
- }
441
-
442
- if (index + 1 > heroContent + featureCount) {
443
- return React__default.createElement(
444
- React__default.Fragment,
445
- { key: article._id ? article._id : index },
446
- React__default.createElement(
447
- visibilitySensor.VisibilitySensor,
448
- {
449
- key: article._id ? article._id : index,
450
- onChange: function onChange(isVisible) {
451
- isVisible && changePageNumber(pageNumber, seoPaginate, pageview, router, currentPage, setCurrentPage, itemsPerPage, parseInt(index));
452
- } },
453
- React__default.createElement(
454
- React__default.Fragment,
455
- null,
456
- React__default.createElement(
457
- reactBootstrap.Media,
458
- {
459
- key: article._id ? article._id : index,
460
- style: { flexDirection: 'row', marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
461
- (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
462
- 'a',
463
- { href: mapping[contentCategoryName] + '/' + article.url.current, className: 'img-wrapper' },
464
- React__default.createElement(
465
- index$1.LazyLoad,
466
- { height: imageHeight },
467
- article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', { className: 'mr-3 img-fluid', src: renderCardImage(article, builder, imageHeight, imageWidth), alt: article.title }) : article.thumbnail ? React__default.createElement('img', { src: article.thumbnail, className: 'mr-3', alt: article.title }) : React__default.createElement('img', { src: defaultImage, src2: article.thumbnail, className: 'mr-3', width: '240', height: '135', alt: article.title })
468
- )
469
- ),
470
- React__default.createElement(
471
- reactBootstrap.Media.Body,
472
- null,
473
- React__default.createElement(
474
- 'a',
475
- { href: mapping[contentCategoryName] + '/' + article.url.current },
476
- article.title && React__default.createElement(
477
- 'h4',
478
- { className: 'card-title', style: { fontWeight: '500', color: 'var(--gray-dark)', marginBottom: '.5rem' } },
479
- article.title
480
- )
481
- ),
482
- showPublished && article.published && React__default.createElement(
483
- 'p',
484
- { className: 'card-text', style: { color: 'var(--dark)', marginBottom: '.25rem' } },
485
- moment.moment(article.published).format('MMMM DD, YYYY')
486
- ),
487
- showAuthor && article.authorMapping && article.authorMapping.length > 0 && article.authorMapping.map(function (authorDetail, index) {
488
- return renderAuthor(authorDetail, index, article.authorMapping.length);
489
- }),
490
- article.source && React__default.createElement(
491
- 'p',
492
- { className: 'p-0 mb-1' },
493
- article.source
494
- ),
495
- showCategory && article.contentCategory && React__default.createElement(
496
- 'p',
497
- {
498
- style: {
499
- background: '#3FB618',
500
- color: '#ffffff',
501
- marginBottom: '.25rem',
502
- display: 'inline-block',
503
- padding: '0 .25rem',
504
- fontSize: '.8rem'
505
- } },
506
- article.contentCategory.name.slice(0, article.contentCategory.name.length - 1)
507
- ),
508
- article.summary && React__default.createElement(
509
- 'p',
510
- { className: 'pt-2 card-text' },
511
- entities.clean_html_1(article.summary)
512
- )
513
- )
514
- )
515
- )
516
- ),
517
- main.main_39 && rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && renderMobileAd(index, numberOfItemsBeforeAd, rightItems)
518
- );
519
- } else return null;
520
- }) : React__default.createElement(
521
- 'div',
522
- null,
523
- React__default.createElement(
524
- 'h5',
525
- null,
526
- React__default.createElement(
527
- 'em',
528
- null,
529
- 'New content coming soon, please check back later.'
530
- )
531
- )
532
- ),
533
- React__default.createElement(
534
- 'style',
535
- { jsx: 'true' },
536
- '\n .feature-media > .media-body {\n -webkit-box-flex: none;\n -ms-flex: none;\n flex: none;\n }\n .img-wrapper img {\n max-height: 240px;\n height: auto;\n width: 100%;\n object-fit: contain;\n }\n .feature-wrapper {\n height: 100%;\n width: 100%;\n }\n .feature-wrapper img {\n width: 100%;\n margin-bottom: 1em;\n }\n @media only screen and (min-width: 768px) {\n .img-wrapper > img {\n padding-right: 1em;\n }\n }\n @media only screen and (max-width: 767px) {\n .img-wrapper {\n width: 100%;\n }\n .img-wrapper img {\n padding-bottom: 1em;\n }\n .media {\n flex-direction: column !important;\n }\n }\n '
537
- )
538
- );
539
- };
540
-
541
- var renderMobileAd = function renderMobileAd(index, numberOfItemsBeforeAd, rightItems) {
542
- var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
543
- return React__default.createElement(
544
- 'div',
545
- { style: { display: 'flex', flex: '1 0 auto' } },
546
- rightItems[i].component
547
- );
548
- };
549
-
550
- var renderManualPagination = function renderManualPagination(currentPage) {
551
- return React__default.createElement(
552
- 'div',
553
- { className: 'd-flex justify-content-between' },
554
- currentPage && currentPage > 1 && React__default.createElement(
555
- 'a',
556
- { href: '?page=' + (currentPage - 1) },
557
- '<< Previous'
558
- ),
559
- React__default.createElement(
560
- 'a',
561
- { href: '?page=' + (currentPage + 1) },
562
- 'Next >>'
563
- )
564
- );
565
- };
566
-
567
- var usePrevious = function usePrevious(value) {
568
- var ref = React.useRef();
569
- React.useEffect(function () {
570
- ref.current = value;
571
- });
572
- return ref.current;
573
- };
574
-
575
- var InfiniteScrollDeck = function InfiniteScrollDeck(props) {
576
- var router = Router.useRouter();
577
- var initialData = props.dataRecord,
578
- client = props.client,
579
- params = props.params,
580
- query = props.query,
581
- autoScroll = props.autoScroll,
582
- pointer = props.pointer,
583
- pointerArray = props.pointerArray,
584
- mapping = props.mapping,
585
- seoPaginate = props.seoPaginate,
586
- pageview = props.pageview,
587
- defaultImage = props.defaultImage,
588
- showAuthor = props.showAuthor,
589
- showCategory = props.showCategory,
590
- imageHeight = props.imageHeight,
591
- imageWidth = props.imageWidth,
592
- rightItems = props.rightItems,
593
- brandInsightAd = props.brandInsightAd,
594
- _props$showBI = props.showBI,
595
- showBI = _props$showBI === undefined ? false : _props$showBI,
596
- _props$heroContent = props.heroContent,
597
- heroContent = _props$heroContent === undefined ? 0 : _props$heroContent;
598
- var initialCurrentPage = props.currentPage,
599
- showPublished = props.showPublished;
600
-
601
- var builder = index.imageUrlBuilder(client);
602
-
603
- var _useState = React.useState(initialData),
604
- _useState2 = slicedToArray._slicedToArray(_useState, 2),
605
- data = _useState2[0],
606
- setData = _useState2[1];
607
-
608
- var _useState3 = React.useState(true),
609
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
610
- scrolling = _useState4[0],
611
- setScrolling = _useState4[1];
612
-
613
- var _useState5 = React.useState(params ? params.to : 0),
614
- _useState6 = slicedToArray._slicedToArray(_useState5, 1),
615
- per = _useState6[0];
616
-
617
- var _useState7 = React.useState(initialCurrentPage || 1),
618
- _useState8 = slicedToArray._slicedToArray(_useState7, 2),
619
- currentPage = _useState8[0],
620
- setCurrentPage = _useState8[1];
621
-
622
- var _useState9 = React.useState({
623
- from: params ? params.from : 0,
624
- to: params ? params.to : 0,
625
- page: 1
626
- }),
627
- _useState10 = slicedToArray._slicedToArray(_useState9, 2),
628
- values = _useState10[0],
629
- setValues = _useState10[1];
630
-
631
- var itemsPerPage = params.itemsPerPage;
632
-
633
- var prevValues = usePrevious(values);
634
-
635
- React.useEffect(function () {
636
- if (prevValues) {
637
- if (values.page !== prevValues.page && values.from !== prevValues.from && values.to !== prevValues.from) {
638
- loadData(values, query, client, params, setData, setScrolling, pointer, pointerArray);
639
- }
640
- }
641
- }, [values, prevValues, query, client, params, setData, setScrolling, pointer, pointerArray]);
642
-
643
- React.useEffect(function () {
644
- document.addEventListener('scroll', trackScrolling);
645
- return function () {
646
- document.removeEventListener('scroll', trackScrolling);
647
- };
648
- }, [currentPage]);
649
-
650
- var trackScrolling = function trackScrolling(current) {
651
- if (window.pageYOffset === 0) {
652
- if (currentPage > 1) {
653
- changePageNumber(1, seoPaginate, pageview, router, currentPage, setCurrentPage, itemsPerPage, 1);
654
- }
655
- }
656
- };
657
-
658
- return React__default.createElement(
659
- 'div',
660
- null,
661
- autoScroll ? React__default.createElement(
662
- React__default.Fragment,
663
- null,
664
- React__default.createElement(
665
- index_es.InfiniteScroll,
666
- { dataLength: data && data.length, next: function next() {
667
- return loadMore(values, setValues, per);
668
- }, hasMore: scrolling, scrollThreshold: 0.9 },
669
- React__default.createElement(
670
- reactBootstrap.Container,
671
- null,
672
- cardLoader(data, builder, mapping, values, seoPaginate, pageview, router, currentPage, setCurrentPage, showPublished, defaultImage, showAuthor, showCategory, imageHeight, imageWidth, rightItems, brandInsightAd, showBI, itemsPerPage, heroContent)
673
- )
674
- ),
675
- React__default.createElement(
676
- 'noscript',
677
- null,
678
- renderManualPagination(currentPage)
679
- )
680
- ) : React__default.createElement(
681
- React__default.Fragment,
682
- null,
683
- React__default.createElement(
684
- reactBootstrap.Container,
685
- null,
686
- cardLoader(data, builder, mapping, values, seoPaginate, pageview, router, currentPage, setCurrentPage, showPublished, defaultImage, showAuthor, showCategory, rightItems, brandInsightAd, showBI, itemsPerPage, heroContent)
687
- ),
688
- React__default.createElement(
689
- 'div',
690
- { style: { padding: '0px 10px' } },
691
- scrolling ? React__default.createElement(
692
- 'button',
693
- {
694
- style: { margin: 'auto', width: '100%' },
695
- onClick: function onClick(e) {
696
- loadMore(values, setValues, per);
697
- } },
698
- 'Load More'
699
- ) : React__default.createElement(
700
- 'p',
701
- { style: { textAlign: 'center' } },
702
- React__default.createElement(
703
- 'b',
704
- null,
705
- 'End of data'
706
- )
707
- )
708
- ),
709
- React__default.createElement(
710
- 'noscript',
711
- null,
712
- renderManualPagination(currentPage)
713
- )
714
- )
715
- );
716
- };
717
-
718
85
  var momentTimezone = _commonjsHelpers.createCommonjsModule(function (module) {
719
86
  //! moment-timezone.js
720
87
  //! version : 0.5.31
@@ -2266,12 +1633,12 @@ var latest = {
2266
1633
  };
2267
1634
 
2268
1635
  var latest$1 = /*#__PURE__*/Object.freeze({
2269
- __proto__: null,
2270
- version: version,
2271
- zones: zones,
2272
- links: links,
2273
- countries: countries,
2274
- 'default': latest
1636
+ __proto__: null,
1637
+ version: version,
1638
+ zones: zones,
1639
+ links: links,
1640
+ countries: countries,
1641
+ 'default': latest
2275
1642
  });
2276
1643
 
2277
1644
  var require$$1 = _commonjsHelpers.getCjsExportFromNamespace(latest$1);
@@ -3770,7 +3137,7 @@ var ADWelcome = function ADWelcome(_ref) {
3770
3137
  );
3771
3138
  };
3772
3139
 
3773
- var urlFor$2 = function urlFor(source, builder) {
3140
+ var urlFor$1 = function urlFor(source, builder) {
3774
3141
  return builder.image(source).auto('format');
3775
3142
  };
3776
3143
 
@@ -3821,7 +3188,7 @@ var Slideshow = function Slideshow(_ref) {
3821
3188
  return React__default.createElement(
3822
3189
  reactBootstrap.Carousel.Item,
3823
3190
  { key: slide._key },
3824
- React__default.createElement('img', { src: slide.asset && urlFor$2(slide.asset, builder).url(), alt: slide.alt && slide.alt, style: { width: '100%' } }),
3191
+ React__default.createElement('img', { src: slide.asset && urlFor$1(slide.asset, builder).url(), alt: slide.alt && slide.alt, style: { width: '100%' } }),
3825
3192
  slide.caption && React__default.createElement(
3826
3193
  'p',
3827
3194
  { className: 'p-2' },
@@ -14080,7 +13447,7 @@ var Leads = function Leads(_ref) {
14080
13447
  );
14081
13448
  };
14082
13449
 
14083
- var urlFor$3 = function urlFor(source, client) {
13450
+ var urlFor$2 = function urlFor(source, client) {
14084
13451
  var builder = index.imageUrlBuilder(client);
14085
13452
  return builder.image(source).auto('format');
14086
13453
  };
@@ -14137,7 +13504,7 @@ var Slideshow$1 = function Slideshow(_ref) {
14137
13504
  React__default.createElement(
14138
13505
  index$1.LazyLoad,
14139
13506
  null,
14140
- React__default.createElement('img', { src: urlFor$3(slide.slideshowImage, client).url(), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
13507
+ React__default.createElement('img', { src: urlFor$2(slide.slideshowImage, client).url(), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
14141
13508
  )
14142
13509
  ),
14143
13510
  React__default.createElement(
@@ -14181,7 +13548,7 @@ var NativeAd = function NativeAd(props) {
14181
13548
  );
14182
13549
  };
14183
13550
 
14184
- var urlFor$4 = function urlFor(source, client) {
13551
+ var urlFor$3 = function urlFor(source, client) {
14185
13552
  var builder = index.imageUrlBuilder(client);
14186
13553
  return builder.image(source).auto('format');
14187
13554
  };
@@ -14208,7 +13575,7 @@ var MultiFigure = function MultiFigure(props) {
14208
13575
  React__default.createElement(
14209
13576
  'div',
14210
13577
  null,
14211
- React__default.createElement('img', { className: 'multi-figure-image', src: urlFor$4(image.asset, client).url(), alt: image.alt }),
13578
+ React__default.createElement('img', { className: 'multi-figure-image', src: urlFor$3(image.asset, client).url(), alt: image.alt }),
14212
13579
  image.caption && React__default.createElement(
14213
13580
  'p',
14214
13581
  { className: 'multi-figure-caption' },
@@ -14230,7 +13597,7 @@ var MultiFigure = function MultiFigure(props) {
14230
13597
  };
14231
13598
 
14232
13599
  var Figure = dynamic(function () {
14233
- return Promise.resolve().then(function () { return require('./Figure-04d4a60d.js'); });
13600
+ return Promise.resolve().then(function () { return require('./Figure-9e886c5b.js'); });
14234
13601
  }, { ssr: false });
14235
13602
 
14236
13603
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
@@ -14644,13 +14011,13 @@ var SetCookie = function SetCookie(key, value) {
14644
14011
  js_cookie.set(key, value, { expires: 1, sameSite: 'none', secure: true });
14645
14012
  };
14646
14013
 
14647
- var urlFor$5 = function urlFor(source, client) {
14014
+ var urlFor$4 = function urlFor(source, client) {
14648
14015
  var builder = index.imageUrlBuilder(client);
14649
14016
  return builder.image(source).auto('format');
14650
14017
  };
14651
14018
 
14652
- var renderCardImage$1 = function renderCardImage(thumbnail, client, imageHeight, imageWidth) {
14653
- var url = urlFor$5(thumbnail, client);
14019
+ var renderCardImage = function renderCardImage(thumbnail, client, imageHeight, imageWidth) {
14020
+ var url = urlFor$4(thumbnail, client);
14654
14021
  if (imageHeight) url = url.height(imageHeight);
14655
14022
  if (imageWidth) url = url.width(imageWidth);
14656
14023
  return url.url();
@@ -14677,7 +14044,7 @@ var Hero = function Hero(_ref) {
14677
14044
  { className: 'h4' },
14678
14045
  title
14679
14046
  ),
14680
- thumbnail && client && React__default.createElement(reactBootstrap.Card.Img, { src: renderCardImage$1(thumbnail, client, imageHeight, imageWidth) }),
14047
+ thumbnail && client && React__default.createElement(reactBootstrap.Card.Img, { src: renderCardImage(thumbnail, client, imageHeight, imageWidth) }),
14681
14048
  summary && React__default.createElement(
14682
14049
  reactBootstrap.Card.Footer,
14683
14050
  { className: 'h6' },
@@ -17423,7 +16790,7 @@ var InscreenSensor = function (_React$Component) {
17423
16790
  return InscreenSensor;
17424
16791
  }(React__default.Component);
17425
16792
 
17426
- var renderAuthor$1 = function renderAuthor(authorName, authorURL, index, length) {
16793
+ var renderAuthor = function renderAuthor(authorName, authorURL, index, length) {
17427
16794
  var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
17428
16795
 
17429
16796
  if (authorName && authorURL) {
@@ -17689,7 +17056,7 @@ var Article = function Article(props) {
17689
17056
  parent.style.display = 'none';
17690
17057
  setContextualADFlag(false);
17691
17058
  } else {
17692
- if (body[1]._type === 'figure') {
17059
+ if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
17693
17060
  setContextualADFlag(true);
17694
17061
  }
17695
17062
  }
@@ -17699,16 +17066,17 @@ var Article = function Article(props) {
17699
17066
  React__default.Fragment,
17700
17067
  null,
17701
17068
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17702
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
17069
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17703
17070
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, _selectedIndex))),
17704
17071
  imageOptions: { w: 320, h: 240, fit: 'max' }
17705
17072
  }, client.config())),
17706
- React__default.createElement('span', { className: 'clearfix' }),
17073
+ contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
17707
17074
  React__default.createElement(
17708
17075
  'div',
17709
17076
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
17710
17077
  React__default.createElement(AdSlot.DFPAdSlot, _extends$2._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound }))
17711
17078
  ),
17079
+ contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
17712
17080
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17713
17081
  serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17714
17082
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(_selectedIndex))),
@@ -17844,7 +17212,7 @@ var Article = function Article(props) {
17844
17212
  return React__default.createElement(
17845
17213
  'span',
17846
17214
  { key: index },
17847
- renderAuthor$1(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
17215
+ renderAuthor(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
17848
17216
  );
17849
17217
  }),
17850
17218
  React__default.createElement(
@@ -18459,8 +17827,8 @@ function useUser() {
18459
17827
  }
18460
17828
 
18461
17829
  var hooks = /*#__PURE__*/Object.freeze({
18462
- __proto__: null,
18463
- useUser: useUser
17830
+ __proto__: null,
17831
+ useUser: useUser
18464
17832
  });
18465
17833
 
18466
17834
  var LoginForm = function LoginForm(props) {
@@ -19682,11 +19050,11 @@ function getTokenCookie(req) {
19682
19050
  }
19683
19051
 
19684
19052
  var authCookies = /*#__PURE__*/Object.freeze({
19685
- __proto__: null,
19686
- setTokenCookie: setTokenCookie,
19687
- removeTokenCookie: removeTokenCookie,
19688
- parseCookies: parseCookies,
19689
- getTokenCookie: getTokenCookie
19053
+ __proto__: null,
19054
+ setTokenCookie: setTokenCookie,
19055
+ removeTokenCookie: removeTokenCookie,
19056
+ parseCookies: parseCookies,
19057
+ getTokenCookie: getTokenCookie
19690
19058
  });
19691
19059
 
19692
19060
  function encryptSession(session) {
@@ -19730,9 +19098,9 @@ var getSession = function () {
19730
19098
  }();
19731
19099
 
19732
19100
  var iron = /*#__PURE__*/Object.freeze({
19733
- __proto__: null,
19734
- encryptSession: encryptSession,
19735
- getSession: getSession
19101
+ __proto__: null,
19102
+ encryptSession: encryptSession,
19103
+ getSession: getSession
19736
19104
  });
19737
19105
 
19738
19106
  var toStr = Object.prototype.toString;
@@ -21987,10 +21355,10 @@ var findUser$1 = function () {
21987
21355
  }();
21988
21356
 
21989
21357
  var user = /*#__PURE__*/Object.freeze({
21990
- __proto__: null,
21991
- createUser: createUser$1,
21992
- updateUser: updateUser$1,
21993
- findUser: findUser$1
21358
+ __proto__: null,
21359
+ createUser: createUser$1,
21360
+ updateUser: updateUser$1,
21361
+ findUser: findUser$1
21994
21362
  });
21995
21363
 
21996
21364
  var localStrategy = new Local.Strategy({
@@ -22006,8 +21374,8 @@ var localStrategy = new Local.Strategy({
22006
21374
  });
22007
21375
 
22008
21376
  var passportLocal = /*#__PURE__*/Object.freeze({
22009
- __proto__: null,
22010
- localStrategy: localStrategy
21377
+ __proto__: null,
21378
+ localStrategy: localStrategy
22011
21379
  });
22012
21380
 
22013
21381
  var _this$4 = undefined;
@@ -22199,7 +21567,7 @@ var auth = {
22199
21567
  ProcessData: ProcessData_1
22200
21568
  };
22201
21569
 
22202
- var renderAuthor$2 = function renderAuthor(authorName, authorURL, index, length) {
21570
+ var renderAuthor$1 = function renderAuthor(authorName, authorURL, index, length) {
22203
21571
  var defaultUrl = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'authors';
22204
21572
 
22205
21573
  if (authorName && authorURL) {
@@ -22261,7 +21629,7 @@ var getArticleSummary$1 = function getArticleSummary(article) {
22261
21629
  }
22262
21630
  };
22263
21631
 
22264
- function urlFor$6(client, source) {
21632
+ function urlFor$5(client, source) {
22265
21633
  return index.imageUrlBuilder(client).image(source);
22266
21634
  }
22267
21635
 
@@ -22322,7 +21690,7 @@ var DocumentGroup = function DocumentGroup(_ref) {
22322
21690
  var thumbnailUrl = false;
22323
21691
 
22324
21692
  if (article.documentGroup.thumbnail) {
22325
- thumbnailUrl = urlFor$6(client, article.documentGroup.thumbnail).url();
21693
+ thumbnailUrl = urlFor$5(client, article.documentGroup.thumbnail).url();
22326
21694
  }
22327
21695
 
22328
21696
  return React__default.createElement(
@@ -22686,7 +22054,7 @@ var Article$1 = function Article(props) {
22686
22054
  var shareUrl = shareBaseUrl + props.article.url.current;
22687
22055
  var shareTitle = article.title;
22688
22056
  var shareSummary = article.summary;
22689
- var shareImage = thumbnail && thumbnail.asset ? urlFor$6(props.client, thumbnail.asset).url() : shareImageDefault;
22057
+ var shareImage = thumbnail && thumbnail.asset ? urlFor$5(props.client, thumbnail.asset).url() : shareImageDefault;
22690
22058
  var siteName = props.website && props.website.title ? props.website.title : '';
22691
22059
 
22692
22060
  var meta = {
@@ -22776,7 +22144,7 @@ var Article$1 = function Article(props) {
22776
22144
  return React__default.createElement(
22777
22145
  'span',
22778
22146
  { key: index },
22779
- renderAuthor$2(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
22147
+ renderAuthor$1(authorDetail.displayName, authorDetail.url, index, authorDetails.length, authorPrefix)
22780
22148
  );
22781
22149
  }),
22782
22150
  React__default.createElement(
@@ -23413,7 +22781,6 @@ exports.GridHero = GridHero;
23413
22781
  exports.Hero = Hero;
23414
22782
  exports.HighlightenVideo = HighlightenVideo;
23415
22783
  exports.HorizontalHero = HorizontalHero;
23416
- exports.InfiniteScrollDeck = InfiniteScrollDeck;
23417
22784
  exports.KMTracker = KMTracker;
23418
22785
  exports.OncliveHero = OncliveHero;
23419
22786
  exports.OncliveLargeHero = OncliveLargeHero;
@@ -23432,4 +22799,4 @@ exports.getQuery = getQuery;
23432
22799
  exports.getSerializers = getSerializers;
23433
22800
  exports.getSeriesDetail = getSeriesDetail;
23434
22801
  exports.getTargeting = getTargeting;
23435
- exports.urlFor = urlFor$6;
22802
+ exports.urlFor = urlFor$5;