@mjhls/mjh-framework 1.0.1007 → 1.0.1009

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 (34) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/ArticleProgramLandingPage.js +1 -1
  3. package/dist/cjs/ExternalResources.js +1 -1
  4. package/dist/cjs/HorizontalArticleListing.js +1 -1
  5. package/dist/cjs/IssueLanding.js +1 -1
  6. package/dist/cjs/{MediaSeriesCard-8d74da19.js → MediaSeriesCard-7f8ea2ea.js} +1 -1
  7. package/dist/cjs/MediaSeriesLanding.js +2 -2
  8. package/dist/cjs/MediaSeriesLandingPaginated.js +2 -2
  9. package/dist/cjs/PartnerDetailListing.js +1 -1
  10. package/dist/cjs/PartnerDetailListingPaginated.js +1 -1
  11. package/dist/cjs/PodcastsLanding.js +2 -2
  12. package/dist/cjs/TaxonomyDescription.js +1 -1
  13. package/dist/cjs/VideoProgramLandingPage.js +1 -1
  14. package/dist/cjs/View.js +1 -1
  15. package/dist/cjs/getSerializers.js +1 -1
  16. package/dist/cjs/{index-433cc91e.js → index-b41ea6a0.js} +44 -12
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/esm/ArticleProgramLandingPage.js +1 -1
  19. package/dist/esm/ExternalResources.js +1 -1
  20. package/dist/esm/HorizontalArticleListing.js +1 -1
  21. package/dist/esm/IssueLanding.js +1 -1
  22. package/dist/esm/{MediaSeriesCard-d088ac80.js → MediaSeriesCard-478f939a.js} +1 -1
  23. package/dist/esm/MediaSeriesLanding.js +2 -2
  24. package/dist/esm/MediaSeriesLandingPaginated.js +2 -2
  25. package/dist/esm/PartnerDetailListing.js +1 -1
  26. package/dist/esm/PartnerDetailListingPaginated.js +1 -1
  27. package/dist/esm/PodcastsLanding.js +2 -2
  28. package/dist/esm/TaxonomyDescription.js +1 -1
  29. package/dist/esm/VideoProgramLandingPage.js +1 -1
  30. package/dist/esm/View.js +1 -1
  31. package/dist/esm/getSerializers.js +1 -1
  32. package/dist/esm/{index-ce4f763c.js → index-dd204fd9.js} +44 -12
  33. package/dist/esm/index.js +1 -1
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # mjh-framework v. 1.0.1007
1
+ # mjh-framework v. 1.0.1009
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-067dd3bc.js');
5
5
  var _extends = require('./extends-7c86182f.js');
6
6
  var React = require('react');
7
7
  var BlockContent = require('./BlockContent-96b44364.js');
8
- var getSerializers = require('./index-433cc91e.js');
8
+ var getSerializers = require('./index-b41ea6a0.js');
9
9
  var ArticleSeriesListing = require('./ArticleSeriesListing.js');
10
10
  require('./_commonjsHelpers-06173234.js');
11
11
  require('./core.get-iterator-method-5643aa10.js');
@@ -4,7 +4,7 @@ var _extends = require('./extends-7c86182f.js');
4
4
  var slicedToArray = require('./slicedToArray-067dd3bc.js');
5
5
  var React = require('react');
6
6
  var BlockContent = require('./BlockContent-96b44364.js');
7
- var getSerializers = require('./index-433cc91e.js');
7
+ var getSerializers = require('./index-b41ea6a0.js');
8
8
  var index = require('./index-96c331fd.js');
9
9
  var Router = require('next/router');
10
10
  var Button = require('react-bootstrap/Button');
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var ArticleCarousel = require('./ArticleCarousel.js');
6
6
  var index_esm = require('./index.esm-d81454e7.js');
7
7
  var BlockContent = require('./BlockContent-96b44364.js');
8
- var getSerializers = require('./index-433cc91e.js');
8
+ var getSerializers = require('./index-b41ea6a0.js');
9
9
  require('./_commonjsHelpers-06173234.js');
10
10
  require('./core.get-iterator-method-5643aa10.js');
11
11
  require('./_object-pie-083f2dd6.js');
@@ -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-96b44364.js');
8
- var getSerializers = require('./index-433cc91e.js');
8
+ var getSerializers = require('./index-b41ea6a0.js');
9
9
  require('./_commonjsHelpers-06173234.js');
10
10
  require('./core.get-iterator-method-5643aa10.js');
11
11
  require('./_object-pie-083f2dd6.js');
@@ -7,7 +7,7 @@ var urlFor = require('./urlFor.js');
7
7
  var moment = require('./moment-aca40de1.js');
8
8
  var styleInject_es = require('./style-inject.es-dcee06b6.js');
9
9
  var BlockContent = require('./BlockContent-96b44364.js');
10
- var getSerializers = require('./index-433cc91e.js');
10
+ var getSerializers = require('./index-b41ea6a0.js');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
@@ -10,9 +10,9 @@ require('./index-b95410f0.js');
10
10
  require('react-dom');
11
11
  var Link = require('next/link');
12
12
  var MasterDeck = require('./MasterDeck.js');
13
- var MediaSeriesCard = require('./MediaSeriesCard-8d74da19.js');
13
+ var MediaSeriesCard = require('./MediaSeriesCard-7f8ea2ea.js');
14
14
  var BlockContent = require('./BlockContent-96b44364.js');
15
- var getSerializers = require('./index-433cc91e.js');
15
+ var getSerializers = require('./index-b41ea6a0.js');
16
16
  require('./_commonjsHelpers-06173234.js');
17
17
  require('./core.get-iterator-method-5643aa10.js');
18
18
  require('./web.dom.iterable-d98303e0.js');
@@ -11,8 +11,8 @@ require('react-dom');
11
11
  var Link = require('next/link');
12
12
  var BlockContent = require('./BlockContent-96b44364.js');
13
13
  var MasterDeckPaginated = require('./MasterDeckPaginated.js');
14
- var MediaSeriesCard = require('./MediaSeriesCard-8d74da19.js');
15
- var getSerializers = require('./index-433cc91e.js');
14
+ var MediaSeriesCard = require('./MediaSeriesCard-7f8ea2ea.js');
15
+ var getSerializers = require('./index-b41ea6a0.js');
16
16
  require('./_commonjsHelpers-06173234.js');
17
17
  require('./core.get-iterator-method-5643aa10.js');
18
18
  require('./web.dom.iterable-d98303e0.js');
@@ -12,7 +12,7 @@ var QueueDeckExpanded = require('./QueueDeckExpanded.js');
12
12
  var Breadcrumbs = require('./Breadcrumbs.js');
13
13
  var Feature = require('./Feature.js');
14
14
  var urlFor = require('./urlFor.js');
15
- var getSerializers = require('./index-433cc91e.js');
15
+ var getSerializers = require('./index-b41ea6a0.js');
16
16
  var BlockContent = require('./BlockContent-96b44364.js');
17
17
  var checkSisterSite = require('./checkSisterSite-b29833b2.js');
18
18
  require('./_commonjsHelpers-06173234.js');
@@ -12,7 +12,7 @@ var QueueDeckExpandedPaginated = require('./QueueDeckExpandedPaginated.js');
12
12
  var Breadcrumbs = require('./Breadcrumbs.js');
13
13
  var Feature = require('./Feature.js');
14
14
  var urlFor = require('./urlFor.js');
15
- var getSerializers = require('./index-433cc91e.js');
15
+ var getSerializers = require('./index-b41ea6a0.js');
16
16
  var BlockContent = require('./BlockContent-96b44364.js');
17
17
  var checkSisterSite = require('./checkSisterSite-b29833b2.js');
18
18
  require('./_commonjsHelpers-06173234.js');
@@ -6,9 +6,9 @@ var slicedToArray = require('./slicedToArray-067dd3bc.js');
6
6
  var React = require('react');
7
7
  var Link = require('next/link');
8
8
  var MasterDeck = require('./MasterDeck.js');
9
- var MediaSeriesCard = require('./MediaSeriesCard-8d74da19.js');
9
+ var MediaSeriesCard = require('./MediaSeriesCard-7f8ea2ea.js');
10
10
  var BlockContent = require('./BlockContent-96b44364.js');
11
- var getSerializers = require('./index-433cc91e.js');
11
+ var getSerializers = require('./index-b41ea6a0.js');
12
12
  require('./_commonjsHelpers-06173234.js');
13
13
  require('./core.get-iterator-method-5643aa10.js');
14
14
  require('./web.dom.iterable-d98303e0.js');
@@ -7,7 +7,7 @@ var React = require('react');
7
7
  var Router = require('next/router');
8
8
  var Head = require('next/head');
9
9
  var BlockContent = require('./BlockContent-96b44364.js');
10
- var getSerializers = require('./index-433cc91e.js');
10
+ var getSerializers = require('./index-b41ea6a0.js');
11
11
  require('./_commonjsHelpers-06173234.js');
12
12
  require('./core.get-iterator-method-5643aa10.js');
13
13
  require('./_object-pie-083f2dd6.js');
@@ -7,7 +7,7 @@ var BlockContent = require('./BlockContent-96b44364.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-433cc91e.js');
10
+ var getSerializers = require('./index-b41ea6a0.js');
11
11
  var VideoSeriesListing = require('./VideoSeriesListing.js');
12
12
  require('./_commonjsHelpers-06173234.js');
13
13
  require('./core.get-iterator-method-5643aa10.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-56020df6.js');
19
19
  var SocialShare = require('./SocialShare.js');
20
- var getSerializers = require('./index-433cc91e.js');
20
+ var getSerializers = require('./index-b41ea6a0.js');
21
21
  var AdSlot = require('./AdSlot.js');
22
22
  var SeriesSlider = require('./SeriesSlider-18fc6e71.js');
23
23
  var getTargeting = require('./getTargeting-ba942d9a.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('react');
4
- var getSerializers = require('./index-433cc91e.js');
4
+ var getSerializers = require('./index-b41ea6a0.js');
5
5
  require('./BlockContent-96b44364.js');
6
6
  require('./entities-df1aed86.js');
7
7
  require('./slicedToArray-067dd3bc.js');
@@ -1649,11 +1649,13 @@ function shouldUpdateVideo(prevProps, props) {
1649
1649
 
1650
1650
  function filterResetOptions(opts) {
1651
1651
  return _objectSpread(_objectSpread({}, opts), {}, {
1652
- playerVars: _objectSpread({
1652
+ height: 0,
1653
+ width: 0,
1654
+ playerVars: _objectSpread(_objectSpread({}, opts.playerVars), {}, {
1653
1655
  autoplay: 0,
1654
1656
  start: 0,
1655
1657
  end: 0
1656
- }, opts.playerVars)
1658
+ })
1657
1659
  });
1658
1660
  }
1659
1661
  /**
@@ -1668,7 +1670,7 @@ function filterResetOptions(opts) {
1668
1670
 
1669
1671
 
1670
1672
  function shouldResetPlayer(prevProps, props) {
1671
- return !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1673
+ return prevProps.videoId !== props.videoId || !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1672
1674
  }
1673
1675
  /**
1674
1676
  * Check whether a props change should result in an id or className update.
@@ -1679,7 +1681,7 @@ function shouldResetPlayer(prevProps, props) {
1679
1681
 
1680
1682
 
1681
1683
  function shouldUpdatePlayer(prevProps, props) {
1682
- return prevProps.id !== props.id || prevProps.className !== props.className;
1684
+ return prevProps.id !== props.id || prevProps.className !== props.className || prevProps.opts.width !== props.opts.width || prevProps.opts.height !== props.opts.height || prevProps.title !== props.title;
1683
1685
  }
1684
1686
 
1685
1687
  var YouTube = /*#__PURE__*/function (_React$Component) {
@@ -1766,6 +1768,9 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1766
1768
  _this.internalPlayer.getIframe().then(function (iframe) {
1767
1769
  if (_this.props.id) iframe.setAttribute('id', _this.props.id);else iframe.removeAttribute('id');
1768
1770
  if (_this.props.className) iframe.setAttribute('class', _this.props.className);else iframe.removeAttribute('class');
1771
+ if (_this.props.opts && _this.props.opts.width) iframe.setAttribute('width', _this.props.opts.width);else iframe.removeAttribute('width');
1772
+ if (_this.props.opts && _this.props.opts.height) iframe.setAttribute('height', _this.props.opts.height);else iframe.removeAttribute('height');
1773
+ if (typeof _this.props.title === 'string') iframe.setAttribute('title', _this.props.title);else iframe.setAttribute('title', 'YouTube video player');
1769
1774
  });
1770
1775
  });
1771
1776
 
@@ -1864,7 +1869,8 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1864
1869
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1865
1870
  id: this.props.id,
1866
1871
  className: this.props.className,
1867
- ref: this.refContainer
1872
+ ref: this.refContainer,
1873
+ loading: this.props.loading
1868
1874
  }));
1869
1875
  }
1870
1876
  }]);
@@ -1889,6 +1895,10 @@ YouTube.propTypes = {
1889
1895
  className: PropTypes__default["default"].string,
1890
1896
  // custom class name for player container element
1891
1897
  containerClassName: PropTypes__default["default"].string,
1898
+ // custom title for the iFrame, see https://www.w3.org/TR/WCAG20-TECHS/H64.html
1899
+ title: PropTypes__default["default"].string,
1900
+ // custom loading for player element
1901
+ loading: PropTypes__default["default"].oneOf(['lazy', 'eager', 'auto']),
1892
1902
  // https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player
1893
1903
  opts: PropTypes__default["default"].objectOf(PropTypes__default["default"].any),
1894
1904
  // event subscriptions
@@ -1905,6 +1915,7 @@ YouTube.defaultProps = {
1905
1915
  videoId: null,
1906
1916
  id: null,
1907
1917
  className: null,
1918
+ loading: null,
1908
1919
  opts: {},
1909
1920
  containerClassName: '',
1910
1921
  onReady: function onReady() {},
@@ -1914,7 +1925,8 @@ YouTube.defaultProps = {
1914
1925
  onEnd: function onEnd() {},
1915
1926
  onStateChange: function onStateChange() {},
1916
1927
  onPlaybackRateChange: function onPlaybackRateChange() {},
1917
- onPlaybackQualityChange: function onPlaybackQualityChange() {}
1928
+ onPlaybackQualityChange: function onPlaybackQualityChange() {},
1929
+ title: null
1918
1930
  };
1919
1931
 
1920
1932
  var YouTubePlayer = function YouTubePlayer(_ref) {
@@ -10367,6 +10379,7 @@ var BlockTable = function BlockTable(props) {
10367
10379
 
10368
10380
  var _borderColor = borderColor ? borderColor.hex : '#000000';
10369
10381
  var holder = React.useRef();
10382
+
10370
10383
  React.useEffect(function () {
10371
10384
  var handleResize = function handleResize() {
10372
10385
  var holderWidth = holder.current.offsetWidth;
@@ -10382,20 +10395,39 @@ var BlockTable = function BlockTable(props) {
10382
10395
  return window.removeEventListener('resize', handleResize);
10383
10396
  };
10384
10397
  }, []);
10398
+
10399
+ var styles = {
10400
+ blockTableRow: { display: 'flex', borderTop: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none' },
10401
+ blockTableRowLast: {
10402
+ display: 'flex',
10403
+ borderTop: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none',
10404
+ borderBottom: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10405
+ },
10406
+ blockTableCell: {
10407
+ padding: '.5rem',
10408
+ borderLeft: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10409
+ },
10410
+ blockTableCellLast: {
10411
+ padding: '.5rem',
10412
+ borderLeft: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none',
10413
+ borderRight: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10414
+ }
10415
+ };
10416
+
10385
10417
  return React__default["default"].createElement(
10386
10418
  'div',
10387
10419
  { className: 'blockTableHolder', ref: holder },
10388
10420
  React__default["default"].createElement(
10389
10421
  'div',
10390
10422
  { className: 'blockTable' },
10391
- rows && rows.map(function (row) {
10423
+ rows && rows.map(function (row, index) {
10392
10424
  return React__default["default"].createElement(
10393
10425
  'div',
10394
- { className: 'blockTableRow' },
10395
- row.cells && row.cells.map(function (cell) {
10426
+ { key: 'tr-' + index, className: 'blockTableRow', style: index == rows.length - 1 ? styles.blockTableRowLast : styles.blockTableRow },
10427
+ row.cells && row.cells.map(function (cell, cellIndex) {
10396
10428
  return React__default["default"].createElement(
10397
10429
  'div',
10398
- { className: 'blockTableCell', style: { width: (100 / row.cells.length).toFixed(2) + '%' } },
10430
+ { key: 'cell-' + cellIndex, className: 'blockTableCell', style: cellIndex == row.cells.length - 1 ? _extends._extends({ width: (100 / row.cells.length).toFixed(2) + '%' }, styles.blockTableCellLast) : _extends._extends({ width: (100 / row.cells.length).toFixed(2) + '%' }, styles.blockTableCell) },
10399
10431
  React__default["default"].createElement(BlockContent.BlockContent, _extends._extends({ blocks: cell.content, serializers: getSerializers }, client.config()))
10400
10432
  );
10401
10433
  })
@@ -10405,7 +10437,7 @@ var BlockTable = function BlockTable(props) {
10405
10437
  React__default["default"].createElement(
10406
10438
  'style',
10407
10439
  { jsx: true },
10408
- '\n .blockTableRow {\n display: flex;\n ' + (showBorders && 'border-top: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTable {\n min-width: ' + minTableWidth + 'px;\n }\n .blockTableRow:last-of-type {\n ' + (showBorders && 'border-bottom: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTableCell {\n padding: 0.5rem;\n ' + (showBorders && 'border-left: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTableCell > div {\n width: 100%;\n }\n .blockTableCell > div p {\n margin: 0;\n }\n .blockTableCell > div figure {\n margin: 0 !important;\n }\n .blockTableCell > div figure img {\n margin: 0 !important;\n }\n .blockTableCell:last-of-type {\n ' + (showBorders && 'border-right: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n @media only screen and (max-width: 800px) {\n .blockTableCell {\n padding: 0.25rem;\n }\n }\n '
10440
+ '\n .blockTable {\n min-width: ' + minTableWidth + 'px;\n }\n\n .blockTableCell > div {\n width: 100%;\n }\n .blockTableCell > div p {\n margin: 0;\n }\n .blockTableCell > div figure {\n margin: 0 !important;\n }\n .blockTableCell > div figure img {\n margin: 0 !important;\n }\n\n @media only screen and (max-width: 800px) {\n .blockTableCell {\n padding: 0.25rem;\n }\n }\n '
10409
10441
  )
10410
10442
  );
10411
10443
  };
@@ -10416,7 +10448,7 @@ var DigiohSmartTag = function DigiohSmartTag(props) {
10416
10448
  _props$node.needSegmentSupport;
10417
10449
 
10418
10450
 
10419
- return React__default["default"].createElement('div', { id: FormID });
10451
+ return React__default["default"].createElement('div', { className: 'digiohWrapper', id: FormID });
10420
10452
  };
10421
10453
 
10422
10454
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
package/dist/cjs/index.js CHANGED
@@ -90,7 +90,7 @@ var VerticalHero = require('./VerticalHero.js');
90
90
  var YahooHero = require('./YahooHero.js');
91
91
  var GridHero = require('./GridHero.js');
92
92
  var ConferenceArticleCard = require('./ConferenceArticleCard.js');
93
- var getSerializers = require('./index-433cc91e.js');
93
+ var getSerializers = require('./index-b41ea6a0.js');
94
94
  var Beam = require('./Beam.js');
95
95
  var Segment = require('./Segment.js');
96
96
  var KMTracker = require('./KMTracker.js');
@@ -3,7 +3,7 @@ import { _ as _slicedToArray } from './slicedToArray-6ebcbfea.js';
3
3
  import { _ as _extends } from './extends-6d8e3924.js';
4
4
  import React__default from 'react';
5
5
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
6
- import { g as getSerializers } from './index-ce4f763c.js';
6
+ import { g as getSerializers } from './index-dd204fd9.js';
7
7
  import ArticleSeriesListing from './ArticleSeriesListing.js';
8
8
  import './_commonjsHelpers-0c4b6f40.js';
9
9
  import './core.get-iterator-method-ea258bb1.js';
@@ -2,7 +2,7 @@ import { _ as _extends } from './extends-6d8e3924.js';
2
2
  import { _ as _slicedToArray } from './slicedToArray-6ebcbfea.js';
3
3
  import React__default, { useState, useEffect } from 'react';
4
4
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
5
- import { g as getSerializers } from './index-ce4f763c.js';
5
+ import { g as getSerializers } from './index-dd204fd9.js';
6
6
  import { m as momentTimezone } from './index-30a6257d.js';
7
7
  import { useRouter } from 'next/router';
8
8
  import Button from 'react-bootstrap/Button';
@@ -3,7 +3,7 @@ import React__default from 'react';
3
3
  import ArticleCarousel from './ArticleCarousel.js';
4
4
  import { I as IoIosArrowForward } from './index.esm-eb1e8e80.js';
5
5
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
6
- import { g as getSerializers } from './index-ce4f763c.js';
6
+ import { g as getSerializers } from './index-dd204fd9.js';
7
7
  import './_commonjsHelpers-0c4b6f40.js';
8
8
  import './core.get-iterator-method-ea258bb1.js';
9
9
  import './_object-pie-133f504a.js';
@@ -3,7 +3,7 @@ import React__default from 'react';
3
3
  import QueueDeckExpanded from './QueueDeckExpanded.js';
4
4
  import Breadcrumbs from './Breadcrumbs.js';
5
5
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
6
- import { g as getSerializers } from './index-ce4f763c.js';
6
+ import { g as getSerializers } from './index-dd204fd9.js';
7
7
  import './_commonjsHelpers-0c4b6f40.js';
8
8
  import './core.get-iterator-method-ea258bb1.js';
9
9
  import './_object-pie-133f504a.js';
@@ -5,7 +5,7 @@ import urlFor from './urlFor.js';
5
5
  import { m as moment } from './moment-bc12cb97.js';
6
6
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
7
7
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
8
- import { g as getSerializers } from './index-ce4f763c.js';
8
+ import { g as getSerializers } from './index-dd204fd9.js';
9
9
 
10
10
  var css = ".MediaSeriesCard-module_article__SAFYK {\n width: 100%;\n margin: 0 0 1rem 0;\n}\n.MediaSeriesCard-module_article__SAFYK a {\n display: flex;\n width: 100%;\n color: #000000;\n}\n.MediaSeriesCard-module_thumb__3jRAU {\n width: 25%;\n}\n.MediaSeriesCard-module_thumb__3jRAU img {\n width: 100%;\n height: auto;\n}\n.MediaSeriesCard-module_info__3L7_o {\n width: 75%;\n font-size: 1rem;\n}\n.MediaSeriesCard-module_info__3L7_o h2 {\n font-weight: bold;\n font-size: 1.25rem;\n margin: 0;\n}\n.MediaSeriesCard-module_published__E4oiz {\n color: #6d6d6d;\n margin: 0;\n}\n.MediaSeriesCard-module_summary__1xanh {\n margin: 0.5rem 0 0 0;\n}\n.MediaSeriesCard-module_author__e5fuR {\n margin: 0;\n}\n.MediaSeriesCard-module_author__e5fuR span {\n color: #6d6d6d;\n}\n.MediaSeriesCard-module_name__2m5KY {\n font-size: 1.3rem;\n font-weight: bold;\n}\n@media only screen and (max-width: 568px) {\n .MediaSeriesCard-module_article__SAFYK {\n margin: 1rem 0;\n box-shadow: 2px 4px 8px rgba(0,0,0,.2);\n }\n .MediaSeriesCard-module_article__SAFYK a {\n flex-direction: column;\n align-items: center;\n }\n .MediaSeriesCard-module_thumb__3jRAU {\n overflow: hidden;\n width: 100%;\n margin-bottom: 1rem;\n }\n .MediaSeriesCard-module_thumb__3jRAU img{\n border-radius: 10px 10px 0 0; \n }\n .MediaSeriesCard-module_thumb__3jRAU figure {\n margin: 0;\n }\n .MediaSeriesCard-module_info__3L7_o {\n width: 90%;\n padding: 0rem !important;\n }\n .MediaSeriesCard-module_info__3L7_o h2 {\n font-size: 1rem;\n }\n .MediaSeriesCard-module_name__2m5KY {\n font-size: 1rem;\n \n }\n}\n";
11
11
  var styles = { "article": "MediaSeriesCard-module_article__SAFYK", "thumb": "MediaSeriesCard-module_thumb__3jRAU", "info": "MediaSeriesCard-module_info__3L7_o", "published": "MediaSeriesCard-module_published__E4oiz", "summary": "MediaSeriesCard-module_summary__1xanh", "author": "MediaSeriesCard-module_author__e5fuR", "name": "MediaSeriesCard-module_name__2m5KY" };
@@ -8,9 +8,9 @@ import './index-174b5baf.js';
8
8
  import 'react-dom';
9
9
  import Link from 'next/link';
10
10
  import MasterDeck from './MasterDeck.js';
11
- import { M as MediaSeriesCard } from './MediaSeriesCard-d088ac80.js';
11
+ import { M as MediaSeriesCard } from './MediaSeriesCard-478f939a.js';
12
12
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
13
- import { g as getSerializers } from './index-ce4f763c.js';
13
+ import { g as getSerializers } from './index-dd204fd9.js';
14
14
  import './_commonjsHelpers-0c4b6f40.js';
15
15
  import './core.get-iterator-method-ea258bb1.js';
16
16
  import './web.dom.iterable-ab4dea5c.js';
@@ -9,8 +9,8 @@ import 'react-dom';
9
9
  import Link from 'next/link';
10
10
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
11
11
  import MasterDeck from './MasterDeckPaginated.js';
12
- import { M as MediaSeriesCard } from './MediaSeriesCard-d088ac80.js';
13
- import { g as getSerializers } from './index-ce4f763c.js';
12
+ import { M as MediaSeriesCard } from './MediaSeriesCard-478f939a.js';
13
+ import { g as getSerializers } from './index-dd204fd9.js';
14
14
  import './_commonjsHelpers-0c4b6f40.js';
15
15
  import './core.get-iterator-method-ea258bb1.js';
16
16
  import './web.dom.iterable-ab4dea5c.js';
@@ -10,7 +10,7 @@ import QueueDeckExpanded from './QueueDeckExpanded.js';
10
10
  import Breadcrumbs from './Breadcrumbs.js';
11
11
  import Feature from './Feature.js';
12
12
  import urlFor from './urlFor.js';
13
- import { g as getSerializers } from './index-ce4f763c.js';
13
+ import { g as getSerializers } from './index-dd204fd9.js';
14
14
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
15
15
  import { c as checkSisterSite } from './checkSisterSite-baa4fb6b.js';
16
16
  import './_commonjsHelpers-0c4b6f40.js';
@@ -10,7 +10,7 @@ import QueueDeckExpanded from './QueueDeckExpandedPaginated.js';
10
10
  import Breadcrumbs from './Breadcrumbs.js';
11
11
  import Feature from './Feature.js';
12
12
  import urlFor from './urlFor.js';
13
- import { g as getSerializers } from './index-ce4f763c.js';
13
+ import { g as getSerializers } from './index-dd204fd9.js';
14
14
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
15
15
  import { c as checkSisterSite } from './checkSisterSite-baa4fb6b.js';
16
16
  import './_commonjsHelpers-0c4b6f40.js';
@@ -4,9 +4,9 @@ import { _ as _slicedToArray } from './slicedToArray-6ebcbfea.js';
4
4
  import React__default, { useState } from 'react';
5
5
  import Link from 'next/link';
6
6
  import MasterDeck from './MasterDeck.js';
7
- import { M as MediaSeriesCard } from './MediaSeriesCard-d088ac80.js';
7
+ import { M as MediaSeriesCard } from './MediaSeriesCard-478f939a.js';
8
8
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
9
- import { g as getSerializers } from './index-ce4f763c.js';
9
+ import { g as getSerializers } from './index-dd204fd9.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './core.get-iterator-method-ea258bb1.js';
12
12
  import './web.dom.iterable-ab4dea5c.js';
@@ -5,7 +5,7 @@ import React__default, { useState, useEffect } from 'react';
5
5
  import { useRouter } from 'next/router';
6
6
  import Head from 'next/head';
7
7
  import { B as BlockContent } from './BlockContent-1e73bd2c.js';
8
- import { g as getSerializers } from './index-ce4f763c.js';
8
+ import { g as getSerializers } from './index-dd204fd9.js';
9
9
  import './_commonjsHelpers-0c4b6f40.js';
10
10
  import './core.get-iterator-method-ea258bb1.js';
11
11
  import './_object-pie-133f504a.js';
@@ -5,7 +5,7 @@ import { B as BlockContent } from './BlockContent-1e73bd2c.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-ce4f763c.js';
8
+ import { g as getSerializers } from './index-dd204fd9.js';
9
9
  import VideoSeriesListing from './VideoSeriesListing.js';
10
10
  import './_commonjsHelpers-0c4b6f40.js';
11
11
  import './core.get-iterator-method-ea258bb1.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-72fd8f8b.js';
17
17
  import SocialShare from './SocialShare.js';
18
- import { r as renderAuthor, g as getSerializers } from './index-ce4f763c.js';
18
+ import { r as renderAuthor, g as getSerializers } from './index-dd204fd9.js';
19
19
  import DFPAdSlot from './AdSlot.js';
20
20
  import { S as SeriesSlider } from './SeriesSlider-5728e349.js';
21
21
  import { a as getContentPlacementUrl, g as getTargeting } from './getTargeting-9bd28724.js';
@@ -1,5 +1,5 @@
1
1
  import 'react';
2
- export { g as default } from './index-ce4f763c.js';
2
+ export { g as default } from './index-dd204fd9.js';
3
3
  import './BlockContent-1e73bd2c.js';
4
4
  import './entities-6d9154b4.js';
5
5
  import './slicedToArray-6ebcbfea.js';
@@ -1629,11 +1629,13 @@ function shouldUpdateVideo(prevProps, props) {
1629
1629
 
1630
1630
  function filterResetOptions(opts) {
1631
1631
  return _objectSpread(_objectSpread({}, opts), {}, {
1632
- playerVars: _objectSpread({
1632
+ height: 0,
1633
+ width: 0,
1634
+ playerVars: _objectSpread(_objectSpread({}, opts.playerVars), {}, {
1633
1635
  autoplay: 0,
1634
1636
  start: 0,
1635
1637
  end: 0
1636
- }, opts.playerVars)
1638
+ })
1637
1639
  });
1638
1640
  }
1639
1641
  /**
@@ -1648,7 +1650,7 @@ function filterResetOptions(opts) {
1648
1650
 
1649
1651
 
1650
1652
  function shouldResetPlayer(prevProps, props) {
1651
- return !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1653
+ return prevProps.videoId !== props.videoId || !fastDeepEqual(filterResetOptions(prevProps.opts), filterResetOptions(props.opts));
1652
1654
  }
1653
1655
  /**
1654
1656
  * Check whether a props change should result in an id or className update.
@@ -1659,7 +1661,7 @@ function shouldResetPlayer(prevProps, props) {
1659
1661
 
1660
1662
 
1661
1663
  function shouldUpdatePlayer(prevProps, props) {
1662
- return prevProps.id !== props.id || prevProps.className !== props.className;
1664
+ return prevProps.id !== props.id || prevProps.className !== props.className || prevProps.opts.width !== props.opts.width || prevProps.opts.height !== props.opts.height || prevProps.title !== props.title;
1663
1665
  }
1664
1666
 
1665
1667
  var YouTube = /*#__PURE__*/function (_React$Component) {
@@ -1746,6 +1748,9 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1746
1748
  _this.internalPlayer.getIframe().then(function (iframe) {
1747
1749
  if (_this.props.id) iframe.setAttribute('id', _this.props.id);else iframe.removeAttribute('id');
1748
1750
  if (_this.props.className) iframe.setAttribute('class', _this.props.className);else iframe.removeAttribute('class');
1751
+ if (_this.props.opts && _this.props.opts.width) iframe.setAttribute('width', _this.props.opts.width);else iframe.removeAttribute('width');
1752
+ if (_this.props.opts && _this.props.opts.height) iframe.setAttribute('height', _this.props.opts.height);else iframe.removeAttribute('height');
1753
+ if (typeof _this.props.title === 'string') iframe.setAttribute('title', _this.props.title);else iframe.setAttribute('title', 'YouTube video player');
1749
1754
  });
1750
1755
  });
1751
1756
 
@@ -1844,7 +1849,8 @@ var YouTube = /*#__PURE__*/function (_React$Component) {
1844
1849
  }, /*#__PURE__*/React__default.createElement("div", {
1845
1850
  id: this.props.id,
1846
1851
  className: this.props.className,
1847
- ref: this.refContainer
1852
+ ref: this.refContainer,
1853
+ loading: this.props.loading
1848
1854
  }));
1849
1855
  }
1850
1856
  }]);
@@ -1869,6 +1875,10 @@ YouTube.propTypes = {
1869
1875
  className: PropTypes.string,
1870
1876
  // custom class name for player container element
1871
1877
  containerClassName: PropTypes.string,
1878
+ // custom title for the iFrame, see https://www.w3.org/TR/WCAG20-TECHS/H64.html
1879
+ title: PropTypes.string,
1880
+ // custom loading for player element
1881
+ loading: PropTypes.oneOf(['lazy', 'eager', 'auto']),
1872
1882
  // https://developers.google.com/youtube/iframe_api_reference#Loading_a_Video_Player
1873
1883
  opts: PropTypes.objectOf(PropTypes.any),
1874
1884
  // event subscriptions
@@ -1885,6 +1895,7 @@ YouTube.defaultProps = {
1885
1895
  videoId: null,
1886
1896
  id: null,
1887
1897
  className: null,
1898
+ loading: null,
1888
1899
  opts: {},
1889
1900
  containerClassName: '',
1890
1901
  onReady: function onReady() {},
@@ -1894,7 +1905,8 @@ YouTube.defaultProps = {
1894
1905
  onEnd: function onEnd() {},
1895
1906
  onStateChange: function onStateChange() {},
1896
1907
  onPlaybackRateChange: function onPlaybackRateChange() {},
1897
- onPlaybackQualityChange: function onPlaybackQualityChange() {}
1908
+ onPlaybackQualityChange: function onPlaybackQualityChange() {},
1909
+ title: null
1898
1910
  };
1899
1911
 
1900
1912
  var YouTubePlayer = function YouTubePlayer(_ref) {
@@ -10347,6 +10359,7 @@ var BlockTable = function BlockTable(props) {
10347
10359
 
10348
10360
  var _borderColor = borderColor ? borderColor.hex : '#000000';
10349
10361
  var holder = useRef();
10362
+
10350
10363
  useEffect(function () {
10351
10364
  var handleResize = function handleResize() {
10352
10365
  var holderWidth = holder.current.offsetWidth;
@@ -10362,20 +10375,39 @@ var BlockTable = function BlockTable(props) {
10362
10375
  return window.removeEventListener('resize', handleResize);
10363
10376
  };
10364
10377
  }, []);
10378
+
10379
+ var styles = {
10380
+ blockTableRow: { display: 'flex', borderTop: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none' },
10381
+ blockTableRowLast: {
10382
+ display: 'flex',
10383
+ borderTop: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none',
10384
+ borderBottom: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10385
+ },
10386
+ blockTableCell: {
10387
+ padding: '.5rem',
10388
+ borderLeft: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10389
+ },
10390
+ blockTableCellLast: {
10391
+ padding: '.5rem',
10392
+ borderLeft: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none',
10393
+ borderRight: showBorders ? borderWidth + 'px solid ' + _borderColor : 'none'
10394
+ }
10395
+ };
10396
+
10365
10397
  return React__default.createElement(
10366
10398
  'div',
10367
10399
  { className: 'blockTableHolder', ref: holder },
10368
10400
  React__default.createElement(
10369
10401
  'div',
10370
10402
  { className: 'blockTable' },
10371
- rows && rows.map(function (row) {
10403
+ rows && rows.map(function (row, index) {
10372
10404
  return React__default.createElement(
10373
10405
  'div',
10374
- { className: 'blockTableRow' },
10375
- row.cells && row.cells.map(function (cell) {
10406
+ { key: 'tr-' + index, className: 'blockTableRow', style: index == rows.length - 1 ? styles.blockTableRowLast : styles.blockTableRow },
10407
+ row.cells && row.cells.map(function (cell, cellIndex) {
10376
10408
  return React__default.createElement(
10377
10409
  'div',
10378
- { className: 'blockTableCell', style: { width: (100 / row.cells.length).toFixed(2) + '%' } },
10410
+ { key: 'cell-' + cellIndex, className: 'blockTableCell', style: cellIndex == row.cells.length - 1 ? _extends({ width: (100 / row.cells.length).toFixed(2) + '%' }, styles.blockTableCellLast) : _extends({ width: (100 / row.cells.length).toFixed(2) + '%' }, styles.blockTableCell) },
10379
10411
  React__default.createElement(BlockContent, _extends({ blocks: cell.content, serializers: getSerializers }, client.config()))
10380
10412
  );
10381
10413
  })
@@ -10385,7 +10417,7 @@ var BlockTable = function BlockTable(props) {
10385
10417
  React__default.createElement(
10386
10418
  'style',
10387
10419
  { jsx: true },
10388
- '\n .blockTableRow {\n display: flex;\n ' + (showBorders && 'border-top: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTable {\n min-width: ' + minTableWidth + 'px;\n }\n .blockTableRow:last-of-type {\n ' + (showBorders && 'border-bottom: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTableCell {\n padding: 0.5rem;\n ' + (showBorders && 'border-left: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n .blockTableCell > div {\n width: 100%;\n }\n .blockTableCell > div p {\n margin: 0;\n }\n .blockTableCell > div figure {\n margin: 0 !important;\n }\n .blockTableCell > div figure img {\n margin: 0 !important;\n }\n .blockTableCell:last-of-type {\n ' + (showBorders && 'border-right: ' + borderWidth + 'px solid ' + _borderColor) + ';\n }\n @media only screen and (max-width: 800px) {\n .blockTableCell {\n padding: 0.25rem;\n }\n }\n '
10420
+ '\n .blockTable {\n min-width: ' + minTableWidth + 'px;\n }\n\n .blockTableCell > div {\n width: 100%;\n }\n .blockTableCell > div p {\n margin: 0;\n }\n .blockTableCell > div figure {\n margin: 0 !important;\n }\n .blockTableCell > div figure img {\n margin: 0 !important;\n }\n\n @media only screen and (max-width: 800px) {\n .blockTableCell {\n padding: 0.25rem;\n }\n }\n '
10389
10421
  )
10390
10422
  );
10391
10423
  };
@@ -10396,7 +10428,7 @@ var DigiohSmartTag = function DigiohSmartTag(props) {
10396
10428
  _props$node.needSegmentSupport;
10397
10429
 
10398
10430
 
10399
- return React__default.createElement('div', { id: FormID });
10431
+ return React__default.createElement('div', { className: 'digiohWrapper', id: FormID });
10400
10432
  };
10401
10433
 
10402
10434
  var checkUrlIsExternal = function checkUrlIsExternal(url) {
package/dist/esm/index.js CHANGED
@@ -87,7 +87,7 @@ export { default as VerticalHero } from './VerticalHero.js';
87
87
  export { default as YahooHero } from './YahooHero.js';
88
88
  export { default as GridHero } from './GridHero.js';
89
89
  export { default as ConferenceArticleCard } from './ConferenceArticleCard.js';
90
- export { g as getSerializers } from './index-ce4f763c.js';
90
+ export { g as getSerializers } from './index-dd204fd9.js';
91
91
  export { default as Beam } from './Beam.js';
92
92
  export { default as Segment } from './Segment.js';
93
93
  export { default as KMTracker } from './KMTracker.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.1007",
3
+ "version": "1.0.1009",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",