@mjhls/mjh-framework 1.0.199 → 1.0.201

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
@@ -12,7 +12,7 @@ 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'));
14
14
  var Card = _interopDefault(require('react-bootstrap/Card'));
15
- require('next/link');
15
+ var Link = _interopDefault(require('next/link'));
16
16
  var Router = require('next/router');
17
17
  var Router__default = _interopDefault(Router);
18
18
  var Media = _interopDefault(require('react-bootstrap/Media'));
@@ -11772,88 +11772,29 @@ 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);
11775
+ var Dfp = React__default.lazy(function () {
11776
+ return Promise.resolve().then(function () { return Dfp$1; });
11777
+ });
11803
11778
 
11779
+ var AD = function AD(props) {
11780
+ if (typeof window === 'undefined') {
11781
+ return null;
11782
+ }
11804
11783
  return React__default.createElement(
11805
- React__default.Fragment,
11784
+ 'div',
11806
11785
  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
- )
11786
+ React__default.createElement(
11787
+ React.Suspense,
11788
+ { fallback: React__default.createElement(
11789
+ 'div',
11790
+ null,
11791
+ 'Loading...'
11792
+ ) },
11793
+ React__default.createElement(Dfp, props)
11843
11794
  )
11844
11795
  );
11845
11796
  };
11846
11797
 
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
-
11857
11798
  var GridContent = function (_React$Component) {
11858
11799
  inherits(GridContent, _React$Component);
11859
11800
 
@@ -12103,11 +12044,7 @@ var GridContent = function (_React$Component) {
12103
12044
  React__default.createElement(
12104
12045
  LazyLoad,
12105
12046
  { height: _this2.props.imageHeight },
12106
- React__default.createElement(Card.Img, {
12107
- variant: 'top',
12108
- src: _this2.renderCardImage(row, page),
12109
- alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
12110
- })
12047
+ React__default.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
12111
12048
  )
12112
12049
  )
12113
12050
  ),
@@ -12153,15 +12090,18 @@ var GridContent = function (_React$Component) {
12153
12090
  };
12154
12091
  var posts = [];
12155
12092
  if (showBI) {
12156
- var interval = brandInsight.interval;
12157
12093
  var data = this.state.data;
12158
12094
  posts = data;
12159
- var i = 1;
12160
- for (var pos = interval; pos <= posts.length;) {
12095
+ var interval = posts.some(function (post) {
12096
+ return post._type === 'feature';
12097
+ }) ? brandInsight.interval + 1 : brandInsight.interval;
12098
+ var pos = interval;
12099
+ for (var i = 1; pos <= posts.length; ++i) {
12161
12100
  brandInsight.targeting.pos = 'article' + i;
12162
12101
  posts = insert(posts, pos, brandInsight);
12163
- pos += interval + 1;
12164
- i++;
12102
+ pos += posts.some(function (post) {
12103
+ return post._type === 'feature';
12104
+ }) ? interval : interval + 1;
12165
12105
  }
12166
12106
  } else {
12167
12107
  posts = this.state.data;
@@ -12334,11 +12274,7 @@ var GridContent = function (_React$Component) {
12334
12274
  React__default.createElement(
12335
12275
  LazyLoad,
12336
12276
  { height: _this2.props.imageHeight },
12337
- React__default.createElement(Card.Img, {
12338
- variant: 'top',
12339
- src: _this2.renderCardImage(row, page),
12340
- alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : ''
12341
- })
12277
+ React__default.createElement(Card.Img, { variant: 'top', src: _this2.renderCardImage(row, page), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
12342
12278
  )
12343
12279
  ),
12344
12280
  React__default.createElement(
@@ -12444,7 +12380,7 @@ var GridContent = function (_React$Component) {
12444
12380
  return GridContent;
12445
12381
  }(React__default.Component);
12446
12382
 
12447
- var GridContent$1 = Router.withRouter(GridContent);
12383
+ var GridContent$1 = React__default.memo(Router.withRouter(GridContent));
12448
12384
 
12449
12385
  var DeckQueue = function (_React$Component) {
12450
12386
  inherits(DeckQueue, _React$Component);
@@ -15337,6 +15273,27 @@ exports.SocialIcon = SocialIcon;
15337
15273
  unwrapExports(reactSocialIcons);
15338
15274
  var reactSocialIcons_1 = reactSocialIcons.SocialIcon;
15339
15275
 
15276
+ var year = new Date().getFullYear();
15277
+
15278
+ var renderLink = function renderLink(row) {
15279
+ if (row.blank) {
15280
+ return React__default.createElement(
15281
+ 'a',
15282
+ { href: row.url, target: '_blank', rel: 'noopener noreferrer' },
15283
+ row.title
15284
+ );
15285
+ }
15286
+ return React__default.createElement(
15287
+ Link,
15288
+ { href: row.url },
15289
+ React__default.createElement(
15290
+ 'a',
15291
+ null,
15292
+ row.title
15293
+ )
15294
+ );
15295
+ };
15296
+
15340
15297
  var SideFooter = function SideFooter(props) {
15341
15298
  /*
15342
15299
  useage example: <SideFooter cache={props.cache} logo='/an_mjhls_brand_logo.png' />
@@ -15348,7 +15305,6 @@ var SideFooter = function SideFooter(props) {
15348
15305
 
15349
15306
  var logo = props.logo;
15350
15307
 
15351
- var year = new Date().getFullYear();
15352
15308
  return React__default.createElement(
15353
15309
  'div',
15354
15310
  { className: 'side-footer' },
@@ -15356,33 +15312,24 @@ var SideFooter = function SideFooter(props) {
15356
15312
  'ul',
15357
15313
  null,
15358
15314
  footerLinks && footerLinks.map(function (row, index) {
15359
- if (row.blank) {
15360
- return React__default.createElement(
15361
- 'li',
15362
- { key: index },
15363
- React__default.createElement(
15364
- 'a',
15365
- { href: row.url, target: '_blank' },
15366
- row.title
15367
- )
15368
- );
15369
- } else {
15370
- return React__default.createElement(
15371
- 'li',
15372
- { key: index },
15373
- React__default.createElement(
15374
- 'a',
15375
- { href: row.url },
15376
- row.title
15377
- )
15378
- );
15379
- }
15315
+ return React__default.createElement(
15316
+ 'li',
15317
+ { key: index },
15318
+ renderLink(row)
15319
+ );
15380
15320
  }),
15381
15321
  React__default.createElement(
15382
15322
  'li',
15383
15323
  { style: { marginTop: '10px' } },
15384
15324
  socialLinks && socialLinks.map(function (row, index) {
15385
- return React__default.createElement(reactSocialIcons_1, { target: row.blank ? '_blank' : '_self', key: index, index: index, url: row.url, style: { width: 30, height: 30, marginRight: 5 } });
15325
+ return React__default.createElement(reactSocialIcons_1, {
15326
+ target: row.blank ? '_blank' : '_self',
15327
+ rel: 'noopener noreferrer',
15328
+ key: index,
15329
+ index: index,
15330
+ url: row.url,
15331
+ style: { width: 30, height: 30, marginRight: 5 }
15332
+ });
15386
15333
  })
15387
15334
  )
15388
15335
  ),
@@ -15535,6 +15482,8 @@ var LeftNav = function LeftNav(props) {
15535
15482
  );
15536
15483
  };
15537
15484
 
15485
+ var LeftNav$1 = React__default.memo(LeftNav);
15486
+
15538
15487
  var PageFilter = function PageFilter(props) {
15539
15488
  var getParams = props.getParams,
15540
15489
  filters = props.filters,
@@ -15564,10 +15513,10 @@ var PageFilter = function PageFilter(props) {
15564
15513
  if (filters.length) {
15565
15514
  return React__default.createElement(
15566
15515
  reactBootstrap.Dropdown,
15567
- null,
15516
+ { alignRight: true },
15568
15517
  React__default.createElement(
15569
15518
  reactBootstrap.Dropdown.Toggle,
15570
- { id: 'filter-dropdown' },
15519
+ { className: 'filter-dropdown', id: 'filter-dropdown' },
15571
15520
  filter || defaultFilter
15572
15521
  ),
15573
15522
  React__default.createElement(
@@ -15586,7 +15535,7 @@ var PageFilter = function PageFilter(props) {
15586
15535
  React__default.createElement(
15587
15536
  'style',
15588
15537
  { jsx: 'true' },
15589
- '\n .select-dropdown > a {\n color: #8e8c84;\n }\n '
15538
+ '\n .filter-dropdown {\n float: right;\n }\n .select-dropdown > a {\n color: #8e8c84;\n }\n '
15590
15539
  )
15591
15540
  );
15592
15541
  }
@@ -15615,7 +15564,7 @@ var Column3 = function Column3(props) {
15615
15564
  React__default.createElement(
15616
15565
  Col,
15617
15566
  { md: true, className: 'leftCol', style: { width: '200px' } },
15618
- React__default.createElement(LeftNav, { leftItems: leftItems }),
15567
+ React__default.createElement(LeftNav$1, { leftItems: leftItems }),
15619
15568
  website && website.sideFooterContent && website.sideFooterContent.length && website.showFooterOnLeftSide && React__default.createElement(SideFooter, { website: website, cache: website.cache, logo: logo })
15620
15569
  ),
15621
15570
  React__default.createElement(
@@ -15644,7 +15593,7 @@ var Column3 = function Column3(props) {
15644
15593
  React__default.createElement(
15645
15594
  'style',
15646
15595
  { jsx: 'true' },
15647
- '\n .filter-box {\n padding-top: 6px;\n padding-right: 18px;\n }\n @media only screen and (min-width: 768px) {\n .title-wrap {\n display: flex;\n justify-content: space-between;\n }\n }\n @media only screen and (max-width: 767px) {\n .filter-box {\n float: right;\n display: flex;\n justify-content: flex-end;\n }\n .title-wrap {\n display: flex;\n flex-direction: column;\n margin-bottom: 10px;\n }\n }\n '
15596
+ '\n .filter-box {\n float: right;\n padding-top: 6px;\n padding-right: 18px;\n }\n @media only screen and (min-width: 768px) {\n .title-wrap {\n display: flex;\n justify-content: space-between;\n }\n }\n @media only screen and (max-width: 767px) {\n /* .filter-box {\n float: right;\n display: flex;\n justify-content: flex-end;\n } */\n .title-wrap {\n display: flex;\n flex-direction: column;\n margin-bottom: 10px;\n }\n }\n '
15648
15597
  ),
15649
15598
  (!main_36 || showRightAd) && React__default.createElement(
15650
15599
  Col,
@@ -15684,12 +15633,12 @@ var Header = function Header(props) {
15684
15633
  ),
15685
15634
  !isLiveSite && React__default.createElement('meta', { name: 'robots', content: 'noindex, nofollow' }),
15686
15635
  React__default.createElement('meta', { name: 'keywords', content: keyword }),
15687
- React__default.createElement('meta', { name: 'description', content: description }),
15688
- React__default.createElement('link', { rel: 'stylesheet', href: '/bootstrap.min.css' }),
15689
- React__default.createElement('link', { rel: 'stylesheet', href: '/magazine.css' })
15636
+ React__default.createElement('meta', { name: 'description', content: description })
15690
15637
  );
15691
15638
  };
15692
15639
 
15640
+ var Header$1 = React__default.memo(Header);
15641
+
15693
15642
  var AccordionPanel = function AccordionPanel(props) {
15694
15643
  var accordionClassName = props.accordionClassName,
15695
15644
  data = props.data;
@@ -15822,6 +15771,8 @@ var SocialShare = function SocialShare(props) {
15822
15771
  );
15823
15772
  };
15824
15773
 
15774
+ var SocialShare$1 = React__default.memo(SocialShare);
15775
+
15825
15776
  // THIS FILE IS AUTO GENERATED
15826
15777
  var MdEmail = function (props) {
15827
15778
  return GenIcon({"tag":"svg","attr":{"viewBox":"0 0 24 24"},"child":[{"tag":"path","attr":{"d":"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"}}]})(props);
@@ -15888,8 +15839,9 @@ var Search = function Search(props) {
15888
15839
  );
15889
15840
  };
15890
15841
 
15842
+ var year$1 = new Date().getFullYear();
15843
+
15891
15844
  var NavFooter = function NavFooter(props) {
15892
- var year = new Date().getFullYear();
15893
15845
  var website = props.website,
15894
15846
  showLogo = props.showLogo;
15895
15847
 
@@ -15906,7 +15858,7 @@ var NavFooter = function NavFooter(props) {
15906
15858
  { key: index },
15907
15859
  React__default.createElement(
15908
15860
  'a',
15909
- { target: '_blank', href: content.url, className: 'nav-link' },
15861
+ { target: '_blank', rel: 'noopener noreferrer', href: content.url, className: 'nav-link' },
15910
15862
  content.title
15911
15863
  )
15912
15864
  ) : React__default.createElement(
@@ -15934,7 +15886,7 @@ var NavFooter = function NavFooter(props) {
15934
15886
  'p',
15935
15887
  { className: 'nav-link' },
15936
15888
  '\xA9 ',
15937
- year,
15889
+ year$1,
15938
15890
  ' MJH Life Sciences and ',
15939
15891
  website.title,
15940
15892
  '. All rights reserved.'
@@ -15942,8 +15894,11 @@ var NavFooter = function NavFooter(props) {
15942
15894
  );
15943
15895
  };
15944
15896
 
15897
+ var NavFooter$1 = React__default.memo(NavFooter);
15898
+
15899
+ var year$2 = new Date().getFullYear();
15900
+
15945
15901
  var SocialNavFooter = function SocialNavFooter(props) {
15946
- var year = new Date().getFullYear();
15947
15902
  var website = props.website,
15948
15903
  showLogo = props.showLogo;
15949
15904
 
@@ -15960,7 +15915,7 @@ var SocialNavFooter = function SocialNavFooter(props) {
15960
15915
  { key: index },
15961
15916
  React__default.createElement(
15962
15917
  'a',
15963
- { target: '_blank', href: content.url, className: 'nav-link' },
15918
+ { target: '_blank', rel: 'noopener noreferrer', href: content.url, className: 'nav-link' },
15964
15919
  content.title
15965
15920
  )
15966
15921
  ) : React__default.createElement(
@@ -15982,7 +15937,14 @@ var SocialNavFooter = function SocialNavFooter(props) {
15982
15937
  'li',
15983
15938
  { style: { marginTop: '10px' }, key: website.footerLinks ? website.footerLinks.length + 1 : 1 },
15984
15939
  website.socialLinks && website.socialLinks.map(function (row, index) {
15985
- return React__default.createElement(reactSocialIcons_1, { target: row.blank ? '_blank' : '_self', key: index, index: index, url: row.url, style: { width: 30, height: 30, marginRight: 5 } });
15940
+ return React__default.createElement(reactSocialIcons_1, {
15941
+ target: row.blank ? '_blank' : '_self',
15942
+ rel: 'noopener noreferrer',
15943
+ key: index,
15944
+ index: index,
15945
+ url: row.url,
15946
+ style: { width: 30, height: 30, marginRight: 5 }
15947
+ });
15986
15948
  })
15987
15949
  ),
15988
15950
  showLogo && React__default.createElement(
@@ -15999,7 +15961,7 @@ var SocialNavFooter = function SocialNavFooter(props) {
15999
15961
  'p',
16000
15962
  { className: 'nav-link' },
16001
15963
  '\xA9 ',
16002
- year,
15964
+ year$2,
16003
15965
  ' MJH Life Sciences and ',
16004
15966
  website.name,
16005
15967
  '. All rights reserved.'
@@ -16288,7 +16250,7 @@ var NavMagazine = function NavMagazine(props) {
16288
16250
  React__default.createElement(
16289
16251
  Nav,
16290
16252
  { className: 'mr-auto' },
16291
- socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website }) : React__default.createElement(NavFooter, { website: website })
16253
+ socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website }) : React__default.createElement(NavFooter$1, { website: website })
16292
16254
  )
16293
16255
  )
16294
16256
  )
@@ -16301,6 +16263,8 @@ var NavMagazine = function NavMagazine(props) {
16301
16263
  );
16302
16264
  };
16303
16265
 
16266
+ var MagazineNav = React__default.memo(NavMagazine);
16267
+
16304
16268
  var NavNative = function NavNative(props) {
16305
16269
  /*
16306
16270
  Example Nav with acceptable props
@@ -16472,7 +16436,7 @@ var NavNative = function NavNative(props) {
16472
16436
  React__default.createElement(
16473
16437
  Nav,
16474
16438
  { className: 'mr-auto' },
16475
- socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website }) : React__default.createElement(NavFooter, { website: website })
16439
+ socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website }) : React__default.createElement(NavFooter$1, { website: website })
16476
16440
  )
16477
16441
  )
16478
16442
  )
@@ -16690,7 +16654,7 @@ var NavDvm = function NavDvm(props) {
16690
16654
  React__default.createElement(
16691
16655
  Nav,
16692
16656
  { className: 'mr-auto' },
16693
- React__default.createElement(NavFooter, { website: website })
16657
+ React__default.createElement(NavFooter$1, { website: website })
16694
16658
  )
16695
16659
  )
16696
16660
  )
@@ -16938,7 +16902,7 @@ var HamMagazine = function HamMagazine(props) {
16938
16902
  if (ddRow.url && ddRow.name) {
16939
16903
  return ddRow.url && ddRow.name ? React__default.createElement(
16940
16904
  'a',
16941
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item' },
16905
+ { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item' },
16942
16906
  ddRow.name
16943
16907
  ) : null;
16944
16908
  } else return null;
@@ -16948,7 +16912,7 @@ var HamMagazine = function HamMagazine(props) {
16948
16912
  } else {
16949
16913
  return row.url && row.name ? React__default.createElement(
16950
16914
  'a',
16951
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
16915
+ { key: index, href: row.url, target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
16952
16916
  row.name
16953
16917
  ) : null;
16954
16918
  }
@@ -16977,7 +16941,7 @@ var HamMagazine = function HamMagazine(props) {
16977
16941
  } else {
16978
16942
  return ddRow.url && ddRow.name ? React__default.createElement(
16979
16943
  'a',
16980
- { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', className: 'dropdown-item nav-link' },
16944
+ { key: subIndex, href: ddRow.url, target: ddRow.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'dropdown-item nav-link' },
16981
16945
  ddRow.name
16982
16946
  ) : null;
16983
16947
  }
@@ -16986,7 +16950,7 @@ var HamMagazine = function HamMagazine(props) {
16986
16950
  } else {
16987
16951
  return row.url && row.name ? React__default.createElement(
16988
16952
  'a',
16989
- { key: index, href: row.url, target: row.blank ? '_blank' : '_self', className: 'nav-link' },
16953
+ { key: index, href: row.url, target: row.blank ? '_blank' : '_self', rel: 'noopener noreferrer', className: 'nav-link' },
16990
16954
  row.name
16991
16955
  ) : null;
16992
16956
  }
@@ -17000,7 +16964,7 @@ var HamMagazine = function HamMagazine(props) {
17000
16964
  React__default.createElement(
17001
16965
  Nav,
17002
16966
  { className: 'mr-auto' },
17003
- socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter, { website: website, showLogo: true })
16967
+ socialFooterNav ? React__default.createElement(SocialNavFooter, { website: website, showLogo: true }) : React__default.createElement(NavFooter$1, { website: website, showLogo: true })
17004
16968
  )
17005
16969
  )
17006
16970
  )
@@ -17058,7 +17022,7 @@ var TemplateNormal = function TemplateNormal(props) {
17058
17022
  case 'normal':
17059
17023
  return React__default.createElement(NavNormal, { logo: website.logo, dataObject: config.navItems });
17060
17024
  case 'magazine':
17061
- return React__default.createElement(NavMagazine, { logo: website.logo, mobileLogo: website.mobileLogo, dataObject: config.navItems, subNav: config.leftItems, website: website });
17025
+ return React__default.createElement(MagazineNav, { logo: website.logo, mobileLogo: website.mobileLogo, dataObject: config.navItems, subNav: config.leftItems, website: website });
17062
17026
  case 'native':
17063
17027
  return React__default.createElement(NavNative, { logo: website.logo, dataObject: config.navItems, subNav: config.leftItems, website: website });
17064
17028
  case 'dvm':
@@ -17120,7 +17084,7 @@ var TemplateNormal = function TemplateNormal(props) {
17120
17084
  return React__default.createElement(
17121
17085
  'section',
17122
17086
  null,
17123
- React__default.createElement(Header, { title: title ? title + ' | ' + website.title : '' + website.title, isLiveSite: config.isLiveSite, keyword: keywords, description: description }),
17087
+ React__default.createElement(Header$1, { title: title ? title + ' | ' + website.title : '' + website.title, isLiveSite: config.isLiveSite, keyword: keywords, description: description }),
17124
17088
  navigation(),
17125
17089
  horizontalAD && horizontalAD.networkID && horizontalAD.adUnit && React__default.createElement(
17126
17090
  Container,
@@ -17234,7 +17198,7 @@ var FigureComponent = function FigureComponent(_ref) {
17234
17198
  var caption = node$$1.caption,
17235
17199
  alt = node$$1.alt,
17236
17200
  blank = node$$1.blank,
17237
- link$$1 = node$$1.link,
17201
+ link = node$$1.link,
17238
17202
  _node$alignment = node$$1.alignment,
17239
17203
  alignment = _node$alignment === undefined ? 'center' : _node$alignment;
17240
17204
  var _node$widthP = node$$1.widthP,
@@ -17296,9 +17260,9 @@ var FigureComponent = function FigureComponent(_ref) {
17296
17260
  React__default.createElement(
17297
17261
  reactBootstrap.Figure,
17298
17262
  { className: 'd-block', style: { width: imageWidth, maxWidth: '100%', clear: 'both', float: imgFloat, margin: figureMargin } },
17299
- link$$1 ? React__default.createElement(
17263
+ link ? React__default.createElement(
17300
17264
  'a',
17301
- { target: blank ? '_blank' : '_self', href: link$$1 },
17265
+ { target: blank ? '_blank' : '_self', href: link },
17302
17266
  React__default.createElement(reactBootstrap.Figure.Image, { style: { width: '100%' }, className: 'figure-image', ref: imgElement, onLoad: loadImg, src: urlFor$1(node$$1, client).url(), alt: alt && alt }),
17303
17267
  caption && React__default.createElement('div', { dangerouslySetInnerHTML: { __html: '<span class=\'figure-caption\'>' + caption + '</span>' } })
17304
17268
  ) : React__default.createElement(
@@ -20906,7 +20870,7 @@ var BlockContent = SanityBlockContent;
20906
20870
  var Sidebar = function Sidebar(_ref) {
20907
20871
  var caption = _ref.caption,
20908
20872
  content = _ref.content,
20909
- serializerArguments = _ref.serializerArguments;
20873
+ getSerializers = _ref.getSerializers;
20910
20874
 
20911
20875
  return React__default.createElement(
20912
20876
  'article',
@@ -20919,7 +20883,7 @@ var Sidebar = function Sidebar(_ref) {
20919
20883
  null,
20920
20884
  caption
20921
20885
  ),
20922
- React__default.createElement(BlockContent, { blocks: content, serializers: getSerializers$1(serializerArguments) })
20886
+ React__default.createElement(BlockContent, { blocks: content, serializers: getSerializers })
20923
20887
  ),
20924
20888
  React__default.createElement(
20925
20889
  'style',
@@ -21167,6 +21131,7 @@ var Media$1 = function Media$$1(_ref) {
21167
21131
  {
21168
21132
  href: uploadDoc.asset.url,
21169
21133
  target: '_blank',
21134
+ rel: 'noopener noreferrer',
21170
21135
  className: 'd-block',
21171
21136
  onClick: function onClick() {
21172
21137
  download(uploadDoc.asset.url, uploadDoc.asset.originalFilename);
@@ -23978,8 +23943,8 @@ function getConfig(props$$1, defaultProps, showWarning) {
23978
23943
  config = (0, _deepmerge["default"])(config, _defineProperty({}, key, props$$1[p]));
23979
23944
 
23980
23945
  if (showWarning) {
23981
- var link$$1 = 'https://github.com/CookPete/react-player#config-prop';
23982
- var message = "ReactPlayer: %c".concat(p, " %cis deprecated, please use the config prop instead \u2013 ").concat(link$$1);
23946
+ var link = 'https://github.com/CookPete/react-player#config-prop';
23947
+ var message = "ReactPlayer: %c".concat(p, " %cis deprecated, please use the config prop instead \u2013 ").concat(link);
23983
23948
  console.warn(message, 'font-weight: bold', '');
23984
23949
  }
23985
23950
  }
@@ -28008,7 +27973,8 @@ var Audio = function Audio(_ref) {
28008
27973
 
28009
27974
  var YouTubeGallery = function YouTubeGallery(_ref) {
28010
27975
  var nodes = _ref.nodes,
28011
- client = _ref.client;
27976
+ client = _ref.client,
27977
+ getSerializers = _ref.getSerializers;
28012
27978
 
28013
27979
  var router = Router.useRouter();
28014
27980
  //state
@@ -28168,7 +28134,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
28168
28134
  { className: 'mb-3' },
28169
28135
  nodes.videos[series - 1].title
28170
28136
  ),
28171
- nodes.videos[series - 1] && React__default.createElement(BlockContent, _extends({ serializers: getSerializers$1(client), blocks: nodes.videos[series - 1].text, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config()))
28137
+ nodes.videos[series - 1] && React__default.createElement(BlockContent, _extends({ serializers: getSerializers, blocks: nodes.videos[series - 1].text, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config()))
28172
28138
  ),
28173
28139
  React__default.createElement(
28174
28140
  'style',
@@ -28185,7 +28151,8 @@ var Poll = function Poll(_ref) {
28185
28151
  videoAccountIDs = _ref.videoAccountIDs,
28186
28152
  onVote = _ref.onVote,
28187
28153
  _ref$showVotes = _ref.showVotes,
28188
- showVotes = _ref$showVotes === undefined ? false : _ref$showVotes;
28154
+ showVotes = _ref$showVotes === undefined ? false : _ref$showVotes,
28155
+ getSerializers = _ref.getSerializers;
28189
28156
 
28190
28157
  var _useState = React.useState(null),
28191
28158
  _useState2 = slicedToArray(_useState, 2),
@@ -28276,7 +28243,7 @@ var Poll = function Poll(_ref) {
28276
28243
  'Total Votes: ',
28277
28244
  choicesTotalCount
28278
28245
  ),
28279
- showAnswer && response && React__default.createElement(BlockContent, { blocks: response, serializers: getSerializers$1(client, pageview, videoAccountIDs) }),
28246
+ showAnswer && response && React__default.createElement(BlockContent, { blocks: response, serializers: getSerializers }),
28280
28247
  React__default.createElement(
28281
28248
  'style',
28282
28249
  { jsx: 'true' },
@@ -28289,7 +28256,7 @@ var numberOfPaginations = main_35 ? 4 : 10;
28289
28256
 
28290
28257
  var Quiz = function Quiz(_ref) {
28291
28258
  var quizzes = _ref.quizzes,
28292
- serializerArguments = _ref.serializerArguments;
28259
+ getSerializers = _ref.getSerializers;
28293
28260
 
28294
28261
  var pageCount = quizzes.length;
28295
28262
 
@@ -28409,7 +28376,7 @@ var Quiz = function Quiz(_ref) {
28409
28376
  return React__default.createElement(
28410
28377
  React__default.Fragment,
28411
28378
  null,
28412
- quizzes[currentPage - 1] && React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].question, serializers: getSerializers$1(serializerArguments) }),
28379
+ quizzes[currentPage - 1] && React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].question, serializers: getSerializers }),
28413
28380
  !showAnswer && React__default.createElement(
28414
28381
  Button,
28415
28382
  { onClick: function onClick() {
@@ -28425,7 +28392,7 @@ var Quiz = function Quiz(_ref) {
28425
28392
  null,
28426
28393
  'Answer:'
28427
28394
  ),
28428
- React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].answer, serializers: getSerializers$1(serializerArguments) })
28395
+ React__default.createElement(BlockContent, { blocks: quizzes[currentPage - 1].answer, serializers: getSerializers })
28429
28396
  ),
28430
28397
  React__default.createElement('br', null),
28431
28398
  pageCount > 1 && React__default.createElement(
@@ -28460,7 +28427,7 @@ var Slideshow$1 = function Slideshow(_ref) {
28460
28427
  var slides = _ref.node.slides,
28461
28428
  client = _ref.client,
28462
28429
  pageview = _ref.pageview,
28463
- serializerArguments = _ref.serializerArguments;
28430
+ getSerializers = _ref.getSerializers;
28464
28431
 
28465
28432
  var router = Router.useRouter();
28466
28433
 
@@ -28512,7 +28479,7 @@ var Slideshow$1 = function Slideshow(_ref) {
28512
28479
  { style: { padding: '0px' } },
28513
28480
  slide.slideshowImage.caption
28514
28481
  ),
28515
- slide.description && React__default.createElement(BlockContent, { blocks: slide.description, serializers: getSerializers$1(serializerArguments) })
28482
+ slide.description && React__default.createElement(BlockContent, { blocks: slide.description, serializers: getSerializers(serializerArguments) })
28516
28483
  )
28517
28484
  );
28518
28485
  }
@@ -28556,7 +28523,18 @@ var convertEntities = function convertEntities(props) {
28556
28523
  return props;
28557
28524
  };
28558
28525
 
28559
- var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs, onVote, showVotes, drupalLeadSettings) {
28526
+ var getSerializers$1 = function getSerializers() {
28527
+ for (var _len = arguments.length, props = Array(_len), _key = 0; _key < _len; _key++) {
28528
+ props[_key] = arguments[_key];
28529
+ }
28530
+
28531
+ var client = props[0],
28532
+ pageview = props[1],
28533
+ videoAccountIDs = props[2],
28534
+ onVote = props[3],
28535
+ showVotes = props[4],
28536
+ drupalLeadSettings = props[5];
28537
+
28560
28538
  return {
28561
28539
  types: {
28562
28540
  block: function block(props) {
@@ -28572,7 +28550,7 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
28572
28550
  youtubeGallery: function youtubeGallery(_ref2) {
28573
28551
  var node = _ref2.node;
28574
28552
 
28575
- return React__default.createElement(YouTubeGallery, { nodes: node, client: client });
28553
+ return React__default.createElement(YouTubeGallery, { nodes: node, client: client, getSerializers: getSerializers(props) });
28576
28554
  },
28577
28555
  figure: function figure(_ref3) {
28578
28556
  var node = _ref3.node;
@@ -28590,7 +28568,7 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
28590
28568
  var caption = node.caption,
28591
28569
  content = node.content;
28592
28570
 
28593
- return React__default.createElement(Sidebar, { caption: caption, content: content, serializerArguments: (drupalLeadSettings) });
28571
+ return React__default.createElement(Sidebar, { caption: caption, content: content, getSerializers: getSerializers(props) });
28594
28572
  },
28595
28573
  datatable: function datatable(_ref6) {
28596
28574
  var node = _ref6.node;
@@ -28621,13 +28599,13 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
28621
28599
  poll: function poll(_ref11) {
28622
28600
  var node = _ref11.node;
28623
28601
 
28624
- return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, onVote: onVote, showVotes: showVotes });
28602
+ return React__default.createElement(Poll, { node: node, client: client, pageview: pageview, videoAccountIDs: videoAccountIDs, onVote: onVote, showVotes: showVotes, getSerializers: getSerializers(props) });
28625
28603
  },
28626
28604
  quiz: function quiz(_ref12) {
28627
28605
  var node = _ref12.node;
28628
28606
  var quizzes = node.quizzes;
28629
28607
 
28630
- return React__default.createElement(Quiz, { quizzes: quizzes, serializerArguments: (drupalLeadSettings) });
28608
+ return React__default.createElement(Quiz, { quizzes: quizzes, getSerializers: getSerializers(props) });
28631
28609
  },
28632
28610
  leads: function leads(_ref13) {
28633
28611
  var node = _ref13.node;
@@ -28639,7 +28617,7 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
28639
28617
  slideshows: function slideshows(_ref14) {
28640
28618
  var node = _ref14.node;
28641
28619
 
28642
- return React__default.createElement(Slideshow$1, { node: node, client: client, pageview: pageview, serializerArguments: (drupalLeadSettings) });
28620
+ return React__default.createElement(Slideshow$1, { node: node, client: client, pageview: pageview, getSerializers: getSerializers(props) });
28643
28621
  },
28644
28622
  nativeAd: function nativeAd(_ref15) {
28645
28623
  var node = _ref15.node;
@@ -28662,7 +28640,7 @@ var getSerializers$1 = function getSerializers(client, pageview, videoAccountIDs
28662
28640
  props.children
28663
28641
  );
28664
28642
  },
28665
- link: function link$$1(props) {
28643
+ link: function link(props) {
28666
28644
  var children = props.children,
28667
28645
  _props$mark = props.mark,
28668
28646
  href = _props$mark.href,
@@ -28878,6 +28856,8 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
28878
28856
  );
28879
28857
  };
28880
28858
 
28859
+ var Breadcrumbs$1 = React__default.memo(Breadcrumbs);
28860
+
28881
28861
  var js_cookie = createCommonjsModule(function (module, exports) {
28882
28862
  (function (factory) {
28883
28863
  var registeredInModuleLoader;
@@ -29291,7 +29271,7 @@ var FaRegWindowClose = function (props) {
29291
29271
  };
29292
29272
  FaRegWindowClose.displayName = "FaRegWindowClose";
29293
29273
 
29294
- /*****UStream Component*****/
29274
+ // UStream Component
29295
29275
 
29296
29276
  var Ustream = function Ustream(_ref) {
29297
29277
  var _ref$width = _ref.width,
@@ -29334,7 +29314,7 @@ var Ustream = function Ustream(_ref) {
29334
29314
  container.style.padding = '0 1rem';
29335
29315
  container.classList.add('closed');
29336
29316
  setWidth('100%');
29337
- //aspect ratio
29317
+ // aspect ratio
29338
29318
  var newHeight = 9 / 16 * ustreamContainer.current.clientWidth;
29339
29319
  console.log(newHeight);
29340
29320
  console.log(ustreamContainer);
@@ -29379,7 +29359,8 @@ var Ustream = function Ustream(_ref) {
29379
29359
  webkitallowfullscreen: 'true',
29380
29360
  allowFullScreen: true,
29381
29361
  frameBorder: 'no',
29382
- style: { maxWidth: '100%', height: currentHeight, width: currentWidth } })
29362
+ style: { maxWidth: '100%', height: currentHeight, width: currentWidth }
29363
+ })
29383
29364
  ),
29384
29365
  React__default.createElement(
29385
29366
  'style',
@@ -29389,6 +29370,8 @@ var Ustream = function Ustream(_ref) {
29389
29370
  );
29390
29371
  };
29391
29372
 
29373
+ var Ustream$1 = React__default.memo(Ustream);
29374
+
29392
29375
  var fbsHero = function fbsHero(props) {
29393
29376
  var topArticle = props.dataRecord[0];
29394
29377
  var subArticles = props.dataRecord.slice(1, props.dataRecord.length);
@@ -30100,6 +30083,92 @@ var ConferenceArticleCard = function ConferenceArticleCard(props) {
30100
30083
  );
30101
30084
  };
30102
30085
 
30086
+ var AD$1 = function AD(_ref) {
30087
+ var networkID = _ref.networkID,
30088
+ adUnit = _ref.adUnit,
30089
+ sizeMapping = _ref.sizeMapping,
30090
+ className = _ref.className,
30091
+ slotId = _ref.slotId,
30092
+ sizes = _ref.sizes,
30093
+ minInViewPercent = _ref.minInViewPercent,
30094
+ _ref$targeting = _ref.targeting,
30095
+ targeting = _ref$targeting === undefined ? {} : _ref$targeting;
30096
+
30097
+ var _useState = React.useState(false),
30098
+ _useState2 = slicedToArray(_useState, 2),
30099
+ adRendered = _useState2[0],
30100
+ setAdRendered = _useState2[1];
30101
+
30102
+ var _useState3 = React.useState(false),
30103
+ _useState4 = slicedToArray(_useState3, 2),
30104
+ showPlaceholder = _useState4[0],
30105
+ setShowPlaceholder = _useState4[1];
30106
+
30107
+ var handleVisibilityChange = debounce_1(function (_ref2) {
30108
+ var event = _ref2.event;
30109
+
30110
+ if (event.inViewPercentage <= 0) {
30111
+ setShowPlaceholder(true);
30112
+ }
30113
+ }, 500);
30114
+
30115
+ return React__default.createElement(
30116
+ React__default.Fragment,
30117
+ null,
30118
+ !showPlaceholder && React__default.createElement(
30119
+ lib_1,
30120
+ {
30121
+ dfpNetworkId: networkID,
30122
+ targetingArguments: targeting,
30123
+ sizeMapping: sizeMapping,
30124
+ lazyLoad: { fetchMarginPercent: 500, renderMarginPercent: 200, mobileScaling: 2.0 } },
30125
+ React__default.createElement(
30126
+ 'div',
30127
+ { className: className },
30128
+ React__default.createElement(lib_2, {
30129
+ slotId: slotId,
30130
+ sizes: sizes,
30131
+ adUnit: adUnit,
30132
+ sizeMapping: sizeMapping,
30133
+ onSlotRender: function onSlotRender(eventData) {
30134
+ setAdRendered(true);
30135
+ },
30136
+ onSlotVisibilityChanged: handleVisibilityChange
30137
+ })
30138
+ )
30139
+ ),
30140
+ adRendered && showPlaceholder && React__default.createElement(
30141
+ VisibilitySensor,
30142
+ {
30143
+ partialVisibility: true,
30144
+ onChange: function onChange(isVisible) {
30145
+ if (isVisible) {
30146
+ setShowPlaceholder(false);
30147
+ }
30148
+ } },
30149
+ React__default.createElement(
30150
+ 'div',
30151
+ { style: { height: 'auto' } },
30152
+ '\xA0'
30153
+ )
30154
+ )
30155
+ );
30156
+ };
30157
+
30158
+ AD$1.propTypes = {
30159
+ networkID: PropTypes.string.isRequired,
30160
+ adUnit: PropTypes.string.isRequired,
30161
+ slotId: PropTypes.string,
30162
+ className: PropTypes.string,
30163
+ sizeMapping: PropTypes.array,
30164
+ sizes: PropTypes.array,
30165
+ minInViewPercent: PropTypes.number
30166
+ };
30167
+
30168
+ var Dfp$1 = /*#__PURE__*/Object.freeze({
30169
+ default: AD$1
30170
+ });
30171
+
30103
30172
  exports.DeckContent = ContentCard;
30104
30173
  exports.GridContent = GridContent$1;
30105
30174
  exports.DeckQueue = Queue;
@@ -30116,12 +30185,12 @@ exports.IssueContentDeck = IssueContentDeck;
30116
30185
  exports.Column1 = Column1;
30117
30186
  exports.Column2 = Column2;
30118
30187
  exports.Column3 = Column3;
30119
- exports.Header = Header;
30120
- exports.LeftNav = LeftNav;
30188
+ exports.Header = Header$1;
30189
+ exports.LeftNav = LeftNav$1;
30121
30190
  exports.AccordionPanel = AccordionPanel;
30122
- exports.SocialShare = SocialShare;
30191
+ exports.SocialShare = SocialShare$1;
30123
30192
  exports.PageFilter = PageFilter;
30124
- exports.NavMagazine = NavMagazine;
30193
+ exports.NavMagazine = MagazineNav;
30125
30194
  exports.NavNative = NavNative;
30126
30195
  exports.NavNormal = NavNormal;
30127
30196
  exports.NavDvm = NavDvm;
@@ -30135,13 +30204,13 @@ exports.ADFooter = ADFooter;
30135
30204
  exports.getSerializers = getSerializers$1;
30136
30205
  exports.Search = Search;
30137
30206
  exports.Feature = Feature;
30138
- exports.Breadcrumbs = Breadcrumbs;
30207
+ exports.Breadcrumbs = Breadcrumbs$1;
30139
30208
  exports.SetCookie = SetCookie;
30140
30209
  exports.Hero = Hero;
30141
30210
  exports.AlphabeticList = AlphabeticList;
30142
30211
  exports.PdfDownload = PdfDownload;
30143
30212
  exports.RelatedTopicsDropdown = RelatedTopicsDropdown;
30144
- exports.Ustream = Ustream;
30213
+ exports.Ustream = Ustream$1;
30145
30214
  exports.SideFooter = SideFooter;
30146
30215
  exports.ForbesHero = fbsHero;
30147
30216
  exports.HorizontalHero = HorizontalHero;
@@ -30151,4 +30220,3 @@ exports.VerticalHero = VerticalHero;
30151
30220
  exports.YahooHero = YahooHero;
30152
30221
  exports.RelatedContent = RelatedContent;
30153
30222
  exports.ConferenceArticleCard = ConferenceArticleCard;
30154
- //# sourceMappingURL=index.js.map