@mjhls/mjh-framework 1.0.850-slideshow → 1.0.851

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,4 +1,4 @@
1
- # mjh-framework v. 1.0.850
1
+ # mjh-framework v. 1.0.851
2
2
 
3
3
  [![NPM](https://img.shields.io/npm/v/mjh-framework.svg)](https://www.npmjs.com/package/mjh-framework) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
4
4
 
@@ -5,7 +5,7 @@ var slicedToArray = require('./slicedToArray-5d1bc3b3.js');
5
5
  var _extends = require('./extends-29bdbc6d.js');
6
6
  var React = require('react');
7
7
  var BlockContent = require('./BlockContent-36e54d77.js');
8
- var getSerializers = require('./index-991f0c65.js');
8
+ var getSerializers = require('./index-1b7af74f.js');
9
9
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
10
10
  require('./_commonjsHelpers-06173234.js');
11
11
  require('./es6.string.iterator-c2573ffd.js');
@@ -56,6 +56,9 @@ require('./define-property-c88be878.js');
56
56
  require('./index.esm-974f47d9.js');
57
57
  require('./iconBase-68959171.js');
58
58
  require('react-bootstrap/Figure');
59
+ require('react-bootstrap/OverlayTrigger');
60
+ require('react-bootstrap/Tooltip');
61
+ require('react-bootstrap/Popover');
59
62
  require('react-bootstrap/Container');
60
63
  require('./visibility-sensor-eb2c5b69.js');
61
64
  require('./YoutubeGroup.js');
@@ -4,7 +4,7 @@ var _extends = require('./extends-29bdbc6d.js');
4
4
  var slicedToArray = require('./slicedToArray-5d1bc3b3.js');
5
5
  var React = require('react');
6
6
  var BlockContent = require('./BlockContent-36e54d77.js');
7
- var getSerializers = require('./index-991f0c65.js');
7
+ var getSerializers = require('./index-1b7af74f.js');
8
8
  var index = require('./index-f86bb269.js');
9
9
  var Router = require('next/router');
10
10
  var Button = require('react-bootstrap/Button');
@@ -56,6 +56,9 @@ require('./define-property-c88be878.js');
56
56
  require('./index.esm-974f47d9.js');
57
57
  require('./iconBase-68959171.js');
58
58
  require('react-bootstrap/Figure');
59
+ require('react-bootstrap/OverlayTrigger');
60
+ require('react-bootstrap/Tooltip');
61
+ require('react-bootstrap/Popover');
59
62
 
60
63
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
61
64
 
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var ArticleCarousel = require('./ArticleCarousel.js');
6
6
  var index_esm = require('./index.esm-974f47d9.js');
7
7
  var BlockContent = require('./BlockContent-36e54d77.js');
8
- var getSerializers = require('./index-991f0c65.js');
8
+ var getSerializers = require('./index-1b7af74f.js');
9
9
  require('./_commonjsHelpers-06173234.js');
10
10
  require('./_to-object-6de10e57.js');
11
11
  require('./_object-pie-083f2dd6.js');
@@ -57,6 +57,9 @@ require('./inherits-c2065b95.js');
57
57
  require('./_object-sap-a175b4a9.js');
58
58
  require('./define-property-c88be878.js');
59
59
  require('react-bootstrap/Figure');
60
+ require('react-bootstrap/OverlayTrigger');
61
+ require('react-bootstrap/Tooltip');
62
+ require('react-bootstrap/Popover');
60
63
 
61
64
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
62
65
 
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
6
6
  var Breadcrumbs = require('./Breadcrumbs.js');
7
7
  var BlockContent = require('./BlockContent-36e54d77.js');
8
- var getSerializers = require('./index-991f0c65.js');
8
+ var getSerializers = require('./index-1b7af74f.js');
9
9
  require('./_commonjsHelpers-06173234.js');
10
10
  require('./_to-object-6de10e57.js');
11
11
  require('./_object-pie-083f2dd6.js');
@@ -67,6 +67,9 @@ require('./define-property-c88be878.js');
67
67
  require('./index.esm-974f47d9.js');
68
68
  require('./iconBase-68959171.js');
69
69
  require('react-bootstrap/Figure');
70
+ require('react-bootstrap/OverlayTrigger');
71
+ require('react-bootstrap/Tooltip');
72
+ require('react-bootstrap/Popover');
70
73
 
71
74
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
72
75
 
@@ -17,7 +17,7 @@ var urlFor = require('./urlFor.js');
17
17
  var moment = require('./moment-aca40de1.js');
18
18
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
19
19
  var BlockContent = require('./BlockContent-36e54d77.js');
20
- var getSerializers = require('./index-991f0c65.js');
20
+ var getSerializers = require('./index-1b7af74f.js');
21
21
  require('./define-property-c88be878.js');
22
22
  require('./_to-object-6de10e57.js');
23
23
  require('./es6.string.iterator-c2573ffd.js');
@@ -67,6 +67,9 @@ require('./entities-3f9d0f2f.js');
67
67
  require('./index.esm-974f47d9.js');
68
68
  require('./iconBase-68959171.js');
69
69
  require('react-bootstrap/Figure');
70
+ require('react-bootstrap/OverlayTrigger');
71
+ require('react-bootstrap/Tooltip');
72
+ require('react-bootstrap/Popover');
70
73
 
71
74
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
72
75
 
@@ -11,7 +11,7 @@ var moment = require('./moment-aca40de1.js');
11
11
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
12
12
  var Breadcrumbs = require('./Breadcrumbs.js');
13
13
  var Feature = require('./Feature.js');
14
- var getSerializers = require('./index-991f0c65.js');
14
+ var getSerializers = require('./index-1b7af74f.js');
15
15
  var BlockContent = require('./BlockContent-36e54d77.js');
16
16
  require('./_commonjsHelpers-06173234.js');
17
17
  require('./es6.string.iterator-c2573ffd.js');
@@ -70,6 +70,9 @@ require('./define-property-c88be878.js');
70
70
  require('./index.esm-974f47d9.js');
71
71
  require('./iconBase-68959171.js');
72
72
  require('react-bootstrap/Figure');
73
+ require('react-bootstrap/OverlayTrigger');
74
+ require('react-bootstrap/Tooltip');
75
+ require('react-bootstrap/Popover');
73
76
 
74
77
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
75
78
 
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var Router = require('next/router');
7
7
  var Head = require('next/head');
8
8
  var BlockContent = require('./BlockContent-36e54d77.js');
9
- var getSerializers = require('./index-991f0c65.js');
9
+ var getSerializers = require('./index-1b7af74f.js');
10
10
  require('./_commonjsHelpers-06173234.js');
11
11
  require('./es6.string.iterator-c2573ffd.js');
12
12
  require('./_to-object-6de10e57.js');
@@ -55,6 +55,9 @@ require('./define-property-c88be878.js');
55
55
  require('./index.esm-974f47d9.js');
56
56
  require('./iconBase-68959171.js');
57
57
  require('react-bootstrap/Figure');
58
+ require('react-bootstrap/OverlayTrigger');
59
+ require('react-bootstrap/Tooltip');
60
+ require('react-bootstrap/Popover');
58
61
 
59
62
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
60
63
 
@@ -7,7 +7,7 @@ var BlockContent = require('./BlockContent-36e54d77.js');
7
7
  var Col = require('react-bootstrap/Col');
8
8
  var Form = require('react-bootstrap/Form');
9
9
  var Button = require('react-bootstrap/Button');
10
- var getSerializers = require('./index-991f0c65.js');
10
+ var getSerializers = require('./index-1b7af74f.js');
11
11
  var VideoSeriesListing = require('./VideoSeriesListing.js');
12
12
  require('./_commonjsHelpers-06173234.js');
13
13
  require('./es6.string.iterator-c2573ffd.js');
@@ -57,6 +57,9 @@ require('./define-property-c88be878.js');
57
57
  require('./index.esm-974f47d9.js');
58
58
  require('./iconBase-68959171.js');
59
59
  require('react-bootstrap/Figure');
60
+ require('react-bootstrap/OverlayTrigger');
61
+ require('react-bootstrap/Tooltip');
62
+ require('react-bootstrap/Popover');
60
63
  require('react-bootstrap/Container');
61
64
  require('./visibility-sensor-eb2c5b69.js');
62
65
  require('./YoutubeGroup.js');
package/dist/cjs/View.js CHANGED
@@ -17,7 +17,7 @@ var FormControl = require('react-bootstrap/FormControl');
17
17
  var Button = require('react-bootstrap/Button');
18
18
  var visibilitySensor = require('./visibility-sensor-eb2c5b69.js');
19
19
  var SocialShare = require('./SocialShare.js');
20
- var getSerializers = require('./index-991f0c65.js');
20
+ var getSerializers = require('./index-1b7af74f.js');
21
21
  var AdSlot = require('./AdSlot.js');
22
22
  var SeriesSlider = require('./SeriesSlider-cbab9f0f.js');
23
23
  var getTargeting = require('./getTargeting-faf37284.js');
@@ -66,6 +66,9 @@ require('./define-property-c88be878.js');
66
66
  require('./index.esm-974f47d9.js');
67
67
  require('./iconBase-68959171.js');
68
68
  require('react-bootstrap/Figure');
69
+ require('react-bootstrap/OverlayTrigger');
70
+ require('react-bootstrap/Tooltip');
71
+ require('react-bootstrap/Popover');
69
72
  require('./debounce-d4a2369b.js');
70
73
  require('./isSymbol-03abbdf0.js');
71
74
  require('./toNumber-5e1fac58.js');
@@ -1721,31 +1724,39 @@ var View = function View(props) {
1721
1724
  }
1722
1725
  }, []);
1723
1726
 
1724
- var isVideoSeries = false;
1725
- //check for certain serializers that need to disable infinite scroll
1726
- var checkBodyForDisableInfiniteScroll = function checkBodyForDisableInfiniteScroll(article) {
1727
+ // disable infinite scroll
1728
+ var checkVideoSeries = function checkVideoSeries(article) {
1727
1729
  if (!article || !article.body) {
1728
1730
  return false;
1729
1731
  }
1730
1732
  for (var i = 0; i < article.body.length; i++) {
1731
- if (article.body[i]._type === 'articleSeries' || article.body[i]._type === 'slideshows') {
1732
- return true;
1733
- }
1734
1733
  var row = article.body[i];
1735
1734
  if (typeof row.videos !== 'undefined') {
1736
- isVideoSeries = true;
1737
1735
  return true;
1738
1736
  }
1739
1737
  }
1740
1738
  return false;
1741
1739
  };
1742
1740
 
1743
- var disableInfiniteScroll = checkBodyForDisableInfiniteScroll(props.article);
1741
+ var checkArticleSeries = function checkArticleSeries(article) {
1742
+ if (!article || !article.body) {
1743
+ return false;
1744
+ }
1745
+ for (var i = 0; i < article.body.length; i++) {
1746
+ if (article.body[i]._type === 'articleSeries') {
1747
+ return true;
1748
+ }
1749
+ }
1750
+ return false;
1751
+ };
1752
+
1753
+ var isVideoSeries = checkVideoSeries(props.article);
1754
+ var isArticleSeries = checkArticleSeries(props.article);
1744
1755
  var commentsEnabledInTaxonomy = Array.isArray(content_placement) && content_placement.some(function (t) {
1745
1756
  return t.showComments === true;
1746
1757
  });
1747
1758
  var showDisqus = commentsEnabledInTaxonomy || hideComments === false;
1748
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !disableInfiniteScroll && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && (!article.documentGroup || !article.documentGroup.isSeries) && !showDisqus;
1759
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !isArticleSeries && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && (!article.documentGroup || !article.documentGroup.isSeries) && !showDisqus;
1749
1760
 
1750
1761
  if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
1751
1762
  title = null;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('react');
4
- var getSerializers = require('./index-991f0c65.js');
4
+ var getSerializers = require('./index-1b7af74f.js');
5
5
  require('./BlockContent-36e54d77.js');
6
6
  require('./entities-3f9d0f2f.js');
7
7
  require('./slicedToArray-5d1bc3b3.js');
@@ -55,6 +55,9 @@ require('./define-property-c88be878.js');
55
55
  require('./index.esm-974f47d9.js');
56
56
  require('./iconBase-68959171.js');
57
57
  require('react-bootstrap/Figure');
58
+ require('react-bootstrap/OverlayTrigger');
59
+ require('react-bootstrap/Tooltip');
60
+ require('react-bootstrap/Popover');
58
61
 
59
62
 
60
63
 
@@ -34,6 +34,9 @@ var Head = require('next/head');
34
34
  var inherits = require('./inherits-c2065b95.js');
35
35
  var index_esm = require('./index.esm-974f47d9.js');
36
36
  var Figure$1 = require('react-bootstrap/Figure');
37
+ var OverlayTrigger = require('react-bootstrap/OverlayTrigger');
38
+ var Tooltip = require('react-bootstrap/Tooltip');
39
+ var Popover = require('react-bootstrap/Popover');
37
40
 
38
41
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
39
42
 
@@ -46,6 +49,9 @@ var Row__default = /*#__PURE__*/_interopDefaultLegacy(Row);
46
49
  var Col__default = /*#__PURE__*/_interopDefaultLegacy(Col);
47
50
  var Head__default = /*#__PURE__*/_interopDefaultLegacy(Head);
48
51
  var Figure__default = /*#__PURE__*/_interopDefaultLegacy(Figure$1);
52
+ var OverlayTrigger__default = /*#__PURE__*/_interopDefaultLegacy(OverlayTrigger);
53
+ var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
54
+ var Popover__default = /*#__PURE__*/_interopDefaultLegacy(Popover);
49
55
 
50
56
  var onChangeSlide = function onChangeSlide(selectedIndex, router) {
51
57
  var pageNumber = selectedIndex + 1;
@@ -8175,7 +8181,7 @@ var Slideshow = function Slideshow(_ref) {
8175
8181
  { href: slide.slideshowImage.link && slide.slideshowImage.link, target: slide.slideshowImage.blank ? '_blank' : '_self' },
8176
8182
  React__default['default'].createElement(
8177
8183
  'div',
8178
- { style: { textAlign: 'center' }, className: '' },
8184
+ { className: 'embed-responsive embed-responsive-slide' },
8179
8185
  React__default['default'].createElement(
8180
8186
  index$2.LazyLoad,
8181
8187
  null,
@@ -8185,8 +8191,13 @@ var Slideshow = function Slideshow(_ref) {
8185
8191
  React__default['default'].createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8186
8192
  React__default['default'].createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8187
8193
  React__default['default'].createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 500, imageFit: 'max' }) }),
8188
- React__default['default'].createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', className: 'embed-item-img' })
8194
+ React__default['default'].createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', className: 'embed-responsive-item' })
8189
8195
  )
8196
+ ),
8197
+ React__default['default'].createElement(
8198
+ 'style',
8199
+ { jsx: 'true' },
8200
+ '\n .embed-responsive-slide::before {\n padding-top: ' + slide.slideshowImage.height / slide.slideshowImage.width * 100 + '%;\n }\n '
8190
8201
  )
8191
8202
  )
8192
8203
  ),
@@ -8208,7 +8219,7 @@ var Slideshow = function Slideshow(_ref) {
8208
8219
  React__default['default'].createElement(
8209
8220
  'style',
8210
8221
  { jsx: 'true' },
8211
- '\n .embed-item-img {\n max-width: 100%;\n max-height: 750px;\n }\n .carousel-indicators {\n bottom: -2.5rem !important;\n }\n .carousel-indicators li {\n width: 20px;\n height: 20px;\n border-radius: 50% !important;\n background-color: var(--secondary);\n }\n .carousel-control-prev {\n justify-content: flex-start;\n }\n .carousel-control-next {\n justify-content: flex-end;\n }\n '
8222
+ '\n .carousel-indicators {\n bottom: -2.5rem !important;\n }\n .carousel-indicators li {\n width: 20px;\n height: 20px;\n border-radius: 50% !important;\n background-color: var(--secondary);\n }\n .carousel-control-prev {\n justify-content: flex-start;\n }\n .carousel-control-next {\n justify-content: flex-end;\n }\n '
8212
8223
  )
8213
8224
  );
8214
8225
  };
@@ -9012,6 +9023,74 @@ var FigureComponent = function FigureComponent(props) {
9012
9023
  var _node$widthP = node.widthP,
9013
9024
  widthP = _node$widthP === undefined ? 'auto' : _node$widthP;
9014
9025
 
9026
+ var infoBox = node.infoBox ? node.infoBox : [];
9027
+
9028
+ var renderTooltip = function renderTooltip(props) {
9029
+ if (infoBox[0].title) {
9030
+ return React__default['default'].createElement(
9031
+ Popover__default['default'],
9032
+ { id: 'popover-basic-' + infoBox[0].title },
9033
+ React__default['default'].createElement(
9034
+ Popover__default['default'].Title,
9035
+ { as: 'h3' },
9036
+ infoBox[0].title
9037
+ ),
9038
+ React__default['default'].createElement(
9039
+ Popover__default['default'].Content,
9040
+ null,
9041
+ React__default['default'].createElement(BlockContent.BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9042
+ )
9043
+ );
9044
+ } else {
9045
+ return React__default['default'].createElement(
9046
+ Tooltip__default['default'],
9047
+ _extends._extends({ id: 'button-tooltip' }, props),
9048
+ React__default['default'].createElement(BlockContent.BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9049
+ );
9050
+ }
9051
+ };
9052
+
9053
+ var FigureImageWOverLay = React__default['default'].memo(function (_ref3) {
9054
+ var node = _ref3.node,
9055
+ client = _ref3.client,
9056
+ imgAlt = _ref3.imgAlt,
9057
+ link = _ref3.link,
9058
+ handleClickFigure = _ref3.handleClickFigure;
9059
+
9060
+ var figureImageStyle = link ? { maxWidth: '100%' } : { maxWidth: '100%', cursor: 'pointer', width: 'auto' };
9061
+ var triggerAction = main.main_42 ? 'click' : 'hover';
9062
+ var placementLocation = main.main_42 ? 'top' : infoBox[0].alignment ? infoBox[0].alignment : 'right';
9063
+ return React__default['default'].createElement(
9064
+ 'picture',
9065
+ null,
9066
+ React__default['default'].createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: node, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9067
+ React__default['default'].createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: node, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9068
+ React__default['default'].createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: node, client: client, imageWidth: 500, imageFit: 'max' }) }),
9069
+ main.main_42 && link ? React__default['default'].createElement('img', _extends._extends({
9070
+ style: figureImageStyle,
9071
+ className: 'figure-image',
9072
+ src: urlFor({ source: node, client: client }),
9073
+ alt: imgAlt ? imgAlt : 'figure image'
9074
+ }, !link && !main.main_42 && {
9075
+ onClick: function onClick() {
9076
+ return handleClickFigure(node, client);
9077
+ }
9078
+ })) : React__default['default'].createElement(
9079
+ OverlayTrigger__default['default'],
9080
+ { trigger: triggerAction, placement: placementLocation, delay: { show: 250, hide: 400 }, overlay: renderTooltip() },
9081
+ React__default['default'].createElement('img', _extends._extends({
9082
+ style: figureImageStyle,
9083
+ className: 'figure-image',
9084
+ src: urlFor({ source: node, client: client }),
9085
+ alt: imgAlt ? imgAlt : 'figure image'
9086
+ }, !link && !main.main_42 && {
9087
+ onClick: function onClick() {
9088
+ return handleClickFigure(node, client);
9089
+ }
9090
+ }))
9091
+ )
9092
+ );
9093
+ });
9015
9094
 
9016
9095
  var screenWidth = window.innerWidth;
9017
9096
 
@@ -9079,7 +9158,29 @@ var FigureComponent = function FigureComponent(props) {
9079
9158
  return React__default['default'].createElement(
9080
9159
  React__default['default'].Fragment,
9081
9160
  null,
9082
- React__default['default'].createElement(
9161
+ infoBox.length >= 1 ? React__default['default'].createElement(
9162
+ Figure__default['default'],
9163
+ { className: '' + class_name, style: figureStyle },
9164
+ link ? React__default['default'].createElement(
9165
+ 'a',
9166
+ { target: blank ? '_blank' : '_self', href: link },
9167
+ React__default['default'].createElement(FigureImageWOverLay, { node: node, client: client, imgAlt: alt, link: link }),
9168
+ React__default['default'].createElement(FigureCaption, null)
9169
+ ) : React__default['default'].createElement(
9170
+ React__default['default'].Fragment,
9171
+ null,
9172
+ React__default['default'].createElement(FigureImageWOverLay, { node: node, client: client, imgAlt: alt, handleClickFigure: handleClickFigure }),
9173
+ React__default['default'].createElement(FigureCaption, null)
9174
+ ),
9175
+ React__default['default'].createElement(LightBox, {
9176
+ showLightbox: showLightbox,
9177
+ lightboxImgSrc: lightboxImgSrc,
9178
+ closeLightbox: function closeLightbox() {
9179
+ setLightboxImgSrc('');
9180
+ setShowLightbox(false);
9181
+ }
9182
+ })
9183
+ ) : React__default['default'].createElement(
9083
9184
  Figure__default['default'],
9084
9185
  { className: '' + class_name, style: figureStyle },
9085
9186
  link ? React__default['default'].createElement(
@@ -9193,6 +9294,73 @@ var MultiFigure = function MultiFigure(props) {
9193
9294
  setOpenImg(true);
9194
9295
  }, [client]);
9195
9296
 
9297
+ var FigureImageWOverLay = React__default['default'].memo(function (_ref3) {
9298
+ var imagesCount = _ref3.imagesCount,
9299
+ image = _ref3.image,
9300
+ client = _ref3.client,
9301
+ imgAlt = _ref3.imgAlt,
9302
+ link = _ref3.link,
9303
+ handleClickFigure = _ref3.handleClickFigure;
9304
+
9305
+ var triggerAction = main.main_42 ? 'click' : 'hover';
9306
+ var placementLocation = main.main_42 ? 'top' : image.infoBox[0] ? image.infoBox[0].alignment : 'right';
9307
+ return React__default['default'].createElement(
9308
+ 'picture',
9309
+ null,
9310
+ React__default['default'].createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9311
+ React__default['default'].createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9312
+ React__default['default'].createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 500, imageFit: 'max' }) }),
9313
+ main.main_42 && link ? React__default['default'].createElement('img', _extends._extends({
9314
+ 'images-count': imagesCount,
9315
+ className: 'multi-figure-image',
9316
+ src: urlFor({ source: image, client: client }),
9317
+ alt: imgAlt ? imgAlt : 'multi figure'
9318
+ }, !link && !main.main_42 && {
9319
+ onClick: function onClick() {
9320
+ return handleClickFigure(image, client);
9321
+ }
9322
+ })) : React__default['default'].createElement(
9323
+ OverlayTrigger__default['default'],
9324
+ { trigger: triggerAction, placement: placementLocation, delay: { show: 250, hide: 400 }, overlay: renderTooltip(image) },
9325
+ React__default['default'].createElement('img', _extends._extends({
9326
+ 'images-count': imagesCount,
9327
+ className: 'multi-figure-image',
9328
+ src: urlFor({ source: image, client: client }),
9329
+ alt: imgAlt ? imgAlt : 'multi figure'
9330
+ }, !link && !main.main_42 && {
9331
+ onClick: function onClick() {
9332
+ return handleClickFigure(image, client);
9333
+ }
9334
+ }))
9335
+ )
9336
+ );
9337
+ });
9338
+
9339
+ var renderTooltip = function renderTooltip(image) {
9340
+ if (image.infoBox[0].title) {
9341
+ return React__default['default'].createElement(
9342
+ Popover__default['default'],
9343
+ { id: 'popover-basic-' + image.infoBox[0].title },
9344
+ React__default['default'].createElement(
9345
+ Popover__default['default'].Title,
9346
+ { as: 'h3' },
9347
+ image.infoBox[0].title
9348
+ ),
9349
+ React__default['default'].createElement(
9350
+ Popover__default['default'].Content,
9351
+ null,
9352
+ React__default['default'].createElement(BlockContent.BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9353
+ )
9354
+ );
9355
+ } else {
9356
+ return React__default['default'].createElement(
9357
+ Tooltip__default['default'],
9358
+ _extends._extends({ id: 'button-tooltip' }, props),
9359
+ React__default['default'].createElement(BlockContent.BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9360
+ );
9361
+ }
9362
+ };
9363
+
9196
9364
  if (images && images.length > 0) {
9197
9365
  return React__default['default'].createElement(
9198
9366
  'div',
@@ -9201,33 +9369,63 @@ var MultiFigure = function MultiFigure(props) {
9201
9369
  Row__default['default'],
9202
9370
  { noGutters: true, style: { alignItems: 'center' } },
9203
9371
  images.map(function (image, index) {
9204
- return React__default['default'].createElement(
9205
- Col__default['default'],
9206
- { xs: 12, md: 12 / images.length, key: index },
9207
- image.link ? React__default['default'].createElement(
9208
- 'a',
9209
- _extends._extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9210
- React__default['default'].createElement(
9372
+ if (image.infoBox) {
9373
+ return React__default['default'].createElement(
9374
+ Col__default['default'],
9375
+ { xs: 12, md: 12 / images.length, key: index },
9376
+ image.link ? React__default['default'].createElement(
9377
+ 'a',
9378
+ _extends._extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9379
+ React__default['default'].createElement(
9380
+ 'div',
9381
+ { className: 'multi-figure-image-container' },
9382
+ React__default['default'].createElement(
9383
+ index$2.LazyLoad,
9384
+ { once: true },
9385
+ React__default['default'].createElement(FigureImageWOverLay, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9386
+ ),
9387
+ React__default['default'].createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9388
+ )
9389
+ ) : React__default['default'].createElement(
9211
9390
  'div',
9212
9391
  { className: 'multi-figure-image-container' },
9213
9392
  React__default['default'].createElement(
9214
9393
  index$2.LazyLoad,
9215
9394
  { once: true },
9216
- React__default['default'].createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9395
+ React__default['default'].createElement(FigureImageWOverLay, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9217
9396
  ),
9218
9397
  React__default['default'].createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9219
9398
  )
9220
- ) : React__default['default'].createElement(
9221
- 'div',
9222
- { className: 'multi-figure-image-container' },
9223
- React__default['default'].createElement(
9224
- index$2.LazyLoad,
9225
- { once: true },
9226
- React__default['default'].createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9227
- ),
9228
- React__default['default'].createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9229
- )
9230
- );
9399
+ );
9400
+ } else {
9401
+ return React__default['default'].createElement(
9402
+ Col__default['default'],
9403
+ { xs: 12, md: 12 / images.length, key: index },
9404
+ image.link ? React__default['default'].createElement(
9405
+ 'a',
9406
+ _extends._extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9407
+ React__default['default'].createElement(
9408
+ 'div',
9409
+ { className: 'multi-figure-image-container' },
9410
+ React__default['default'].createElement(
9411
+ index$2.LazyLoad,
9412
+ { once: true },
9413
+ React__default['default'].createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9414
+ ),
9415
+ React__default['default'].createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9416
+ )
9417
+ ) : React__default['default'].createElement(
9418
+ 'div',
9419
+ { className: 'multi-figure-image-container' },
9420
+ React__default['default'].createElement(
9421
+ index$2.LazyLoad,
9422
+ { once: true },
9423
+ React__default['default'].createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9424
+ ),
9425
+ React__default['default'].createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9426
+ )
9427
+ );
9428
+ }
9231
9429
  })
9232
9430
  ),
9233
9431
  React__default['default'].createElement(
package/dist/cjs/index.js CHANGED
@@ -82,7 +82,7 @@ var VerticalHero = require('./VerticalHero.js');
82
82
  var YahooHero = require('./YahooHero.js');
83
83
  var GridHero = require('./GridHero.js');
84
84
  var ConferenceArticleCard = require('./ConferenceArticleCard.js');
85
- var getSerializers = require('./index-991f0c65.js');
85
+ var getSerializers = require('./index-1b7af74f.js');
86
86
  var Beam = require('./Beam.js');
87
87
  var Segment = require('./Segment.js');
88
88
  var KMTracker = require('./KMTracker.js');
@@ -183,6 +183,9 @@ require('react-bootstrap/Modal');
183
183
  require('./util-6f784d85.js');
184
184
  require('react-bootstrap/Pagination');
185
185
  require('react-bootstrap/Figure');
186
+ require('react-bootstrap/OverlayTrigger');
187
+ require('react-bootstrap/Tooltip');
188
+ require('react-bootstrap/Popover');
186
189
  require('./index-bd6c9f56.js');
187
190
  require('swr');
188
191
  require('passport-local');
@@ -3,7 +3,7 @@ import { _ as _slicedToArray } from './slicedToArray-be2f7a22.js';
3
3
  import { _ as _extends } from './extends-60e0e1c6.js';
4
4
  import React from 'react';
5
5
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
6
- import { g as getSerializers } from './index-2dcd3f28.js';
6
+ import { g as getSerializers } from './index-37df0726.js';
7
7
  import ArticleSeriesListing from './ArticleSeriesListing.js';
8
8
  import './_commonjsHelpers-0c4b6f40.js';
9
9
  import './es6.string.iterator-bc33758b.js';
@@ -54,6 +54,9 @@ import './define-property-fe54dc9f.js';
54
54
  import './index.esm-3fdda599.js';
55
55
  import './iconBase-602d52fe.js';
56
56
  import 'react-bootstrap/Figure';
57
+ import 'react-bootstrap/OverlayTrigger';
58
+ import 'react-bootstrap/Tooltip';
59
+ import 'react-bootstrap/Popover';
57
60
  import 'react-bootstrap/Container';
58
61
  import './visibility-sensor-f40c2564.js';
59
62
  import './YoutubeGroup.js';
@@ -2,7 +2,7 @@ import { _ as _extends } from './extends-60e0e1c6.js';
2
2
  import { _ as _slicedToArray } from './slicedToArray-be2f7a22.js';
3
3
  import React, { useState, useEffect } from 'react';
4
4
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
5
- import { g as getSerializers } from './index-2dcd3f28.js';
5
+ import { g as getSerializers } from './index-37df0726.js';
6
6
  import { m as momentTimezone } from './index-79cfd25c.js';
7
7
  import { useRouter } from 'next/router';
8
8
  import Button from 'react-bootstrap/Button';
@@ -54,6 +54,9 @@ import './define-property-fe54dc9f.js';
54
54
  import './index.esm-3fdda599.js';
55
55
  import './iconBase-602d52fe.js';
56
56
  import 'react-bootstrap/Figure';
57
+ import 'react-bootstrap/OverlayTrigger';
58
+ import 'react-bootstrap/Tooltip';
59
+ import 'react-bootstrap/Popover';
57
60
 
58
61
  var ExternalResources = function ExternalResources(props) {
59
62
  var resources = props.resources,
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import ArticleCarousel from './ArticleCarousel.js';
4
4
  import { I as IoIosArrowForward } from './index.esm-3fdda599.js';
5
5
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
6
- import { g as getSerializers } from './index-2dcd3f28.js';
6
+ import { g as getSerializers } from './index-37df0726.js';
7
7
  import './_commonjsHelpers-0c4b6f40.js';
8
8
  import './_to-object-b50e61c3.js';
9
9
  import './_object-pie-133f504a.js';
@@ -55,6 +55,9 @@ import './inherits-a41fe93f.js';
55
55
  import './_object-sap-f353c2a9.js';
56
56
  import './define-property-fe54dc9f.js';
57
57
  import 'react-bootstrap/Figure';
58
+ import 'react-bootstrap/OverlayTrigger';
59
+ import 'react-bootstrap/Tooltip';
60
+ import 'react-bootstrap/Popover';
58
61
 
59
62
  function HorizontalArticleListing(_ref) {
60
63
  var _ref$data = _ref.data,
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import QueueDeckExpanded from './QueueDeckExpanded.js';
4
4
  import Breadcrumbs from './Breadcrumbs.js';
5
5
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
6
- import { g as getSerializers } from './index-2dcd3f28.js';
6
+ import { g as getSerializers } from './index-37df0726.js';
7
7
  import './_commonjsHelpers-0c4b6f40.js';
8
8
  import './_to-object-b50e61c3.js';
9
9
  import './_object-pie-133f504a.js';
@@ -65,6 +65,9 @@ import './define-property-fe54dc9f.js';
65
65
  import './index.esm-3fdda599.js';
66
66
  import './iconBase-602d52fe.js';
67
67
  import 'react-bootstrap/Figure';
68
+ import 'react-bootstrap/OverlayTrigger';
69
+ import 'react-bootstrap/Tooltip';
70
+ import 'react-bootstrap/Popover';
68
71
 
69
72
  /* usage
70
73
  import Settings, { Ads } from '../../../../settings'
@@ -15,7 +15,7 @@ import urlFor from './urlFor.js';
15
15
  import { m as moment } from './moment-bc12cb97.js';
16
16
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
17
17
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
18
- import { g as getSerializers } from './index-2dcd3f28.js';
18
+ import { g as getSerializers } from './index-37df0726.js';
19
19
  import './define-property-fe54dc9f.js';
20
20
  import './_to-object-b50e61c3.js';
21
21
  import './es6.string.iterator-bc33758b.js';
@@ -65,6 +65,9 @@ import './entities-932b50cf.js';
65
65
  import './index.esm-3fdda599.js';
66
66
  import './iconBase-602d52fe.js';
67
67
  import 'react-bootstrap/Figure';
68
+ import 'react-bootstrap/OverlayTrigger';
69
+ import 'react-bootstrap/Tooltip';
70
+ import 'react-bootstrap/Popover';
68
71
 
69
72
  /**
70
73
  * Copyright (c) 2013-present, Facebook, Inc.
@@ -9,7 +9,7 @@ import { m as moment } from './moment-bc12cb97.js';
9
9
  import QueueDeckExpanded from './QueueDeckExpanded.js';
10
10
  import Breadcrumbs from './Breadcrumbs.js';
11
11
  import Feature from './Feature.js';
12
- import { g as getSerializers } from './index-2dcd3f28.js';
12
+ import { g as getSerializers } from './index-37df0726.js';
13
13
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
14
14
  import './_commonjsHelpers-0c4b6f40.js';
15
15
  import './es6.string.iterator-bc33758b.js';
@@ -68,6 +68,9 @@ import './define-property-fe54dc9f.js';
68
68
  import './index.esm-3fdda599.js';
69
69
  import './iconBase-602d52fe.js';
70
70
  import 'react-bootstrap/Figure';
71
+ import 'react-bootstrap/OverlayTrigger';
72
+ import 'react-bootstrap/Tooltip';
73
+ import 'react-bootstrap/Popover';
71
74
 
72
75
  var ImageSlider = function ImageSlider(props) {
73
76
  var innerSlider = useRef(null);
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { useRouter } from 'next/router';
5
5
  import Head from 'next/head';
6
6
  import { B as BlockContent } from './BlockContent-52cf21c5.js';
7
- import { g as getSerializers } from './index-2dcd3f28.js';
7
+ import { g as getSerializers } from './index-37df0726.js';
8
8
  import './_commonjsHelpers-0c4b6f40.js';
9
9
  import './es6.string.iterator-bc33758b.js';
10
10
  import './_to-object-b50e61c3.js';
@@ -53,6 +53,9 @@ import './define-property-fe54dc9f.js';
53
53
  import './index.esm-3fdda599.js';
54
54
  import './iconBase-602d52fe.js';
55
55
  import 'react-bootstrap/Figure';
56
+ import 'react-bootstrap/OverlayTrigger';
57
+ import 'react-bootstrap/Tooltip';
58
+ import 'react-bootstrap/Popover';
56
59
 
57
60
  var _this = undefined;
58
61
 
@@ -5,7 +5,7 @@ import { B as BlockContent } from './BlockContent-52cf21c5.js';
5
5
  import Col from 'react-bootstrap/Col';
6
6
  import Form from 'react-bootstrap/Form';
7
7
  import Button from 'react-bootstrap/Button';
8
- import { g as getSerializers } from './index-2dcd3f28.js';
8
+ import { g as getSerializers } from './index-37df0726.js';
9
9
  import VideoSeriesListing from './VideoSeriesListing.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './es6.string.iterator-bc33758b.js';
@@ -55,6 +55,9 @@ import './define-property-fe54dc9f.js';
55
55
  import './index.esm-3fdda599.js';
56
56
  import './iconBase-602d52fe.js';
57
57
  import 'react-bootstrap/Figure';
58
+ import 'react-bootstrap/OverlayTrigger';
59
+ import 'react-bootstrap/Tooltip';
60
+ import 'react-bootstrap/Popover';
58
61
  import 'react-bootstrap/Container';
59
62
  import './visibility-sensor-f40c2564.js';
60
63
  import './YoutubeGroup.js';
package/dist/esm/View.js CHANGED
@@ -15,7 +15,7 @@ import FormControl from 'react-bootstrap/FormControl';
15
15
  import Button from 'react-bootstrap/Button';
16
16
  import { V as VisibilitySensor } from './visibility-sensor-f40c2564.js';
17
17
  import SocialShare from './SocialShare.js';
18
- import { r as renderAuthor, g as getSerializers } from './index-2dcd3f28.js';
18
+ import { r as renderAuthor, g as getSerializers } from './index-37df0726.js';
19
19
  import DFPAdSlot from './AdSlot.js';
20
20
  import { S as SeriesSlider } from './SeriesSlider-5c62a578.js';
21
21
  import { g as getTargeting, a as getContentPlacementUrl } from './getTargeting-c3401fa7.js';
@@ -64,6 +64,9 @@ import './define-property-fe54dc9f.js';
64
64
  import './index.esm-3fdda599.js';
65
65
  import './iconBase-602d52fe.js';
66
66
  import 'react-bootstrap/Figure';
67
+ import 'react-bootstrap/OverlayTrigger';
68
+ import 'react-bootstrap/Tooltip';
69
+ import 'react-bootstrap/Popover';
67
70
  import './debounce-533d9748.js';
68
71
  import './isSymbol-a7e9aafe.js';
69
72
  import './toNumber-5aeba6e7.js';
@@ -1711,31 +1714,39 @@ var View = function View(props) {
1711
1714
  }
1712
1715
  }, []);
1713
1716
 
1714
- var isVideoSeries = false;
1715
- //check for certain serializers that need to disable infinite scroll
1716
- var checkBodyForDisableInfiniteScroll = function checkBodyForDisableInfiniteScroll(article) {
1717
+ // disable infinite scroll
1718
+ var checkVideoSeries = function checkVideoSeries(article) {
1717
1719
  if (!article || !article.body) {
1718
1720
  return false;
1719
1721
  }
1720
1722
  for (var i = 0; i < article.body.length; i++) {
1721
- if (article.body[i]._type === 'articleSeries' || article.body[i]._type === 'slideshows') {
1722
- return true;
1723
- }
1724
1723
  var row = article.body[i];
1725
1724
  if (typeof row.videos !== 'undefined') {
1726
- isVideoSeries = true;
1727
1725
  return true;
1728
1726
  }
1729
1727
  }
1730
1728
  return false;
1731
1729
  };
1732
1730
 
1733
- var disableInfiniteScroll = checkBodyForDisableInfiniteScroll(props.article);
1731
+ var checkArticleSeries = function checkArticleSeries(article) {
1732
+ if (!article || !article.body) {
1733
+ return false;
1734
+ }
1735
+ for (var i = 0; i < article.body.length; i++) {
1736
+ if (article.body[i]._type === 'articleSeries') {
1737
+ return true;
1738
+ }
1739
+ }
1740
+ return false;
1741
+ };
1742
+
1743
+ var isVideoSeries = checkVideoSeries(props.article);
1744
+ var isArticleSeries = checkArticleSeries(props.article);
1734
1745
  var commentsEnabledInTaxonomy = Array.isArray(content_placement) && content_placement.some(function (t) {
1735
1746
  return t.showComments === true;
1736
1747
  });
1737
1748
  var showDisqus = commentsEnabledInTaxonomy || hideComments === false;
1738
- var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !disableInfiniteScroll && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && (!article.documentGroup || !article.documentGroup.isSeries) && !showDisqus;
1749
+ var needInfiniteScroll = ['Articles', 'Videos', 'Podcasts'].includes(article.category.name) && article.taxonomyMapping && article.passwordLock !== true && !isVideoSeries && !isArticleSeries && !article.ExcludeFromInfiniteScroll && !sponsoredFlag && infiniteScrollFlag && !article.showIsi && (!article.documentGroup || !article.documentGroup.isSeries) && !showDisqus;
1739
1750
 
1740
1751
  if (['Articles', 'Videos', 'Podcasts'].includes(article.category.name)) {
1741
1752
  title = null;
@@ -1,5 +1,5 @@
1
1
  import 'react';
2
- export { g as default } from './index-2dcd3f28.js';
2
+ export { g as default } from './index-37df0726.js';
3
3
  import './BlockContent-52cf21c5.js';
4
4
  import './entities-932b50cf.js';
5
5
  import './slicedToArray-be2f7a22.js';
@@ -53,3 +53,6 @@ import './define-property-fe54dc9f.js';
53
53
  import './index.esm-3fdda599.js';
54
54
  import './iconBase-602d52fe.js';
55
55
  import 'react-bootstrap/Figure';
56
+ import 'react-bootstrap/OverlayTrigger';
57
+ import 'react-bootstrap/Tooltip';
58
+ import 'react-bootstrap/Popover';
@@ -32,6 +32,9 @@ import Head from 'next/head';
32
32
  import { _ as _inherits$1, a as _classCallCheck$1, b as _possibleConstructorReturn$1, c as _Object$getPrototypeOf, d as _createClass$1, e as classCallCheck, p as possibleConstructorReturn, i as inherits } from './inherits-a41fe93f.js';
33
33
  import { d as IoIosArrowDropupCircle } from './index.esm-3fdda599.js';
34
34
  import Figure$2 from 'react-bootstrap/Figure';
35
+ import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
36
+ import Tooltip from 'react-bootstrap/Tooltip';
37
+ import Popover from 'react-bootstrap/Popover';
35
38
 
36
39
  var onChangeSlide = function onChangeSlide(selectedIndex, router) {
37
40
  var pageNumber = selectedIndex + 1;
@@ -8161,7 +8164,7 @@ var Slideshow = function Slideshow(_ref) {
8161
8164
  { href: slide.slideshowImage.link && slide.slideshowImage.link, target: slide.slideshowImage.blank ? '_blank' : '_self' },
8162
8165
  React.createElement(
8163
8166
  'div',
8164
- { style: { textAlign: 'center' }, className: '' },
8167
+ { className: 'embed-responsive embed-responsive-slide' },
8165
8168
  React.createElement(
8166
8169
  LazyLoad,
8167
8170
  null,
@@ -8171,8 +8174,13 @@ var Slideshow = function Slideshow(_ref) {
8171
8174
  React.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8172
8175
  React.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8173
8176
  React.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 500, imageFit: 'max' }) }),
8174
- React.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', className: 'embed-item-img' })
8177
+ React.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', className: 'embed-responsive-item' })
8175
8178
  )
8179
+ ),
8180
+ React.createElement(
8181
+ 'style',
8182
+ { jsx: 'true' },
8183
+ '\n .embed-responsive-slide::before {\n padding-top: ' + slide.slideshowImage.height / slide.slideshowImage.width * 100 + '%;\n }\n '
8176
8184
  )
8177
8185
  )
8178
8186
  ),
@@ -8194,7 +8202,7 @@ var Slideshow = function Slideshow(_ref) {
8194
8202
  React.createElement(
8195
8203
  'style',
8196
8204
  { jsx: 'true' },
8197
- '\n .embed-item-img {\n max-width: 100%;\n max-height: 750px;\n }\n .carousel-indicators {\n bottom: -2.5rem !important;\n }\n .carousel-indicators li {\n width: 20px;\n height: 20px;\n border-radius: 50% !important;\n background-color: var(--secondary);\n }\n .carousel-control-prev {\n justify-content: flex-start;\n }\n .carousel-control-next {\n justify-content: flex-end;\n }\n '
8205
+ '\n .carousel-indicators {\n bottom: -2.5rem !important;\n }\n .carousel-indicators li {\n width: 20px;\n height: 20px;\n border-radius: 50% !important;\n background-color: var(--secondary);\n }\n .carousel-control-prev {\n justify-content: flex-start;\n }\n .carousel-control-next {\n justify-content: flex-end;\n }\n '
8198
8206
  )
8199
8207
  );
8200
8208
  };
@@ -8998,6 +9006,74 @@ var FigureComponent = function FigureComponent(props) {
8998
9006
  var _node$widthP = node.widthP,
8999
9007
  widthP = _node$widthP === undefined ? 'auto' : _node$widthP;
9000
9008
 
9009
+ var infoBox = node.infoBox ? node.infoBox : [];
9010
+
9011
+ var renderTooltip = function renderTooltip(props) {
9012
+ if (infoBox[0].title) {
9013
+ return React.createElement(
9014
+ Popover,
9015
+ { id: 'popover-basic-' + infoBox[0].title },
9016
+ React.createElement(
9017
+ Popover.Title,
9018
+ { as: 'h3' },
9019
+ infoBox[0].title
9020
+ ),
9021
+ React.createElement(
9022
+ Popover.Content,
9023
+ null,
9024
+ React.createElement(BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9025
+ )
9026
+ );
9027
+ } else {
9028
+ return React.createElement(
9029
+ Tooltip,
9030
+ _extends({ id: 'button-tooltip' }, props),
9031
+ React.createElement(BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9032
+ );
9033
+ }
9034
+ };
9035
+
9036
+ var FigureImageWOverLay = React.memo(function (_ref3) {
9037
+ var node = _ref3.node,
9038
+ client = _ref3.client,
9039
+ imgAlt = _ref3.imgAlt,
9040
+ link = _ref3.link,
9041
+ handleClickFigure = _ref3.handleClickFigure;
9042
+
9043
+ var figureImageStyle = link ? { maxWidth: '100%' } : { maxWidth: '100%', cursor: 'pointer', width: 'auto' };
9044
+ var triggerAction = main_42 ? 'click' : 'hover';
9045
+ var placementLocation = main_42 ? 'top' : infoBox[0].alignment ? infoBox[0].alignment : 'right';
9046
+ return React.createElement(
9047
+ 'picture',
9048
+ null,
9049
+ React.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: node, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9050
+ React.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: node, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9051
+ React.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: node, client: client, imageWidth: 500, imageFit: 'max' }) }),
9052
+ main_42 && link ? React.createElement('img', _extends({
9053
+ style: figureImageStyle,
9054
+ className: 'figure-image',
9055
+ src: urlFor({ source: node, client: client }),
9056
+ alt: imgAlt ? imgAlt : 'figure image'
9057
+ }, !link && !main_42 && {
9058
+ onClick: function onClick() {
9059
+ return handleClickFigure(node, client);
9060
+ }
9061
+ })) : React.createElement(
9062
+ OverlayTrigger,
9063
+ { trigger: triggerAction, placement: placementLocation, delay: { show: 250, hide: 400 }, overlay: renderTooltip() },
9064
+ React.createElement('img', _extends({
9065
+ style: figureImageStyle,
9066
+ className: 'figure-image',
9067
+ src: urlFor({ source: node, client: client }),
9068
+ alt: imgAlt ? imgAlt : 'figure image'
9069
+ }, !link && !main_42 && {
9070
+ onClick: function onClick() {
9071
+ return handleClickFigure(node, client);
9072
+ }
9073
+ }))
9074
+ )
9075
+ );
9076
+ });
9001
9077
 
9002
9078
  var screenWidth = window.innerWidth;
9003
9079
 
@@ -9065,7 +9141,29 @@ var FigureComponent = function FigureComponent(props) {
9065
9141
  return React.createElement(
9066
9142
  React.Fragment,
9067
9143
  null,
9068
- React.createElement(
9144
+ infoBox.length >= 1 ? React.createElement(
9145
+ Figure$2,
9146
+ { className: '' + class_name, style: figureStyle },
9147
+ link ? React.createElement(
9148
+ 'a',
9149
+ { target: blank ? '_blank' : '_self', href: link },
9150
+ React.createElement(FigureImageWOverLay, { node: node, client: client, imgAlt: alt, link: link }),
9151
+ React.createElement(FigureCaption, null)
9152
+ ) : React.createElement(
9153
+ React.Fragment,
9154
+ null,
9155
+ React.createElement(FigureImageWOverLay, { node: node, client: client, imgAlt: alt, handleClickFigure: handleClickFigure }),
9156
+ React.createElement(FigureCaption, null)
9157
+ ),
9158
+ React.createElement(LightBox, {
9159
+ showLightbox: showLightbox,
9160
+ lightboxImgSrc: lightboxImgSrc,
9161
+ closeLightbox: function closeLightbox() {
9162
+ setLightboxImgSrc('');
9163
+ setShowLightbox(false);
9164
+ }
9165
+ })
9166
+ ) : React.createElement(
9069
9167
  Figure$2,
9070
9168
  { className: '' + class_name, style: figureStyle },
9071
9169
  link ? React.createElement(
@@ -9179,6 +9277,73 @@ var MultiFigure = function MultiFigure(props) {
9179
9277
  setOpenImg(true);
9180
9278
  }, [client]);
9181
9279
 
9280
+ var FigureImageWOverLay = React.memo(function (_ref3) {
9281
+ var imagesCount = _ref3.imagesCount,
9282
+ image = _ref3.image,
9283
+ client = _ref3.client,
9284
+ imgAlt = _ref3.imgAlt,
9285
+ link = _ref3.link,
9286
+ handleClickFigure = _ref3.handleClickFigure;
9287
+
9288
+ var triggerAction = main_42 ? 'click' : 'hover';
9289
+ var placementLocation = main_42 ? 'top' : image.infoBox[0] ? image.infoBox[0].alignment : 'right';
9290
+ return React.createElement(
9291
+ 'picture',
9292
+ null,
9293
+ React.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9294
+ React.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9295
+ React.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 500, imageFit: 'max' }) }),
9296
+ main_42 && link ? React.createElement('img', _extends({
9297
+ 'images-count': imagesCount,
9298
+ className: 'multi-figure-image',
9299
+ src: urlFor({ source: image, client: client }),
9300
+ alt: imgAlt ? imgAlt : 'multi figure'
9301
+ }, !link && !main_42 && {
9302
+ onClick: function onClick() {
9303
+ return handleClickFigure(image, client);
9304
+ }
9305
+ })) : React.createElement(
9306
+ OverlayTrigger,
9307
+ { trigger: triggerAction, placement: placementLocation, delay: { show: 250, hide: 400 }, overlay: renderTooltip(image) },
9308
+ React.createElement('img', _extends({
9309
+ 'images-count': imagesCount,
9310
+ className: 'multi-figure-image',
9311
+ src: urlFor({ source: image, client: client }),
9312
+ alt: imgAlt ? imgAlt : 'multi figure'
9313
+ }, !link && !main_42 && {
9314
+ onClick: function onClick() {
9315
+ return handleClickFigure(image, client);
9316
+ }
9317
+ }))
9318
+ )
9319
+ );
9320
+ });
9321
+
9322
+ var renderTooltip = function renderTooltip(image) {
9323
+ if (image.infoBox[0].title) {
9324
+ return React.createElement(
9325
+ Popover,
9326
+ { id: 'popover-basic-' + image.infoBox[0].title },
9327
+ React.createElement(
9328
+ Popover.Title,
9329
+ { as: 'h3' },
9330
+ image.infoBox[0].title
9331
+ ),
9332
+ React.createElement(
9333
+ Popover.Content,
9334
+ null,
9335
+ React.createElement(BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9336
+ )
9337
+ );
9338
+ } else {
9339
+ return React.createElement(
9340
+ Tooltip,
9341
+ _extends({ id: 'button-tooltip' }, props),
9342
+ React.createElement(BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9343
+ );
9344
+ }
9345
+ };
9346
+
9182
9347
  if (images && images.length > 0) {
9183
9348
  return React.createElement(
9184
9349
  'div',
@@ -9187,33 +9352,63 @@ var MultiFigure = function MultiFigure(props) {
9187
9352
  Row$1,
9188
9353
  { noGutters: true, style: { alignItems: 'center' } },
9189
9354
  images.map(function (image, index) {
9190
- return React.createElement(
9191
- Col$1,
9192
- { xs: 12, md: 12 / images.length, key: index },
9193
- image.link ? React.createElement(
9194
- 'a',
9195
- _extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9196
- React.createElement(
9355
+ if (image.infoBox) {
9356
+ return React.createElement(
9357
+ Col$1,
9358
+ { xs: 12, md: 12 / images.length, key: index },
9359
+ image.link ? React.createElement(
9360
+ 'a',
9361
+ _extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9362
+ React.createElement(
9363
+ 'div',
9364
+ { className: 'multi-figure-image-container' },
9365
+ React.createElement(
9366
+ LazyLoad,
9367
+ { once: true },
9368
+ React.createElement(FigureImageWOverLay, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9369
+ ),
9370
+ React.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9371
+ )
9372
+ ) : React.createElement(
9197
9373
  'div',
9198
9374
  { className: 'multi-figure-image-container' },
9199
9375
  React.createElement(
9200
9376
  LazyLoad,
9201
9377
  { once: true },
9202
- React.createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9378
+ React.createElement(FigureImageWOverLay, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9203
9379
  ),
9204
9380
  React.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9205
9381
  )
9206
- ) : React.createElement(
9207
- 'div',
9208
- { className: 'multi-figure-image-container' },
9209
- React.createElement(
9210
- LazyLoad,
9211
- { once: true },
9212
- React.createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9213
- ),
9214
- React.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9215
- )
9216
- );
9382
+ );
9383
+ } else {
9384
+ return React.createElement(
9385
+ Col$1,
9386
+ { xs: 12, md: 12 / images.length, key: index },
9387
+ image.link ? React.createElement(
9388
+ 'a',
9389
+ _extends({}, image.link && { href: image.link, target: image.blank ? '_blank' : '_self' }, { style: { cursor: image.link ? 'pointer' : 'default' } }),
9390
+ React.createElement(
9391
+ 'div',
9392
+ { className: 'multi-figure-image-container' },
9393
+ React.createElement(
9394
+ LazyLoad,
9395
+ { once: true },
9396
+ React.createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9397
+ ),
9398
+ React.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9399
+ )
9400
+ ) : React.createElement(
9401
+ 'div',
9402
+ { className: 'multi-figure-image-container' },
9403
+ React.createElement(
9404
+ LazyLoad,
9405
+ { once: true },
9406
+ React.createElement(FigureImage, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9407
+ ),
9408
+ React.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9409
+ )
9410
+ );
9411
+ }
9217
9412
  })
9218
9413
  ),
9219
9414
  React.createElement(
package/dist/esm/index.js CHANGED
@@ -79,7 +79,7 @@ export { default as VerticalHero } from './VerticalHero.js';
79
79
  export { default as YahooHero } from './YahooHero.js';
80
80
  export { default as GridHero } from './GridHero.js';
81
81
  export { default as ConferenceArticleCard } from './ConferenceArticleCard.js';
82
- export { g as getSerializers } from './index-2dcd3f28.js';
82
+ export { g as getSerializers } from './index-37df0726.js';
83
83
  export { default as Beam } from './Beam.js';
84
84
  export { default as Segment } from './Segment.js';
85
85
  export { default as KMTracker } from './KMTracker.js';
@@ -180,6 +180,9 @@ import 'react-bootstrap/Modal';
180
180
  import './util-3ab476bf.js';
181
181
  import 'react-bootstrap/Pagination';
182
182
  import 'react-bootstrap/Figure';
183
+ import 'react-bootstrap/OverlayTrigger';
184
+ import 'react-bootstrap/Tooltip';
185
+ import 'react-bootstrap/Popover';
183
186
  import './index-db3bb315.js';
184
187
  import 'swr';
185
188
  import 'passport-local';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.850-slideshow",
3
+ "version": "1.0.851",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",