@mjhls/mjh-framework 1.0.195 → 1.0.197

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/index.js CHANGED
@@ -7,7 +7,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var React = require('react');
8
8
  var React__default = _interopDefault(React);
9
9
  var PropTypes = _interopDefault(require('prop-types'));
10
- var require$$1 = _interopDefault(require('react-dom'));
10
+ var reactDom = _interopDefault(require('react-dom'));
11
11
  var Container = _interopDefault(require('react-bootstrap/Container'));
12
12
  var Row = _interopDefault(require('react-bootstrap/Row'));
13
13
  var Col = _interopDefault(require('react-bootstrap/Col'));
@@ -7194,7 +7194,7 @@ var InfiniteScroll = /** @class */ (function (_super) {
7194
7194
 
7195
7195
  var visibilitySensor = createCommonjsModule(function (module, exports) {
7196
7196
  (function webpackUniversalModuleDefinition(root, factory) {
7197
- module.exports = factory(React__default, require$$1);
7197
+ module.exports = factory(React__default, reactDom);
7198
7198
  })(commonjsGlobal, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__2__) {
7199
7199
  return /******/ (function(modules) { // webpackBootstrap
7200
7200
  /******/ // The module cache
@@ -8502,7 +8502,7 @@ var _react2 = _interopRequireDefault(React__default);
8502
8502
 
8503
8503
 
8504
8504
 
8505
- var _reactDom2 = _interopRequireDefault(require$$1);
8505
+ var _reactDom2 = _interopRequireDefault(reactDom);
8506
8506
 
8507
8507
 
8508
8508
 
@@ -11772,6 +11772,88 @@ function get$1(object, path, defaultValue) {
11772
11772
 
11773
11773
  var get_1 = get$1;
11774
11774
 
11775
+ var AD = function AD(_ref) {
11776
+ var networkID = _ref.networkID,
11777
+ adUnit = _ref.adUnit,
11778
+ sizeMapping = _ref.sizeMapping,
11779
+ className = _ref.className,
11780
+ slotId = _ref.slotId,
11781
+ sizes = _ref.sizes,
11782
+ minInViewPercent = _ref.minInViewPercent,
11783
+ _ref$targeting = _ref.targeting,
11784
+ targeting = _ref$targeting === undefined ? {} : _ref$targeting;
11785
+
11786
+ var _useState = React.useState(false),
11787
+ _useState2 = slicedToArray(_useState, 2),
11788
+ adRendered = _useState2[0],
11789
+ setAdRendered = _useState2[1];
11790
+
11791
+ var _useState3 = React.useState(false),
11792
+ _useState4 = slicedToArray(_useState3, 2),
11793
+ showPlaceholder = _useState4[0],
11794
+ setShowPlaceholder = _useState4[1];
11795
+
11796
+ var handleVisibilityChange = debounce_1(function (_ref2) {
11797
+ var event = _ref2.event;
11798
+
11799
+ if (event.inViewPercentage <= 0) {
11800
+ setShowPlaceholder(true);
11801
+ }
11802
+ }, 500);
11803
+
11804
+ return React__default.createElement(
11805
+ React__default.Fragment,
11806
+ null,
11807
+ !showPlaceholder && React__default.createElement(
11808
+ lib_1,
11809
+ {
11810
+ dfpNetworkId: networkID,
11811
+ targetingArguments: targeting,
11812
+ sizeMapping: sizeMapping,
11813
+ lazyLoad: { fetchMarginPercent: 500, renderMarginPercent: 200, mobileScaling: 2.0 } },
11814
+ React__default.createElement(
11815
+ 'div',
11816
+ { className: className },
11817
+ React__default.createElement(lib_2, {
11818
+ slotId: slotId,
11819
+ sizes: sizes,
11820
+ adUnit: adUnit,
11821
+ sizeMapping: sizeMapping,
11822
+ onSlotRender: function onSlotRender(eventData) {
11823
+ setAdRendered(true);
11824
+ },
11825
+ onSlotVisibilityChanged: handleVisibilityChange
11826
+ })
11827
+ )
11828
+ ),
11829
+ adRendered && showPlaceholder && React__default.createElement(
11830
+ VisibilitySensor,
11831
+ {
11832
+ partialVisibility: true,
11833
+ onChange: function onChange(isVisible) {
11834
+ if (isVisible) {
11835
+ setShowPlaceholder(false);
11836
+ }
11837
+ } },
11838
+ React__default.createElement(
11839
+ 'div',
11840
+ { style: { height: 'auto' } },
11841
+ '\xA0'
11842
+ )
11843
+ )
11844
+ );
11845
+ };
11846
+
11847
+ AD.propTypes = {
11848
+ networkID: PropTypes.string.isRequired,
11849
+ adUnit: PropTypes.string.isRequired,
11850
+ slotId: PropTypes.string,
11851
+ className: PropTypes.string,
11852
+ sizeMapping: PropTypes.array,
11853
+ sizes: PropTypes.array,
11854
+ minInViewPercent: PropTypes.number
11855
+ };
11856
+
11775
11857
  var GridContent = function (_React$Component) {
11776
11858
  inherits(GridContent, _React$Component);
11777
11859
 
@@ -11990,7 +12072,7 @@ var GridContent = function (_React$Component) {
11990
12072
 
11991
12073
  createClass(GridContent, [{
11992
12074
  key: 'cardLoader',
11993
- value: function cardLoader(page, columns, variant, showVideo, VideoPlayer) {
12075
+ value: function cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight) {
11994
12076
  var _this2 = this;
11995
12077
 
11996
12078
  var lgVar = Math.floor(12 / columns);
@@ -12065,13 +12147,33 @@ var GridContent = function (_React$Component) {
12065
12147
  })
12066
12148
  );
12067
12149
  }
12150
+
12151
+ var insert = function insert(arr, index$$1, newElement) {
12152
+ return [].concat(toConsumableArray(arr.slice(0, index$$1)), [newElement], toConsumableArray(arr.slice(index$$1)));
12153
+ };
12154
+ var posts = [];
12155
+ if (showBI) {
12156
+ var interval = brandInsight.interval;
12157
+ var data = this.state.data;
12158
+ posts = data;
12159
+ var i = 1;
12160
+ for (var pos = interval; pos <= posts.length;) {
12161
+ brandInsight.targeting.pos = 'article' + i;
12162
+ posts = insert(posts, pos, brandInsight);
12163
+ pos += interval + 1;
12164
+ i++;
12165
+ }
12166
+ } else {
12167
+ posts = this.state.data;
12168
+ }
12169
+
12068
12170
  return React__default.createElement(
12069
12171
  'div',
12070
12172
  { className: 'grid-container' },
12071
- this.state.data && this.state.data.map(function (row, index$$1) {
12173
+ posts && posts.map(function (row, index$$1) {
12072
12174
  var pageNumber = row.pageNumber || _this2.state.page;
12073
12175
  var contentCategoryName = row.contentCategory && row.contentCategory.name && _this2.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
12074
- var linkHref = _this2.mapping[contentCategoryName] + '/' + row.url.current;
12176
+ var linkHref = row.url && row.url.current ? _this2.mapping[contentCategoryName] + '/' + row.url.current : '';
12075
12177
  if (row._type === 'feature') {
12076
12178
  if (row.blank || _this2.checkExternalUrl(row.url.current)) {
12077
12179
  return React__default.createElement(
@@ -12131,7 +12233,7 @@ var GridContent = function (_React$Component) {
12131
12233
  )
12132
12234
  )
12133
12235
  ),
12134
- showVideo && (_this2.state.data.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12236
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12135
12237
  main_36 && _this2.props.rightItems && (index$$1 + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index$$1, numberOfItemsBeforeAd)
12136
12238
  );
12137
12239
  } else {
@@ -12192,10 +12294,24 @@ var GridContent = function (_React$Component) {
12192
12294
  )
12193
12295
  )
12194
12296
  ),
12195
- showVideo && (_this2.state.data.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12297
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12196
12298
  main_36 && _this2.props.rightItems && (index$$1 + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index$$1, numberOfItemsBeforeAd)
12197
12299
  );
12198
12300
  }
12301
+ } else if (row._type === 'BrandInsight' && row.adUnit) {
12302
+ return React__default.createElement(
12303
+ React__default.Fragment,
12304
+ { key: itemCounter, className: 'brand-insight-wrapper' },
12305
+ React__default.createElement(
12306
+ 'div',
12307
+ { counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
12308
+ React__default.createElement(
12309
+ Card,
12310
+ { className: 'content-card ad-wrapper', style: { flexDirection: index$$1 === 0 || index$$1 % 4 === 0 ? 'top' : 'row' } },
12311
+ React__default.createElement(AD, { networkID: row.networkID, adUnit: row.adUnit, targeting: row.targeting, className: row.className, sizes: row.sizes, slotId: row.slotId })
12312
+ )
12313
+ )
12314
+ );
12199
12315
  }
12200
12316
  return React__default.createElement(
12201
12317
  React__default.Fragment,
@@ -12254,7 +12370,7 @@ var GridContent = function (_React$Component) {
12254
12370
  )
12255
12371
  )
12256
12372
  ),
12257
- showVideo && (_this2.state.data.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12373
+ showVideo && (posts.length < numberOfItemsBeforeVideo || index$$1 + 1 === numberOfItemsBeforeVideo) && React__default.createElement(VideoPlayer, null),
12258
12374
  main_36 && _this2.props.rightItems && (index$$1 + 1) % numberOfItemsBeforeAd === 0 && _this2.renderMobileAd(index$$1, numberOfItemsBeforeAd)
12259
12375
  );
12260
12376
  })
@@ -12271,7 +12387,9 @@ var GridContent = function (_React$Component) {
12271
12387
  autoScroll = _props.autoScroll,
12272
12388
  page = _props.page,
12273
12389
  showVideo = _props.showVideo,
12274
- VideoPlayer = _props.VideoPlayer;
12390
+ VideoPlayer = _props.VideoPlayer,
12391
+ showBI = _props.showBI,
12392
+ brandInsight = _props.brandInsight;
12275
12393
 
12276
12394
 
12277
12395
  return React__default.createElement(
@@ -12283,7 +12401,7 @@ var GridContent = function (_React$Component) {
12283
12401
  React__default.createElement(
12284
12402
  Container,
12285
12403
  null,
12286
- this.cardLoader(page, columns, variant, showVideo, VideoPlayer)
12404
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight)
12287
12405
  )
12288
12406
  ) : React__default.createElement(
12289
12407
  React__default.Fragment,
@@ -12291,7 +12409,7 @@ var GridContent = function (_React$Component) {
12291
12409
  React__default.createElement(
12292
12410
  Container,
12293
12411
  null,
12294
- this.cardLoader(page, columns, variant, showVideo, VideoPlayer)
12412
+ this.cardLoader(page, columns, variant, showVideo, VideoPlayer, showBI, brandInsight)
12295
12413
  ),
12296
12414
  React__default.createElement(
12297
12415
  'div',
@@ -16896,88 +17014,6 @@ var HamMagazine = function HamMagazine(props) {
16896
17014
  );
16897
17015
  };
16898
17016
 
16899
- var AD = function AD(_ref) {
16900
- var networkID = _ref.networkID,
16901
- adUnit = _ref.adUnit,
16902
- sizeMapping = _ref.sizeMapping,
16903
- className = _ref.className,
16904
- slotId = _ref.slotId,
16905
- sizes = _ref.sizes,
16906
- minInViewPercent = _ref.minInViewPercent,
16907
- _ref$targeting = _ref.targeting,
16908
- targeting = _ref$targeting === undefined ? {} : _ref$targeting;
16909
-
16910
- var _useState = React.useState(false),
16911
- _useState2 = slicedToArray(_useState, 2),
16912
- adRendered = _useState2[0],
16913
- setAdRendered = _useState2[1];
16914
-
16915
- var _useState3 = React.useState(false),
16916
- _useState4 = slicedToArray(_useState3, 2),
16917
- showPlaceholder = _useState4[0],
16918
- setShowPlaceholder = _useState4[1];
16919
-
16920
- var handleVisibilityChange = debounce_1(function (_ref2) {
16921
- var event = _ref2.event;
16922
-
16923
- if (event.inViewPercentage <= 0) {
16924
- setShowPlaceholder(true);
16925
- }
16926
- }, 500);
16927
-
16928
- return React__default.createElement(
16929
- React__default.Fragment,
16930
- null,
16931
- !showPlaceholder && React__default.createElement(
16932
- lib_1,
16933
- {
16934
- dfpNetworkId: networkID,
16935
- targetingArguments: targeting,
16936
- sizeMapping: sizeMapping,
16937
- lazyLoad: { fetchMarginPercent: 500, renderMarginPercent: 200, mobileScaling: 2.0 } },
16938
- React__default.createElement(
16939
- 'div',
16940
- { className: className },
16941
- React__default.createElement(lib_2, {
16942
- slotId: slotId,
16943
- sizes: sizes,
16944
- adUnit: adUnit,
16945
- sizeMapping: sizeMapping,
16946
- onSlotRender: function onSlotRender(eventData) {
16947
- setAdRendered(true);
16948
- },
16949
- onSlotVisibilityChanged: handleVisibilityChange
16950
- })
16951
- )
16952
- ),
16953
- adRendered && showPlaceholder && React__default.createElement(
16954
- VisibilitySensor,
16955
- {
16956
- partialVisibility: true,
16957
- onChange: function onChange(isVisible) {
16958
- if (isVisible) {
16959
- setShowPlaceholder(false);
16960
- }
16961
- } },
16962
- React__default.createElement(
16963
- 'div',
16964
- { style: { height: 'auto' } },
16965
- '\xA0'
16966
- )
16967
- )
16968
- );
16969
- };
16970
-
16971
- AD.propTypes = {
16972
- networkID: PropTypes.string.isRequired,
16973
- adUnit: PropTypes.string.isRequired,
16974
- slotId: PropTypes.string,
16975
- className: PropTypes.string,
16976
- sizeMapping: PropTypes.array,
16977
- sizes: PropTypes.array,
16978
- minInViewPercent: PropTypes.number
16979
- };
16980
-
16981
17017
  var AD728x90 = function AD728x90(_ref) {
16982
17018
  var networkID = _ref.networkID,
16983
17019
  adUnit = _ref.adUnit,
@@ -29363,6 +29399,16 @@ var fbsHero = function fbsHero(props) {
29363
29399
  function urlFor(source) {
29364
29400
  return builder.image(source);
29365
29401
  }
29402
+
29403
+ var topArticleThumbnail = '';
29404
+ var topArticleAltText = topArticle.title;
29405
+ if (topArticle.thumbnail && topArticle.thumbnail.asset) {
29406
+ topArticleThumbnail = urlFor(topArticle.thumbnail.asset).width(600).url();
29407
+ topArticleAltText = topArticle.thumbnail.asset.originalFileName;
29408
+ } else if (props.thumbnail) {
29409
+ topArticleThumbnail = props.thumbnail;
29410
+ }
29411
+
29366
29412
  return React__default.createElement(
29367
29413
  'div',
29368
29414
  { className: 'article-hero' },
@@ -29375,7 +29421,7 @@ var fbsHero = function fbsHero(props) {
29375
29421
  React__default.createElement(
29376
29422
  'div',
29377
29423
  { className: 'fbs-top-article--img' },
29378
- React__default.createElement('img', { src: urlFor(topArticle.thumbnail.asset).width(600).url(), alt: topArticle.thumbnail.asset.originalFileName })
29424
+ React__default.createElement('img', { src: topArticleThumbnail, alt: topArticleAltText })
29379
29425
  ),
29380
29426
  React__default.createElement(
29381
29427
  'div',
@@ -29390,7 +29436,7 @@ var fbsHero = function fbsHero(props) {
29390
29436
  null,
29391
29437
  moment(topArticle.published).format('MMMM DD, YYYY hh:mma')
29392
29438
  ),
29393
- React__default.createElement(
29439
+ topArticle.authorMapping && topArticle.authorMapping[0] && React__default.createElement(
29394
29440
  'p',
29395
29441
  null,
29396
29442
  'By ',
@@ -29407,10 +29453,19 @@ var fbsHero = function fbsHero(props) {
29407
29453
  'div',
29408
29454
  { className: 'fbs-sub-article-container' },
29409
29455
  subArticles.map(function (article, index) {
29456
+ var articleThumbnail = '';
29457
+ var articleAltText = article.title;
29458
+ if (article.thumbnail && article.thumbnail.asset) {
29459
+ articleThumbnail = urlFor(article.thumbnail.asset).width(250).url();
29460
+ articleAltText = article.thumbnail.asset.originalFileName;
29461
+ } else if (props.thumbnail) {
29462
+ articleThumbnail = props.thumbnail;
29463
+ }
29464
+
29410
29465
  return React__default.createElement(
29411
29466
  'a',
29412
29467
  { key: index, href: '/view/' + article.url.current, className: 'fbs-sub-article' },
29413
- React__default.createElement('img', { src: urlFor(article.thumbnail.asset).width(250).url() }),
29468
+ React__default.createElement('img', { src: articleThumbnail, alt: articleAltText }),
29414
29469
  React__default.createElement(
29415
29470
  'div',
29416
29471
  null,
@@ -29424,14 +29479,14 @@ var fbsHero = function fbsHero(props) {
29424
29479
  null,
29425
29480
  moment(article.published).format('MMMM DD, YYYY hh:mma')
29426
29481
  ),
29427
- React__default.createElement(
29482
+ article.authorMapping && article.authorMapping[0] && React__default.createElement(
29428
29483
  'p',
29429
29484
  null,
29430
29485
  'By ',
29431
29486
  React__default.createElement(
29432
29487
  'b',
29433
29488
  null,
29434
- topArticle.authorMapping[0].displayName
29489
+ article.authorMapping[0].displayName
29435
29490
  )
29436
29491
  )
29437
29492
  )
@@ -29441,7 +29496,7 @@ var fbsHero = function fbsHero(props) {
29441
29496
  React__default.createElement(
29442
29497
  'style',
29443
29498
  { jsx: 'true' },
29444
- '\n .article-hero {\n margin-bottom: 1rem;\n border-bottom: 1px solid #ddd;\n padding-bottom: 0.5rem;\n }\n .fbs-top-article {\n width: 100%;\n margin-bottom: 1rem;\n padding-bottom: 1rem;\n border-bottom: 1px solid #ddd;\n }\n .fbs-top-article img {\n width: 100%;\n height: auto;\n max-height: 375px;\n object-fit: cover;\n }\n .fbs-top-article--body {\n }\n .fbs-top-article--body h1 {\n color: #252525!important;\n font-size: 1.6rem;\n font-weight: bold;\n text-align: center;\n margin-top: 1rem;\n }\n .fbs-top-article--body p {\n text-align: center;\n margin-bottom: 0;\n color: #252525;\n }\n .fbs-top-article--body p:first-of-type {\n \n font-size: 0.9rem;\n }\n .fbs-sub-article-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n padding-top: 1.75rem;\n margin-left: -1rem;\n margin-rigth: -1rem;\n }\n .fbs-sub-article {\n width: calc(50% - 2rem);\n min-width: 350px;\n display: flex;\n flex-direction: row;\n flex: 1 1 auto;\n margin: 0 1rem 1.75rem;\n }\n .fbs-sub-article img {\n margin-right: 1rem;\n width: 100px;\n max-height: 100px;\n object-fit: cover;\n }\n .fbs-sub-article p {\n margin-bottom: 0;\n font-size: 0.8rem;\n color: #252525;\n }\n .fbs-sub-article .fbs-sub-article--title {\n font-weight: bold;\n font-size: 1rem;\n color: #252525;\n }\n \n '
29499
+ '\n .article-hero {\n margin-bottom: 1rem;\n border-bottom: 1px solid #ddd;\n padding-bottom: 0.5rem;\n }\n .fbs-top-article {\n width: 100%;\n margin-bottom: 1rem;\n padding-bottom: 1rem;\n border-bottom: 1px solid #ddd;\n }\n .fbs-top-article img {\n width: 100%;\n height: auto;\n max-height: 375px;\n object-fit: cover;\n }\n \n .fbs-top-article--body {\n }\n .fbs-top-article--body h1 {\n color: #252525 !important;\n font-size: 1.6rem;\n font-weight: bold;\n text-align: center;\n margin-top: 1rem;\n }\n .fbs-top-article--body p {\n text-align: center;\n margin-bottom: 0;\n color: #252525;\n }\n .fbs-top-article--body p:first-of-type {\n font-size: 0.9rem;\n }\n .fbs-sub-article-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n padding-top: 1.75rem;\n margin-left: -1rem;\n margin-rigth: -1rem;\n }\n .fbs-sub-article {\n width: calc(50% - 2rem);\n min-width: 350px;\n display: flex;\n flex-direction: row;\n flex: 1 1 auto;\n margin: 0 1rem 1.75rem;\n }\n .fbs-sub-article img {\n margin-right: 1rem;\n width: 100px;\n max-height: 100px;\n object-fit: contain;\n }\n .fbs-sub-article p {\n margin-bottom: 0;\n font-size: 0.8rem;\n color: #252525;\n }\n .fbs-sub-article .fbs-sub-article--title {\n font-weight: bold;\n font-size: 1rem;\n color: #252525;\n }\n '
29445
29500
  )
29446
29501
  );
29447
29502
  };
@@ -29461,9 +29516,18 @@ var HorizontalHero = function HorizontalHero(props) {
29461
29516
  borderColor = _props$borderColor === undefined ? 'black' : _props$borderColor;
29462
29517
 
29463
29518
 
29519
+ var topArticleThumbnail = '';
29520
+ var topArticleAltText = topArticle.title;
29521
+ if (topArticle.thumbnail && topArticle.thumbnail.asset) {
29522
+ topArticleThumbnail = urlFor(topArticle.thumbnail.asset).width(350).url();
29523
+ topArticleAltText = topArticle.thumbnail.asset.originalFileName;
29524
+ } else if (props.thumbnail) {
29525
+ topArticleThumbnail = props.thumbnail;
29526
+ }
29527
+
29464
29528
  return React__default.createElement(
29465
29529
  'div',
29466
- { className: 'horizontal-hero-container' },
29530
+ { className: 'horizontal-hero-container', style: { borderRight: '3px solid ' + borderColor, borderTop: '3px solid ' + borderColor } },
29467
29531
  React__default.createElement(
29468
29532
  'div',
29469
29533
  { className: 'horizontal-hero-title' },
@@ -29480,7 +29544,7 @@ var HorizontalHero = function HorizontalHero(props) {
29480
29544
  React__default.createElement(
29481
29545
  'a',
29482
29546
  { href: '/view/' + topArticle.url.current, className: 'horizontal-hero-img' },
29483
- React__default.createElement('img', { src: urlFor(topArticle.thumbnail.asset).width(350).url() })
29547
+ React__default.createElement('img', { src: topArticleThumbnail, alt: topArticleAltText })
29484
29548
  ),
29485
29549
  React__default.createElement(
29486
29550
  'div',
@@ -29527,7 +29591,7 @@ var HorizontalHero = function HorizontalHero(props) {
29527
29591
  React__default.createElement(
29528
29592
  'style',
29529
29593
  { jsx: 'true' },
29530
- '\n .horizontal-hero-container {\n border-right: 3px solid ' + borderColor + ';\n border-top: 3px solid ' + borderColor + ';\n margin-bottom: 3rem;\n margin-top: 2rem;\n position: relative;\n }\n .horizontal-hero-title {\n position: absolute;\n top: -25px;\n background: white;\n z-index: 2;\n padding-right: 1.5rem;\n font-weight: bold;\n }\n .horizontal-hero-inner {\n display: flex;\n flex-direction: row;\n padding-top: 0.75rem;\n margin-top: 0.75rem;\n }\n\n .horizontal-articles-wrap {\n padding: 0 1rem;\n }\n\n .horizontal-hero-img {\n width: 33%;\n min-width: 200px;\n }\n .horizontal-hero-img img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .horizontal-article {\n border-bottom: 1px solid #ccc;\n display: block;\n margin-bottom: 0.5rem;\n }\n .horizontal-article:hover {\n background: #eee;\n }\n .horizontal-article p {\n margin-bottom: 0.5rem;\n font-weight: bold;\n color: #252525;\n }\n .horizontal-view-more {\n position: absolute;\n right: 0;\n margin-top: 0.25rem;\n font-weight: bold;\n }\n .horizontal-view-more span {\n display: inline-block;\n color: rgb(81, 116, 153);\n font-size: 1.2rem;\n }\n @media screen and (max-width: 768px) {\n .horizontal-hero-img {\n display: none;\n }\n }\n '
29594
+ '\n .horizontal-hero-container {\n margin-bottom: 3rem;\n margin-top: 2rem;\n position: relative;\n }\n .horizontal-hero-title {\n position: absolute;\n top: -25px;\n background: white;\n z-index: 2;\n padding-right: 1.5rem;\n font-weight: bold;\n }\n .horizontal-hero-inner {\n display: flex;\n flex-direction: row;\n padding-top: 0.75rem;\n margin-top: 0.75rem;\n }\n\n .horizontal-articles-wrap {\n padding: 0 1rem;\n }\n\n .horizontal-hero-img {\n width: 33%;\n min-width: 200px;\n }\n .horizontal-hero-img img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n .horizontal-article {\n border-bottom: 1px solid #ccc;\n display: block;\n margin-bottom: 0.5rem;\n }\n .horizontal-article:hover {\n background: #eee;\n }\n .horizontal-article p {\n margin-bottom: 0.5rem;\n font-weight: bold;\n color: #252525;\n }\n .horizontal-view-more {\n position: absolute;\n right: 0;\n margin-top: 0.25rem;\n font-weight: bold;\n }\n .horizontal-view-more span {\n display: inline-block;\n color: rgb(81, 116, 153);\n font-size: 1.2rem;\n }\n @media screen and (max-width: 768px) {\n .horizontal-hero-img {\n display: none;\n }\n }\n '
29531
29595
  )
29532
29596
  );
29533
29597
  };
@@ -29543,13 +29607,21 @@ var OncliveHero = function OncliveHero(props) {
29543
29607
  'div',
29544
29608
  { className: 'article-group--container' },
29545
29609
  props.dataRecord.map(function (article, index) {
29610
+ var articleThumbnail = '';
29611
+ var articleAltText = article.title;
29612
+ if (article.thumbnail && article.thumbnail.asset) {
29613
+ articleThumbnail = urlFor(article.thumbnail.asset).width(250).url();
29614
+ articleAltText = article.thumbnail.asset.originalFileName;
29615
+ } else if (props.thumbnail) {
29616
+ articleThumbnail = props.thumbnail;
29617
+ }
29546
29618
  return React__default.createElement(
29547
29619
  'a',
29548
29620
  { key: index, href: '/view/' + article.url.current, className: 'article-group' },
29549
29621
  React__default.createElement(
29550
29622
  'figure',
29551
29623
  null,
29552
- React__default.createElement('img', { src: urlFor(article.thumbnail.asset).width(250).url(), alt: article.title })
29624
+ React__default.createElement('img', { src: articleThumbnail, alt: articleAltText })
29553
29625
  ),
29554
29626
  React__default.createElement(
29555
29627
  'div',
@@ -29561,7 +29633,7 @@ var OncliveHero = function OncliveHero(props) {
29561
29633
  ),
29562
29634
  React__default.createElement('div', null),
29563
29635
  moment(article.published).format('MMMM Do YYYY, h:mma'),
29564
- article.authorMapping[0].displayName && React__default.createElement(
29636
+ article.authorMapping && article.authorMapping[0] && article.authorMapping[0].displayName && React__default.createElement(
29565
29637
  'p',
29566
29638
  { className: 'mb-2' },
29567
29639
  'By ',
@@ -29582,7 +29654,7 @@ var OncliveHero = function OncliveHero(props) {
29582
29654
  React__default.createElement(
29583
29655
  'style',
29584
29656
  { jsx: 'true' },
29585
- '\n .article-group--container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n .article-group--container * {\n transition: all 0.13s ease;\n }\n .article-group {\n display: flex;\n flex-direction: row;\n flex: 1 1 auto;\n margin: 0.5rem 1rem;\n width: calc(50% - 2rem);\n background: #fff;\n min-width: 320px;\n transition: all 0.1s ease-out;\n border-top: 1px solid #eee;\n position: relative;\n overflow: hidden;\n }\n \n .article-group:nth-of-type(1) {\n width: 100%;\n }\n .article-group:nth-of-type(1) .article-group--body {\n }\n .article-group:nth-of-type(1) figure img {\n width: 225px;\n }\n .article-group:nth-of-type(1) .article-group--body h2 {\n font-size: 1.4rem;\n }\n .article-group:nth-of-type(1) .article-group--summary {\n display: block;\n }\n @media screen and (max-width: 1091px) {\n .article-group:nth-of-type(1) {\n width: 100%;\n }\n .article-group:nth-of-type(1) .article-group--summary {\n display: none;\n }\n .article-group:nth-of-type(1) figure img {\n width: 130px;\n }\n .article-group:nth-of-type(1) .article-group--body h2 {\n font-size: 1rem;\n }\n }\n .article-group figure {\n margin-bottom: 0;\n }\n .article-group figure img {\n height: 100%;\n width: 130px;\n\n object-fit: cover;\n }\n .article-group--body {\n padding-left: 1rem;\n }\n .article-group--body p {\n font-size: .9rem;\n }\n .article-group--body h2 {\n font-weight: bold;\n margin-top: 1rem;\n font-size: 1rem;\n padding-right: 0.5rem;\n }\n .article-group--summary {\n font-size: 1rem;\n display: none;\n }\n '
29657
+ '\n .article-group--container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n }\n .article-group--container * {\n transition: all 0.13s ease;\n }\n .article-group {\n display: flex;\n flex-direction: row;\n flex: 1 1 auto;\n margin: 0.5rem 1rem;\n width: calc(50% - 2rem);\n background: #fff;\n min-width: 320px;\n transition: all 0.1s ease-out;\n border-top: 1px solid #eee;\n position: relative;\n overflow: hidden;\n }\n \n .article-group:nth-of-type(1) {\n width: 100%;\n }\n .article-group:nth-of-type(1) .article-group--body {\n }\n .article-group:nth-of-type(1) figure img {\n width: 225px;\n }\n .article-group:nth-of-type(1) .article-group--body h2 {\n font-size: 1.4rem;\n }\n .article-group:nth-of-type(1) .article-group--summary {\n display: block;\n }\n @media screen and (max-width: 1091px) {\n .article-group:nth-of-type(1) {\n width: 100%;\n }\n .article-group:nth-of-type(1) .article-group--summary {\n display: none;\n }\n .article-group:nth-of-type(1) figure img {\n width: 130px;\n }\n .article-group:nth-of-type(1) .article-group--body h2 {\n font-size: 1rem;\n }\n }\n .article-group figure {\n margin-bottom: 0;\n }\n .article-group figure img {\n height: 100%;\n width: 130px;\n object-fit: contain;\n }\n \n .article-group--body {\n padding-left: 1rem;\n }\n .article-group--body p {\n font-size: .9rem;\n }\n .article-group--body h2 {\n font-weight: bold;\n margin-top: 1rem;\n font-size: 1rem;\n padding-right: 0.5rem;\n }\n .article-group--summary {\n font-size: 1rem;\n display: none;\n }\n '
29586
29658
  )
29587
29659
  );
29588
29660
  };
@@ -29597,6 +29669,15 @@ var OncliveLargeHero = function OncliveLargeHero(props) {
29597
29669
  return builder.image(source);
29598
29670
  }
29599
29671
 
29672
+ var topArticleThumbnail = '';
29673
+ var topArticleAltText = topArticle.title;
29674
+ if (topArticle.thumbnail && topArticle.thumbnail.asset) {
29675
+ topArticleThumbnail = urlFor(topArticle.thumbnail.asset).width(550).url();
29676
+ topArticleAltText = topArticle.thumbnail.asset.originalFileName;
29677
+ } else if (props.thumbnail) {
29678
+ topArticleThumbnail = props.thumbnail;
29679
+ }
29680
+
29600
29681
  return React__default.createElement(
29601
29682
  'div',
29602
29683
  { className: 'article-hero-container' },
@@ -29606,8 +29687,7 @@ var OncliveLargeHero = function OncliveLargeHero(props) {
29606
29687
  React__default.createElement(
29607
29688
  'figure',
29608
29689
  null,
29609
- React__default.createElement('img', {
29610
- src: urlFor(topArticle.thumbnail.asset).width(500).url() })
29690
+ React__default.createElement('img', { src: topArticleThumbnail, alt: topArticleAltText })
29611
29691
  ),
29612
29692
  React__default.createElement(
29613
29693
  'div',
@@ -29633,16 +29713,21 @@ var OncliveLargeHero = function OncliveLargeHero(props) {
29633
29713
  'div',
29634
29714
  { className: 'sub-articles-container' },
29635
29715
  subArticles && subArticles.map(function (article, index) {
29716
+ var articleThumbnail = '';
29717
+ var articleAltText = article.title;
29718
+ if (article.thumbnail && article.thumbnail.asset) {
29719
+ articleThumbnail = urlFor(article.thumbnail.asset).width(250).url();
29720
+ articleAltText = article.thumbnail.asset.originalFileName;
29721
+ } else if (props.thumbnail) {
29722
+ articleThumbnail = props.thumbnail;
29723
+ }
29636
29724
  return React__default.createElement(
29637
29725
  'a',
29638
- { href: '/view/' + article.url.current, className: 'sub-article' },
29726
+ { key: index, href: '/view/' + article.url.current, className: 'sub-article' },
29639
29727
  React__default.createElement(
29640
29728
  'figure',
29641
29729
  null,
29642
- React__default.createElement('img', {
29643
- src: urlFor(article.thumbnail.asset).width(250).url(),
29644
- alt: article.title
29645
- })
29730
+ React__default.createElement('img', { src: articleThumbnail, alt: articleAltText })
29646
29731
  ),
29647
29732
  React__default.createElement(
29648
29733
  'div',
@@ -29654,7 +29739,7 @@ var OncliveLargeHero = function OncliveLargeHero(props) {
29654
29739
  ),
29655
29740
  React__default.createElement('div', null),
29656
29741
  moment(article.published).format('MMMM Do YYYY, h:mma'),
29657
- article.authorMapping[0].displayName && React__default.createElement(
29742
+ article.authorMapping && article.authorMapping[0] && article.authorMapping[0].displayName && React__default.createElement(
29658
29743
  'p',
29659
29744
  { className: 'mb-2' },
29660
29745
  'By ',
@@ -29703,10 +29788,18 @@ var VerticalHero = function VerticalHero(props) {
29703
29788
  )
29704
29789
  ),
29705
29790
  props.dataRecord.map(function (article, index) {
29791
+ var articleThumbnail = '';
29792
+ var articleAltText = article.title;
29793
+ if (article.thumbnail && article.thumbnail.asset) {
29794
+ articleThumbnail = urlFor(article.thumbnail.asset).width(500).url();
29795
+ articleAltText = article.thumbnail.asset.originalFileName;
29796
+ } else if (props.thumbnail) {
29797
+ articleThumbnail = props.thumbnail;
29798
+ }
29706
29799
  return index === 0 ? React__default.createElement(
29707
29800
  'a',
29708
29801
  { href: '/view/' + article.url.current, key: index, className: 'vertical-article' },
29709
- React__default.createElement('img', { src: urlFor(article.thumbnail.asset).width(500).url() }),
29802
+ React__default.createElement('img', { src: articleThumbnail, alt: articleAltText }),
29710
29803
  React__default.createElement(
29711
29804
  'h2',
29712
29805
  null,
@@ -29726,7 +29819,7 @@ var VerticalHero = function VerticalHero(props) {
29726
29819
  React__default.createElement(
29727
29820
  'style',
29728
29821
  { jsx: 'true' },
29729
- '\n .vertical-hero-container {\n display: flex;\n flex-direction: row;\n padding: 0.25rem;\n justify-content: space-between;\n width: 100%;\n flex: 1 1 auto;\n \n }\n .hero-title h2{\n font-size: 1.2rem;\n font-weight: bold;\n \n }\n .vertical-article {\n display: block;\n }\n .vertical-article img {\n width: 100%;\n height: auto;\n min-width: 200px;\n }\n .vertical-article h2 {\n font-size: .9rem;\n color: #252525;\n font-weight: bold;\n padding: 0.5rem .5rem 1rem;\n margin: 0.5rem;\n border-bottom: 1px solid #ccc;\n }\n \n '
29822
+ '\n .vertical-hero-container {\n display: flex;\n flex-direction: row;\n padding: 0.25rem;\n justify-content: space-between;\n width: 100%;\n flex: 1 1 auto;\n }\n .hero-title h2 {\n font-size: 1.2rem;\n font-weight: bold;\n }\n .vertical-article {\n display: block;\n }\n .vertical-article img {\n width: 100%;\n height: auto;\n min-width: 200px;\n }\n .vertical-article h2 {\n font-size: 0.9rem;\n color: #252525;\n font-weight: bold;\n padding: 0.5rem 0.5rem 1rem;\n margin: 0.5rem;\n border-bottom: 1px solid #ccc;\n }\n '
29730
29823
  )
29731
29824
  );
29732
29825
  };
@@ -29740,6 +29833,16 @@ var YahooHero = function YahooHero(props) {
29740
29833
  function urlFor(source) {
29741
29834
  return builder.image(source);
29742
29835
  }
29836
+
29837
+ var topArticleThumbnail = '';
29838
+ var topArticleAltText = topArticle.title;
29839
+ if (topArticle.thumbnail && topArticle.thumbnail.asset) {
29840
+ topArticleThumbnail = urlFor(topArticle.thumbnail.asset).width(600).url();
29841
+ topArticleAltText = topArticle.thumbnail.asset.originalFileName;
29842
+ } else if (props.thumbnail) {
29843
+ topArticleThumbnail = props.thumbnail;
29844
+ }
29845
+
29743
29846
  return React__default.createElement(
29744
29847
  'div',
29745
29848
  { className: 'article-hero' },
@@ -29752,7 +29855,7 @@ var YahooHero = function YahooHero(props) {
29752
29855
  React__default.createElement(
29753
29856
  'div',
29754
29857
  { className: 'yh-top-article--img' },
29755
- React__default.createElement('img', { src: urlFor(topArticle.thumbnail.asset).width(600).url(), alt: topArticle.thumbnail.asset.originalFileName })
29858
+ React__default.createElement('img', { src: topArticleThumbnail, alt: topArticleAltText })
29756
29859
  ),
29757
29860
  React__default.createElement('div', { className: 'yh-top-article--blur' }),
29758
29861
  React__default.createElement(
@@ -29780,10 +29883,19 @@ var YahooHero = function YahooHero(props) {
29780
29883
  'div',
29781
29884
  { className: 'yh-sub-article-container' },
29782
29885
  subArticles.map(function (article, index) {
29886
+ var articleThumbnail = '';
29887
+ var articleAltText = article.title;
29888
+ if (article.thumbnail && article.thumbnail.asset) {
29889
+ articleThumbnail = urlFor(article.thumbnail.asset).width(250).url();
29890
+ articleAltText = article.thumbnail.asset.originalFileName;
29891
+ } else if (props.thumbnail) {
29892
+ articleThumbnail = props.thumbnail;
29893
+ }
29894
+
29783
29895
  return React__default.createElement(
29784
29896
  'a',
29785
29897
  { href: '/view/' + article.url.current, key: index, className: 'yh-sub-article' },
29786
- React__default.createElement('img', { src: urlFor(article.thumbnail.asset).width(250).url() }),
29898
+ React__default.createElement('img', { src: articleThumbnail }),
29787
29899
  React__default.createElement(
29788
29900
  'h6',
29789
29901
  { className: 'yh-sub-article--title' },
@@ -29794,9 +29906,9 @@ var YahooHero = function YahooHero(props) {
29794
29906
  { className: 'yh-sub-article--info' },
29795
29907
  moment(article.published).format('MMMM DD, YYYY hh:mma')
29796
29908
  ),
29797
- React__default.createElement(
29909
+ article.authorMapping && article.authorMapping[0] && React__default.createElement(
29798
29910
  'p',
29799
- { className: 'yh-sub-article--info' },
29911
+ null,
29800
29912
  'By ',
29801
29913
  React__default.createElement(
29802
29914
  'b',
@@ -29810,7 +29922,7 @@ var YahooHero = function YahooHero(props) {
29810
29922
  React__default.createElement(
29811
29923
  'style',
29812
29924
  { jsx: 'true' },
29813
- '\n .yh-top-article {\n display: flex;\n flex-direction: row;\n position: relative;\n font-family: \'Roboto\', sans-serif;\n margin-bottom: 1rem;\n border-radius: 15px;\n overflow: hidden;\n min-height: 315px;\n }\n .yh-top-article--img {\n width: 100%;\n min-height: 240px;\n overflow: hidden;\n }\n .yh-top-article--img img {\n width: 100%;\n height: auto;\n min-height: 100%;\n max-height: 315px;\n object-fit: cover;\n }\n .yh-top-article--body {\n height: 100%;\n width: 40%;\n min-width: 320px;\n right: 0;\n position: absolute;\n color: white;\n padding: 1.75rem;\n height: 315px;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n }\n .yh-top-article--body h1 {\n color: white!important;\n font-size: 1.4rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--body p {\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--blur {\n height: 100%;\n width: 40%;\n right: 0;\n position: absolute;\n filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));\n background: rgba(0,0,0,.65);\n min-width: 320px;\n }\n .yh-sub-article-container {\n display: flex;\n justify-content: space-between;\n }\n .yh-sub-article {\n width: 23.25%;\n }\n .yh-sub-article p.yh-sub-article--title {\n font-weight: bold;\n }\n .yh-sub-article img {\n width: 100%;\n height: 150px;\n object-fit: cover;\n border-radius: 15px;\n }\n .yh-sub-article--title {\n font-weight: bold;\n margin-top: .25rem;\n font-size: 1rem;\n margin-bottom: .25rem;\n }\n .yh-sub-article--info {\n font-size: .8rem;\n margin-bottom: 0;\n \n }\n @media screen and (max-width: 968px) {\n .yh-sub-article-container {\n flex-wrap: wrap;\n }\n .yh-sub-article {\n width: 48%;\n margin-bottom: 1rem;\n }\n }\n '
29925
+ '\n .yh-top-article {\n display: flex;\n flex-direction: row;\n position: relative;\n font-family: \'Roboto\', sans-serif;\n margin-bottom: 1rem;\n border-radius: 15px;\n overflow: hidden;\n min-height: 315px;\n }\n .yh-top-article--img {\n width: 100%;\n min-height: 240px;\n overflow: hidden;\n }\n .yh-top-article--img img {\n width: 100%;\n height: auto;\n min-height: 100%;\n max-height: 315px;\n object-fit: cover;\n }\n .yh-top-article--body {\n height: 100%;\n width: 40%;\n min-width: 320px;\n right: 0;\n position: absolute;\n color: white;\n padding: 1.75rem;\n height: 315px;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n }\n .yh-top-article--body h1 {\n color: white!important;\n font-size: 1.4rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--body p {\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--blur {\n height: 100%;\n width: 40%;\n right: 0;\n position: absolute;\n filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));\n background: rgba(0,0,0,.65);\n min-width: 320px;\n }\n .yh-sub-article-container {\n display: flex;\n justify-content: space-between;\n }\n .yh-sub-article {\n width: 23.25%;\n }\n .yh-sub-article p.yh-sub-article--title {\n font-weight: bold;\n }\n .yh-sub-article img {\n width: 100%;\n height: 150px;\n object-fit: cover;\n border-radius: 15px;\n }\n .yh-sub-article img[src=\'' + props.thumbnail + '\']{\n object-fit: contain;\n }\n .yh-sub-article--title {\n font-weight: bold;\n margin-top: .25rem;\n font-size: 1rem;\n margin-bottom: .25rem;\n }\n .yh-sub-article--info {\n font-size: .8rem;\n margin-bottom: 0;\n \n }\n @media screen and (max-width: 968px) {\n .yh-sub-article-container {\n flex-wrap: wrap;\n }\n .yh-sub-article {\n width: 48%;\n margin-bottom: 1rem;\n }\n }\n '
29814
29926
  )
29815
29927
  );
29816
29928
  };