@mjhls/mjh-framework 1.0.832-beta.0 → 1.0.832-beta.1

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.
@@ -53,7 +53,7 @@ require('react-bootstrap');
53
53
  require('./iconBase-68959171.js');
54
54
  require('./index.esm-90433435.js');
55
55
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
56
- var getSerializers = require('./index-0b9683e0.js');
56
+ var getSerializers = require('./index-a0bdcb69.js');
57
57
  require('./util-f2c1b65b.js');
58
58
  require('./brightcove-react-player-loader.es-156bd4d6.js');
59
59
  require('next/head');
@@ -49,7 +49,7 @@ require('./GroupDeck.js');
49
49
  require('react-bootstrap');
50
50
  require('./iconBase-68959171.js');
51
51
  require('./index.esm-90433435.js');
52
- var getSerializers = require('./index-0b9683e0.js');
52
+ var getSerializers = require('./index-a0bdcb69.js');
53
53
  require('./util-f2c1b65b.js');
54
54
  require('./brightcove-react-player-loader.es-156bd4d6.js');
55
55
  require('next/head');
@@ -50,7 +50,7 @@ require('react-bootstrap');
50
50
  require('./iconBase-68959171.js');
51
51
  var index_esm = require('./index.esm-90433435.js');
52
52
  var ArticleCarousel = require('./ArticleCarousel.js');
53
- var getSerializers = require('./index-0b9683e0.js');
53
+ var getSerializers = require('./index-a0bdcb69.js');
54
54
  require('./util-f2c1b65b.js');
55
55
  require('./brightcove-react-player-loader.es-156bd4d6.js');
56
56
  require('next/head');
@@ -58,7 +58,7 @@ require('./timeDifferenceCalc.js');
58
58
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
59
59
  require('./iconBase-68959171.js');
60
60
  require('./index.esm-90433435.js');
61
- var getSerializers = require('./index-0b9683e0.js');
61
+ var getSerializers = require('./index-a0bdcb69.js');
62
62
  require('./util-f2c1b65b.js');
63
63
  require('./brightcove-react-player-loader.es-156bd4d6.js');
64
64
  require('next/head');
@@ -56,7 +56,7 @@ require('./GroupDeck.js');
56
56
  require('react-bootstrap');
57
57
  require('./iconBase-68959171.js');
58
58
  require('./index.esm-90433435.js');
59
- var getSerializers = require('./index-0b9683e0.js');
59
+ var getSerializers = require('./index-a0bdcb69.js');
60
60
  require('./util-f2c1b65b.js');
61
61
  require('./brightcove-react-player-loader.es-156bd4d6.js');
62
62
  require('next/head');
@@ -58,7 +58,7 @@ require('./timeDifferenceCalc.js');
58
58
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
59
59
  require('./iconBase-68959171.js');
60
60
  require('./index.esm-90433435.js');
61
- var getSerializers = require('./index-0b9683e0.js');
61
+ var getSerializers = require('./index-a0bdcb69.js');
62
62
  require('./util-f2c1b65b.js');
63
63
  require('./brightcove-react-player-loader.es-156bd4d6.js');
64
64
  require('next/head');
@@ -49,7 +49,7 @@ require('./GroupDeck.js');
49
49
  require('react-bootstrap');
50
50
  require('./iconBase-68959171.js');
51
51
  require('./index.esm-90433435.js');
52
- var getSerializers = require('./index-0b9683e0.js');
52
+ var getSerializers = require('./index-a0bdcb69.js');
53
53
  require('./util-f2c1b65b.js');
54
54
  require('./brightcove-react-player-loader.es-156bd4d6.js');
55
55
  var Head = _interopDefault(require('next/head'));
@@ -53,7 +53,7 @@ require('react-bootstrap');
53
53
  require('./iconBase-68959171.js');
54
54
  require('./index.esm-90433435.js');
55
55
  var VideoSeriesListing = require('./VideoSeriesListing.js');
56
- var getSerializers = require('./index-0b9683e0.js');
56
+ var getSerializers = require('./index-a0bdcb69.js');
57
57
  require('./util-f2c1b65b.js');
58
58
  require('./brightcove-react-player-loader.es-156bd4d6.js');
59
59
  require('next/head');
package/dist/cjs/View.js CHANGED
@@ -51,7 +51,7 @@ require('./GroupDeck.js');
51
51
  require('react-bootstrap');
52
52
  require('./iconBase-68959171.js');
53
53
  require('./index.esm-90433435.js');
54
- var getSerializers = require('./index-0b9683e0.js');
54
+ var getSerializers = require('./index-a0bdcb69.js');
55
55
  require('./util-f2c1b65b.js');
56
56
  require('./brightcove-react-player-loader.es-156bd4d6.js');
57
57
  var Head = _interopDefault(require('next/head'));
@@ -438,6 +438,56 @@ var getSocialShareDisableFlag = function getSocialShareDisableFlag(article) {
438
438
  return showSocialShare;
439
439
  };
440
440
 
441
+ function generateSchema(props) {
442
+ var _props$article = props.article,
443
+ title = _props$article.title,
444
+ summary = _props$article.summary,
445
+ url = _props$article.url,
446
+ authorDetails = _props$article.authorDetails,
447
+ thumbnail = _props$article.thumbnail,
448
+ published = _props$article.published,
449
+ _updatedAt = _props$article._updatedAt,
450
+ seoTag = _props$article.seoTag,
451
+ _props$Website = props.Website,
452
+ liveDomain = _props$Website.liveDomain,
453
+ websiteTitle = _props$Website.title,
454
+ logo = _props$Website.logo,
455
+ client = props.client;
456
+
457
+ var isAuthorFound = authorDetails && authorDetails.length > 0 && authorDetails[0].displayName;
458
+
459
+ if (title && thumbnail && published && websiteTitle && liveDomain && logo && isAuthorFound) {
460
+ return {
461
+ '@context': 'https://schema.org',
462
+ '@type': 'NewsArticle',
463
+ mainEntityOfPage: 'https://' + liveDomain + '/view/' + url.current,
464
+ headline: title,
465
+ description: summary,
466
+ image: urlFor({ source: thumbnail, client: client }),
467
+ keywords: seoTag.join(),
468
+ author: {
469
+ '@type': 'Person',
470
+ name: authorDetails[0].displayName
471
+ },
472
+ publisher: {
473
+ '@type': 'Organization',
474
+ name: websiteTitle,
475
+ logo: {
476
+ '@type': 'ImageObject',
477
+ url: 'https://' + liveDomain + logo
478
+ }
479
+ },
480
+ datePublished: published,
481
+ dateModified: _updatedAt
482
+ };
483
+ }
484
+ return null;
485
+ }
486
+
487
+ var Schema = function Schema(props) {
488
+ return React__default.createElement('script', { type: 'application/ld+json', dangerouslySetInnerHTML: { __html: stringify._JSON$stringify(generateSchema(props)) } });
489
+ };
490
+
441
491
  var Article = React.forwardRef(function (props, ref) {
442
492
  var onVote = function () {
443
493
  var _ref = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(nodeKey, selectedChoice) {
@@ -1281,7 +1331,8 @@ var Article = React.forwardRef(function (props, ref) {
1281
1331
  )
1282
1332
  )
1283
1333
  ),
1284
- props.infiniteScroll && React__default.createElement('hr', { className: 'article-seperater mb-5 mt-3' })
1334
+ props.infiniteScroll && React__default.createElement('hr', { className: 'article-seperater mb-5 mt-3' }),
1335
+ React__default.createElement(Schema, { article: props.article, Website: props.Website, client: props.client })
1285
1336
  );
1286
1337
  };
1287
1338
 
@@ -45,7 +45,7 @@ require('./GroupDeck.js');
45
45
  require('react-bootstrap');
46
46
  require('./iconBase-68959171.js');
47
47
  require('./index.esm-90433435.js');
48
- var getSerializers = require('./index-0b9683e0.js');
48
+ var getSerializers = require('./index-a0bdcb69.js');
49
49
  require('./util-f2c1b65b.js');
50
50
  require('./brightcove-react-player-loader.es-156bd4d6.js');
51
51
  require('next/head');
@@ -85,14 +85,7 @@ var Slideshow = function Slideshow(_ref) {
85
85
  return React__default.createElement(
86
86
  reactBootstrap.Carousel.Item,
87
87
  { key: slide._key },
88
- React__default.createElement(
89
- 'picture',
90
- null,
91
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 1500, imageFit: 'max' }) }),
92
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 1000, imageFit: 'max' }) }),
93
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 500, imageFit: 'max' }) }),
94
- React__default.createElement('img', { src: urlFor({ source: slide.asset, client: client }), alt: slide.alt || '', style: { width: '100%' } })
95
- ),
88
+ React__default.createElement('img', { src: slide.asset && urlFor({ source: slide.asset, client: client }), alt: slide.alt && slide.alt, style: { width: '100%' } }),
96
89
  slide.caption && React__default.createElement(
97
90
  'p',
98
91
  { className: 'p-2' },
@@ -2182,14 +2175,7 @@ var Media = function Media(_ref) {
2182
2175
  React__default.createElement(
2183
2176
  index$2.LazyLoad,
2184
2177
  { once: true },
2185
- React__default.createElement(
2186
- 'picture',
2187
- null,
2188
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 1500, imageFit: 'max' }) }),
2189
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 1000, imageFit: 'max' }) }),
2190
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 500, imageFit: 'max' }) }),
2191
- React__default.createElement('img', _extends$1._extends({ className: 'media-image', style: { maxWidth: '100%' }, src: urlFor({ source: poster, client: client }) }, alt && { alt: alt }))
2192
- )
2178
+ React__default.createElement(reactBootstrap.Figure.Image, _extends$1._extends({ className: 'media-image', style: { maxWidth: '100%' }, src: urlFor({ source: poster, client: client }) }, alt && { alt: alt }))
2193
2179
  ),
2194
2180
  caption && React__default.createElement(
2195
2181
  reactBootstrap.Figure.Caption,
@@ -8156,14 +8142,7 @@ var Slideshow$1 = function Slideshow(_ref) {
8156
8142
  React__default.createElement(
8157
8143
  index$2.LazyLoad,
8158
8144
  null,
8159
- React__default.createElement(
8160
- 'picture',
8161
- null,
8162
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8163
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8164
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 500, imageFit: 'max' }) }),
8165
- React__default.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
8166
- )
8145
+ React__default.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
8167
8146
  )
8168
8147
  ),
8169
8148
  React__default.createElement(
@@ -8258,14 +8237,7 @@ var MultiMedia = function MultiMedia(props) {
8258
8237
  imageBox && React__default.createElement(
8259
8238
  index$2.LazyLoad,
8260
8239
  { once: true },
8261
- React__default.createElement(
8262
- 'picture',
8263
- null,
8264
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8265
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8266
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 500, imageFit: 'max' }) }),
8267
- React__default.createElement('img', { 'images-count': medias.length, className: 'multi-media-image', src: urlFor({ source: media.poster, client: client }), alt: media.alt || '' })
8268
- )
8240
+ React__default.createElement('img', { 'images-count': medias.length, className: 'multi-media-image', src: urlFor({ source: media.poster, client: client }), alt: media.alt })
8269
8241
  ),
8270
8242
  media.caption && React__default.createElement(
8271
8243
  'span',
@@ -9103,33 +9075,6 @@ function useOutsideAlerter(ref, container, setOpenImg, setOpenImgSrc) {
9103
9075
  }, [ref]);
9104
9076
  }
9105
9077
 
9106
- var FigureImage$1 = React__default.memo(function (_ref) {
9107
- var imagesCount = _ref.imagesCount,
9108
- image = _ref.image,
9109
- client = _ref.client,
9110
- imgAlt = _ref.imgAlt,
9111
- link = _ref.link,
9112
- handleClickFigure = _ref.handleClickFigure;
9113
-
9114
- return React__default.createElement(
9115
- 'picture',
9116
- null,
9117
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9118
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9119
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 500, imageFit: 'max' }) }),
9120
- React__default.createElement('img', _extends$1._extends({
9121
- 'images-count': imagesCount,
9122
- className: 'multi-figure-image',
9123
- src: urlFor({ source: image, client: client }),
9124
- alt: imgAlt ? imgAlt : 'multi figure'
9125
- }, !link && {
9126
- onClick: function onClick() {
9127
- return handleClickFigure(image, client);
9128
- }
9129
- }))
9130
- );
9131
- });
9132
-
9133
9078
  var MultiFigure = function MultiFigure(props) {
9134
9079
  var images = props.node.images,
9135
9080
  client = props.client,
@@ -9149,9 +9094,9 @@ var MultiFigure = function MultiFigure(props) {
9149
9094
  var lightboxContainer = React.useRef(null);
9150
9095
  useOutsideAlerter(lightboxImage, lightboxContainer, setOpenImg, setOpenImgSrc);
9151
9096
 
9152
- var FigureCaption = function FigureCaption(_ref2) {
9153
- var caption = _ref2.caption,
9154
- imgcaption = _ref2.imgcaption;
9097
+ var FigureCaption = function FigureCaption(_ref) {
9098
+ var caption = _ref.caption,
9099
+ imgcaption = _ref.imgcaption;
9155
9100
 
9156
9101
  if (imgcaption && imgcaption.length > 0) {
9157
9102
  return React__default.createElement(
@@ -9164,11 +9109,6 @@ var MultiFigure = function MultiFigure(props) {
9164
9109
  } else return null;
9165
9110
  };
9166
9111
 
9167
- var handleClickFigure = React.useCallback(function (image, client) {
9168
- setOpenImgSrc(urlFor({ source: image, client: client }));
9169
- setOpenImg(true);
9170
- }, [client]);
9171
-
9172
9112
  if (images && images.length > 0) {
9173
9113
  return React__default.createElement(
9174
9114
  'div',
@@ -9189,7 +9129,7 @@ var MultiFigure = function MultiFigure(props) {
9189
9129
  React__default.createElement(
9190
9130
  index$2.LazyLoad,
9191
9131
  { once: true },
9192
- React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9132
+ React__default.createElement('img', { 'images-count': images.length, className: 'multi-figure-image', src: urlFor({ source: image.asset, client: client }), alt: image.alt })
9193
9133
  ),
9194
9134
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9195
9135
  )
@@ -9199,7 +9139,16 @@ var MultiFigure = function MultiFigure(props) {
9199
9139
  React__default.createElement(
9200
9140
  index$2.LazyLoad,
9201
9141
  { once: true },
9202
- React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9142
+ React__default.createElement('img', {
9143
+ 'images-count': images.length,
9144
+ className: 'multi-figure-image',
9145
+ src: urlFor({ source: image.asset, client: client }),
9146
+ alt: image.alt,
9147
+ onClick: function onClick() {
9148
+ setOpenImgSrc(urlFor({ source: image, client: client }));
9149
+ setOpenImg(true);
9150
+ }
9151
+ })
9203
9152
  ),
9204
9153
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9205
9154
  )
@@ -9214,7 +9163,7 @@ var MultiFigure = function MultiFigure(props) {
9214
9163
  React__default.createElement(
9215
9164
  'style',
9216
9165
  { jsx: 'true' },
9217
- '\n .multi-figure-caption,\n .multi-figure-caption h1,\n .multi-figure-caption h2,\n .multi-figure-caption h3,\n .multi-figure-caption h4,\n .multi-figure-caption h5,\n .multi-figure-caption h6,\n .multi-figure-caption p,\n .multi-figure-caption ul {\n color: #6c757d;\n font-size: 0.875rem;\n }\n\n .multi-figure-container {\n margin-bottom: 1rem;\n }\n .multi-figure-image {\n width: 100%;\n height: auto;\n object-fit: contain;\n cursor: pointer;\n }\n .multi-figure-image-container {\n padding-right: 0.5rem;\n }\n /* Small devices (portrait tablets and phones, 767px and down) */\n @media (max-width: 767px) {\n .multi-figure-image-container {\n margin-bottom: 1rem;\n }\n }\n\n /* Medium devices (landscape tablets, 768px and up) */\n @media (min-width: 768px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 100px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 130px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 200px;\n }\n .multi-figure-container [class*=\'col-\'] + [class*=\'col-\'] {\n padding-left: 0.75rem;\n }\n }\n\n /* Large devices (laptops/desktops, 992px and up) */\n @media (min-width: 992px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 150px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 200px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 300px;\n }\n }\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 3000000;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
9166
+ '\n .multi-figure-caption,\n .multi-figure-caption h1,\n .multi-figure-caption h2,\n .multi-figure-caption h3,\n .multi-figure-caption h4,\n .multi-figure-caption h5,\n .multi-figure-caption h6,\n .multi-figure-caption p,\n .multi-figure-caption ul {\n color: #6c757d;\n font-size: 0.875rem;\n }\n\n .multi-figure-container {\n margin-bottom: 1rem;\n }\n .multi-figure-image {\n width: 100%;\n height: auto;\n object-fit: contain;\n }\n .multi-figure-image-container {\n padding-right: 0.5rem;\n }\n /* Small devices (portrait tablets and phones, 767px and down) */\n @media (max-width: 767px) {\n .multi-figure-image-container {\n margin-bottom: 1rem;\n }\n }\n\n /* Medium devices (landscape tablets, 768px and up) */\n @media (min-width: 768px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 100px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 130px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 200px;\n }\n .multi-figure-container [class*=\'col-\'] + [class*=\'col-\'] {\n padding-left: 0.75rem;\n }\n }\n\n /* Large devices (laptops/desktops, 992px and up) */\n @media (min-width: 992px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 150px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 200px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 300px;\n }\n }\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 3000000;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
9218
9167
  )
9219
9168
  );
9220
9169
  }
package/dist/cjs/index.js CHANGED
@@ -76,7 +76,7 @@ require('./index.esm-90433435.js');
76
76
  var VideoSeriesListing = require('./VideoSeriesListing.js');
77
77
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
78
78
  var ArticleCarousel = require('./ArticleCarousel.js');
79
- var getSerializers = require('./index-0b9683e0.js');
79
+ var getSerializers = require('./index-a0bdcb69.js');
80
80
  require('./util-f2c1b65b.js');
81
81
  require('./brightcove-react-player-loader.es-156bd4d6.js');
82
82
  require('next/head');
@@ -48,7 +48,7 @@ import 'react-bootstrap';
48
48
  import './iconBase-602d52fe.js';
49
49
  import './index.esm-29e48d38.js';
50
50
  import ArticleSeriesListing from './ArticleSeriesListing.js';
51
- import { g as getSerializers } from './index-59b21a97.js';
51
+ import { g as getSerializers } from './index-d9cf292f.js';
52
52
  import './util-7700fc59.js';
53
53
  import './brightcove-react-player-loader.es-83f53e4e.js';
54
54
  import 'next/head';
@@ -43,7 +43,7 @@ import './GroupDeck.js';
43
43
  import 'react-bootstrap';
44
44
  import './iconBase-602d52fe.js';
45
45
  import './index.esm-29e48d38.js';
46
- import { g as getSerializers } from './index-59b21a97.js';
46
+ import { g as getSerializers } from './index-d9cf292f.js';
47
47
  import './util-7700fc59.js';
48
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
49
49
  import 'next/head';
@@ -45,7 +45,7 @@ import 'react-bootstrap';
45
45
  import './iconBase-602d52fe.js';
46
46
  import { I as IoIosArrowForward } from './index.esm-29e48d38.js';
47
47
  import ArticleCarousel from './ArticleCarousel.js';
48
- import { g as getSerializers } from './index-59b21a97.js';
48
+ import { g as getSerializers } from './index-d9cf292f.js';
49
49
  import './util-7700fc59.js';
50
50
  import './brightcove-react-player-loader.es-83f53e4e.js';
51
51
  import 'next/head';
@@ -53,7 +53,7 @@ import './timeDifferenceCalc.js';
53
53
  import QueueDeckExpanded from './QueueDeckExpanded.js';
54
54
  import './iconBase-602d52fe.js';
55
55
  import './index.esm-29e48d38.js';
56
- import { g as getSerializers } from './index-59b21a97.js';
56
+ import { g as getSerializers } from './index-d9cf292f.js';
57
57
  import './util-7700fc59.js';
58
58
  import './brightcove-react-player-loader.es-83f53e4e.js';
59
59
  import 'next/head';
@@ -50,7 +50,7 @@ import './GroupDeck.js';
50
50
  import 'react-bootstrap';
51
51
  import './iconBase-602d52fe.js';
52
52
  import './index.esm-29e48d38.js';
53
- import { g as getSerializers } from './index-59b21a97.js';
53
+ import { g as getSerializers } from './index-d9cf292f.js';
54
54
  import './util-7700fc59.js';
55
55
  import './brightcove-react-player-loader.es-83f53e4e.js';
56
56
  import 'next/head';
@@ -53,7 +53,7 @@ import './timeDifferenceCalc.js';
53
53
  import QueueDeckExpanded from './QueueDeckExpanded.js';
54
54
  import './iconBase-602d52fe.js';
55
55
  import './index.esm-29e48d38.js';
56
- import { g as getSerializers } from './index-59b21a97.js';
56
+ import { g as getSerializers } from './index-d9cf292f.js';
57
57
  import './util-7700fc59.js';
58
58
  import './brightcove-react-player-loader.es-83f53e4e.js';
59
59
  import 'next/head';
@@ -43,7 +43,7 @@ import './GroupDeck.js';
43
43
  import 'react-bootstrap';
44
44
  import './iconBase-602d52fe.js';
45
45
  import './index.esm-29e48d38.js';
46
- import { g as getSerializers } from './index-59b21a97.js';
46
+ import { g as getSerializers } from './index-d9cf292f.js';
47
47
  import './util-7700fc59.js';
48
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
49
49
  import Head from 'next/head';
@@ -48,7 +48,7 @@ import 'react-bootstrap';
48
48
  import './iconBase-602d52fe.js';
49
49
  import './index.esm-29e48d38.js';
50
50
  import VideoSeriesListing from './VideoSeriesListing.js';
51
- import { g as getSerializers } from './index-59b21a97.js';
51
+ import { g as getSerializers } from './index-d9cf292f.js';
52
52
  import './util-7700fc59.js';
53
53
  import './brightcove-react-player-loader.es-83f53e4e.js';
54
54
  import 'next/head';
package/dist/esm/View.js CHANGED
@@ -45,7 +45,7 @@ import './GroupDeck.js';
45
45
  import 'react-bootstrap';
46
46
  import './iconBase-602d52fe.js';
47
47
  import './index.esm-29e48d38.js';
48
- import { r as renderAuthor, g as getSerializers } from './index-59b21a97.js';
48
+ import { r as renderAuthor, g as getSerializers } from './index-d9cf292f.js';
49
49
  import './util-7700fc59.js';
50
50
  import './brightcove-react-player-loader.es-83f53e4e.js';
51
51
  import Head from 'next/head';
@@ -432,6 +432,56 @@ var getSocialShareDisableFlag = function getSocialShareDisableFlag(article) {
432
432
  return showSocialShare;
433
433
  };
434
434
 
435
+ function generateSchema(props) {
436
+ var _props$article = props.article,
437
+ title = _props$article.title,
438
+ summary = _props$article.summary,
439
+ url = _props$article.url,
440
+ authorDetails = _props$article.authorDetails,
441
+ thumbnail = _props$article.thumbnail,
442
+ published = _props$article.published,
443
+ _updatedAt = _props$article._updatedAt,
444
+ seoTag = _props$article.seoTag,
445
+ _props$Website = props.Website,
446
+ liveDomain = _props$Website.liveDomain,
447
+ websiteTitle = _props$Website.title,
448
+ logo = _props$Website.logo,
449
+ client = props.client;
450
+
451
+ var isAuthorFound = authorDetails && authorDetails.length > 0 && authorDetails[0].displayName;
452
+
453
+ if (title && thumbnail && published && websiteTitle && liveDomain && logo && isAuthorFound) {
454
+ return {
455
+ '@context': 'https://schema.org',
456
+ '@type': 'NewsArticle',
457
+ mainEntityOfPage: 'https://' + liveDomain + '/view/' + url.current,
458
+ headline: title,
459
+ description: summary,
460
+ image: urlFor({ source: thumbnail, client: client }),
461
+ keywords: seoTag.join(),
462
+ author: {
463
+ '@type': 'Person',
464
+ name: authorDetails[0].displayName
465
+ },
466
+ publisher: {
467
+ '@type': 'Organization',
468
+ name: websiteTitle,
469
+ logo: {
470
+ '@type': 'ImageObject',
471
+ url: 'https://' + liveDomain + logo
472
+ }
473
+ },
474
+ datePublished: published,
475
+ dateModified: _updatedAt
476
+ };
477
+ }
478
+ return null;
479
+ }
480
+
481
+ var Schema = function Schema(props) {
482
+ return React__default.createElement('script', { type: 'application/ld+json', dangerouslySetInnerHTML: { __html: _JSON$stringify(generateSchema(props)) } });
483
+ };
484
+
435
485
  var Article = forwardRef(function (props, ref) {
436
486
  var onVote = function () {
437
487
  var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(nodeKey, selectedChoice) {
@@ -1275,7 +1325,8 @@ var Article = forwardRef(function (props, ref) {
1275
1325
  )
1276
1326
  )
1277
1327
  ),
1278
- props.infiniteScroll && React__default.createElement('hr', { className: 'article-seperater mb-5 mt-3' })
1328
+ props.infiniteScroll && React__default.createElement('hr', { className: 'article-seperater mb-5 mt-3' }),
1329
+ React__default.createElement(Schema, { article: props.article, Website: props.Website, client: props.client })
1279
1330
  );
1280
1331
  };
1281
1332
 
@@ -43,7 +43,7 @@ import './GroupDeck.js';
43
43
  import 'react-bootstrap';
44
44
  import './iconBase-602d52fe.js';
45
45
  import './index.esm-29e48d38.js';
46
- export { g as default } from './index-59b21a97.js';
46
+ export { g as default } from './index-d9cf292f.js';
47
47
  import './util-7700fc59.js';
48
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
49
49
  import 'next/head';
@@ -78,14 +78,7 @@ var Slideshow = function Slideshow(_ref) {
78
78
  return React__default.createElement(
79
79
  Carousel.Item,
80
80
  { key: slide._key },
81
- React__default.createElement(
82
- 'picture',
83
- null,
84
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 1500, imageFit: 'max' }) }),
85
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 1000, imageFit: 'max' }) }),
86
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.asset, client: client, imageWidth: 500, imageFit: 'max' }) }),
87
- React__default.createElement('img', { src: urlFor({ source: slide.asset, client: client }), alt: slide.alt || '', style: { width: '100%' } })
88
- ),
81
+ React__default.createElement('img', { src: slide.asset && urlFor({ source: slide.asset, client: client }), alt: slide.alt && slide.alt, style: { width: '100%' } }),
89
82
  slide.caption && React__default.createElement(
90
83
  'p',
91
84
  { className: 'p-2' },
@@ -2175,14 +2168,7 @@ var Media = function Media(_ref) {
2175
2168
  React__default.createElement(
2176
2169
  LazyLoad,
2177
2170
  { once: true },
2178
- React__default.createElement(
2179
- 'picture',
2180
- null,
2181
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 1500, imageFit: 'max' }) }),
2182
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 1000, imageFit: 'max' }) }),
2183
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: poster, client: client, imageWidth: 500, imageFit: 'max' }) }),
2184
- React__default.createElement('img', _extends$1({ className: 'media-image', style: { maxWidth: '100%' }, src: urlFor({ source: poster, client: client }) }, alt && { alt: alt }))
2185
- )
2171
+ React__default.createElement(Figure$1.Image, _extends$1({ className: 'media-image', style: { maxWidth: '100%' }, src: urlFor({ source: poster, client: client }) }, alt && { alt: alt }))
2186
2172
  ),
2187
2173
  caption && React__default.createElement(
2188
2174
  Figure$1.Caption,
@@ -8149,14 +8135,7 @@ var Slideshow$1 = function Slideshow(_ref) {
8149
8135
  React__default.createElement(
8150
8136
  LazyLoad,
8151
8137
  null,
8152
- React__default.createElement(
8153
- 'picture',
8154
- null,
8155
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8156
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8157
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: slide.slideshowImage, client: client, imageWidth: 500, imageFit: 'max' }) }),
8158
- React__default.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
8159
- )
8138
+ React__default.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
8160
8139
  )
8161
8140
  ),
8162
8141
  React__default.createElement(
@@ -8251,14 +8230,7 @@ var MultiMedia = function MultiMedia(props) {
8251
8230
  imageBox && React__default.createElement(
8252
8231
  LazyLoad,
8253
8232
  { once: true },
8254
- React__default.createElement(
8255
- 'picture',
8256
- null,
8257
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 1500, imageFit: 'max' }) }),
8258
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 1000, imageFit: 'max' }) }),
8259
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: media.poster, client: client, imageWidth: 500, imageFit: 'max' }) }),
8260
- React__default.createElement('img', { 'images-count': medias.length, className: 'multi-media-image', src: urlFor({ source: media.poster, client: client }), alt: media.alt || '' })
8261
- )
8233
+ React__default.createElement('img', { 'images-count': medias.length, className: 'multi-media-image', src: urlFor({ source: media.poster, client: client }), alt: media.alt })
8262
8234
  ),
8263
8235
  media.caption && React__default.createElement(
8264
8236
  'span',
@@ -9096,33 +9068,6 @@ function useOutsideAlerter(ref, container, setOpenImg, setOpenImgSrc) {
9096
9068
  }, [ref]);
9097
9069
  }
9098
9070
 
9099
- var FigureImage$1 = React__default.memo(function (_ref) {
9100
- var imagesCount = _ref.imagesCount,
9101
- image = _ref.image,
9102
- client = _ref.client,
9103
- imgAlt = _ref.imgAlt,
9104
- link = _ref.link,
9105
- handleClickFigure = _ref.handleClickFigure;
9106
-
9107
- return React__default.createElement(
9108
- 'picture',
9109
- null,
9110
- React__default.createElement('source', { media: '(min-width: 1200px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1500, imageFit: 'max' }) }),
9111
- React__default.createElement('source', { media: '(min-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 1000, imageFit: 'max' }) }),
9112
- React__default.createElement('source', { media: '(max-width: 600px)', srcSet: urlFor({ source: image, client: client, imageWidth: 500, imageFit: 'max' }) }),
9113
- React__default.createElement('img', _extends$1({
9114
- 'images-count': imagesCount,
9115
- className: 'multi-figure-image',
9116
- src: urlFor({ source: image, client: client }),
9117
- alt: imgAlt ? imgAlt : 'multi figure'
9118
- }, !link && {
9119
- onClick: function onClick() {
9120
- return handleClickFigure(image, client);
9121
- }
9122
- }))
9123
- );
9124
- });
9125
-
9126
9071
  var MultiFigure = function MultiFigure(props) {
9127
9072
  var images = props.node.images,
9128
9073
  client = props.client,
@@ -9142,9 +9087,9 @@ var MultiFigure = function MultiFigure(props) {
9142
9087
  var lightboxContainer = useRef(null);
9143
9088
  useOutsideAlerter(lightboxImage, lightboxContainer, setOpenImg, setOpenImgSrc);
9144
9089
 
9145
- var FigureCaption = function FigureCaption(_ref2) {
9146
- var caption = _ref2.caption,
9147
- imgcaption = _ref2.imgcaption;
9090
+ var FigureCaption = function FigureCaption(_ref) {
9091
+ var caption = _ref.caption,
9092
+ imgcaption = _ref.imgcaption;
9148
9093
 
9149
9094
  if (imgcaption && imgcaption.length > 0) {
9150
9095
  return React__default.createElement(
@@ -9157,11 +9102,6 @@ var MultiFigure = function MultiFigure(props) {
9157
9102
  } else return null;
9158
9103
  };
9159
9104
 
9160
- var handleClickFigure = useCallback(function (image, client) {
9161
- setOpenImgSrc(urlFor({ source: image, client: client }));
9162
- setOpenImg(true);
9163
- }, [client]);
9164
-
9165
9105
  if (images && images.length > 0) {
9166
9106
  return React__default.createElement(
9167
9107
  'div',
@@ -9182,7 +9122,7 @@ var MultiFigure = function MultiFigure(props) {
9182
9122
  React__default.createElement(
9183
9123
  LazyLoad,
9184
9124
  { once: true },
9185
- React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9125
+ React__default.createElement('img', { 'images-count': images.length, className: 'multi-figure-image', src: urlFor({ source: image.asset, client: client }), alt: image.alt })
9186
9126
  ),
9187
9127
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9188
9128
  )
@@ -9192,7 +9132,16 @@ var MultiFigure = function MultiFigure(props) {
9192
9132
  React__default.createElement(
9193
9133
  LazyLoad,
9194
9134
  { once: true },
9195
- React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9135
+ React__default.createElement('img', {
9136
+ 'images-count': images.length,
9137
+ className: 'multi-figure-image',
9138
+ src: urlFor({ source: image.asset, client: client }),
9139
+ alt: image.alt,
9140
+ onClick: function onClick() {
9141
+ setOpenImgSrc(urlFor({ source: image, client: client }));
9142
+ setOpenImg(true);
9143
+ }
9144
+ })
9196
9145
  ),
9197
9146
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9198
9147
  )
@@ -9207,7 +9156,7 @@ var MultiFigure = function MultiFigure(props) {
9207
9156
  React__default.createElement(
9208
9157
  'style',
9209
9158
  { jsx: 'true' },
9210
- '\n .multi-figure-caption,\n .multi-figure-caption h1,\n .multi-figure-caption h2,\n .multi-figure-caption h3,\n .multi-figure-caption h4,\n .multi-figure-caption h5,\n .multi-figure-caption h6,\n .multi-figure-caption p,\n .multi-figure-caption ul {\n color: #6c757d;\n font-size: 0.875rem;\n }\n\n .multi-figure-container {\n margin-bottom: 1rem;\n }\n .multi-figure-image {\n width: 100%;\n height: auto;\n object-fit: contain;\n cursor: pointer;\n }\n .multi-figure-image-container {\n padding-right: 0.5rem;\n }\n /* Small devices (portrait tablets and phones, 767px and down) */\n @media (max-width: 767px) {\n .multi-figure-image-container {\n margin-bottom: 1rem;\n }\n }\n\n /* Medium devices (landscape tablets, 768px and up) */\n @media (min-width: 768px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 100px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 130px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 200px;\n }\n .multi-figure-container [class*=\'col-\'] + [class*=\'col-\'] {\n padding-left: 0.75rem;\n }\n }\n\n /* Large devices (laptops/desktops, 992px and up) */\n @media (min-width: 992px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 150px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 200px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 300px;\n }\n }\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 3000000;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
9159
+ '\n .multi-figure-caption,\n .multi-figure-caption h1,\n .multi-figure-caption h2,\n .multi-figure-caption h3,\n .multi-figure-caption h4,\n .multi-figure-caption h5,\n .multi-figure-caption h6,\n .multi-figure-caption p,\n .multi-figure-caption ul {\n color: #6c757d;\n font-size: 0.875rem;\n }\n\n .multi-figure-container {\n margin-bottom: 1rem;\n }\n .multi-figure-image {\n width: 100%;\n height: auto;\n object-fit: contain;\n }\n .multi-figure-image-container {\n padding-right: 0.5rem;\n }\n /* Small devices (portrait tablets and phones, 767px and down) */\n @media (max-width: 767px) {\n .multi-figure-image-container {\n margin-bottom: 1rem;\n }\n }\n\n /* Medium devices (landscape tablets, 768px and up) */\n @media (min-width: 768px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 100px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 130px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 200px;\n }\n .multi-figure-container [class*=\'col-\'] + [class*=\'col-\'] {\n padding-left: 0.75rem;\n }\n }\n\n /* Large devices (laptops/desktops, 992px and up) */\n @media (min-width: 992px) {\n .multi-figure-image[images-count=\'4\'] {\n max-height: 150px;\n }\n .multi-figure-image[images-count=\'3\'] {\n max-height: 200px;\n }\n .multi-figure-image[images-count=\'2\'] {\n max-height: 300px;\n }\n }\n\n /* Styles the lightbox, removes it from sight and adds the fade-in transition */\n\n .lightbox-target {\n position: fixed;\n top: -100%;\n width: 100%;\n background: rgba(0, 0, 0, 0.7);\n width: 100%;\n opacity: 0;\n -webkit-transition: opacity 0.5s ease-in-out;\n -moz-transition: opacity 0.5s ease-in-out;\n -o-transition: opacity 0.5s ease-in-out;\n transition: opacity 0.5s ease-in-out;\n overflow: hidden;\n }\n\n .lightbox-target.close {\n opacity: 0;\n }\n\n /* Styles the lightbox image, centers it vertically and horizontally, adds the zoom-in transition and makes it responsive using a combination of margin and absolute positioning */\n\n .lightbox-target img {\n margin: auto;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n max-height: 0%;\n max-width: 0%;\n border: 3px solid white;\n box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);\n box-sizing: border-box;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Styles the close link, adds the slide down transition */\n\n a.lightbox-close {\n display: block;\n width: 50px;\n height: 50px;\n box-sizing: border-box;\n background: white;\n color: black;\n text-decoration: none;\n position: absolute;\n top: -80px;\n right: 0;\n -webkit-transition: 0.5s ease-in-out;\n -moz-transition: 0.5s ease-in-out;\n -o-transition: 0.5s ease-in-out;\n transition: 0.5s ease-in-out;\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:before {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(45deg);\n -moz-transform: rotate(45deg);\n -o-transform: rotate(45deg);\n transform: rotate(45deg);\n }\n\n /* Provides part of the "X" to eliminate an image from the close link */\n\n a.lightbox-close:after {\n content: \'\';\n display: block;\n height: 30px;\n width: 1px;\n background: black;\n position: absolute;\n left: 26px;\n top: 10px;\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n }\n\n /* Uses the :target pseudo-class to perform the animations upon clicking the .lightbox-target anchor */\n\n .lightbox-target.open {\n opacity: 1;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 3000000;\n }\n\n .lightbox-target.open img {\n max-height: 100%;\n max-width: 100%;\n }\n\n .lightbox-target.open a.lightbox-close {\n top: 0px;\n }\n '
9211
9160
  )
9212
9161
  );
9213
9162
  }
package/dist/esm/index.js CHANGED
@@ -70,7 +70,7 @@ import './index.esm-29e48d38.js';
70
70
  export { default as VideoSeriesListing } from './VideoSeriesListing.js';
71
71
  export { default as ArticleSeriesListing } from './ArticleSeriesListing.js';
72
72
  export { default as ArticleCarousel } from './ArticleCarousel.js';
73
- export { g as getSerializers } from './index-59b21a97.js';
73
+ export { g as getSerializers } from './index-d9cf292f.js';
74
74
  import './util-7700fc59.js';
75
75
  import './brightcove-react-player-loader.es-83f53e4e.js';
76
76
  import 'next/head';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.832-beta.0",
3
+ "version": "1.0.832-beta.1",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",