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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/ArticleProgramLandingPage.js +2 -2
  3. package/dist/cjs/EventsDeck.js +1 -1
  4. package/dist/cjs/ExternalResources.js +2 -2
  5. package/dist/cjs/GridContent.js +2 -105
  6. package/dist/cjs/HamMagazine.js +2 -2
  7. package/dist/cjs/HorizontalArticleListing.js +2 -2
  8. package/dist/cjs/IssueLanding.js +2 -2
  9. package/dist/cjs/MediaSeriesLanding.js +2 -2
  10. package/dist/cjs/NavMagazine.js +2 -2
  11. package/dist/cjs/NavNative.js +1 -1
  12. package/dist/cjs/PartnerDetailListing.js +2 -2
  13. package/dist/cjs/PublicationDeck.js +1 -1
  14. package/dist/cjs/SeriesListingDeck.js +1 -1
  15. package/dist/cjs/TaxonomyDescription.js +2 -2
  16. package/dist/cjs/TemplateNormal.js +2 -2
  17. package/dist/cjs/VideoProgramLandingPage.js +2 -2
  18. package/dist/cjs/View.js +3 -3
  19. package/dist/cjs/YahooHero.js +4 -4
  20. package/dist/cjs/getSerializers.js +2 -2
  21. package/dist/cjs/{index-454b179d.js → index-0b9683e0.js} +71 -20
  22. package/dist/cjs/index.js +4 -4
  23. package/dist/cjs/urlFor.js +1 -1
  24. package/dist/esm/ArticleProgramLandingPage.js +2 -2
  25. package/dist/esm/EventsDeck.js +1 -1
  26. package/dist/esm/ExternalResources.js +2 -2
  27. package/dist/esm/GridContent.js +2 -105
  28. package/dist/esm/HamMagazine.js +2 -2
  29. package/dist/esm/HorizontalArticleListing.js +2 -2
  30. package/dist/esm/IssueLanding.js +2 -2
  31. package/dist/esm/MediaSeriesLanding.js +2 -2
  32. package/dist/esm/NavMagazine.js +2 -2
  33. package/dist/esm/NavNative.js +1 -1
  34. package/dist/esm/PartnerDetailListing.js +2 -2
  35. package/dist/esm/PublicationDeck.js +1 -1
  36. package/dist/esm/SeriesListingDeck.js +1 -1
  37. package/dist/esm/TaxonomyDescription.js +2 -2
  38. package/dist/esm/TemplateNormal.js +2 -2
  39. package/dist/esm/VideoProgramLandingPage.js +2 -2
  40. package/dist/esm/View.js +3 -3
  41. package/dist/esm/YahooHero.js +4 -4
  42. package/dist/esm/getSerializers.js +2 -2
  43. package/dist/esm/{index-0d1eb0c4.js → index-59b21a97.js} +71 -20
  44. package/dist/esm/index.js +4 -4
  45. package/dist/esm/urlFor.js +1 -1
  46. package/package.json +1 -1
  47. package/dist/cjs/{SeriesSlider-85eec772.js → SeriesSlider-d16a5ae5.js} +0 -0
  48. package/dist/cjs/{SocialSearchComponent-cea213aa.js → SocialSearchComponent-97dd19a5.js} +1 -1
  49. package/dist/esm/{SeriesSlider-afab5c1b.js → SeriesSlider-8dc17b11.js} +0 -0
  50. package/dist/esm/{SocialSearchComponent-03c3e869.js → SocialSearchComponent-db5ba548.js} +1 -1
@@ -36,7 +36,6 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-fc1
36
36
  import './Segment.js';
37
37
  import './Beam.js';
38
38
  import './AdSlot.js';
39
- import 'react-bootstrap/Button';
40
39
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
41
40
  import './index-c7e2ac95.js';
42
41
  import './smoothscroll-0cd4c7a6.js';
@@ -44,7 +43,7 @@ import './GroupDeck.js';
44
43
  import 'react-bootstrap';
45
44
  import './iconBase-602d52fe.js';
46
45
  import './index.esm-29e48d38.js';
47
- import { g as getSerializers } from './index-0d1eb0c4.js';
46
+ import { g as getSerializers } from './index-59b21a97.js';
48
47
  import './util-7700fc59.js';
49
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
50
49
  import Head from 'next/head';
@@ -52,6 +51,7 @@ import 'react-share';
52
51
  import './SocialShare.js';
53
52
  import './_object-to-array-7e804fce.js';
54
53
  import 'react-bootstrap/Pagination';
54
+ import 'react-bootstrap/Button';
55
55
  import 'react-bootstrap/Figure';
56
56
 
57
57
  var _this = undefined;
@@ -26,7 +26,6 @@ import './asyncToGenerator-fc1c2e29.js';
26
26
  import './Segment.js';
27
27
  import './Beam.js';
28
28
  import './AdSlot.js';
29
- import 'react-bootstrap/Button';
30
29
  import './get-1e515072.js';
31
30
  import './eq-b470f743.js';
32
31
  import './react-social-icons-a7d5c5c7.js';
@@ -34,6 +33,7 @@ import 'react-bootstrap';
34
33
  import './iconBase-602d52fe.js';
35
34
  import './index.esm-29e48d38.js';
36
35
  import 'next/head';
36
+ import 'react-bootstrap/Button';
37
37
  import './defineProperty-94fd8bfc.js';
38
38
  import 'react-bootstrap/Form';
39
39
  import { Column1 } from './Column1.js';
@@ -55,7 +55,7 @@ import './NavFooter-e27bd93b.js';
55
55
  import './index.esm-fd746768.js';
56
56
  import './SocialIcons.js';
57
57
  import 'react-bootstrap/FormControl';
58
- import './SocialSearchComponent-03c3e869.js';
58
+ import './SocialSearchComponent-db5ba548.js';
59
59
  import MagazineNav from './NavMagazine.js';
60
60
  import { NavNative } from './NavNative.js';
61
61
  import './Search.js';
@@ -39,7 +39,6 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-fc1
39
39
  import './Segment.js';
40
40
  import './Beam.js';
41
41
  import './AdSlot.js';
42
- import Button$1 from 'react-bootstrap/Button';
43
42
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
44
43
  import './index-c7e2ac95.js';
45
44
  import './smoothscroll-0cd4c7a6.js';
@@ -49,7 +48,7 @@ import 'react-bootstrap';
49
48
  import './iconBase-602d52fe.js';
50
49
  import './index.esm-29e48d38.js';
51
50
  import VideoSeriesListing from './VideoSeriesListing.js';
52
- import { g as getSerializers } from './index-0d1eb0c4.js';
51
+ import { g as getSerializers } from './index-59b21a97.js';
53
52
  import './util-7700fc59.js';
54
53
  import './brightcove-react-player-loader.es-83f53e4e.js';
55
54
  import 'next/head';
@@ -57,6 +56,7 @@ import 'react-share';
57
56
  import './SocialShare.js';
58
57
  import './_object-to-array-7e804fce.js';
59
58
  import 'react-bootstrap/Pagination';
59
+ import Button$1 from 'react-bootstrap/Button';
60
60
  import 'react-bootstrap/Figure';
61
61
  import Form from 'react-bootstrap/Form';
62
62
 
package/dist/esm/View.js CHANGED
@@ -38,7 +38,6 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-fc1
38
38
  import './Segment.js';
39
39
  import './Beam.js';
40
40
  import DFPAdSlot from './AdSlot.js';
41
- import Button$1 from 'react-bootstrap/Button';
42
41
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
43
42
  import './index-c7e2ac95.js';
44
43
  import './smoothscroll-0cd4c7a6.js';
@@ -46,7 +45,7 @@ import './GroupDeck.js';
46
45
  import 'react-bootstrap';
47
46
  import './iconBase-602d52fe.js';
48
47
  import './index.esm-29e48d38.js';
49
- import { r as renderAuthor, g as getSerializers } from './index-0d1eb0c4.js';
48
+ import { r as renderAuthor, g as getSerializers } from './index-59b21a97.js';
50
49
  import './util-7700fc59.js';
51
50
  import './brightcove-react-player-loader.es-83f53e4e.js';
52
51
  import Head from 'next/head';
@@ -54,6 +53,7 @@ import 'react-share';
54
53
  import SocialShare from './SocialShare.js';
55
54
  import './_object-to-array-7e804fce.js';
56
55
  import 'react-bootstrap/Pagination';
56
+ import Button$1 from 'react-bootstrap/Button';
57
57
  import 'react-bootstrap/Figure';
58
58
  import Form from 'react-bootstrap/Form';
59
59
  import FormControl from 'react-bootstrap/FormControl';
@@ -64,7 +64,7 @@ import getSeriesDetail from './getSeriesDetail.js';
64
64
  import 'nookies';
65
65
  import getQuery from './getQuery.js';
66
66
  import getRelatedArticle from './getRelatedArticle.js';
67
- import { S as SeriesSlider } from './SeriesSlider-afab5c1b.js';
67
+ import { S as SeriesSlider } from './SeriesSlider-8dc17b11.js';
68
68
  import { g as getTargeting, a as getContentPlacementUrl } from './getTargeting-82e86707.js';
69
69
  import getKeywords from './getKeywords.js';
70
70
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
@@ -25,7 +25,7 @@ var YahooHero = function YahooHero(props) {
25
25
  var topArticleThumbnail = '';
26
26
  var topArticleAltText = topArticle.title;
27
27
  if (topArticle.thumbnail && topArticle.thumbnail.asset) {
28
- topArticleThumbnail = urlFor({ client: client, source: topArticle.thumbnail.asset, imageWidth: 600 });
28
+ topArticleThumbnail = urlFor({ client: client, source: topArticle.thumbnail, imageWidth: 600 });
29
29
  topArticleAltText = topArticle.thumbnail.asset.originalFileName;
30
30
  } else if (props.thumbnail) {
31
31
  topArticleThumbnail = props.thumbnail;
@@ -73,8 +73,8 @@ var YahooHero = function YahooHero(props) {
73
73
  subArticles.map(function (article, index) {
74
74
  var articleThumbnail = '';
75
75
  var articleAltText = article.title;
76
- if (article.thumbnail && article.thumbnail.asset) {
77
- articleThumbnail = urlFor({ client: client, source: article.thumbnail.asset, imageWidth: 250 });
76
+ if (article.thumbnail && article.thumbnail) {
77
+ articleThumbnail = urlFor({ client: client, source: article.thumbnail, imageWidth: 250 });
78
78
 
79
79
  articleAltText = article.thumbnail.asset.originalFileName;
80
80
  } else if (props.thumbnail) {
@@ -114,7 +114,7 @@ var YahooHero = function YahooHero(props) {
114
114
  React__default.createElement(
115
115
  'style',
116
116
  { jsx: 'true' },
117
- '\n .article-hero{\n padding-bottom:15px\n }\n .yh-top-article {\n display: flex;\n flex-direction: row;\n position: relative;\n font-family: Roboto, sans-serif;\n margin-bottom: 1rem;\n border-radius: 15px;\n overflow: hidden;\n min-height: 315px;\n }\n .yh-top-article--img {\n width: 100%;\n min-height: 240px;\n overflow: hidden;\n }\n .yh-top-article--img img {\n width: 100%;\n height: auto;\n min-height: 100%;\n max-height: 615px;\n object-fit: cover;\n }\n .yh-top-article--body {\n height: 100%;\n width: 40%;\n min-width: 320px;\n right: 0;\n position: absolute;\n color: white;\n padding: 1.75rem;\n height: 315px;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n }\n .yh-top-article--body h1 {\n color: white!important;\n font-size: 1.4rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--body p {\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--blur {\n height: 100%;\n width: 40%;\n right: 0;\n position: absolute;\n filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));\n background: rgba(0,0,0,.65);\n min-width: 320px;\n }\n .yh-sub-article-container {\n display: flex;\n justify-content: space-between;\n }\n .yh-sub-article {\n width: 23.25%;\n }\n .yh-sub-article p.yh-sub-article--title {\n font-weight: bold;\n }\n .yh-sub-article img {\n width: 100%;\n max-height: 150px;\n object-fit: cover;\n border-radius: 15px;\n }\n .yh-sub-article img[src=\'' + props.thumbnail + '\']{\n object-fit: contain;\n }\n .yh-sub-article--title {\n font-weight: bold;\n margin-top: .25rem;\n font-size: 1rem;\n margin-bottom: .25rem;\n }\n .yh-sub-article--info {\n font-size: .8rem;\n margin-bottom: 0;\n\n }\n @media screen and (max-width: 968px) {\n .yh-sub-article-container {\n flex-wrap: wrap;\n }\n .yh-sub-article {\n width: 48%;\n margin-bottom: 1rem;\n }\n }\n '
117
+ '\n .article-hero{\n padding-bottom:15px\n }\n .yh-top-article {\n display: flex;\n flex-direction: row;\n position: relative;\n font-family: Roboto, sans-serif;\n margin-bottom: 1rem;\n border-radius: 15px;\n overflow: hidden;\n min-height: 315px;\n }\n .yh-top-article--img {\n width: 100%;\n min-height: 240px;\n overflow: hidden;\n }\n .yh-top-article--img img {\n width: 100%;\n height: auto;\n min-height: 100%;\n max-height: 615px;\n object-fit: cover;\n }\n .yh-top-article--body {\n height: 100%;\n width: 40%;\n min-width: 320px;\n right: 0;\n position: absolute;\n color: white;\n padding: 1.75rem;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n }\n .yh-top-article--body h1 {\n color: white!important;\n font-size: 1.4rem;\n font-weight: 500;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--body p {\n font-size: 0.9rem;\n margin-bottom: 0.5rem;\n }\n .yh-top-article--blur {\n height: 100%;\n width: 40%;\n right: 0;\n position: absolute;\n filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));\n background: rgba(0,0,0,.65);\n min-width: 320px;\n }\n .yh-sub-article-container {\n display: flex;\n justify-content: space-between;\n }\n .yh-sub-article {\n width: 23.25%;\n }\n .yh-sub-article p.yh-sub-article--title {\n font-weight: bold;\n }\n .yh-sub-article img {\n width: 100%;\n max-height: 150px;\n object-fit: cover;\n border-radius: 15px;\n }\n .yh-sub-article img[src=\'' + props.thumbnail + '\']{\n object-fit: contain;\n }\n .yh-sub-article--title {\n font-weight: bold;\n margin-top: .25rem;\n font-size: 1rem;\n margin-bottom: .25rem;\n }\n .yh-sub-article--info {\n font-size: .8rem;\n margin-bottom: 0;\n\n }\n @media screen and (max-width: 968px) {\n .yh-sub-article-container {\n flex-wrap: wrap;\n }\n .yh-sub-article {\n width: 48%;\n margin-bottom: 1rem;\n }\n }\n '
118
118
  )
119
119
  );
120
120
  };
@@ -36,7 +36,6 @@ import './asyncToGenerator-fc1c2e29.js';
36
36
  import './Segment.js';
37
37
  import './Beam.js';
38
38
  import './AdSlot.js';
39
- import 'react-bootstrap/Button';
40
39
  import './BlockContent-e9b4ddcf.js';
41
40
  import './index-c7e2ac95.js';
42
41
  import './smoothscroll-0cd4c7a6.js';
@@ -44,7 +43,7 @@ import './GroupDeck.js';
44
43
  import 'react-bootstrap';
45
44
  import './iconBase-602d52fe.js';
46
45
  import './index.esm-29e48d38.js';
47
- export { g as default } from './index-0d1eb0c4.js';
46
+ export { g as default } from './index-59b21a97.js';
48
47
  import './util-7700fc59.js';
49
48
  import './brightcove-react-player-loader.es-83f53e4e.js';
50
49
  import 'next/head';
@@ -52,4 +51,5 @@ import 'react-share';
52
51
  import './SocialShare.js';
53
52
  import './_object-to-array-7e804fce.js';
54
53
  import 'react-bootstrap/Pagination';
54
+ import 'react-bootstrap/Button';
55
55
  import 'react-bootstrap/Figure';
@@ -19,7 +19,6 @@ import { _ as _slicedToArray, a as _getIterator } from './slicedToArray-641f241f
19
19
  import Segment from './Segment.js';
20
20
  import Beam from './Beam.js';
21
21
  import DFPAdSlot from './AdSlot.js';
22
- import Button$1 from 'react-bootstrap/Button';
23
22
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
24
23
  import { g as getYoutubeId } from './index-c7e2ac95.js';
25
24
  import GroupDeck from './GroupDeck.js';
@@ -31,6 +30,7 @@ import Head from 'next/head';
31
30
  import SocialShare from './SocialShare.js';
32
31
  import { _ as _objectToArray } from './_object-to-array-7e804fce.js';
33
32
  import Pagination$1 from 'react-bootstrap/Pagination';
33
+ import Button$1 from 'react-bootstrap/Button';
34
34
  import Figure$1$1 from 'react-bootstrap/Figure';
35
35
 
36
36
  var onChangeSlide = function onChangeSlide(selectedIndex, router) {
@@ -78,7 +78,14 @@ var Slideshow = function Slideshow(_ref) {
78
78
  return React__default.createElement(
79
79
  Carousel.Item,
80
80
  { key: slide._key },
81
- React__default.createElement('img', { src: slide.asset && urlFor({ source: slide.asset, client: client }), alt: slide.alt && slide.alt, style: { width: '100%' } }),
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
+ ),
82
89
  slide.caption && React__default.createElement(
83
90
  'p',
84
91
  { className: 'p-2' },
@@ -2168,7 +2175,14 @@ var Media = function Media(_ref) {
2168
2175
  React__default.createElement(
2169
2176
  LazyLoad,
2170
2177
  { once: true },
2171
- React__default.createElement(Figure$1.Image, _extends$1({ className: 'media-image', style: { maxWidth: '100%' }, src: urlFor({ source: poster, client: client }) }, alt && { alt: alt }))
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
+ )
2172
2186
  ),
2173
2187
  caption && React__default.createElement(
2174
2188
  Figure$1.Caption,
@@ -8135,7 +8149,14 @@ var Slideshow$1 = function Slideshow(_ref) {
8135
8149
  React__default.createElement(
8136
8150
  LazyLoad,
8137
8151
  null,
8138
- React__default.createElement('img', { src: urlFor({ source: slide.slideshowImage, client: client }), alt: slide.slideshowImage.alt || 'slideshow image', style: { width: '100%' } })
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
+ )
8139
8160
  )
8140
8161
  ),
8141
8162
  React__default.createElement(
@@ -8230,7 +8251,14 @@ var MultiMedia = function MultiMedia(props) {
8230
8251
  imageBox && React__default.createElement(
8231
8252
  LazyLoad,
8232
8253
  { once: true },
8233
- React__default.createElement('img', { 'images-count': medias.length, className: 'multi-media-image', src: urlFor({ source: media.poster, client: client }), alt: media.alt })
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
+ )
8234
8262
  ),
8235
8263
  media.caption && React__default.createElement(
8236
8264
  'span',
@@ -9068,6 +9096,33 @@ function useOutsideAlerter(ref, container, setOpenImg, setOpenImgSrc) {
9068
9096
  }, [ref]);
9069
9097
  }
9070
9098
 
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
+
9071
9126
  var MultiFigure = function MultiFigure(props) {
9072
9127
  var images = props.node.images,
9073
9128
  client = props.client,
@@ -9087,9 +9142,9 @@ var MultiFigure = function MultiFigure(props) {
9087
9142
  var lightboxContainer = useRef(null);
9088
9143
  useOutsideAlerter(lightboxImage, lightboxContainer, setOpenImg, setOpenImgSrc);
9089
9144
 
9090
- var FigureCaption = function FigureCaption(_ref) {
9091
- var caption = _ref.caption,
9092
- imgcaption = _ref.imgcaption;
9145
+ var FigureCaption = function FigureCaption(_ref2) {
9146
+ var caption = _ref2.caption,
9147
+ imgcaption = _ref2.imgcaption;
9093
9148
 
9094
9149
  if (imgcaption && imgcaption.length > 0) {
9095
9150
  return React__default.createElement(
@@ -9102,6 +9157,11 @@ var MultiFigure = function MultiFigure(props) {
9102
9157
  } else return null;
9103
9158
  };
9104
9159
 
9160
+ var handleClickFigure = useCallback(function (image, client) {
9161
+ setOpenImgSrc(urlFor({ source: image, client: client }));
9162
+ setOpenImg(true);
9163
+ }, [client]);
9164
+
9105
9165
  if (images && images.length > 0) {
9106
9166
  return React__default.createElement(
9107
9167
  'div',
@@ -9122,7 +9182,7 @@ var MultiFigure = function MultiFigure(props) {
9122
9182
  React__default.createElement(
9123
9183
  LazyLoad,
9124
9184
  { once: true },
9125
- React__default.createElement('img', { 'images-count': images.length, className: 'multi-figure-image', src: urlFor({ source: image.asset, client: client }), alt: image.alt })
9185
+ React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, link: image.link })
9126
9186
  ),
9127
9187
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9128
9188
  )
@@ -9132,16 +9192,7 @@ var MultiFigure = function MultiFigure(props) {
9132
9192
  React__default.createElement(
9133
9193
  LazyLoad,
9134
9194
  { once: true },
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
- })
9195
+ React__default.createElement(FigureImage$1, { imagesCount: images.length, image: image, client: client, imgAlt: image.alt, handleClickFigure: handleClickFigure })
9145
9196
  ),
9146
9197
  React__default.createElement(FigureCaption, { caption: image.caption, imgcaption: image.imgcaption })
9147
9198
  )
@@ -9156,7 +9207,7 @@ var MultiFigure = function MultiFigure(props) {
9156
9207
  React__default.createElement(
9157
9208
  'style',
9158
9209
  { jsx: 'true' },
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 '
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 '
9160
9211
  )
9161
9212
  );
9162
9213
  }
package/dist/esm/index.js CHANGED
@@ -43,7 +43,6 @@ export { default as Beam } from './Beam.js';
43
43
  export { default as AdSlot } from './AdSlot.js';
44
44
  import './ADInfeed-b566ce41.js';
45
45
  export { default as DeckContent } from './DeckContent.js';
46
- import 'react-bootstrap/Button';
47
46
  import './lodash-17fdfebb.js';
48
47
  import './ADlgInfeed-5eb7281d.js';
49
48
  import './getContentCategory-15dcc413.js';
@@ -71,7 +70,7 @@ import './index.esm-29e48d38.js';
71
70
  export { default as VideoSeriesListing } from './VideoSeriesListing.js';
72
71
  export { default as ArticleSeriesListing } from './ArticleSeriesListing.js';
73
72
  export { default as ArticleCarousel } from './ArticleCarousel.js';
74
- export { g as getSerializers } from './index-0d1eb0c4.js';
73
+ export { g as getSerializers } from './index-59b21a97.js';
75
74
  import './util-7700fc59.js';
76
75
  import './brightcove-react-player-loader.es-83f53e4e.js';
77
76
  import 'next/head';
@@ -79,6 +78,7 @@ import 'react-share';
79
78
  export { default as SocialShare } from './SocialShare.js';
80
79
  import './_object-to-array-7e804fce.js';
81
80
  import 'react-bootstrap/Pagination';
81
+ import 'react-bootstrap/Button';
82
82
  import 'react-bootstrap/Figure';
83
83
  export { default as HorizontalArticleListing } from './HorizontalArticleListing.js';
84
84
  export { default as MasterDeck } from './MasterDeck.js';
@@ -119,7 +119,7 @@ import './NavFooter-e27bd93b.js';
119
119
  import './index.esm-fd746768.js';
120
120
  export { default as SocialIcons } from './SocialIcons.js';
121
121
  import 'react-bootstrap/FormControl';
122
- import './SocialSearchComponent-03c3e869.js';
122
+ import './SocialSearchComponent-db5ba548.js';
123
123
  export { default as NavMagazine } from './NavMagazine.js';
124
124
  export { NavNative } from './NavNative.js';
125
125
  export { default as Search } from './Search.js';
@@ -176,7 +176,7 @@ import 'swr';
176
176
  import 'passport-local';
177
177
  import 'mysql';
178
178
  import './md5-9be0e905.js';
179
- import './SeriesSlider-afab5c1b.js';
179
+ import './SeriesSlider-8dc17b11.js';
180
180
  export { g as getTargeting } from './getTargeting-82e86707.js';
181
181
  export { default as View } from './View.js';
182
182
  export { default as getKeywords } from './getKeywords.js';
@@ -13,7 +13,7 @@ function urlFor(_ref) {
13
13
  _ref$imageMaxHeight = _ref.imageMaxHeight,
14
14
  imageMaxHeight = _ref$imageMaxHeight === undefined ? null : _ref$imageMaxHeight,
15
15
  _ref$imageFit = _ref.imageFit,
16
- imageFit = _ref$imageFit === undefined ? null : _ref$imageFit;
16
+ imageFit = _ref$imageFit === undefined ? 'crop' : _ref$imageFit;
17
17
 
18
18
 
19
19
  //checks for old usage so it wont break view pages
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.831-beta.0",
3
+ "version": "1.0.832-beta.0",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",
@@ -6,8 +6,8 @@ var React = require('react');
6
6
  var React__default = _interopDefault(React);
7
7
  var main = require('./main-02daeefe.js');
8
8
  var slicedToArray = require('./slicedToArray-8f385299.js');
9
- var Button = _interopDefault(require('react-bootstrap/Button'));
10
9
  var iconBase = require('./iconBase-68959171.js');
10
+ var Button = _interopDefault(require('react-bootstrap/Button'));
11
11
  var Form = _interopDefault(require('react-bootstrap/Form'));
12
12
  var index_esm$2 = require('./index.esm-4d410430.js');
13
13
  var SocialIcons = require('./SocialIcons.js');
@@ -1,8 +1,8 @@
1
1
  import React__default, { useState, useRef, useEffect } from 'react';
2
2
  import { f as main_30, c as main_37 } from './main-e4a934b2.js';
3
3
  import { _ as _slicedToArray } from './slicedToArray-641f241f.js';
4
- import Button$1 from 'react-bootstrap/Button';
5
4
  import { I as IconContext } from './iconBase-602d52fe.js';
5
+ import Button$1 from 'react-bootstrap/Button';
6
6
  import Form from 'react-bootstrap/Form';
7
7
  import { G as GoSearch } from './index.esm-fd746768.js';
8
8
  import SocialIcons from './SocialIcons.js';