@mjhls/mjh-framework 1.0.691-beta.9 → 1.0.692

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +1 -1
  3. package/dist/cjs/AD300x250.js +3 -3
  4. package/dist/cjs/AD300x250x600.js +3 -3
  5. package/dist/cjs/AD728x90.js +4 -4
  6. package/dist/cjs/ADFloatingFooter.js +2 -2
  7. package/dist/cjs/ADGutter.js +5 -8
  8. package/dist/cjs/{ADInfeed-59543270.js → ADInfeed-3410ab3c.js} +3 -6
  9. package/dist/cjs/ADSkyscraper.js +5 -8
  10. package/dist/cjs/ADSponsoredResources.js +5 -8
  11. package/dist/cjs/ADWebcast.js +5 -8
  12. package/dist/cjs/ADWelcome.js +2 -2
  13. package/dist/cjs/{ADlgInfeed-0a1546ae.js → ADlgInfeed-845aac15.js} +3 -6
  14. package/dist/cjs/AccordionPanel.js +1 -1
  15. package/dist/cjs/AdSlot.js +4 -4
  16. package/dist/cjs/AdSlotsProvider.js +2 -23
  17. package/dist/cjs/ArticleCarousel.js +1 -1
  18. package/dist/cjs/ArticleSeriesListing.js +28 -7
  19. package/dist/cjs/Auth.js +306 -455
  20. package/dist/cjs/{BlockContent-80b15fac.js → BlockContent-88f69acd.js} +1 -1
  21. package/dist/cjs/BrowseVideosListing.js +1 -1
  22. package/dist/cjs/CMEDeck.js +5 -5
  23. package/dist/cjs/Column3.js +4 -4
  24. package/dist/cjs/ConferenceArticleCard.js +2 -2
  25. package/dist/cjs/DeckContent.js +8 -10
  26. package/dist/cjs/DeckQueue.js +6 -6
  27. package/dist/cjs/{Dfp-390337bf.js → Dfp-b2bc3b97.js} +1 -1
  28. package/dist/cjs/EventsDeck.js +4 -4
  29. package/dist/cjs/ExternalResources.js +9 -7
  30. package/dist/cjs/Feature.js +3 -3
  31. package/dist/cjs/ForbesHero.js +2 -2
  32. package/dist/cjs/GridContent.js +13 -17
  33. package/dist/cjs/GridHero.js +2 -2
  34. package/dist/cjs/GroupDeck.js +1 -1
  35. package/dist/cjs/HamMagazine.js +5 -5
  36. package/dist/cjs/Hero.js +1 -1
  37. package/dist/cjs/HorizontalHero.js +2 -2
  38. package/dist/cjs/IssueContentDeck.js +2 -2
  39. package/dist/cjs/IssueDeck.js +2 -2
  40. package/dist/cjs/IssueLanding.js +8 -8
  41. package/dist/cjs/LeftNav.js +2 -2
  42. package/dist/cjs/MasterDeck.js +10 -14
  43. package/dist/cjs/NavMagazine.js +5 -5
  44. package/dist/cjs/NavNative.js +4 -4
  45. package/dist/cjs/OncliveHero.js +2 -2
  46. package/dist/cjs/OncliveLargeHero.js +2 -2
  47. package/dist/cjs/PartnerDetailListing.js +12 -10
  48. package/dist/cjs/PublicationDeck.js +2 -2
  49. package/dist/cjs/QueueDeckExpanded.js +12 -16
  50. package/dist/cjs/RecentNews.js +2 -2
  51. package/dist/cjs/RelatedContent.js +2 -2
  52. package/dist/cjs/{SocialSearchComponent-56d49a1a.js → SocialSearchComponent-6b5e5b47.js} +5 -5
  53. package/dist/cjs/TaxonomyCard.js +2 -2
  54. package/dist/cjs/TemplateNormal.js +4 -4
  55. package/dist/cjs/ThumbnailCard.js +1 -1
  56. package/dist/cjs/Ustream.js +3 -3
  57. package/dist/cjs/VerticalHero.js +2 -2
  58. package/dist/cjs/VideoSeriesCard.js +2 -2
  59. package/dist/cjs/VideoSeriesListing.js +38 -7
  60. package/dist/cjs/View.js +21 -22
  61. package/dist/cjs/YahooHero.js +2 -2
  62. package/dist/cjs/YoutubeGroup.js +1 -1
  63. package/dist/cjs/getRelatedArticle.js +416 -5
  64. package/dist/cjs/getSerializers.js +8 -6
  65. package/dist/cjs/{index-099d45ae.js → index-2d0a4911.js} +4 -6
  66. package/dist/cjs/{index-bc377510.js → index-59436c13.js} +116 -75
  67. package/dist/cjs/{index-3294d3bc.js → index-5be2866f.js} +1 -1
  68. package/dist/cjs/{index-39beccb3.js → index-b5eb3ff8.js} +18 -18
  69. package/dist/cjs/index-bd6c9f56.js +211 -0
  70. package/dist/cjs/{index.es-9110add6.js → index.es-ab3f2690.js} +3 -1
  71. package/dist/cjs/{index.esm-876ca9ff.js → index.esm-90433435.js} +5 -0
  72. package/dist/cjs/index.js +16 -16
  73. package/dist/cjs/{lodash-7fd85bcf.js → lodash-fc2922d0.js} +22 -71
  74. package/dist/cjs/{main-03ffa84c.js → main-b6c96c8d.js} +67 -37
  75. package/dist/cjs/{moment-575fe24c.js → moment-66a6a284.js} +1 -1
  76. package/dist/cjs/timeDifferenceCalc.js +1 -1
  77. package/dist/cjs/urlFor.js +1 -1
  78. package/dist/esm/AD.js +1 -1
  79. package/dist/esm/AD300x250.js +3 -3
  80. package/dist/esm/AD300x250x600.js +3 -3
  81. package/dist/esm/AD728x90.js +4 -4
  82. package/dist/esm/ADFloatingFooter.js +2 -2
  83. package/dist/esm/ADGutter.js +5 -8
  84. package/dist/esm/{ADInfeed-a15fb981.js → ADInfeed-205cb7a9.js} +3 -6
  85. package/dist/esm/ADSkyscraper.js +5 -8
  86. package/dist/esm/ADSponsoredResources.js +5 -8
  87. package/dist/esm/ADWebcast.js +5 -8
  88. package/dist/esm/ADWelcome.js +2 -2
  89. package/dist/esm/{ADlgInfeed-33c8a066.js → ADlgInfeed-e538f17a.js} +3 -6
  90. package/dist/esm/AccordionPanel.js +1 -1
  91. package/dist/esm/AdSlot.js +4 -4
  92. package/dist/esm/AdSlotsProvider.js +3 -24
  93. package/dist/esm/ArticleCarousel.js +1 -1
  94. package/dist/esm/ArticleSeriesListing.js +28 -7
  95. package/dist/esm/Auth.js +301 -450
  96. package/dist/esm/{BlockContent-c409aca5.js → BlockContent-a614acdf.js} +1 -1
  97. package/dist/esm/BrowseVideosListing.js +1 -1
  98. package/dist/esm/CMEDeck.js +5 -5
  99. package/dist/esm/Column3.js +4 -4
  100. package/dist/esm/ConferenceArticleCard.js +2 -2
  101. package/dist/esm/DeckContent.js +8 -10
  102. package/dist/esm/DeckQueue.js +6 -6
  103. package/dist/esm/{Dfp-741c01be.js → Dfp-8a8fca18.js} +1 -1
  104. package/dist/esm/EventsDeck.js +4 -4
  105. package/dist/esm/ExternalResources.js +9 -7
  106. package/dist/esm/Feature.js +3 -3
  107. package/dist/esm/ForbesHero.js +2 -2
  108. package/dist/esm/GridContent.js +13 -17
  109. package/dist/esm/GridHero.js +2 -2
  110. package/dist/esm/GroupDeck.js +1 -1
  111. package/dist/esm/HamMagazine.js +5 -5
  112. package/dist/esm/Hero.js +1 -1
  113. package/dist/esm/HorizontalHero.js +2 -2
  114. package/dist/esm/IssueContentDeck.js +2 -2
  115. package/dist/esm/IssueDeck.js +2 -2
  116. package/dist/esm/IssueLanding.js +8 -8
  117. package/dist/esm/LeftNav.js +2 -2
  118. package/dist/esm/MasterDeck.js +10 -14
  119. package/dist/esm/NavMagazine.js +5 -5
  120. package/dist/esm/NavNative.js +4 -4
  121. package/dist/esm/OncliveHero.js +2 -2
  122. package/dist/esm/OncliveLargeHero.js +2 -2
  123. package/dist/esm/PartnerDetailListing.js +12 -10
  124. package/dist/esm/PublicationDeck.js +2 -2
  125. package/dist/esm/QueueDeckExpanded.js +12 -16
  126. package/dist/esm/RecentNews.js +2 -2
  127. package/dist/esm/RelatedContent.js +2 -2
  128. package/dist/esm/{SocialSearchComponent-677ed3bd.js → SocialSearchComponent-7f14e0f3.js} +5 -5
  129. package/dist/esm/TaxonomyCard.js +2 -2
  130. package/dist/esm/TemplateNormal.js +4 -4
  131. package/dist/esm/ThumbnailCard.js +1 -1
  132. package/dist/esm/Ustream.js +3 -3
  133. package/dist/esm/VerticalHero.js +2 -2
  134. package/dist/esm/VideoSeriesCard.js +2 -2
  135. package/dist/esm/VideoSeriesListing.js +38 -7
  136. package/dist/esm/View.js +21 -22
  137. package/dist/esm/YahooHero.js +2 -2
  138. package/dist/esm/YoutubeGroup.js +1 -1
  139. package/dist/esm/getRelatedArticle.js +416 -5
  140. package/dist/esm/getSerializers.js +8 -6
  141. package/dist/esm/{index-3849e3fe.js → index-51a80699.js} +18 -18
  142. package/dist/esm/{index-3f4dd6f2.js → index-93ec3c59.js} +4 -6
  143. package/dist/esm/{index-d1920c2d.js → index-a2e78632.js} +117 -76
  144. package/dist/esm/{index-ef6d5dcf.js → index-d2f90501.js} +1 -1
  145. package/dist/esm/index-db3bb315.js +207 -0
  146. package/dist/esm/{index.es-29c1cef5.js → index.es-938a3a58.js} +3 -1
  147. package/dist/esm/{index.esm-85cb09e6.js → index.esm-29e48d38.js} +5 -1
  148. package/dist/esm/index.js +15 -15
  149. package/dist/esm/{lodash-ec8c6b48.js → lodash-17fdfebb.js} +22 -71
  150. package/dist/esm/{main-35ff7b4f.js → main-0465b2a0.js} +65 -34
  151. package/dist/esm/{moment-e2f9b20c.js → moment-12415288.js} +1 -1
  152. package/dist/esm/timeDifferenceCalc.js +1 -1
  153. package/dist/esm/urlFor.js +1 -1
  154. package/package.json +3 -3
package/dist/cjs/View.js CHANGED
@@ -19,20 +19,20 @@ var _typeof$1 = require('./typeof-725500bc.js');
19
19
  require('./_is-array-754e012d.js');
20
20
  var React = require('react');
21
21
  var React__default = _interopDefault(React);
22
- var index = require('./index-099d45ae.js');
22
+ var index = require('./index-2d0a4911.js');
23
23
  require('prop-types');
24
24
  require('react-bootstrap/Row');
25
25
  require('react-bootstrap/Col');
26
- var moment = require('./moment-575fe24c.js');
26
+ var moment = require('./moment-66a6a284.js');
27
27
  var Router = require('next/router');
28
28
  var Router__default = _interopDefault(Router);
29
29
  require('./isSymbol-04666465.js');
30
30
  require('./debounce-eb287781.js');
31
- var index_es = require('./index.es-9110add6.js');
31
+ var index_es = require('./index.es-ab3f2690.js');
32
32
  require('react-dom');
33
- require('./index-39beccb3.js');
33
+ require('./index-b5eb3ff8.js');
34
34
  require('./index-da796b8c.js');
35
- var main = require('./main-03ffa84c.js');
35
+ var main = require('./main-b6c96c8d.js');
36
36
  require('./entities-310b46ee.js');
37
37
  var stringify = require('./stringify-7c5aff47.js');
38
38
  var slicedToArray = require('./slicedToArray-8f385299.js');
@@ -41,15 +41,16 @@ require('./_set-species-f92c67c5.js');
41
41
  require('./Segment.js');
42
42
  require('./Beam.js');
43
43
  var AdSlot = require('./AdSlot.js');
44
- var BlockContent = require('./BlockContent-80b15fac.js');
44
+ var BlockContent = require('./BlockContent-88f69acd.js');
45
45
  require('./smoothscroll-95231a70.js');
46
46
  require('./GroupDeck.js');
47
47
  require('react-bootstrap');
48
48
  require('./iconBase-68959171.js');
49
+ require('./index.esm-90433435.js');
49
50
  var Button = _interopDefault(require('react-bootstrap/Button'));
50
51
  var defineProperty$1 = require('./defineProperty-55548b25.js');
51
52
  var Form = _interopDefault(require('react-bootstrap/Form'));
52
- var getSerializers = require('./index-bc377510.js');
53
+ var getSerializers = require('./index-59436c13.js');
53
54
  require('./util-f2c1b65b.js');
54
55
  require('./brightcove-react-player-loader.es-156bd4d6.js');
55
56
  require('react-bootstrap/Pagination');
@@ -61,9 +62,9 @@ var keys = require('./keys-a586b7a0.js');
61
62
  require('react-bootstrap/Dropdown');
62
63
  var index_esm$3 = require('./index.esm-ff47db6f.js');
63
64
  var getSeriesDetail = require('./getSeriesDetail.js');
64
- require('nookies');
65
- var getQuery = require('./getQuery.js');
65
+ require('./index-bd6c9f56.js');
66
66
  var getRelatedArticle = require('./getRelatedArticle.js');
67
+ var getQuery = require('./getQuery.js');
67
68
  var getTargeting = require('./getTargeting-fee8c429.js');
68
69
  var getKeywords = require('./getKeywords.js');
69
70
  var urlFor = require('./urlFor.js');
@@ -144,9 +145,9 @@ var DocumentGroup = function DocumentGroup(_ref) {
144
145
  style: { display: 'flex', flexDirection: 'column', padding: '0 1rem', justifyContent: thumbnailUrl ? 'center' : 'flex-start', alignItems: 'center' } },
145
146
  thumbnailUrl && React__default.createElement('img', { style: { maxWidth: '220px', maxHeight: '100px', marginTop: '1rem' }, src: thumbnailUrl, alt: name }),
146
147
  !thumbnailUrl && React__default.createElement('p', {
147
- style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_36 ? 'left' : 'right', marginTop: '.25rem' },
148
+ style: { maxWidth: '315px', margin: '0', color: 'var(--primary)', textAlign: thumbnailUrl ? 'center' : main.main_39 ? 'left' : 'right', marginTop: '.25rem' },
148
149
  dangerouslySetInnerHTML: { __html: name } }),
149
- main.main_36 && !thumbnailUrl && React__default.createElement(
150
+ main.main_39 && !thumbnailUrl && React__default.createElement(
150
151
  'style',
151
152
  { jsx: 'true' },
152
153
  '\n a.doc-group {\n display: block !important;\n padding: 0!important;\n }\n '
@@ -395,9 +396,7 @@ var Article = function Article(props) {
395
396
  _props$sponsoredFlag = props.sponsoredFlag,
396
397
  sponsoredFlag = _props$sponsoredFlag === undefined ? false : _props$sponsoredFlag,
397
398
  _props$authorImgHeigh = props.authorImgHeight,
398
- authorImgHeight = _props$authorImgHeigh === undefined ? 270 : _props$authorImgHeigh,
399
- _props$refreshFlag = props.refreshFlag,
400
- refreshFlag = _props$refreshFlag === undefined ? false : _props$refreshFlag;
399
+ authorImgHeight = _props$authorImgHeigh === undefined ? 270 : _props$authorImgHeigh;
401
400
 
402
401
  var targeting = getTargeting.getTargeting(props);
403
402
  var onChangeArticle = props.onChangeArticle;
@@ -645,13 +644,13 @@ var Article = function Article(props) {
645
644
  React__default.createElement(
646
645
  'div',
647
646
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
648
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: refreshFlag, checkIsAdFound: previewAd ? null : checkIsAdFound }))
647
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : checkIsAdFound }))
649
648
  ),
650
649
  React__default.createElement('span', { className: 'clearfix' }),
651
650
  React__default.createElement(
652
651
  'div',
653
652
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
654
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: refreshFlag, checkIsAdFound: checkIsVideoAdFound }))
653
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
655
654
  ),
656
655
  React__default.createElement(BlockContent.BlockContent, _extends._extends({
657
656
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
@@ -717,7 +716,7 @@ var Article = function Article(props) {
717
716
  (visibleFlag || queueData && queueData.length === 1 || !props.infiniteScroll) && React__default.createElement(
718
717
  'div',
719
718
  { id: 'contextual-native-ad-' + payload._id, className: 'contextual-native-ad' },
720
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: refreshFlag, checkIsAdFound: previewAd ? null : _checkIsAdFound }))
719
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualAD, { refreshFlag: false, checkIsAdFound: previewAd ? null : _checkIsAdFound }))
721
720
  ),
722
721
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
723
722
  React__default.createElement(BlockContent.BlockContent, _extends._extends({
@@ -760,7 +759,7 @@ var Article = function Article(props) {
760
759
  React__default.createElement(
761
760
  'div',
762
761
  { id: 'contextual-video-ad-' + payload._id, className: 'contextual-video-ad' },
763
- React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: refreshFlag, checkIsAdFound: _checkIsAdFound2 }))
762
+ React__default.createElement(AdSlot, _extends._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
764
763
  ),
765
764
  React__default.createElement(BlockContent.BlockContent, _extends._extends({
766
765
  serializers: getSerializers.getSerializers(client, pageview, videoAccountIDs, onVote, true, drupalLeadSettings, currentPage, false, null, null, null, targeting),
@@ -955,7 +954,7 @@ var Article = function Article(props) {
955
954
  React__default.createElement(
956
955
  'div',
957
956
  { className: 'ad-box', style: { textAlign: 'center' } },
958
- main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
957
+ main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
959
958
  if (index === 0) {
960
959
  return React__default.createElement(
961
960
  'div',
@@ -1034,7 +1033,7 @@ var Article = function Article(props) {
1034
1033
  })
1035
1034
  )
1036
1035
  ),
1037
- main.main_36 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1036
+ main.main_39 && !sponsoredFlag && props.article.Ads && props.article.Ads.length > 0 && props.article.Ads.map(function (ad, index) {
1038
1037
  if (index > 0) {
1039
1038
  return React__default.createElement(
1040
1039
  'div',
@@ -1107,7 +1106,7 @@ var ArticleQueue = function ArticleQueue(props) {
1107
1106
  });
1108
1107
  var targeting = getTargeting.getTargeting({ article: activeArticle, cpModificationRequired: cpModificationRequired, position: props.position, prevUrl: prevUrl });
1109
1108
 
1110
- if (!main.main_36) {
1109
+ if (!main.main_39) {
1111
1110
  index.lib_3.getGoogletag().then(function (googletag) {
1112
1111
  if (window.googletag && googletag.pubadsReady) {
1113
1112
  var slots = googletag.pubads().getSlots();
@@ -1125,7 +1124,7 @@ var ArticleQueue = function ArticleQueue(props) {
1125
1124
  });
1126
1125
  }
1127
1126
  //Refresh leaderboard ad on mobile
1128
- if (main.main_36) {
1127
+ if (main.main_39) {
1129
1128
  var leaderboardSlotId = '';
1130
1129
  index.lib_3.getGoogletag().then(function (googletag) {
1131
1130
  if (window.googletag && googletag.pubadsReady) {
@@ -10,9 +10,9 @@ require('./web.dom.iterable-a0e279c1.js');
10
10
  var React = require('react');
11
11
  var React__default = _interopDefault(React);
12
12
  require('prop-types');
13
- var moment = require('./moment-575fe24c.js');
13
+ var moment = require('./moment-66a6a284.js');
14
14
  require('react-dom');
15
- var index$1 = require('./index-39beccb3.js');
15
+ var index$1 = require('./index-b5eb3ff8.js');
16
16
  var index$2 = require('./index-da796b8c.js');
17
17
  var entities = require('./entities-310b46ee.js');
18
18
  require('./slicedToArray-8f385299.js');
@@ -15,7 +15,7 @@ var React = require('react');
15
15
  var React__default = _interopDefault(React);
16
16
  require('prop-types');
17
17
  require('react-dom');
18
- var index$1 = require('./index-39beccb3.js');
18
+ var index$1 = require('./index-b5eb3ff8.js');
19
19
  var index$2 = require('./index-da796b8c.js');
20
20
  var slicedToArray = require('./slicedToArray-8f385299.js');
21
21
  var smoothscroll = require('./smoothscroll-95231a70.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- require('./_commonjsHelpers-06173234.js');
3
+ var _commonjsHelpers = require('./_commonjsHelpers-06173234.js');
4
4
  require('./_to-object-329a650b.js');
5
5
  require('./es6.string.iterator-cc0bbaa4.js');
6
6
  require('./_library-dd23b178.js');
@@ -9,9 +9,420 @@ require('./core.get-iterator-method-f62321d4.js');
9
9
  require('./web.dom.iterable-a0e279c1.js');
10
10
  var asyncToGenerator = require('./asyncToGenerator-533d476a.js');
11
11
  require('./_set-species-f92c67c5.js');
12
- var nookies = require('nookies');
12
+ var index$4 = require('./index-bd6c9f56.js');
13
13
  var getQuery = require('./getQuery.js');
14
14
 
15
+ var defaultParseOptions = {
16
+ decodeValues: true,
17
+ map: false,
18
+ silent: false,
19
+ };
20
+
21
+ function isNonEmptyString(str) {
22
+ return typeof str === "string" && !!str.trim();
23
+ }
24
+
25
+ function parseString(setCookieValue, options) {
26
+ var parts = setCookieValue.split(";").filter(isNonEmptyString);
27
+ var nameValue = parts.shift().split("=");
28
+ var name = nameValue.shift();
29
+ var value = nameValue.join("="); // everything after the first =, joined by a "=" if there was more than one part
30
+
31
+ options = options
32
+ ? Object.assign({}, defaultParseOptions, options)
33
+ : defaultParseOptions;
34
+
35
+ try {
36
+ value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value
37
+ } catch (e) {
38
+ console.error(
39
+ `set-cookie-parser encountered an error while decoding a cookie with value '${value}'. Set options.decodeValues to false to disable this feature.`,
40
+ e
41
+ );
42
+ }
43
+
44
+ var cookie = {
45
+ name: name, // grab everything before the first =
46
+ value: value,
47
+ };
48
+
49
+ parts.forEach(function (part) {
50
+ var sides = part.split("=");
51
+ var key = sides.shift().trimLeft().toLowerCase();
52
+ var value = sides.join("=");
53
+ if (key === "expires") {
54
+ cookie.expires = new Date(value);
55
+ } else if (key === "max-age") {
56
+ cookie.maxAge = parseInt(value, 10);
57
+ } else if (key === "secure") {
58
+ cookie.secure = true;
59
+ } else if (key === "httponly") {
60
+ cookie.httpOnly = true;
61
+ } else if (key === "samesite") {
62
+ cookie.sameSite = value;
63
+ } else {
64
+ cookie[key] = value;
65
+ }
66
+ });
67
+
68
+ return cookie;
69
+ }
70
+
71
+ function parse(input, options) {
72
+ options = options
73
+ ? Object.assign({}, defaultParseOptions, options)
74
+ : defaultParseOptions;
75
+
76
+ if (!input) {
77
+ if (!options.map) {
78
+ return [];
79
+ } else {
80
+ return {};
81
+ }
82
+ }
83
+
84
+ if (input.headers && input.headers["set-cookie"]) {
85
+ // fast-path for node.js (which automatically normalizes header names to lower-case
86
+ input = input.headers["set-cookie"];
87
+ } else if (input.headers) {
88
+ // slow-path for other environments - see #25
89
+ var sch =
90
+ input.headers[
91
+ Object.keys(input.headers).find(function (key) {
92
+ return key.toLowerCase() === "set-cookie";
93
+ })
94
+ ];
95
+ // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36
96
+ if (!sch && input.headers.cookie && !options.silent) {
97
+ console.warn(
98
+ "Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."
99
+ );
100
+ }
101
+ input = sch;
102
+ }
103
+ if (!Array.isArray(input)) {
104
+ input = [input];
105
+ }
106
+
107
+ options = options
108
+ ? Object.assign({}, defaultParseOptions, options)
109
+ : defaultParseOptions;
110
+
111
+ if (!options.map) {
112
+ return input.filter(isNonEmptyString).map(function (str) {
113
+ return parseString(str, options);
114
+ });
115
+ } else {
116
+ var cookies = {};
117
+ return input.filter(isNonEmptyString).reduce(function (cookies, str) {
118
+ var cookie = parseString(str, options);
119
+ cookies[cookie.name] = cookie;
120
+ return cookies;
121
+ }, cookies);
122
+ }
123
+ }
124
+
125
+ /*
126
+ Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas
127
+ that are within a single set-cookie field-value, such as in the Expires portion.
128
+
129
+ This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2
130
+ Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128
131
+ React Native's fetch does this for *every* header, including set-cookie.
132
+
133
+ Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25
134
+ Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation
135
+ */
136
+ function splitCookiesString(cookiesString) {
137
+ if (Array.isArray(cookiesString)) {
138
+ return cookiesString;
139
+ }
140
+ if (typeof cookiesString !== "string") {
141
+ return [];
142
+ }
143
+
144
+ var cookiesStrings = [];
145
+ var pos = 0;
146
+ var start;
147
+ var ch;
148
+ var lastComma;
149
+ var nextStart;
150
+ var cookiesSeparatorFound;
151
+
152
+ function skipWhitespace() {
153
+ while (pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))) {
154
+ pos += 1;
155
+ }
156
+ return pos < cookiesString.length;
157
+ }
158
+
159
+ function notSpecialChar() {
160
+ ch = cookiesString.charAt(pos);
161
+
162
+ return ch !== "=" && ch !== ";" && ch !== ",";
163
+ }
164
+
165
+ while (pos < cookiesString.length) {
166
+ start = pos;
167
+ cookiesSeparatorFound = false;
168
+
169
+ while (skipWhitespace()) {
170
+ ch = cookiesString.charAt(pos);
171
+ if (ch === ",") {
172
+ // ',' is a cookie separator if we have later first '=', not ';' or ','
173
+ lastComma = pos;
174
+ pos += 1;
175
+
176
+ skipWhitespace();
177
+ nextStart = pos;
178
+
179
+ while (pos < cookiesString.length && notSpecialChar()) {
180
+ pos += 1;
181
+ }
182
+
183
+ // currently special character
184
+ if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
185
+ // we found cookies separator
186
+ cookiesSeparatorFound = true;
187
+ // pos is inside the next cookie, so back up and return it.
188
+ pos = nextStart;
189
+ cookiesStrings.push(cookiesString.substring(start, lastComma));
190
+ start = pos;
191
+ } else {
192
+ // in param ',' or param separator ';',
193
+ // we continue from that comma
194
+ pos = lastComma + 1;
195
+ }
196
+ } else {
197
+ pos += 1;
198
+ }
199
+ }
200
+
201
+ if (!cookiesSeparatorFound || pos >= cookiesString.length) {
202
+ cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
203
+ }
204
+ }
205
+
206
+ return cookiesStrings;
207
+ }
208
+
209
+ var setCookie = parse;
210
+ var parse_1 = parse;
211
+ var parseString_1 = parseString;
212
+ var splitCookiesString_1 = splitCookiesString;
213
+ setCookie.parse = parse_1;
214
+ setCookie.parseString = parseString_1;
215
+ setCookie.splitCookiesString = splitCookiesString_1;
216
+
217
+ var utils = _commonjsHelpers.createCommonjsModule(function (module, exports) {
218
+ var __assign = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__assign) || function () {
219
+ __assign = Object.assign || function(t) {
220
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
221
+ s = arguments[i];
222
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
223
+ t[p] = s[p];
224
+ }
225
+ return t;
226
+ };
227
+ return __assign.apply(this, arguments);
228
+ };
229
+ Object.defineProperty(exports, "__esModule", { value: true });
230
+ exports.areCookiesEqual = exports.hasSameProperties = exports.createCookie = exports.isBrowser = void 0;
231
+ /**
232
+ * Tells whether we are in a browser or server.
233
+ */
234
+ function isBrowser() {
235
+ return typeof window !== 'undefined';
236
+ }
237
+ exports.isBrowser = isBrowser;
238
+ /**
239
+ * Create an instance of the Cookie interface
240
+ */
241
+ function createCookie(name, value, options) {
242
+ var sameSite = options.sameSite;
243
+ if (sameSite === true) {
244
+ sameSite = 'strict';
245
+ }
246
+ if (sameSite === undefined || sameSite === false) {
247
+ sameSite = 'lax';
248
+ }
249
+ var cookieToSet = __assign(__assign({}, options), { sameSite: sameSite });
250
+ delete cookieToSet.encode;
251
+ return __assign({ name: name, value: value }, cookieToSet);
252
+ }
253
+ exports.createCookie = createCookie;
254
+ /**
255
+ * Tells whether given objects have the same properties.
256
+ */
257
+ function hasSameProperties(a, b) {
258
+ var aProps = Object.getOwnPropertyNames(a);
259
+ var bProps = Object.getOwnPropertyNames(b);
260
+ if (aProps.length !== bProps.length) {
261
+ return false;
262
+ }
263
+ for (var i = 0; i < aProps.length; i++) {
264
+ var propName = aProps[i];
265
+ if (a[propName] !== b[propName]) {
266
+ return false;
267
+ }
268
+ }
269
+ return true;
270
+ }
271
+ exports.hasSameProperties = hasSameProperties;
272
+ /**
273
+ * Compare the cookie and return true if the cookies have equivalent
274
+ * options and the cookies would be overwritten in the browser storage.
275
+ *
276
+ * @param a first Cookie for comparison
277
+ * @param b second Cookie for comparison
278
+ */
279
+ function areCookiesEqual(a, b) {
280
+ var sameSiteSame = a.sameSite === b.sameSite;
281
+ if (typeof a.sameSite === 'string' && typeof b.sameSite === 'string') {
282
+ sameSiteSame = a.sameSite.toLowerCase() === b.sameSite.toLowerCase();
283
+ }
284
+ return (hasSameProperties(__assign(__assign({}, a), { sameSite: undefined }), __assign(__assign({}, b), { sameSite: undefined })) && sameSiteSame);
285
+ }
286
+ exports.areCookiesEqual = areCookiesEqual;
287
+ /* Functions */
288
+
289
+ });
290
+
291
+ _commonjsHelpers.unwrapExports(utils);
292
+ var utils_1 = utils.areCookiesEqual;
293
+ var utils_2 = utils.hasSameProperties;
294
+ var utils_3 = utils.createCookie;
295
+ var utils_4 = utils.isBrowser;
296
+
297
+ var dist = _commonjsHelpers.createCommonjsModule(function (module, exports) {
298
+ var __assign = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__assign) || function () {
299
+ __assign = Object.assign || function(t) {
300
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
301
+ s = arguments[i];
302
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
303
+ t[p] = s[p];
304
+ }
305
+ return t;
306
+ };
307
+ return __assign.apply(this, arguments);
308
+ };
309
+ Object.defineProperty(exports, "__esModule", { value: true });
310
+ exports.destroyCookie = exports.setCookie = exports.parseCookies = void 0;
311
+
312
+
313
+
314
+ /**
315
+ * Parses cookies.
316
+ *
317
+ * @param ctx NextJS page or API context, express context, null or undefined.
318
+ * @param options Options that we pass down to `cookie` library.
319
+ */
320
+ function parseCookies(ctx, options) {
321
+ var _a, _b;
322
+ if ((_b = (_a = ctx === null || ctx === void 0 ? void 0 : ctx.req) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? void 0 : _b.cookie) {
323
+ return index$4.cookie.parse(ctx.req.headers.cookie, options);
324
+ }
325
+ if (utils.isBrowser()) {
326
+ return index$4.cookie.parse(document.cookie, options);
327
+ }
328
+ return {};
329
+ }
330
+ exports.parseCookies = parseCookies;
331
+ /**
332
+ * Sets a cookie.
333
+ *
334
+ * @param ctx NextJS page or API context, express context, null or undefined.
335
+ * @param name The name of your cookie.
336
+ * @param value The value of your cookie.
337
+ * @param options Options that we pass down to `cookie` library.
338
+ */
339
+ function setCookie$1(ctx, name, value, options) {
340
+ var _a, _b;
341
+ if (options === void 0) { options = {}; }
342
+ // SSR
343
+ if (((_a = ctx === null || ctx === void 0 ? void 0 : ctx.res) === null || _a === void 0 ? void 0 : _a.getHeader) && ctx.res.setHeader) {
344
+ // Check if response has finished and warn about it.
345
+ if ((_b = ctx === null || ctx === void 0 ? void 0 : ctx.res) === null || _b === void 0 ? void 0 : _b.finished) {
346
+ console.warn("Not setting \"" + name + "\" cookie. Response has finished.");
347
+ console.warn("You should set cookie before res.send()");
348
+ return {};
349
+ }
350
+ /**
351
+ * Load existing cookies from the header and parse them.
352
+ */
353
+ var cookies = ctx.res.getHeader('Set-Cookie') || [];
354
+ if (typeof cookies === 'string')
355
+ cookies = [cookies];
356
+ if (typeof cookies === 'number')
357
+ cookies = [];
358
+ /**
359
+ * Parse cookies but ignore values - we've already encoded
360
+ * them in the previous call.
361
+ */
362
+ var parsedCookies = setCookie.parse(cookies, {
363
+ decodeValues: false,
364
+ });
365
+ /**
366
+ * We create the new cookie and make sure that none of
367
+ * the existing cookies match it.
368
+ */
369
+ var newCookie_1 = utils.createCookie(name, value, options);
370
+ var cookiesToSet_1 = [];
371
+ parsedCookies.forEach(function (parsedCookie) {
372
+ if (!utils.areCookiesEqual(parsedCookie, newCookie_1)) {
373
+ /**
374
+ * We serialize the cookie back to the original format
375
+ * if it isn't the same as the new one.
376
+ */
377
+ var serializedCookie = index$4.cookie.serialize(parsedCookie.name, parsedCookie.value, __assign({
378
+ // we prevent reencoding by default, but you might override it
379
+ encode: function (val) { return val; } }, parsedCookie));
380
+ cookiesToSet_1.push(serializedCookie);
381
+ }
382
+ });
383
+ cookiesToSet_1.push(index$4.cookie.serialize(name, value, options));
384
+ // Update the header.
385
+ ctx.res.setHeader('Set-Cookie', cookiesToSet_1);
386
+ }
387
+ // Browser
388
+ if (utils.isBrowser()) {
389
+ if (options && options.httpOnly) {
390
+ throw new Error('Can not set a httpOnly cookie in the browser.');
391
+ }
392
+ document.cookie = index$4.cookie.serialize(name, value, options);
393
+ }
394
+ return {};
395
+ }
396
+ exports.setCookie = setCookie$1;
397
+ /**
398
+ * Destroys a cookie with a particular name.
399
+ *
400
+ * @param ctx NextJS page or API context, express context, null or undefined.
401
+ * @param name Cookie name.
402
+ * @param options Options that we pass down to `cookie` library.
403
+ */
404
+ function destroyCookie(ctx, name, options) {
405
+ /**
406
+ * We forward the request destroy to setCookie function
407
+ * as it is the same function with modified maxAge value.
408
+ */
409
+ return setCookie$1(ctx, name, '', __assign(__assign({}, (options || {})), { maxAge: -1 }));
410
+ }
411
+ exports.destroyCookie = destroyCookie;
412
+ /* Utility Exports */
413
+ exports.default = {
414
+ set: setCookie$1,
415
+ get: parseCookies,
416
+ destroy: destroyCookie,
417
+ };
418
+
419
+ });
420
+
421
+ _commonjsHelpers.unwrapExports(dist);
422
+ var dist_1 = dist.destroyCookie;
423
+ var dist_2 = dist.setCookie;
424
+ var dist_3 = dist.parseCookies;
425
+
15
426
  var _this = undefined;
16
427
 
17
428
  var getRelatedArticle = function () {
@@ -71,13 +482,13 @@ var getRelatedArticle = function () {
71
482
  conditions = '';
72
483
 
73
484
  if (ctx && url) {
74
- cookies = nookies.parseCookies(ctx);
485
+ cookies = dist_3(ctx);
75
486
  prevSlugs = cookies['prevSlugs'];
76
487
 
77
488
  if (!!prevSlugs) {
78
- nookies.setCookie(ctx, 'prevSlugs', prevSlugs + ',"' + url + '"', {});
489
+ dist_2(ctx, 'prevSlugs', prevSlugs + ',"' + url + '"', {});
79
490
  conditions = '&& !(url.current in [' + prevSlugs + '])';
80
- } else nookies.setCookie(ctx, 'prevSlugs', '"' + url + '"', {});
491
+ } else dist_2(ctx, 'prevSlugs', '"' + url + '"', {});
81
492
  }
82
493
  relatedArticleQuery = getQuery('related', conditions, '', articleCount);
83
494
  _context.next = 12;
@@ -16,18 +16,18 @@ require('./web.dom.iterable-a0e279c1.js');
16
16
  require('./typeof-725500bc.js');
17
17
  require('./_is-array-754e012d.js');
18
18
  require('react');
19
- require('./index-099d45ae.js');
19
+ require('./index-2d0a4911.js');
20
20
  require('prop-types');
21
21
  require('react-bootstrap/Row');
22
22
  require('react-bootstrap/Col');
23
- require('./moment-575fe24c.js');
23
+ require('./moment-66a6a284.js');
24
24
  require('next/router');
25
25
  require('./isSymbol-04666465.js');
26
26
  require('./debounce-eb287781.js');
27
27
  require('react-dom');
28
- require('./index-39beccb3.js');
28
+ require('./index-b5eb3ff8.js');
29
29
  require('./index-da796b8c.js');
30
- require('./main-03ffa84c.js');
30
+ require('./main-b6c96c8d.js');
31
31
  require('./entities-310b46ee.js');
32
32
  require('./stringify-7c5aff47.js');
33
33
  require('./slicedToArray-8f385299.js');
@@ -36,12 +36,14 @@ require('./_set-species-f92c67c5.js');
36
36
  require('./Segment.js');
37
37
  require('./Beam.js');
38
38
  require('./AdSlot.js');
39
- require('./BlockContent-80b15fac.js');
39
+ require('./BlockContent-88f69acd.js');
40
40
  require('./smoothscroll-95231a70.js');
41
41
  require('./GroupDeck.js');
42
42
  require('react-bootstrap');
43
+ require('./iconBase-68959171.js');
44
+ require('./index.esm-90433435.js');
43
45
  require('react-bootstrap/Button');
44
- var getSerializers = require('./index-bc377510.js');
46
+ var getSerializers = require('./index-59436c13.js');
45
47
  require('./util-f2c1b65b.js');
46
48
  require('./brightcove-react-player-loader.es-156bd4d6.js');
47
49
  require('react-bootstrap/Pagination');
@@ -827,15 +827,13 @@ var DFPManager = Object.assign(new EventEmitter.EventEmitter().setMaxListeners(0
827
827
  });
828
828
 
829
829
  if (_this5.lazyLoadIsEnabled()) {
830
- var args = [];
831
-
832
830
  var config = _this5.getLazyLoadConfig();
833
831
 
834
- if (config !== null) {
835
- args.push(config);
832
+ if (config) {
833
+ pubadsService.enableLazyLoad(config);
834
+ } else {
835
+ pubadsService.enableLazyLoad();
836
836
  }
837
-
838
- pubadsService.enableLazyLoad.call(args);
839
837
  }
840
838
 
841
839
  if (_this5.singleRequestIsEnabled()) {