@mjhls/mjh-framework 1.0.135 → 1.0.137

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
@@ -4887,11 +4887,10 @@ var DeckContent = function (_React$Component) {
4887
4887
  var contentCategoryName = row.contentCategory && row.contentCategory.name && _this.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
4888
4888
  return React__default.createElement(
4889
4889
  React__default.Fragment,
4890
- null,
4890
+ { key: itemCounter },
4891
4891
  React__default.createElement(
4892
4892
  VisibilitySensor,
4893
4893
  {
4894
- key: itemCounter,
4895
4894
  onChange: function onChange(isVisible) {
4896
4895
  isVisible && _this.changePageNumber(pageNumber);
4897
4896
  } },
@@ -6380,11 +6379,10 @@ var GridContent = function (_React$Component) {
6380
6379
  var contentCategoryName = row.contentCategory && row.contentCategory.name && _this2.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
6381
6380
  return React__default.createElement(
6382
6381
  React__default.Fragment,
6383
- null,
6382
+ { key: itemCounter },
6384
6383
  React__default.createElement(
6385
6384
  VisibilitySensor,
6386
6385
  {
6387
- key: itemCounter,
6388
6386
  onChange: function onChange(isVisible) {
6389
6387
  isVisible && _this2.changePageNumber(pageNumber);
6390
6388
  } },
@@ -6710,11 +6708,10 @@ var DeckQueue = function (_React$Component) {
6710
6708
 
6711
6709
  return React__default.createElement(
6712
6710
  React__default.Fragment,
6713
- null,
6711
+ { key: index$$1 },
6714
6712
  React__default.createElement(
6715
6713
  VisibilitySensor,
6716
6714
  {
6717
- key: index$$1,
6718
6715
  onChange: function onChange(isVisible) {
6719
6716
  isVisible && _this2.changePageNumber(pageNumber);
6720
6717
  } },
@@ -7538,17 +7535,23 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
7538
7535
  null,
7539
7536
  React__default.createElement(
7540
7537
  reactBootstrap.Media,
7541
- { key: article._id ? article._id : index$$1, style: { marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
7538
+ {
7539
+ key: article._id ? article._id : index$$1,
7540
+ style: { flexDirection: article._type == 'feature' ? 'column' : 'row', marginBottom: '1.25rem', paddingBottom: '1.25rem', borderBottom: '1px solid #ddd' } },
7542
7541
  (article.thumbnail && article.thumbnail.asset || defaultImage) && React__default.createElement(
7543
7542
  Link,
7544
7543
  { href: mapping[contentCategoryName] + '/[url]', as: mapping[contentCategoryName] + '/' + article.url.current },
7545
7544
  React__default.createElement(
7546
7545
  'a',
7547
- { className: 'img-wrapper' },
7546
+ { className: article._type == 'feature' ? 'feature-wrapper' : 'img-wrapper' },
7548
7547
  React__default.createElement(
7549
7548
  LazyLoad,
7550
7549
  { height: imageHeight },
7551
- 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 })
7550
+ article.thumbnail && article.thumbnail.asset ? React__default.createElement('img', {
7551
+ className: article._type == 'feature' ? 'img-fluid' : 'mr-3 img-fluid',
7552
+ src: renderCardImage(article, builder, imageHeight, imageWidth),
7553
+ alt: article.title
7554
+ }) : 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 })
7552
7555
  )
7553
7556
  )
7554
7557
  ),
@@ -7604,7 +7607,7 @@ var cardLoader = function cardLoader(data, builder, mapping, values, seoPaginate
7604
7607
  React__default.createElement(
7605
7608
  'style',
7606
7609
  { jsx: 'true' },
7607
- '\n .img-wrapper img {\n max-height: 200px;\n width: 100%;\n object-fit: cover;\n }\n @media only screen and (min-width: 768px) {\n .img-wrapper {\n width: 42%;\n }\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;\n }\n }\n '
7610
+ '\n .img-wrapper img {\n max-height: 200px;\n width: 100%;\n object-fit: cover;\n }\n .feature-wrapper {\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 {\n width: 42%;\n }\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;\n }\n }\n '
7608
7611
  )
7609
7612
  );
7610
7613
  };
@@ -8320,11 +8323,10 @@ var MasterDeck = function (_React$Component) {
8320
8323
 
8321
8324
  return React__default.createElement(
8322
8325
  React__default.Fragment,
8323
- null,
8326
+ { key: itemCounter },
8324
8327
  React__default.createElement(
8325
8328
  VisibilitySensor,
8326
8329
  {
8327
- key: itemCounter,
8328
8330
  onChange: function onChange(isVisible) {
8329
8331
  isVisible && _this.changePageNumber(pageNumber);
8330
8332
  } },
@@ -10042,41 +10044,61 @@ var AD = function AD(_ref) {
10042
10044
  _ref$targeting = _ref.targeting,
10043
10045
  targeting = _ref$targeting === undefined ? {} : _ref$targeting;
10044
10046
 
10045
- var _useState = React.useState(true),
10047
+ var _useState = React.useState(false),
10046
10048
  _useState2 = slicedToArray(_useState, 2),
10047
- renderAd = _useState2[0],
10048
- setRenderAd = _useState2[1];
10049
+ adRendered = _useState2[0],
10050
+ setAdRendered = _useState2[1];
10051
+
10052
+ var _useState3 = React.useState(false),
10053
+ _useState4 = slicedToArray(_useState3, 2),
10054
+ showPlaceholder = _useState4[0],
10055
+ setShowPlaceholder = _useState4[1];
10056
+
10057
+ var handleVisibilityChange = debounce_1(function (_ref2) {
10058
+ var event = _ref2.event;
10059
+
10060
+ if (event.inViewPercentage <= 0) {
10061
+ setShowPlaceholder(true);
10062
+ }
10063
+ }, 500);
10049
10064
 
10050
10065
  return React__default.createElement(
10051
- VisibilitySensor,
10052
- {
10053
- partialVisibility: true,
10054
- onChange: function onChange(isVisible) {
10055
- if (isVisible) {
10056
- setRenderAd(true);
10057
- } else {
10058
- setRenderAd(false);
10059
- }
10060
- } },
10061
- React__default.createElement(
10062
- 'div',
10063
- null,
10064
- renderAd && React__default.createElement(
10065
- lib_1,
10066
- {
10067
- dfpNetworkId: networkID,
10068
- targetingArguments: targeting,
10066
+ React__default.Fragment,
10067
+ null,
10068
+ !showPlaceholder && React__default.createElement(
10069
+ lib_1,
10070
+ {
10071
+ dfpNetworkId: networkID,
10072
+ targetingArguments: targeting,
10073
+ sizeMapping: sizeMapping,
10074
+ lazyLoad: { fetchMarginPercent: 500, renderMarginPercent: 200, mobileScaling: 2.0 } },
10075
+ React__default.createElement(
10076
+ 'div',
10077
+ { className: className },
10078
+ React__default.createElement(lib_2, {
10079
+ slotId: slotId,
10080
+ sizes: sizes,
10081
+ adUnit: adUnit,
10069
10082
  sizeMapping: sizeMapping,
10070
- lazyLoad: { fetchMarginPercent: 500, renderMarginPercent: 200, mobileScaling: 2.0 } },
10071
- React__default.createElement(
10072
- 'div',
10073
- { className: className },
10074
- React__default.createElement(lib_2, { slotId: slotId, sizes: sizes, adUnit: adUnit, sizeMapping: sizeMapping })
10075
- )
10076
- ),
10083
+ onSlotRender: function onSlotRender(eventData) {
10084
+ setAdRendered(true);
10085
+ },
10086
+ onSlotVisibilityChanged: handleVisibilityChange
10087
+ })
10088
+ )
10089
+ ),
10090
+ adRendered && showPlaceholder && React__default.createElement(
10091
+ VisibilitySensor,
10092
+ {
10093
+ partialVisibility: true,
10094
+ onChange: function onChange(isVisible) {
10095
+ if (isVisible) {
10096
+ setShowPlaceholder(false);
10097
+ }
10098
+ } },
10077
10099
  React__default.createElement(
10078
10100
  'div',
10079
- { style: { height: renderAd ? 0 : 'auto' } },
10101
+ { style: { height: 'auto' } },
10080
10102
  '\xA0'
10081
10103
  )
10082
10104
  )
@@ -10207,20 +10229,32 @@ var TemplateNormal = function TemplateNormal(props) {
10207
10229
  var AD300x250 = function AD300x250(_ref) {
10208
10230
  var networkID = _ref.networkID,
10209
10231
  adUnit = _ref.adUnit,
10210
- targeting = _ref.targeting;
10232
+ slotId = _ref.slotId,
10233
+ _ref$targeting = _ref.targeting,
10234
+ targeting = _ref$targeting === undefined ? {} : _ref$targeting;
10211
10235
 
10212
- return React__default.createElement(AD, { networkID: networkID, adUnit: adUnit, targeting: targeting, className: 'AD300x250', sizes: [[300, 250], [300, 100]] });
10236
+ return React__default.createElement(AD, {
10237
+ networkID: networkID,
10238
+ adUnit: adUnit,
10239
+ slotId: slotId,
10240
+ targeting: targeting,
10241
+ className: 'AD300x250',
10242
+ sizes: [[300, 250], [300, 100]]
10243
+ });
10213
10244
  };
10214
10245
 
10215
10246
  var AD300x250x600 = function AD300x250x600(_ref) {
10216
10247
  var networkID = _ref.networkID,
10217
10248
  adUnit = _ref.adUnit,
10218
- targeting = _ref.targeting;
10249
+ slotId = _ref.slotId,
10250
+ _ref$targeting = _ref.targeting,
10251
+ targeting = _ref$targeting === undefined ? {} : _ref$targeting;
10219
10252
 
10220
10253
  return React__default.createElement(AD, {
10221
10254
  networkID: networkID,
10222
10255
  adUnit: adUnit,
10223
10256
  className: 'AD300x250',
10257
+ slotId: slotId,
10224
10258
  targeting: targeting,
10225
10259
  sizes: [[300, 250], [300, 600], [300, 100]]
10226
10260
  });