@mjhls/mjh-framework 1.0.411 → 1.0.414

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/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
 
2
- # mjh-framework v. 1.0.411
3
-
2
+ # mjh-framework v. 1.0.414
4
3
 
5
4
  > Foundation Framework
6
5
 
@@ -257,7 +257,7 @@ var GroupDeck = function GroupDeck(props) {
257
257
  React__default.createElement(
258
258
  'style',
259
259
  { jsx: 'true' },
260
- '\n #vid-slider * {\n box-sizing: border-box;\n -ms-overflow-style: none;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n padding: 0 1.5rem;\n margin-bottom: 2rem;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider,\n #vidHolder {\n max-width: 805px;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow-x: scroll;\n width: 100%;\n -ms-overflow-style: none;\n overflow-y: hidden !important;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 0.9rem;\n font-weight: bold;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 25px 0 55px !important;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n height: 135px;\n\n margin: 0 12px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n \n #vid-slider .tile:first-child {\n margin-left: 15px;\n }\n #vid-slider .tile__img {\n height: 135px;\n -o-object-fit: cover;\n object-fit: cover;\n object-position: center;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>")\n no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -24px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -0.5rem;\n padding: 1rem;\n }\n #vid-slider .tile__slider-next {\n right: -0.5rem;\n padding: 1rem;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding-right: 0 1.2rem;\n }\n\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n @media screen and (min-width: 1399px){\n .block-content #vid-slider .tile__img{\n height: 155px;\n }\n .block-content #vid-slider .tile{\n height: 195px;\n }\n }\n\n \n\n @media screen and (max-width: 1399px) {\n #vid-slider,\n #vidHolder {\n max-width: 620px;\n }\n }\n @media screen and (max-width: 1200px) {\n #vid-slider,\n #vidHolder {\n max-width: 580px;\n }\n }\n @media screen and (max-width: 967px) {\n #vid-slider {\n max-width: 100%;\n }\n\n #vid-slider .tile__img {\n height: 85px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 60px 0 50px!important;\n }\n }\n\n @media screen and (max-width: 768px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 180px;\n }\n\n #vid-slider .tile__img {\n height: 110px;\n object-fit: cover;\n }\n \n }\n @media screen and (max-width: 568px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 180px;\n }\n\n #vid-slider .tile__img {\n height: 180px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 30px 0 60px;\n }\n }\n '
260
+ '\n #vid-slider * {\n box-sizing: border-box;\n -ms-overflow-style: none;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n padding: 0 1.5rem;\n margin-bottom: 2rem;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider,\n #vidHolder {\n max-width: 805px;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow-x: scroll;\n width: 100%;\n -ms-overflow-style: none;\n overflow-y: hidden !important;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 0.9rem;\n font-weight: bold;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 25px 0 55px !important;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n height: 135px;\n\n margin: 0 12px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n\n #vid-slider .tile:first-child {\n margin-left: 15px;\n }\n #vid-slider .tile__img {\n height: 135px;\n -o-object-fit: cover;\n object-fit: cover;\n object-position: center;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>")\n no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -24px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -0.5rem;\n padding: 1rem;\n }\n #vid-slider .tile__slider-next {\n right: -0.5rem;\n padding: 1rem;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding-right: 0 1.2rem;\n }\n\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n @media screen and (min-width: 1399px) {\n .block-content #vid-slider .tile__img {\n height: 195px;\n }\n .block-content #vid-slider .tile {\n height: 195px;\n }\n }\n\n @media screen and (max-width: 1399px) {\n #vid-slider,\n #vidHolder {\n max-width: 620px;\n }\n }\n @media screen and (max-width: 1200px) {\n #vid-slider,\n #vidHolder {\n max-width: 580px;\n }\n }\n @media screen and (max-width: 967px) {\n #vid-slider {\n max-width: 100%;\n }\n\n #vid-slider .tile__img {\n height: 85px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 60px 0 50px !important;\n }\n }\n\n @media screen and (max-width: 768px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 130px;\n }\n\n #vid-slider .tile__img {\n height: 130px;\n object-fit: cover;\n }\n }\n @media screen and (max-width: 568px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 140px;\n }\n\n #vid-slider .tile__img {\n height: 160px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 30px 0 60px;\n }\n }\n @media screen and (max-width: 468px) {\n #vid-slider .tile {\n height: 130px;\n }\n #vid-slider .tile__img {\n height: 130px;\n }\n }\n @media screen and (max-width: 386px) {\n #vid-slider .tile {\n height: 100px;\n }\n #vid-slider .tile__img {\n height: 100px;\n }\n }\n '
261
261
  )
262
262
  );
263
263
  };
@@ -64,8 +64,6 @@ var IssueDeck = function IssueDeck(props) {
64
64
  values = _useState8[0],
65
65
  setValues = _useState8[1];
66
66
 
67
- var deckRef = React.useRef(null);
68
-
69
67
  var prevValues = usePrevious(values);
70
68
 
71
69
  var urlFor = function urlFor(source) {
@@ -130,9 +128,17 @@ var IssueDeck = function IssueDeck(props) {
130
128
  }
131
129
  }, [values, prevValues, query, client, params, setIssuesData, setScrolling]);
132
130
 
131
+ React.useEffect(function () {
132
+ if (issuesData.length < count) {
133
+ var parentScroll = document.getElementsByClassName('infinite-scroll-component')[0];
134
+ parentScroll.style.overflow = 'hidden';
135
+ setScrolling(false);
136
+ }
137
+ }, [issuesData, setScrolling, count]);
138
+
133
139
  return React__default.createElement(
134
140
  index_es.InfiniteScroll,
135
- { ref: deckRef, dataLength: issuesData && issuesData.length, next: function next() {
141
+ { dataLength: issuesData && issuesData.length, next: function next() {
136
142
  return loadMore();
137
143
  }, hasMore: scrolling, scrollThreshold: 0.9 },
138
144
  React__default.createElement(
package/dist/cjs/index.js CHANGED
@@ -5609,7 +5609,7 @@ var YouTubePlayer = function YouTubePlayer(_ref) {
5609
5609
  };
5610
5610
 
5611
5611
  var handleOnPlay = function handleOnPlay(event) {
5612
- // report play
5612
+ // report play
5613
5613
  var player = event.target;
5614
5614
  var current = player.getCurrentTime();
5615
5615
  var duration = player.getDuration();
@@ -5651,7 +5651,16 @@ var YouTubePlayer = function YouTubePlayer(_ref) {
5651
5651
  AdSlot.Beam.report_beam_video('Pause', main.main_16, duration, current, segment);
5652
5652
  };
5653
5653
 
5654
- return React__default.createElement(YouTube, { videoId: id, opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: handleOnEnd });
5654
+ return React__default.createElement(
5655
+ 'div',
5656
+ { id: 'fluid-video-container' },
5657
+ React__default.createElement(YouTube, { className: 'fluid-iframe', videoId: id, opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: handleOnEnd }),
5658
+ React__default.createElement(
5659
+ 'style',
5660
+ { jsx: 'true' },
5661
+ '\n #fluid-video-container {\n margin-bottom: 2rem;\n }\n #fluid-video-container > div {\n position: relative;\n padding-bottom: 56.25%; /* 16:9 */\n height: 0;\n }\n #fluid-video-container .fluid-iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n }\n '
5662
+ )
5663
+ );
5655
5664
  };
5656
5665
 
5657
5666
  var Sidebar = function Sidebar(_ref) {
@@ -12976,7 +12985,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12976
12985
  if (series.classList.contains('active')) {
12977
12986
  series.style.bottom = '-100%';
12978
12987
  } else {
12979
- series.style.bottom = '6px';
12988
+ series.style.bottom = '2px';
12980
12989
  }
12981
12990
  series.classList.toggle('active');
12982
12991
  }
@@ -13090,10 +13099,18 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13090
13099
  { className: 'video-container', style: { marginBottom: '2rem' } },
13091
13100
  React__default.createElement(
13092
13101
  'div',
13093
- { className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
13094
- vidUrl && vidType == 'youtube' && React__default.createElement(YouTube, { videoId: smoothscroll.getYoutubeId(vidUrl), opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: function onEnd(e) {
13102
+ { id: 'fluid-video-container', className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
13103
+ vidUrl && vidType == 'youtube' && React__default.createElement(YouTube, {
13104
+ className: 'fluid-iframe',
13105
+ videoId: smoothscroll.getYoutubeId(vidUrl),
13106
+ opts: opts,
13107
+ onReady: handleOnReady,
13108
+ onPlay: handleOnPlay,
13109
+ onPause: handleOnPause,
13110
+ onEnd: function onEnd(e) {
13095
13111
  return handleOnEnd(e);
13096
- } }),
13112
+ }
13113
+ }),
13097
13114
  vidUrl && vidType == 'mp4' && React__default.createElement(VideoMp4, { url: vidUrl, thumbnail: vidThumbnail, vidLoaded: vidLoaded }),
13098
13115
  vidUrl && vidType == 'brightcove' && React__default.createElement(Video, { node: { videoID: vidUrl, source: 'brightcove' }, accountIDs: accountIDs }),
13099
13116
  React__default.createElement(
@@ -13103,7 +13120,8 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13103
13120
  style: {
13104
13121
  position: 'absolute',
13105
13122
  width: '100%',
13106
- height: '250px',
13123
+ height: '270px',
13124
+ maxHeight: '100%',
13107
13125
  background: 'linear-gradient(to bottom, transparent,black)',
13108
13126
  bottom: '-100%',
13109
13127
  transition: 'all .5s ease',
@@ -13146,7 +13164,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13146
13164
  React__default.createElement(
13147
13165
  'style',
13148
13166
  { jsx: 'true' },
13149
- '\n .vid-series .video-detail iframe {\n height: 415px !important;\n }\n span.btn {\n margin: 0 1rem;\n }\n .brightcove .video-js {\n float: none;\n width: 100%;\n height: 385px;\n }\n @media screen and (max-width: 1399px) {\n .brightcove .video-js {\n height: 360px;\n }\n }\n @media screen and (max-width: 495px) {\n .brightcove .video-js {\n height: 255px;\n }\n }\n '
13167
+ '\n \n #fluid-video-container > div {\n position: relative;\n padding-bottom: 56.25%; /* 16:9 */\n height: 0;\n }\n #fluid-video-container .fluid-iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n }\n\n span.btn {\n margin: 0 1rem;\n }\n .brightcove .video-js {\n float: none;\n width: 100%;\n height: 385px;\n }\n @media screen and (max-width: 1399px) {\n .brightcove .video-js {\n height: 360px;\n }\n }\n @media screen and (max-width: 495px) {\n .brightcove .video-js {\n height: 255px;\n }\n }\n '
13150
13168
  )
13151
13169
  );
13152
13170
  };
@@ -13596,6 +13614,25 @@ var MultiFigure = function MultiFigure(props) {
13596
13614
  return null;
13597
13615
  };
13598
13616
 
13617
+ var AnchorLinkElement = function AnchorLinkElement(props) {
13618
+ var articleId = props.articleId,
13619
+ _props$node = props.node,
13620
+ _props$node$id = _props$node.id,
13621
+ id = _props$node$id === undefined ? '' : _props$node$id,
13622
+ _props$node$content = _props$node.content,
13623
+ content = _props$node$content === undefined ? [] : _props$node$content,
13624
+ getSerializers = props.getSerializers;
13625
+
13626
+
13627
+ var elementId = articleId ? id + '-' + articleId : id;
13628
+
13629
+ return React__default.createElement(
13630
+ 'div',
13631
+ { id: elementId },
13632
+ React__default.createElement(TaxonomyCard.BlockContent, { blocks: content, serializers: getSerializers })
13633
+ );
13634
+ };
13635
+
13599
13636
  var Figure = dynamic(function () {
13600
13637
  return Promise.resolve().then(function () { return require('./Figure-9e886c5b.js'); });
13601
13638
  }, { ssr: false });
@@ -13638,7 +13675,8 @@ var getSerializers = function getSerializers() {
13638
13675
  _props$ = props[7],
13639
13676
  autoplay = _props$ === undefined ? false : _props$,
13640
13677
  _props$2 = props[8],
13641
- contextualADFlag = _props$2 === undefined ? false : _props$2;
13678
+ contextualADFlag = _props$2 === undefined ? false : _props$2,
13679
+ articleId = props[9];
13642
13680
 
13643
13681
  return {
13644
13682
  types: {
@@ -13738,6 +13776,11 @@ var getSerializers = function getSerializers() {
13738
13776
  var node = _ref16.node;
13739
13777
 
13740
13778
  return React__default.createElement(NativeAd, { node: node });
13779
+ },
13780
+ html_anchor_links: function html_anchor_links(_ref17) {
13781
+ var node = _ref17.node;
13782
+
13783
+ return React__default.createElement(AnchorLinkElement, { node: node, getSerializers: getSerializers.apply(undefined, props), articleId: articleId });
13741
13784
  }
13742
13785
  },
13743
13786
  marks: {
@@ -13761,6 +13804,17 @@ var getSerializers = function getSerializers() {
13761
13804
  href = _props$mark.href,
13762
13805
  blank = _props$mark.blank;
13763
13806
 
13807
+
13808
+ if (href.charAt(0) === '#') {
13809
+ var elementId = href.slice(1);
13810
+ var scrollId = articleId ? '#' + elementId + '-' + articleId : '#' + elementId;
13811
+ return React__default.createElement(
13812
+ 'a',
13813
+ { href: scrollId },
13814
+ children
13815
+ );
13816
+ }
13817
+
13764
13818
  var isExernalUrl = checkUrlIsExternal(href);
13765
13819
  return React__default.createElement(
13766
13820
  'a',
@@ -13768,32 +13822,32 @@ var getSerializers = function getSerializers() {
13768
13822
  children
13769
13823
  );
13770
13824
  },
13771
- alignleft: function alignleft(_ref17) {
13772
- var children = _ref17.children;
13825
+ alignleft: function alignleft(_ref18) {
13826
+ var children = _ref18.children;
13773
13827
  return React__default.createElement(
13774
13828
  'div',
13775
13829
  { style: { textAlign: 'left' } },
13776
13830
  children
13777
13831
  );
13778
13832
  },
13779
- alignright: function alignright(_ref18) {
13780
- var children = _ref18.children;
13833
+ alignright: function alignright(_ref19) {
13834
+ var children = _ref19.children;
13781
13835
  return React__default.createElement(
13782
13836
  'div',
13783
13837
  { style: { textAlign: 'right' } },
13784
13838
  children
13785
13839
  );
13786
13840
  },
13787
- aligncenter: function aligncenter(_ref19) {
13788
- var children = _ref19.children;
13841
+ aligncenter: function aligncenter(_ref20) {
13842
+ var children = _ref20.children;
13789
13843
  return React__default.createElement(
13790
13844
  'div',
13791
13845
  { style: { textAlign: 'center' } },
13792
13846
  children
13793
13847
  );
13794
13848
  },
13795
- alignjustify: function alignjustify(_ref20) {
13796
- var children = _ref20.children;
13849
+ alignjustify: function alignjustify(_ref21) {
13850
+ var children = _ref21.children;
13797
13851
  return React__default.createElement(
13798
13852
  'div',
13799
13853
  { style: { textAlign: 'justify' } },
@@ -13879,11 +13933,6 @@ var Feature = function Feature(props) {
13879
13933
  return React__default.createElement(
13880
13934
  'div',
13881
13935
  null,
13882
- React__default.createElement(
13883
- 'style',
13884
- { jsx: true },
13885
- '\n .carousel-indicators {\n visibility: hidden;\n }\n\n .carousel-control-prev-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12-5.373-12-12-12-12 5.373-12 12zm7.58 0l5.988-5.995 1.414 1.416-4.574 4.579 4.574 4.59-1.414 1.416-5.988-6.006z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-control-next-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.218 19l-1.782-1.75 5.25-5.25-5.25-5.25 1.782-1.75 6.968 7-6.968 7z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-item img {\n padding-left: 0 !important;\n max-height: 500px !important;\n min-height: 500px !important;\n }\n .carousel-item::after {\n content: \'\';\n position: absolute;\n width: 100%;\n height: 10px;\n bottom: 0;\n left: 0;\n z-index: 999;\n background: rgba(255, 255, 255, 0.6);\n }\n .carousel-caption {\n padding-right: 0 !important;\n justify-content: left !important;\n display: flex;\n flex-direction: row-reverse;\n justify-content: center !important;\n align-items: center;\n bottom: 5px;\n width: 100%;\n padding-top: 0px;\n left: 0 !important;\n padding-bottom: 0px;\n }\n .carousel-caption a {\n width: 100%;\n margin-top: auto;\n padding: 8%;\n margin-bottom: 0px;\n background: rgba(255, 255, 255, 0.6);\n }\n .carousel-caption a p,\n .carousel-caption a h3 {\n color: #3e3f3a !important;\n text-align: left;\n word-break: break-word;\n }\n\n .carousel-control-prev,\n .carousel-control-next {\n z-index: 999;\n }\n .carousel-caption h3,\n .carousel-caption p {\n font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n }\n .carousel-caption p {\n font-size: 1.2em;\n }\n .carousel-caption h3 {\n font-size: 1.6em;\n font-weight: 400;\n }\n .carousel-item {\n background: #eee !important;\n }\n\n .carousel-control-prev-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12-5.373-12-12-12-12 5.373-12 12zm7.58 0l5.988-5.995 1.414 1.416-4.574 4.579 4.574 4.59-1.414 1.416-5.988-6.006z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-control-next-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.218 19l-1.782-1.75 5.25-5.25-5.25-5.25 1.782-1.75 6.968 7-6.968 7z\'/%3E%3C/svg%3E") !important;\n }\n '
13886
- ),
13887
13936
  React__default.createElement(
13888
13937
  Carousel,
13889
13938
  { touch: true, controls: controls },
@@ -14806,7 +14855,8 @@ export default Publication
14806
14855
  var PublicationLanding = function PublicationLanding(props) {
14807
14856
  var publication = props.publication,
14808
14857
  year = props.year,
14809
- href = props.href;
14858
+ href = props.href,
14859
+ pdf = props.pdf;
14810
14860
 
14811
14861
 
14812
14862
  var router = Router.useRouter();
@@ -14868,44 +14918,45 @@ var PublicationLanding = function PublicationLanding(props) {
14868
14918
  ),
14869
14919
  issueData && issueData.length > 0 ? issueData.map(function (issue, key) {
14870
14920
  return React__default.createElement(
14871
- 'a',
14872
- { key: key, href: publication.identifier.current + '/' + issue.identifier.current },
14921
+ Card,
14922
+ { key: key, className: 'issueCard' },
14873
14923
  React__default.createElement(
14874
- Card,
14875
- { className: 'issueCard' },
14924
+ Row,
14925
+ null,
14876
14926
  React__default.createElement(
14877
- Row,
14878
- null,
14879
- React__default.createElement(
14880
- Col,
14881
- { md: 3, id: 'issueThumbnail' },
14882
- React__default.createElement(Card.Img, { src: issue.thumbnail })
14883
- ),
14927
+ Col,
14928
+ { md: 3, id: 'issueThumbnail' },
14929
+ React__default.createElement(Card.Img, { src: issue.thumbnail })
14930
+ ),
14931
+ React__default.createElement(
14932
+ Col,
14933
+ { md: 9, id: 'issueDetail' },
14884
14934
  React__default.createElement(
14885
- Col,
14886
- { md: 9, id: 'issueDetail' },
14935
+ Card.Body,
14936
+ null,
14887
14937
  React__default.createElement(
14888
- Card.Body,
14938
+ Card.Title,
14889
14939
  null,
14890
- React__default.createElement(
14891
- Card.Title,
14892
- null,
14893
- issue.name
14894
- ),
14895
- React__default.createElement(
14896
- 'p',
14897
- null,
14898
- 'Volume: ',
14899
- issue.volume,
14900
- React__default.createElement('br', null),
14901
- 'Issue: ',
14902
- issue.number
14903
- ),
14904
- React__default.createElement(
14905
- Button,
14906
- null,
14907
- 'View Issue'
14908
- )
14940
+ issue.name
14941
+ ),
14942
+ React__default.createElement(
14943
+ 'p',
14944
+ null,
14945
+ 'Volume: ',
14946
+ issue.volume,
14947
+ React__default.createElement('br', null),
14948
+ 'Issue: ',
14949
+ issue.number
14950
+ ),
14951
+ React__default.createElement(
14952
+ 'a',
14953
+ { href: publication.identifier.current + '/' + issue.identifier.current, className: 'btn btn-primary', style: { marginTop: '20px', marginLeft: '1rem' } },
14954
+ 'View Issue'
14955
+ ),
14956
+ issue.pdf && issue.pdf.asset && issue.pdf.asset.url && React__default.createElement(
14957
+ 'a',
14958
+ { href: issue.pdf.asset.url, target: '_blank', className: 'btn btn-primary', style: { marginTop: '20px', marginLeft: '1rem' } },
14959
+ 'Download Issue'
14909
14960
  )
14910
14961
  )
14911
14962
  )
@@ -16858,6 +16909,7 @@ var Article = function Article(props) {
16858
16909
  drupalLeadSettings = props.drupalLeadSettings,
16859
16910
  currentPage = props.currentPage,
16860
16911
  _props$article = props.article,
16912
+ articleId = _props$article._id,
16861
16913
  title = _props$article.title,
16862
16914
  passwordLock = _props$article.passwordLock,
16863
16915
  authorDetails = _props$article.authorDetails,
@@ -17018,7 +17070,7 @@ var Article = function Article(props) {
17018
17070
  React__default.Fragment,
17019
17071
  null,
17020
17072
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17021
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
17073
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
17022
17074
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, selectedIndex))),
17023
17075
  imageOptions: { w: 320, h: 240, fit: 'max' }
17024
17076
  }, client.config())),
@@ -17035,7 +17087,7 @@ var Article = function Article(props) {
17035
17087
  React__default.createElement(AdSlot.DFPAdSlot, _extends$2._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
17036
17088
  ),
17037
17089
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17038
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17090
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17039
17091
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(selectedIndex))),
17040
17092
  imageOptions: { w: 320, h: 240, fit: 'max' }
17041
17093
  }, client.config()))
@@ -17043,12 +17095,14 @@ var Article = function Article(props) {
17043
17095
  } else if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && !payload.contextualVideoAD) {
17044
17096
  payload = _extends$2._extends({}, payload, {
17045
17097
  contextualAD: _extends$2._extends({}, payload.contextualAD, {
17046
- slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
17098
+ slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
17099
+ className: 'ADFluid',
17100
+ sizes: ['fluid']
17047
17101
  })
17048
17102
  });
17049
17103
  var _selectedIndex = indexes[1] + 1;
17050
17104
 
17051
- var _checkIsAdFound = function _checkIsAdFound(isFound) {
17105
+ var _checkIsAdFound = function _checkIsAdFound(isFound, adData) {
17052
17106
  if (!isFound) {
17053
17107
  var parent = document.getElementById('contextual-native-ad-' + payload._id);
17054
17108
  parent.style.height = '0%';
@@ -17056,6 +17110,12 @@ var Article = function Article(props) {
17056
17110
  parent.style.display = 'none';
17057
17111
  setContextualADFlag(false);
17058
17112
  } else {
17113
+ var _parent = document.getElementById('contextual-native-ad-' + payload._id);
17114
+ if (adData && adData.event && adData.event.size && _parent) {
17115
+ _parent.style.width = adData.event.size[0] + 'px';
17116
+ _parent.style.height = adData.event.size[1] + 'px';
17117
+ _parent.style.margin = 'auto';
17118
+ }
17059
17119
  if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
17060
17120
  setContextualADFlag(true);
17061
17121
  }
@@ -17066,7 +17126,7 @@ var Article = function Article(props) {
17066
17126
  React__default.Fragment,
17067
17127
  null,
17068
17128
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17069
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17129
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17070
17130
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, _selectedIndex))),
17071
17131
  imageOptions: { w: 320, h: 240, fit: 'max' }
17072
17132
  }, client.config())),
@@ -17078,7 +17138,7 @@ var Article = function Article(props) {
17078
17138
  ),
17079
17139
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
17080
17140
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17081
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17141
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17082
17142
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(_selectedIndex))),
17083
17143
  imageOptions: { w: 320, h: 240, fit: 'max' }
17084
17144
  }, client.config()))
@@ -17109,7 +17169,7 @@ var Article = function Article(props) {
17109
17169
  React__default.Fragment,
17110
17170
  null,
17111
17171
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17112
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
17172
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
17113
17173
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(0, _selectedIndex2))),
17114
17174
  imageOptions: { w: 320, h: 240, fit: 'max' }
17115
17175
  }, client.config())),
@@ -17120,14 +17180,14 @@ var Article = function Article(props) {
17120
17180
  React__default.createElement(AdSlot.DFPAdSlot, _extends$2._extends({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
17121
17181
  ),
17122
17182
  React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17123
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17183
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17124
17184
  blocks: [].concat(toConsumableArray._toConsumableArray(body.slice(_selectedIndex2))),
17125
17185
  imageOptions: { w: 320, h: 240, fit: 'max' }
17126
17186
  }, client.config()))
17127
17187
  );
17128
17188
  } else {
17129
17189
  return React__default.createElement(TaxonomyCard.BlockContent, _extends$2._extends({
17130
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17190
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17131
17191
  blocks: articleBody,
17132
17192
  imageOptions: { w: 320, h: 240, fit: 'max' }
17133
17193
  }, client.config()));
@@ -252,7 +252,7 @@ var GroupDeck = function GroupDeck(props) {
252
252
  React__default.createElement(
253
253
  'style',
254
254
  { jsx: 'true' },
255
- '\n #vid-slider * {\n box-sizing: border-box;\n -ms-overflow-style: none;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n padding: 0 1.5rem;\n margin-bottom: 2rem;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider,\n #vidHolder {\n max-width: 805px;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow-x: scroll;\n width: 100%;\n -ms-overflow-style: none;\n overflow-y: hidden !important;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 0.9rem;\n font-weight: bold;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 25px 0 55px !important;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n height: 135px;\n\n margin: 0 12px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n \n #vid-slider .tile:first-child {\n margin-left: 15px;\n }\n #vid-slider .tile__img {\n height: 135px;\n -o-object-fit: cover;\n object-fit: cover;\n object-position: center;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>")\n no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -24px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -0.5rem;\n padding: 1rem;\n }\n #vid-slider .tile__slider-next {\n right: -0.5rem;\n padding: 1rem;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding-right: 0 1.2rem;\n }\n\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n @media screen and (min-width: 1399px){\n .block-content #vid-slider .tile__img{\n height: 155px;\n }\n .block-content #vid-slider .tile{\n height: 195px;\n }\n }\n\n \n\n @media screen and (max-width: 1399px) {\n #vid-slider,\n #vidHolder {\n max-width: 620px;\n }\n }\n @media screen and (max-width: 1200px) {\n #vid-slider,\n #vidHolder {\n max-width: 580px;\n }\n }\n @media screen and (max-width: 967px) {\n #vid-slider {\n max-width: 100%;\n }\n\n #vid-slider .tile__img {\n height: 85px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 60px 0 50px!important;\n }\n }\n\n @media screen and (max-width: 768px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 180px;\n }\n\n #vid-slider .tile__img {\n height: 110px;\n object-fit: cover;\n }\n \n }\n @media screen and (max-width: 568px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 180px;\n }\n\n #vid-slider .tile__img {\n height: 180px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 30px 0 60px;\n }\n }\n '
255
+ '\n #vid-slider * {\n box-sizing: border-box;\n -ms-overflow-style: none;\n }\n #vid-slider::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar {\n display: none;\n }\n #vid-slider .row::-webkit-scrollbar-thumb {\n display: none;\n }\n #vid-slider {\n position: relative;\n -ms-overflow-style: none;\n padding: 0 1.5rem;\n margin-bottom: 2rem;\n }\n #vid-slider .now-playing {\n position: absolute;\n top: 0.5rem;\n left: 1rem;\n color: white;\n background: rgba(0, 0, 0, 0.75);\n }\n #vid-slider h1,\n #vid-slider p {\n text-align: center;\n width: 100%;\n max-width: 500px;\n margin: auto;\n }\n #vid-slider,\n #vidHolder {\n max-width: 805px;\n }\n #vid-slider a:link,\n #vid-slider a:hover,\n #vid-slider a:active,\n #vid-slider a:visited {\n transition: color 150ms;\n color: #95a5a6;\n text-decoration: none;\n }\n #vid-slider a:hover {\n color: #7f8c8d;\n text-decoration: underline;\n }\n #vid-slider .contain {\n width: 100%;\n }\n #vid-slider .row {\n overflow-x: scroll;\n width: 100%;\n -ms-overflow-style: none;\n overflow-y: hidden !important;\n }\n #vid-slider .tile__info {\n white-space: normal !important;\n position: absolute;\n text-align: center;\n color: ' + (props.dark ? 'white' : '#383838') + ';\n opacity: 1;\n font-size: 0.9rem;\n font-weight: bold;\n transition: opacity 0.25s;\n }\n #vid-slider .row__inner {\n transition: 450ms -webkit-transform;\n transition: 450ms transform;\n transition: 450ms transform, 450ms -webkit-transform;\n font-size: 0;\n white-space: nowrap;\n margin: 25px 0 55px !important;\n padding-bottom: 10px;\n padding-left: 0;\n }\n #vid-slider .tile {\n position: relative;\n display: inline-block;\n height: 135px;\n\n margin: 0 12px;\n font-size: 20px;\n cursor: pointer;\n transition: 450ms all;\n -webkit-transform-origin: center left;\n transform-origin: center left;\n }\n\n #vid-slider .tile:first-child {\n margin-left: 15px;\n }\n #vid-slider .tile__img {\n height: 135px;\n -o-object-fit: cover;\n object-fit: cover;\n object-position: center;\n }\n #vid-slider .tile__details {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n font-size: 10px;\n opacity: 0;\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n transition: 450ms opacity;\n }\n #vid-slider .tile__details:after,\n #vid-slider .tile__details:before {\n content: \'\';\n\n position: absolute;\n top: 50%;\n left: 50%;\n display: #000;\n }\n #vid-slider .tile__details:after {\n margin-top: -25px;\n margin-left: -25px;\n width: 50px;\n height: 50px;\n border: 3px solid #ecf0f1;\n line-height: 50px;\n text-align: center;\n border-radius: 100%;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1;\n }\n #vid-slider .tile__details:before {\n content: \'\';\n background: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 64 64\' width=\'64\' height=\'64\' fill=\'white\'><path d=\'M26 46 L46 32 L26 18 Z\'/></svg>")\n no-repeat center center;\n left: 0;\n width: 100%;\n height: 3rem;\n font-size: 30px;\n margin-right: 12px;\n margin-top: -24px;\n text-align: center;\n z-index: 2;\n color: white;\n }\n\n #vid-slider .tile__title {\n position: absolute;\n bottom: 0;\n padding: 10px;\n max-width: 250px;\n }\n #vid-slider .tile__title_text {\n position: relative;\n left: 0;\n white-space: normal;\n }\n\n #vid-slider .tile__slider-prev,\n #vid-slider .tile__slider-next {\n width: 30px;\n background: transparent;\n border: none;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n z-index: 99;\n cursor: pointer;\n color: ' + (props.dark ? 'white' : 'black') + ';\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 2rem;\n }\n #vid-slider .tile__slider-prev {\n left: -0.5rem;\n padding: 1rem;\n }\n #vid-slider .tile__slider-next {\n right: -0.5rem;\n padding: 1rem;\n }\n #vid-slider,\n #vid-slider .row {\n margin: 0;\n padding-right: 0 1.2rem;\n }\n\n #vid-slider .row::-webkit-scrollbar-thumb {\n background-color: transparent !important;\n }\n #vid-slider i {\n border: solid ' + (props.dark ? 'white' : 'black') + ';\n border-width: 0 4px 4px 0;\n display: inline-block;\n padding: 4px;\n pointer-events: none;\n }\n #vid-slider .right {\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n #vid-slider .left {\n transform: rotate(135deg);\n -webkit-transform: rotate(135deg);\n }\n @media screen and (min-width: 1399px) {\n .block-content #vid-slider .tile__img {\n height: 195px;\n }\n .block-content #vid-slider .tile {\n height: 195px;\n }\n }\n\n @media screen and (max-width: 1399px) {\n #vid-slider,\n #vidHolder {\n max-width: 620px;\n }\n }\n @media screen and (max-width: 1200px) {\n #vid-slider,\n #vidHolder {\n max-width: 580px;\n }\n }\n @media screen and (max-width: 967px) {\n #vid-slider {\n max-width: 100%;\n }\n\n #vid-slider .tile__img {\n height: 85px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 60px 0 50px !important;\n }\n }\n\n @media screen and (max-width: 768px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 130px;\n }\n\n #vid-slider .tile__img {\n height: 130px;\n object-fit: cover;\n }\n }\n @media screen and (max-width: 568px) {\n #vidHolder {\n position: unset;\n width: 100%;\n }\n #vid-slider .tile {\n height: 140px;\n }\n\n #vid-slider .tile__img {\n height: 160px;\n object-fit: cover;\n }\n #vid-slider .row__inner {\n margin: 30px 0 60px;\n }\n }\n @media screen and (max-width: 468px) {\n #vid-slider .tile {\n height: 130px;\n }\n #vid-slider .tile__img {\n height: 130px;\n }\n }\n @media screen and (max-width: 386px) {\n #vid-slider .tile {\n height: 100px;\n }\n #vid-slider .tile__img {\n height: 100px;\n }\n }\n '
256
256
  )
257
257
  );
258
258
  };
@@ -5,7 +5,7 @@ import './_iter-detect-7c281f0a.js';
5
5
  import { _ as _toConsumableArray } from './toConsumableArray-c5e2fde8.js';
6
6
  import './_object-pie-33c40e79.js';
7
7
  import { _ as _extends } from './extends-92072fff.js';
8
- import React__default, { useState, useRef, useEffect } from 'react';
8
+ import React__default, { useState, useEffect, useRef } from 'react';
9
9
  import 'prop-types';
10
10
  import Row from 'react-bootstrap/Row';
11
11
  import Col from 'react-bootstrap/Col';
@@ -59,8 +59,6 @@ var IssueDeck = function IssueDeck(props) {
59
59
  values = _useState8[0],
60
60
  setValues = _useState8[1];
61
61
 
62
- var deckRef = useRef(null);
63
-
64
62
  var prevValues = usePrevious(values);
65
63
 
66
64
  var urlFor = function urlFor(source) {
@@ -125,9 +123,17 @@ var IssueDeck = function IssueDeck(props) {
125
123
  }
126
124
  }, [values, prevValues, query, client, params, setIssuesData, setScrolling]);
127
125
 
126
+ useEffect(function () {
127
+ if (issuesData.length < count) {
128
+ var parentScroll = document.getElementsByClassName('infinite-scroll-component')[0];
129
+ parentScroll.style.overflow = 'hidden';
130
+ setScrolling(false);
131
+ }
132
+ }, [issuesData, setScrolling, count]);
133
+
128
134
  return React__default.createElement(
129
135
  InfiniteScroll,
130
- { ref: deckRef, dataLength: issuesData && issuesData.length, next: function next() {
136
+ { dataLength: issuesData && issuesData.length, next: function next() {
131
137
  return loadMore();
132
138
  }, hasMore: scrolling, scrollThreshold: 0.9 },
133
139
  React__default.createElement(
package/dist/esm/index.js CHANGED
@@ -5606,7 +5606,7 @@ var YouTubePlayer = function YouTubePlayer(_ref) {
5606
5606
  };
5607
5607
 
5608
5608
  var handleOnPlay = function handleOnPlay(event) {
5609
- // report play
5609
+ // report play
5610
5610
  var player = event.target;
5611
5611
  var current = player.getCurrentTime();
5612
5612
  var duration = player.getDuration();
@@ -5648,7 +5648,16 @@ var YouTubePlayer = function YouTubePlayer(_ref) {
5648
5648
  Beam.report_beam_video('Pause', main_16, duration, current, segment);
5649
5649
  };
5650
5650
 
5651
- return React__default.createElement(YouTube, { videoId: id, opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: handleOnEnd });
5651
+ return React__default.createElement(
5652
+ 'div',
5653
+ { id: 'fluid-video-container' },
5654
+ React__default.createElement(YouTube, { className: 'fluid-iframe', videoId: id, opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: handleOnEnd }),
5655
+ React__default.createElement(
5656
+ 'style',
5657
+ { jsx: 'true' },
5658
+ '\n #fluid-video-container {\n margin-bottom: 2rem;\n }\n #fluid-video-container > div {\n position: relative;\n padding-bottom: 56.25%; /* 16:9 */\n height: 0;\n }\n #fluid-video-container .fluid-iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n }\n '
5659
+ )
5660
+ );
5652
5661
  };
5653
5662
 
5654
5663
  var Sidebar = function Sidebar(_ref) {
@@ -12973,7 +12982,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
12973
12982
  if (series.classList.contains('active')) {
12974
12983
  series.style.bottom = '-100%';
12975
12984
  } else {
12976
- series.style.bottom = '6px';
12985
+ series.style.bottom = '2px';
12977
12986
  }
12978
12987
  series.classList.toggle('active');
12979
12988
  }
@@ -13087,10 +13096,18 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13087
13096
  { className: 'video-container', style: { marginBottom: '2rem' } },
13088
13097
  React__default.createElement(
13089
13098
  'div',
13090
- { className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
13091
- vidUrl && vidType == 'youtube' && React__default.createElement(YouTube, { videoId: getYoutubeId(vidUrl), opts: opts, onReady: handleOnReady, onPlay: handleOnPlay, onPause: handleOnPause, onEnd: function onEnd(e) {
13099
+ { id: 'fluid-video-container', className: 'video-block', style: { position: 'relative', overflow: 'hidden' } },
13100
+ vidUrl && vidType == 'youtube' && React__default.createElement(YouTube, {
13101
+ className: 'fluid-iframe',
13102
+ videoId: getYoutubeId(vidUrl),
13103
+ opts: opts,
13104
+ onReady: handleOnReady,
13105
+ onPlay: handleOnPlay,
13106
+ onPause: handleOnPause,
13107
+ onEnd: function onEnd(e) {
13092
13108
  return handleOnEnd(e);
13093
- } }),
13109
+ }
13110
+ }),
13094
13111
  vidUrl && vidType == 'mp4' && React__default.createElement(VideoMp4, { url: vidUrl, thumbnail: vidThumbnail, vidLoaded: vidLoaded }),
13095
13112
  vidUrl && vidType == 'brightcove' && React__default.createElement(Video, { node: { videoID: vidUrl, source: 'brightcove' }, accountIDs: accountIDs }),
13096
13113
  React__default.createElement(
@@ -13100,7 +13117,8 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13100
13117
  style: {
13101
13118
  position: 'absolute',
13102
13119
  width: '100%',
13103
- height: '250px',
13120
+ height: '270px',
13121
+ maxHeight: '100%',
13104
13122
  background: 'linear-gradient(to bottom, transparent,black)',
13105
13123
  bottom: '-100%',
13106
13124
  transition: 'all .5s ease',
@@ -13143,7 +13161,7 @@ var YouTubeGallery = function YouTubeGallery(_ref) {
13143
13161
  React__default.createElement(
13144
13162
  'style',
13145
13163
  { jsx: 'true' },
13146
- '\n .vid-series .video-detail iframe {\n height: 415px !important;\n }\n span.btn {\n margin: 0 1rem;\n }\n .brightcove .video-js {\n float: none;\n width: 100%;\n height: 385px;\n }\n @media screen and (max-width: 1399px) {\n .brightcove .video-js {\n height: 360px;\n }\n }\n @media screen and (max-width: 495px) {\n .brightcove .video-js {\n height: 255px;\n }\n }\n '
13164
+ '\n \n #fluid-video-container > div {\n position: relative;\n padding-bottom: 56.25%; /* 16:9 */\n height: 0;\n }\n #fluid-video-container .fluid-iframe {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n }\n\n span.btn {\n margin: 0 1rem;\n }\n .brightcove .video-js {\n float: none;\n width: 100%;\n height: 385px;\n }\n @media screen and (max-width: 1399px) {\n .brightcove .video-js {\n height: 360px;\n }\n }\n @media screen and (max-width: 495px) {\n .brightcove .video-js {\n height: 255px;\n }\n }\n '
13147
13165
  )
13148
13166
  );
13149
13167
  };
@@ -13593,6 +13611,25 @@ var MultiFigure = function MultiFigure(props) {
13593
13611
  return null;
13594
13612
  };
13595
13613
 
13614
+ var AnchorLinkElement = function AnchorLinkElement(props) {
13615
+ var articleId = props.articleId,
13616
+ _props$node = props.node,
13617
+ _props$node$id = _props$node.id,
13618
+ id = _props$node$id === undefined ? '' : _props$node$id,
13619
+ _props$node$content = _props$node.content,
13620
+ content = _props$node$content === undefined ? [] : _props$node$content,
13621
+ getSerializers = props.getSerializers;
13622
+
13623
+
13624
+ var elementId = articleId ? id + '-' + articleId : id;
13625
+
13626
+ return React__default.createElement(
13627
+ 'div',
13628
+ { id: elementId },
13629
+ React__default.createElement(BlockContent, { blocks: content, serializers: getSerializers })
13630
+ );
13631
+ };
13632
+
13596
13633
  var Figure = dynamic(function () {
13597
13634
  return import('./Figure-cc1affbe.js');
13598
13635
  }, { ssr: false });
@@ -13635,7 +13672,8 @@ var getSerializers = function getSerializers() {
13635
13672
  _props$ = props[7],
13636
13673
  autoplay = _props$ === undefined ? false : _props$,
13637
13674
  _props$2 = props[8],
13638
- contextualADFlag = _props$2 === undefined ? false : _props$2;
13675
+ contextualADFlag = _props$2 === undefined ? false : _props$2,
13676
+ articleId = props[9];
13639
13677
 
13640
13678
  return {
13641
13679
  types: {
@@ -13735,6 +13773,11 @@ var getSerializers = function getSerializers() {
13735
13773
  var node = _ref16.node;
13736
13774
 
13737
13775
  return React__default.createElement(NativeAd, { node: node });
13776
+ },
13777
+ html_anchor_links: function html_anchor_links(_ref17) {
13778
+ var node = _ref17.node;
13779
+
13780
+ return React__default.createElement(AnchorLinkElement, { node: node, getSerializers: getSerializers.apply(undefined, props), articleId: articleId });
13738
13781
  }
13739
13782
  },
13740
13783
  marks: {
@@ -13758,6 +13801,17 @@ var getSerializers = function getSerializers() {
13758
13801
  href = _props$mark.href,
13759
13802
  blank = _props$mark.blank;
13760
13803
 
13804
+
13805
+ if (href.charAt(0) === '#') {
13806
+ var elementId = href.slice(1);
13807
+ var scrollId = articleId ? '#' + elementId + '-' + articleId : '#' + elementId;
13808
+ return React__default.createElement(
13809
+ 'a',
13810
+ { href: scrollId },
13811
+ children
13812
+ );
13813
+ }
13814
+
13761
13815
  var isExernalUrl = checkUrlIsExternal(href);
13762
13816
  return React__default.createElement(
13763
13817
  'a',
@@ -13765,32 +13819,32 @@ var getSerializers = function getSerializers() {
13765
13819
  children
13766
13820
  );
13767
13821
  },
13768
- alignleft: function alignleft(_ref17) {
13769
- var children = _ref17.children;
13822
+ alignleft: function alignleft(_ref18) {
13823
+ var children = _ref18.children;
13770
13824
  return React__default.createElement(
13771
13825
  'div',
13772
13826
  { style: { textAlign: 'left' } },
13773
13827
  children
13774
13828
  );
13775
13829
  },
13776
- alignright: function alignright(_ref18) {
13777
- var children = _ref18.children;
13830
+ alignright: function alignright(_ref19) {
13831
+ var children = _ref19.children;
13778
13832
  return React__default.createElement(
13779
13833
  'div',
13780
13834
  { style: { textAlign: 'right' } },
13781
13835
  children
13782
13836
  );
13783
13837
  },
13784
- aligncenter: function aligncenter(_ref19) {
13785
- var children = _ref19.children;
13838
+ aligncenter: function aligncenter(_ref20) {
13839
+ var children = _ref20.children;
13786
13840
  return React__default.createElement(
13787
13841
  'div',
13788
13842
  { style: { textAlign: 'center' } },
13789
13843
  children
13790
13844
  );
13791
13845
  },
13792
- alignjustify: function alignjustify(_ref20) {
13793
- var children = _ref20.children;
13846
+ alignjustify: function alignjustify(_ref21) {
13847
+ var children = _ref21.children;
13794
13848
  return React__default.createElement(
13795
13849
  'div',
13796
13850
  { style: { textAlign: 'justify' } },
@@ -13876,11 +13930,6 @@ var Feature = function Feature(props) {
13876
13930
  return React__default.createElement(
13877
13931
  'div',
13878
13932
  null,
13879
- React__default.createElement(
13880
- 'style',
13881
- { jsx: true },
13882
- '\n .carousel-indicators {\n visibility: hidden;\n }\n\n .carousel-control-prev-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12-5.373-12-12-12-12 5.373-12 12zm7.58 0l5.988-5.995 1.414 1.416-4.574 4.579 4.574 4.59-1.414 1.416-5.988-6.006z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-control-next-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.218 19l-1.782-1.75 5.25-5.25-5.25-5.25 1.782-1.75 6.968 7-6.968 7z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-item img {\n padding-left: 0 !important;\n max-height: 500px !important;\n min-height: 500px !important;\n }\n .carousel-item::after {\n content: \'\';\n position: absolute;\n width: 100%;\n height: 10px;\n bottom: 0;\n left: 0;\n z-index: 999;\n background: rgba(255, 255, 255, 0.6);\n }\n .carousel-caption {\n padding-right: 0 !important;\n justify-content: left !important;\n display: flex;\n flex-direction: row-reverse;\n justify-content: center !important;\n align-items: center;\n bottom: 5px;\n width: 100%;\n padding-top: 0px;\n left: 0 !important;\n padding-bottom: 0px;\n }\n .carousel-caption a {\n width: 100%;\n margin-top: auto;\n padding: 8%;\n margin-bottom: 0px;\n background: rgba(255, 255, 255, 0.6);\n }\n .carousel-caption a p,\n .carousel-caption a h3 {\n color: #3e3f3a !important;\n text-align: left;\n word-break: break-word;\n }\n\n .carousel-control-prev,\n .carousel-control-next {\n z-index: 999;\n }\n .carousel-caption h3,\n .carousel-caption p {\n font-family: Roboto, -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n }\n .carousel-caption p {\n font-size: 1.2em;\n }\n .carousel-caption h3 {\n font-size: 1.6em;\n font-weight: 400;\n }\n .carousel-item {\n background: #eee !important;\n }\n\n .carousel-control-prev-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M0 12c0 6.627 5.373 12 12 12s12-5.373 12-12-5.373-12-12-12-12 5.373-12 12zm7.58 0l5.988-5.995 1.414 1.416-4.574 4.579 4.574 4.59-1.414 1.416-5.988-6.006z\'/%3E%3C/svg%3E") !important;\n }\n .carousel-control-next-icon {\n width: 25%;\n height: 100%;\n background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'%23000000\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm-1.218 19l-1.782-1.75 5.25-5.25-5.25-5.25 1.782-1.75 6.968 7-6.968 7z\'/%3E%3C/svg%3E") !important;\n }\n '
13883
- ),
13884
13933
  React__default.createElement(
13885
13934
  Carousel$1,
13886
13935
  { touch: true, controls: controls },
@@ -14803,7 +14852,8 @@ export default Publication
14803
14852
  var PublicationLanding = function PublicationLanding(props) {
14804
14853
  var publication = props.publication,
14805
14854
  year = props.year,
14806
- href = props.href;
14855
+ href = props.href,
14856
+ pdf = props.pdf;
14807
14857
 
14808
14858
 
14809
14859
  var router = useRouter();
@@ -14865,44 +14915,45 @@ var PublicationLanding = function PublicationLanding(props) {
14865
14915
  ),
14866
14916
  issueData && issueData.length > 0 ? issueData.map(function (issue, key) {
14867
14917
  return React__default.createElement(
14868
- 'a',
14869
- { key: key, href: publication.identifier.current + '/' + issue.identifier.current },
14918
+ Card,
14919
+ { key: key, className: 'issueCard' },
14870
14920
  React__default.createElement(
14871
- Card,
14872
- { className: 'issueCard' },
14921
+ Row,
14922
+ null,
14873
14923
  React__default.createElement(
14874
- Row,
14875
- null,
14876
- React__default.createElement(
14877
- Col,
14878
- { md: 3, id: 'issueThumbnail' },
14879
- React__default.createElement(Card.Img, { src: issue.thumbnail })
14880
- ),
14924
+ Col,
14925
+ { md: 3, id: 'issueThumbnail' },
14926
+ React__default.createElement(Card.Img, { src: issue.thumbnail })
14927
+ ),
14928
+ React__default.createElement(
14929
+ Col,
14930
+ { md: 9, id: 'issueDetail' },
14881
14931
  React__default.createElement(
14882
- Col,
14883
- { md: 9, id: 'issueDetail' },
14932
+ Card.Body,
14933
+ null,
14884
14934
  React__default.createElement(
14885
- Card.Body,
14935
+ Card.Title,
14886
14936
  null,
14887
- React__default.createElement(
14888
- Card.Title,
14889
- null,
14890
- issue.name
14891
- ),
14892
- React__default.createElement(
14893
- 'p',
14894
- null,
14895
- 'Volume: ',
14896
- issue.volume,
14897
- React__default.createElement('br', null),
14898
- 'Issue: ',
14899
- issue.number
14900
- ),
14901
- React__default.createElement(
14902
- Button,
14903
- null,
14904
- 'View Issue'
14905
- )
14937
+ issue.name
14938
+ ),
14939
+ React__default.createElement(
14940
+ 'p',
14941
+ null,
14942
+ 'Volume: ',
14943
+ issue.volume,
14944
+ React__default.createElement('br', null),
14945
+ 'Issue: ',
14946
+ issue.number
14947
+ ),
14948
+ React__default.createElement(
14949
+ 'a',
14950
+ { href: publication.identifier.current + '/' + issue.identifier.current, className: 'btn btn-primary', style: { marginTop: '20px', marginLeft: '1rem' } },
14951
+ 'View Issue'
14952
+ ),
14953
+ issue.pdf && issue.pdf.asset && issue.pdf.asset.url && React__default.createElement(
14954
+ 'a',
14955
+ { href: issue.pdf.asset.url, target: '_blank', className: 'btn btn-primary', style: { marginTop: '20px', marginLeft: '1rem' } },
14956
+ 'Download Issue'
14906
14957
  )
14907
14958
  )
14908
14959
  )
@@ -16855,6 +16906,7 @@ var Article = function Article(props) {
16855
16906
  drupalLeadSettings = props.drupalLeadSettings,
16856
16907
  currentPage = props.currentPage,
16857
16908
  _props$article = props.article,
16909
+ articleId = _props$article._id,
16858
16910
  title = _props$article.title,
16859
16911
  passwordLock = _props$article.passwordLock,
16860
16912
  authorDetails = _props$article.authorDetails,
@@ -17015,7 +17067,7 @@ var Article = function Article(props) {
17015
17067
  React__default.Fragment,
17016
17068
  null,
17017
17069
  React__default.createElement(BlockContent, _extends$2({
17018
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
17070
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
17019
17071
  blocks: [].concat(_toConsumableArray(body.slice(0, selectedIndex))),
17020
17072
  imageOptions: { w: 320, h: 240, fit: 'max' }
17021
17073
  }, client.config())),
@@ -17032,7 +17084,7 @@ var Article = function Article(props) {
17032
17084
  React__default.createElement(DFPAdSlot, _extends$2({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: checkIsVideoAdFound }))
17033
17085
  ),
17034
17086
  React__default.createElement(BlockContent, _extends$2({
17035
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17087
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17036
17088
  blocks: [].concat(_toConsumableArray(body.slice(selectedIndex))),
17037
17089
  imageOptions: { w: 320, h: 240, fit: 'max' }
17038
17090
  }, client.config()))
@@ -17040,12 +17092,14 @@ var Article = function Article(props) {
17040
17092
  } else if (indexes.length >= 2 && body.length > 3 && payload.contextualAD && !payload.contextualVideoAD) {
17041
17093
  payload = _extends$2({}, payload, {
17042
17094
  contextualAD: _extends$2({}, payload.contextualAD, {
17043
- slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id
17095
+ slotId: (payload.contextualAD.slotId || 'contextual_ad') + '-' + payload._id,
17096
+ className: 'ADFluid',
17097
+ sizes: ['fluid']
17044
17098
  })
17045
17099
  });
17046
17100
  var _selectedIndex = indexes[1] + 1;
17047
17101
 
17048
- var _checkIsAdFound = function _checkIsAdFound(isFound) {
17102
+ var _checkIsAdFound = function _checkIsAdFound(isFound, adData) {
17049
17103
  if (!isFound) {
17050
17104
  var parent = document.getElementById('contextual-native-ad-' + payload._id);
17051
17105
  parent.style.height = '0%';
@@ -17053,6 +17107,12 @@ var Article = function Article(props) {
17053
17107
  parent.style.display = 'none';
17054
17108
  setContextualADFlag(false);
17055
17109
  } else {
17110
+ var _parent = document.getElementById('contextual-native-ad-' + payload._id);
17111
+ if (adData && adData.event && adData.event.size && _parent) {
17112
+ _parent.style.width = adData.event.size[0] + 'px';
17113
+ _parent.style.height = adData.event.size[1] + 'px';
17114
+ _parent.style.margin = 'auto';
17115
+ }
17056
17116
  if (body[0]._type === 'figure' || body[1]._type === 'figure' || body[2]._type === 'figure' || body[3]._type === 'figure') {
17057
17117
  setContextualADFlag(true);
17058
17118
  }
@@ -17063,7 +17123,7 @@ var Article = function Article(props) {
17063
17123
  React__default.Fragment,
17064
17124
  null,
17065
17125
  React__default.createElement(BlockContent, _extends$2({
17066
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17126
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17067
17127
  blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex))),
17068
17128
  imageOptions: { w: 320, h: 240, fit: 'max' }
17069
17129
  }, client.config())),
@@ -17075,7 +17135,7 @@ var Article = function Article(props) {
17075
17135
  ),
17076
17136
  contextualADFlag && React__default.createElement('span', { className: 'clearfix' }),
17077
17137
  React__default.createElement(BlockContent, _extends$2({
17078
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17138
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17079
17139
  blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex))),
17080
17140
  imageOptions: { w: 320, h: 240, fit: 'max' }
17081
17141
  }, client.config()))
@@ -17106,7 +17166,7 @@ var Article = function Article(props) {
17106
17166
  React__default.Fragment,
17107
17167
  null,
17108
17168
  React__default.createElement(BlockContent, _extends$2({
17109
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag),
17169
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, contextualADFlag, articleId),
17110
17170
  blocks: [].concat(_toConsumableArray(body.slice(0, _selectedIndex2))),
17111
17171
  imageOptions: { w: 320, h: 240, fit: 'max' }
17112
17172
  }, client.config())),
@@ -17117,14 +17177,14 @@ var Article = function Article(props) {
17117
17177
  React__default.createElement(DFPAdSlot, _extends$2({}, payload.contextualVideoAD, { refreshFlag: false, checkIsAdFound: _checkIsAdFound2 }))
17118
17178
  ),
17119
17179
  React__default.createElement(BlockContent, _extends$2({
17120
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17180
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17121
17181
  blocks: [].concat(_toConsumableArray(body.slice(_selectedIndex2))),
17122
17182
  imageOptions: { w: 320, h: 240, fit: 'max' }
17123
17183
  }, client.config()))
17124
17184
  );
17125
17185
  } else {
17126
17186
  return React__default.createElement(BlockContent, _extends$2({
17127
- serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false),
17187
+ serializers: getSerializers(client, pageview, videoAccountIDs, function () {}, true, drupalLeadSettings, currentPage, false, undefined, articleId),
17128
17188
  blocks: articleBody,
17129
17189
  imageOptions: { w: 320, h: 240, fit: 'max' }
17130
17190
  }, client.config()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.411",
3
+ "version": "1.0.414",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",