@mjhls/mjh-framework 1.0.884-beta.0 → 1.0.884-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.
Files changed (91) hide show
  1. package/dist/cjs/AD.js +1 -1
  2. package/dist/cjs/AlgoliaSearch.js +1 -1
  3. package/dist/cjs/ArticleProgramLandingPage.js +6 -6
  4. package/dist/cjs/ArticleSeriesLandingPage.js +4 -4
  5. package/dist/cjs/ArticleSeriesListing.js +1 -1
  6. package/dist/cjs/ContentCardPaginated.js +409 -0
  7. package/dist/cjs/DeckContent.js +1 -1
  8. package/dist/cjs/DeckQueue.js +1 -1
  9. package/dist/cjs/DeckQueuePaginated.js +340 -0
  10. package/dist/cjs/{Dfp-14d2455c.js → Dfp-f492f985.js} +2 -2
  11. package/dist/cjs/ExternalResources.js +2 -2
  12. package/dist/cjs/GridContent.js +4 -116
  13. package/dist/cjs/GridContentPaginated.js +699 -0
  14. package/dist/cjs/HorizontalArticleListing.js +2 -2
  15. package/dist/cjs/ImageSlider-38f25e66.js +3989 -0
  16. package/dist/cjs/IssueLanding.js +2 -2
  17. package/dist/cjs/MasterDeck.js +1 -1
  18. package/dist/cjs/MasterDeckPaginated.js +444 -0
  19. package/dist/cjs/MediaSeriesCard-8d27612b.js +9411 -0
  20. package/dist/cjs/MediaSeriesLanding.js +26 -9415
  21. package/dist/cjs/MediaSeriesLandingPaginated.js +522 -0
  22. package/dist/cjs/Pagination-2f76381b.js +51 -0
  23. package/dist/cjs/PartnerDetailListing.js +15 -3986
  24. package/dist/cjs/PartnerDetailListingPaginated.js +312 -0
  25. package/dist/cjs/PublicationFeature-28c549f2.js +126 -0
  26. package/dist/cjs/QueueDeckExpandedPaginated.js +1378 -0
  27. package/dist/cjs/TaxonomyDescription.js +2 -2
  28. package/dist/cjs/VideoProgramLandingPage.js +5 -5
  29. package/dist/cjs/VideoSeriesLandingPage.js +4 -4
  30. package/dist/cjs/VideoSeriesListing.js +1 -1
  31. package/dist/cjs/View.js +83 -3
  32. package/dist/cjs/faundadb.js +15 -15
  33. package/dist/cjs/getRootDocGroup.js +3 -3
  34. package/dist/cjs/getSerializers.js +2 -2
  35. package/dist/cjs/{index-396089c0.js → index-54adcbc3.js} +1 -1
  36. package/dist/cjs/index.js +4 -4
  37. package/dist/cjs/{inherits-cba9c846.js → inherits-12d44cca.js} +2 -2
  38. package/dist/esm/{ADInfeed-8a038df9.js → ADInfeed-d767ebe2.js} +2 -2
  39. package/dist/esm/ArticleProgramLandingPage.js +1 -1
  40. package/dist/esm/ArticleSeriesLandingPage.js +1 -1
  41. package/dist/esm/ArticleSeriesListing.js +2 -2
  42. package/dist/esm/Column1.js +4 -4
  43. package/dist/esm/Column2.js +5 -5
  44. package/dist/esm/Column3.js +6 -6
  45. package/dist/esm/ContentCardPaginated.js +403 -0
  46. package/dist/esm/DeckContent.js +16 -16
  47. package/dist/esm/DeckQueue.js +18 -18
  48. package/dist/esm/DeckQueuePaginated.js +334 -0
  49. package/dist/esm/EventsDeck.js +26 -26
  50. package/dist/esm/ExternalResources.js +3 -3
  51. package/dist/esm/GridContent.js +38 -150
  52. package/dist/esm/GridContentPaginated.js +693 -0
  53. package/dist/esm/HamMagazine.js +4 -4
  54. package/dist/esm/HorizontalArticleListing.js +1 -1
  55. package/dist/esm/ImageSlider-a3154b97.js +3980 -0
  56. package/dist/esm/IssueContentDeck.js +14 -14
  57. package/dist/esm/IssueDeck.js +22 -22
  58. package/dist/esm/IssueLanding.js +2 -2
  59. package/dist/esm/MasterDeck.js +4 -4
  60. package/dist/esm/MasterDeckPaginated.js +438 -0
  61. package/dist/esm/MediaSeriesCard-1dd7eae8.js +9403 -0
  62. package/dist/esm/MediaSeriesLanding.js +23 -9411
  63. package/dist/esm/MediaSeriesLandingPaginated.js +517 -0
  64. package/dist/esm/NavDvm.js +3 -3
  65. package/dist/esm/NavMagazine.js +4 -4
  66. package/dist/esm/NavNative.js +5 -5
  67. package/dist/esm/Pagination-c0db7ca1.js +46 -0
  68. package/dist/esm/PartnerDetailListing.js +12 -3982
  69. package/dist/esm/PartnerDetailListingPaginated.js +307 -0
  70. package/dist/esm/PubSection.js +1 -1
  71. package/dist/esm/PublicationDeck.js +18 -18
  72. package/dist/esm/PublicationFeature-fa24dedb.js +121 -0
  73. package/dist/esm/PublicationLanding.js +22 -22
  74. package/dist/esm/QueueDeckExpanded.js +1 -1
  75. package/dist/esm/QueueDeckExpandedPaginated.js +1372 -0
  76. package/dist/esm/RolesDeck.js +12 -12
  77. package/dist/esm/Search.js +2 -2
  78. package/dist/esm/{SocialSearchComponent-b5be0e6c.js → SocialSearchComponent-dca69151.js} +3 -3
  79. package/dist/esm/TaxonomyCard.js +16 -16
  80. package/dist/esm/TaxonomyDescription.js +1 -1
  81. package/dist/esm/TemplateNormal.js +4 -4
  82. package/dist/esm/VideoProgramLandingPage.js +6 -6
  83. package/dist/esm/VideoSeriesLandingPage.js +1 -1
  84. package/dist/esm/VideoSeriesListing.js +3 -3
  85. package/dist/esm/View.js +84 -4
  86. package/dist/esm/getSerializers.js +1 -1
  87. package/dist/esm/{index-0e04b7d7.js → index-d1476645.js} +19 -19
  88. package/dist/esm/index.js +10 -9
  89. package/package.json +2 -1
  90. package/dist/cjs/Schema.js +0 -100
  91. package/dist/esm/Schema.js +0 -95
@@ -1,8 +1,8 @@
1
1
  import React__default from 'react';
2
- import Container$1 from 'react-bootstrap/Container';
3
- import Row$1 from 'react-bootstrap/Row';
4
- import Col$1 from 'react-bootstrap/Col';
5
- import Card$1 from 'react-bootstrap/Card';
2
+ import Container from 'react-bootstrap/Container';
3
+ import Row from 'react-bootstrap/Row';
4
+ import Col from 'react-bootstrap/Col';
5
+ import Card from 'react-bootstrap/Card';
6
6
 
7
7
  var RolesDeck = function RolesDeck(props) {
8
8
  var _props$icon = props.icon,
@@ -19,30 +19,30 @@ var RolesDeck = function RolesDeck(props) {
19
19
  'div',
20
20
  { className: 'rolesDeck' },
21
21
  React__default.createElement(
22
- Container$1,
22
+ Container,
23
23
  null,
24
24
  React__default.createElement(
25
- Row$1,
25
+ Row,
26
26
  null,
27
27
  data && data.map(function (row, index) {
28
28
  if (row && row.url && row.name) {
29
29
  return React__default.createElement(
30
- Col$1,
30
+ Col,
31
31
  { key: index, md: 12, lg: 6, counter: index++, style: { display: 'flex', flex: '1 0 auto' } },
32
32
  React__default.createElement(
33
- Card$1,
33
+ Card,
34
34
  { className: 'taxonomy-card', style: { position: 'relative', overflow: 'hidden', borderBottom: '3px solid var(--primary)' } },
35
35
  React__default.createElement(
36
- Card$1.Link,
36
+ Card.Link,
37
37
  { href: row.url },
38
38
  React__default.createElement(
39
- Card$1.Body,
39
+ Card.Body,
40
40
  null,
41
41
  React__default.createElement(
42
- Row$1,
42
+ Row,
43
43
  null,
44
44
  React__default.createElement(
45
- Col$1,
45
+ Col,
46
46
  { className: 'details-content-wrapper' },
47
47
  React__default.createElement(
48
48
  'div',
@@ -3,7 +3,7 @@ import './core.get-iterator-method-86d4db69.js';
3
3
  import './web.dom.iterable-f8f967cd.js';
4
4
  import React__default, { useState } from 'react';
5
5
  import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
6
- import Button$1 from 'react-bootstrap/Button';
6
+ import Button from 'react-bootstrap/Button';
7
7
  import Form from 'react-bootstrap/Form';
8
8
  import FormControl from 'react-bootstrap/FormControl';
9
9
 
@@ -40,7 +40,7 @@ var Search = function Search(props) {
40
40
  }
41
41
  }),
42
42
  React__default.createElement(
43
- Button$1,
43
+ Button,
44
44
  { variant: 'secondary', onClick: function onClick(e) {
45
45
  return submitSearch(e);
46
46
  } },
@@ -1,7 +1,7 @@
1
1
  import React__default, { useState, useRef, useEffect } from 'react';
2
2
  import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
3
3
  import { f as main_30, c as main_37 } from './main-c0612122.js';
4
- import Button$1 from 'react-bootstrap/Button';
4
+ import Button from 'react-bootstrap/Button';
5
5
  import { I as IconContext } from './iconBase-602d52fe.js';
6
6
  import Form from 'react-bootstrap/Form';
7
7
  import { G as GoSearch } from './index.esm-fd746768.js';
@@ -100,7 +100,7 @@ var SocialSearchComponent = function SocialSearchComponent(_ref) {
100
100
  return setSearchKey(e.target.value);
101
101
  } }),
102
102
  React__default.createElement(
103
- Button$1,
103
+ Button,
104
104
  { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
105
105
  return submitSearch(e);
106
106
  } },
@@ -147,7 +147,7 @@ var SocialSearchComponent = function SocialSearchComponent(_ref) {
147
147
  return setSearchKey(e.target.value);
148
148
  } }),
149
149
  React__default.createElement(
150
- Button$1,
150
+ Button,
151
151
  { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none', width: '20%', marginLeft: '2%' }, onClick: function onClick(e) {
152
152
  return submitSearch(e);
153
153
  } },
@@ -5,10 +5,10 @@ import { _ as _extends } from './extends-5b1796d4.js';
5
5
  import './web.dom.iterable-f8f967cd.js';
6
6
  import React__default from 'react';
7
7
  import 'prop-types';
8
- import Container$1 from 'react-bootstrap/Container';
9
- import Row$1 from 'react-bootstrap/Row';
10
- import Col$1 from 'react-bootstrap/Col';
11
- import Card$1 from 'react-bootstrap/Card';
8
+ import Container from 'react-bootstrap/Container';
9
+ import Row from 'react-bootstrap/Row';
10
+ import Col from 'react-bootstrap/Col';
11
+ import Card from 'react-bootstrap/Card';
12
12
  import 'react-dom';
13
13
  import './slicedToArray-67a08c9c.js';
14
14
  import './index-73819142.js';
@@ -49,10 +49,10 @@ var TaxonomyCard = function TaxonomyCard(props) {
49
49
  'div',
50
50
  { className: 'contentDeck' },
51
51
  React__default.createElement(
52
- Container$1,
52
+ Container,
53
53
  null,
54
54
  React__default.createElement(
55
- Row$1,
55
+ Row,
56
56
  null,
57
57
  data && data.map(function (row, index) {
58
58
  if (columns === 'rotate' && itemCounter % 3 === 0) {
@@ -92,19 +92,19 @@ var TaxonomyCard = function TaxonomyCard(props) {
92
92
  extraURL3 && companyDetails.push({ key: 'url', value: extraURL3 });
93
93
  extraURL4 && companyDetails.push({ key: 'url', value: extraURL4 });
94
94
  return React__default.createElement(
95
- Col$1,
95
+ Col,
96
96
  { key: itemCounter, md: 12, lg: lgVar, counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
97
97
  React__default.createElement(
98
- Card$1,
98
+ Card,
99
99
  { className: 'taxonomy-card', style: { flexDirection: mode, position: 'relative', overflow: 'hidden' } },
100
100
  React__default.createElement(
101
- Card$1.Body,
101
+ Card.Body,
102
102
  null,
103
103
  React__default.createElement(
104
- Row$1,
104
+ Row,
105
105
  null,
106
106
  thumbnailURL && React__default.createElement(
107
- Col$1,
107
+ Col,
108
108
  null,
109
109
  React__default.createElement(
110
110
  LazyLoad,
@@ -115,8 +115,8 @@ var TaxonomyCard = function TaxonomyCard(props) {
115
115
  row.thumbnail.link ? React__default.createElement(
116
116
  'a',
117
117
  { href: row.thumbnail.link, target: row.thumbnail.blank ? '_blank' : '_self' },
118
- React__default.createElement(Card$1.Img, { variant: 'top', src: thumbnailURL, alt: row.thumbnail.alt ? row.thumbnail.alt : 'profile image' })
119
- ) : React__default.createElement(Card$1.Img, { variant: 'top', src: thumbnailURL, alt: row.thumbnail.alt ? row.thumbnail.alt : 'profile image' }),
118
+ React__default.createElement(Card.Img, { variant: 'top', src: thumbnailURL, alt: row.thumbnail.alt ? row.thumbnail.alt : 'profile image' })
119
+ ) : React__default.createElement(Card.Img, { variant: 'top', src: thumbnailURL, alt: row.thumbnail.alt ? row.thumbnail.alt : 'profile image' }),
120
120
  row && row.thumbnail && row.thumbnail.caption && React__default.createElement(
121
121
  'figcaption',
122
122
  null,
@@ -126,10 +126,10 @@ var TaxonomyCard = function TaxonomyCard(props) {
126
126
  )
127
127
  ),
128
128
  React__default.createElement(
129
- Col$1,
129
+ Col,
130
130
  null,
131
131
  React__default.createElement(
132
- Row$1,
132
+ Row,
133
133
  { className: 'details-content-wrapper' },
134
134
  React__default.createElement(
135
135
  'div',
@@ -204,7 +204,7 @@ var TaxonomyCard = function TaxonomyCard(props) {
204
204
  )
205
205
  ),
206
206
  React__default.createElement(
207
- Card$1.Text,
207
+ Card.Text,
208
208
  null,
209
209
  React__default.createElement(BlockContent, _extends({ blocks: row.summary, serializers: getSerializers }, client.config()))
210
210
  )
@@ -42,7 +42,7 @@ import './GroupDeck.js';
42
42
  import 'react-bootstrap';
43
43
  import './iconBase-602d52fe.js';
44
44
  import './index.esm-29e48d38.js';
45
- import { g as getSerializers } from './index-0e04b7d7.js';
45
+ import { g as getSerializers } from './index-d1476645.js';
46
46
  import './util-7700fc59.js';
47
47
  import './brightcove-react-player-loader.es-83f53e4e.js';
48
48
  import Head from 'next/head';
@@ -10,7 +10,7 @@ import React__default, { useState, useEffect } from 'react';
10
10
  import './events-6c3a7a63.js';
11
11
  import './index-41a678ea.js';
12
12
  import 'prop-types';
13
- import Container$1 from 'react-bootstrap/Container';
13
+ import Container from 'react-bootstrap/Container';
14
14
  import 'react-bootstrap/Row';
15
15
  import 'react-bootstrap/Col';
16
16
  import { useRouter } from 'next/router';
@@ -53,7 +53,7 @@ import './NavFooter-e27bd93b.js';
53
53
  import './index.esm-fd746768.js';
54
54
  import './SocialIcons.js';
55
55
  import 'react-bootstrap/FormControl';
56
- import './SocialSearchComponent-b5be0e6c.js';
56
+ import './SocialSearchComponent-dca69151.js';
57
57
  import MagazineNav from './NavMagazine.js';
58
58
  import { NavNative } from './NavNative.js';
59
59
  import './Search.js';
@@ -181,14 +181,14 @@ var TemplateNormal = function TemplateNormal(props) {
181
181
  React__default.Fragment,
182
182
  null,
183
183
  horizontalAD && horizontalAD.networkID && horizontalAD.adUnit && React__default.createElement(
184
- Container$1,
184
+ Container,
185
185
  null,
186
186
  React__default.createElement(AD728x90, { networkID: horizontalAD.networkID, adUnit: horizontalAD.adUnit, targeting: adTargeting })
187
187
  )
188
188
  ),
189
189
  website.gutterAd && !sponsoredFlag && React__default.createElement(ADGutter, { title: 'gutter-ad', gutterAd: website.gutterAd }),
190
190
  React__default.createElement(
191
- Container$1,
191
+ Container,
192
192
  null,
193
193
  layout()
194
194
  )
@@ -17,7 +17,7 @@ import './index-41a678ea.js';
17
17
  import 'prop-types';
18
18
  import 'react-bootstrap/Container';
19
19
  import 'react-bootstrap/Row';
20
- import Col$1 from 'react-bootstrap/Col';
20
+ import Col from 'react-bootstrap/Col';
21
21
  import './moment-e2f9b20c.js';
22
22
  import 'next/router';
23
23
  import './isSymbol-1981418f.js';
@@ -37,7 +37,7 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-7bf
37
37
  import './Segment.js';
38
38
  import './Beam.js';
39
39
  import './AdSlot.js';
40
- import Button$1 from 'react-bootstrap/Button';
40
+ import Button from 'react-bootstrap/Button';
41
41
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
42
42
  import './index-c7e2ac95.js';
43
43
  import './smoothscroll-0cd4c7a6.js';
@@ -47,7 +47,7 @@ import 'react-bootstrap';
47
47
  import './iconBase-602d52fe.js';
48
48
  import './index.esm-29e48d38.js';
49
49
  import VideoSeriesListing from './VideoSeriesListing.js';
50
- import { g as getSerializers } from './index-0e04b7d7.js';
50
+ import { g as getSerializers } from './index-d1476645.js';
51
51
  import './util-7700fc59.js';
52
52
  import './brightcove-react-player-loader.es-83f53e4e.js';
53
53
  import 'next/head';
@@ -100,7 +100,7 @@ var VideoProgramLandingPage = function VideoProgramLandingPage(props) {
100
100
  Form.Row,
101
101
  null,
102
102
  React__default.createElement(
103
- Col$1,
103
+ Col,
104
104
  null,
105
105
  React__default.createElement(
106
106
  Form.Group,
@@ -128,10 +128,10 @@ var VideoProgramLandingPage = function VideoProgramLandingPage(props) {
128
128
  )
129
129
  ),
130
130
  React__default.createElement(
131
- Col$1,
131
+ Col,
132
132
  null,
133
133
  React__default.createElement(
134
- Button$1,
134
+ Button,
135
135
  { type: 'submit', variant: 'secondary' },
136
136
  'Apply'
137
137
  )
@@ -37,7 +37,7 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-7bf
37
37
  import './Segment.js';
38
38
  import './Beam.js';
39
39
  import './AdSlot.js';
40
- import './ADInfeed-8a038df9.js';
40
+ import './ADInfeed-d767ebe2.js';
41
41
  import './lodash-17fdfebb.js';
42
42
  import './ADlgInfeed-cee95aa2.js';
43
43
  import { g as getYoutubeId } from './index-c7e2ac95.js';
@@ -13,7 +13,7 @@ import React__default from 'react';
13
13
  import './events-6c3a7a63.js';
14
14
  import { l as lib_3 } from './index-41a678ea.js';
15
15
  import 'prop-types';
16
- import Container$1 from 'react-bootstrap/Container';
16
+ import Container from 'react-bootstrap/Container';
17
17
  import { m as moment } from './moment-e2f9b20c.js';
18
18
  import { withRouter } from 'next/router';
19
19
  import './isSymbol-1981418f.js';
@@ -275,7 +275,7 @@ var VideoSeriesListing = function (_React$Component) {
275
275
  InfiniteScroll,
276
276
  { dataLength: this.state.data.length, next: this.loadMore, hasMore: this.state.scrolling, scrollThreshold: 0.8 },
277
277
  React__default.createElement(
278
- Container$1,
278
+ Container,
279
279
  null,
280
280
  this.state.data && this.state.data.map(function (series, index) {
281
281
  var page = series && series.length > 0 && series[0].pageNumber !== 1 ? series[0].pageNumber : 1;
@@ -326,7 +326,7 @@ var VideoSeriesListing = function (_React$Component) {
326
326
  this.state.data.length >= 1 && this.state.data[0].length > 0 ?
327
327
  //Check if any Video Groups available
328
328
  React__default.createElement(
329
- Container$1,
329
+ Container,
330
330
  null,
331
331
  this.state.data && this.state.data.map(function (series, index) {
332
332
  var page = series && series.length > 0 && series[0].pageNumber !== 1 ? series[0].pageNumber : 1;
package/dist/esm/View.js CHANGED
@@ -36,7 +36,7 @@ import { a as _asyncToGenerator, r as regenerator } from './asyncToGenerator-7bf
36
36
  import './Segment.js';
37
37
  import './Beam.js';
38
38
  import DFPAdSlot from './AdSlot.js';
39
- import Button$1 from 'react-bootstrap/Button';
39
+ import Button from 'react-bootstrap/Button';
40
40
  import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
41
41
  import './index-c7e2ac95.js';
42
42
  import './smoothscroll-0cd4c7a6.js';
@@ -44,7 +44,7 @@ import './GroupDeck.js';
44
44
  import 'react-bootstrap';
45
45
  import './iconBase-602d52fe.js';
46
46
  import './index.esm-29e48d38.js';
47
- import { r as renderAuthor, g as getSerializers } from './index-0e04b7d7.js';
47
+ import { r as renderAuthor, g as getSerializers } from './index-d1476645.js';
48
48
  import './util-7700fc59.js';
49
49
  import './brightcove-react-player-loader.es-83f53e4e.js';
50
50
  import Head from 'next/head';
@@ -70,7 +70,6 @@ import { g as getTargeting, a as getContentPlacementUrl } from './getTargeting-2
70
70
  import getKeywords from './getKeywords.js';
71
71
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
72
72
  import { DiscussionEmbed } from 'disqus-react';
73
- import Schema from './Schema.js';
74
73
 
75
74
  var getArticleSummary = function getArticleSummary(article) {
76
75
  if (article.summary && article.summary.length > 0) {
@@ -436,6 +435,87 @@ var getSocialShareDisableFlag = function getSocialShareDisableFlag(article) {
436
435
  return showSocialShare;
437
436
  };
438
437
 
438
+ function toPlainText() {
439
+ var blocks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
440
+
441
+ return blocks
442
+ // loop through each block
443
+ .map(function (block) {
444
+ // if it's not a text block with children,
445
+ // return nothing
446
+ if (block._type !== 'block' || !block.children) {
447
+ return '';
448
+ }
449
+ // loop through the children spans, and join the
450
+ // text strings
451
+ return block.children.map(function (child) {
452
+ return child.text;
453
+ }).join('');
454
+ })
455
+ // join the paragraphs leaving split by two linebreaks
456
+ .join('\n\n');
457
+ }
458
+
459
+ function generateSchema(props) {
460
+ var _props$article = props.article,
461
+ title = _props$article.title,
462
+ body = _props$article.body,
463
+ summary = _props$article.summary,
464
+ url = _props$article.url,
465
+ content_placement = _props$article.content_placement,
466
+ authorDetails = _props$article.authorDetails,
467
+ thumbnail = _props$article.thumbnail,
468
+ published = _props$article.published,
469
+ _updatedAt = _props$article._updatedAt,
470
+ seoTag = _props$article.seoTag,
471
+ _props$Website = props.Website,
472
+ liveDomain = _props$Website.liveDomain,
473
+ websiteTitle = _props$Website.title,
474
+ logo = _props$Website.logo,
475
+ client = props.client;
476
+
477
+ var authors = authorDetails && authorDetails.length > 0 && authorDetails.reduce(function (result, author) {
478
+ if (author.displayName) return [].concat(_toConsumableArray(result), [{
479
+ '@type': 'Person',
480
+ name: author.displayName
481
+ }]);else return result;
482
+ }, []);
483
+ var articleSection = content_placement && content_placement.map(function (cp) {
484
+ return cp.name;
485
+ });
486
+ var image = thumbnail && thumbnail.asset && client ? urlFor({ source: thumbnail, client: client }) : liveDomain && logo && 'https://' + liveDomain + logo;
487
+
488
+ if (title && published && _updatedAt) {
489
+ return _extends({
490
+ '@context': 'https://schema.org',
491
+ '@type': 'NewsArticle',
492
+ headline: title,
493
+ datePublished: published,
494
+ dateModified: _updatedAt,
495
+ inLanguage: 'en-US'
496
+ }, image && { image: image }, liveDomain && url && url.current && {
497
+ mainEntityOfPage: {
498
+ '@type': 'WebPage',
499
+ '@id': 'https://' + liveDomain + '/view/' + url.current
500
+ }
501
+ }, websiteTitle && liveDomain && logo && {
502
+ publisher: {
503
+ '@type': 'Organization',
504
+ name: websiteTitle,
505
+ logo: {
506
+ '@type': 'ImageObject',
507
+ url: 'https://' + liveDomain + logo
508
+ }
509
+ }
510
+ }, articleSection && { articleSection: articleSection }, seoTag && seoTag.length > 0 && { keywords: seoTag.join() }, body && body.length > 0 && { articleBody: toPlainText(body) }, summary && { description: summary }, authors && authors.length > 0 && { author: authors });
511
+ }
512
+ return null;
513
+ }
514
+
515
+ var Schema = function Schema(props) {
516
+ return React__default.createElement('script', { type: 'application/ld+json', dangerouslySetInnerHTML: { __html: _JSON$stringify(generateSchema(props)) } });
517
+ };
518
+
439
519
  var Article = forwardRef(function (props, ref) {
440
520
  var onVote = function () {
441
521
  var _ref = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(nodeKey, selectedChoice) {
@@ -750,7 +830,7 @@ var Article = forwardRef(function (props, ref) {
750
830
  return setPasswordKey(e.target.value);
751
831
  }, placeholder: 'Password' }),
752
832
  React__default.createElement(
753
- Button$1,
833
+ Button,
754
834
  {
755
835
  variant: 'primary',
756
836
  onClick: function onClick() {
@@ -42,7 +42,7 @@ import './GroupDeck.js';
42
42
  import 'react-bootstrap';
43
43
  import './iconBase-602d52fe.js';
44
44
  import './index.esm-29e48d38.js';
45
- export { g as default } from './index-0e04b7d7.js';
45
+ export { g as default } from './index-d1476645.js';
46
46
  import './util-7700fc59.js';
47
47
  import './brightcove-react-player-loader.es-83f53e4e.js';
48
48
  import 'next/head';
@@ -31,11 +31,11 @@ import { R as ReactPlayerLoader } from './brightcove-react-player-loader.es-83f5
31
31
  import Head from 'next/head';
32
32
  import SocialShare from './SocialShare.js';
33
33
  import { _ as _objectToArray } from './_object-to-array-c54dd835.js';
34
- import Pagination$1 from 'react-bootstrap/Pagination';
34
+ import Pagination from 'react-bootstrap/Pagination';
35
35
  import Figure$1$1 from 'react-bootstrap/Figure';
36
36
  import OverlayTrigger from 'react-bootstrap/OverlayTrigger';
37
- import Tooltip$1 from 'react-bootstrap/Tooltip';
38
- import Popover$1 from 'react-bootstrap/Popover';
37
+ import Tooltip from 'react-bootstrap/Tooltip';
38
+ import Popover from 'react-bootstrap/Popover';
39
39
 
40
40
  var onChangeSlide = function onChangeSlide(selectedIndex, router) {
41
41
  var pageNumber = selectedIndex + 1;
@@ -7980,33 +7980,33 @@ var Quiz = function Quiz(_ref) {
7980
7980
 
7981
7981
  var renderPagination = function renderPagination() {
7982
7982
  return React__default.createElement(
7983
- Pagination$1,
7983
+ Pagination,
7984
7984
  { className: 'p-0 m-0', size: main_35 && 'sm' },
7985
- React__default.createElement(Pagination$1.First, { onClick: function onClick() {
7985
+ React__default.createElement(Pagination.First, { onClick: function onClick() {
7986
7986
  return changePage('first');
7987
7987
  }, disabled: currentPage === 1 }),
7988
- React__default.createElement(Pagination$1.Prev, { onClick: function onClick() {
7988
+ React__default.createElement(Pagination.Prev, { onClick: function onClick() {
7989
7989
  return changePage('prev');
7990
7990
  }, disabled: currentPage === 1 }),
7991
- React__default.createElement(Pagination$1.Ellipsis, { onClick: function onClick() {
7991
+ React__default.createElement(Pagination.Ellipsis, { onClick: function onClick() {
7992
7992
  return renderNewPages('prev');
7993
7993
  }, disabled: !validateIndex(startIndex - numberOfPaginations) }),
7994
7994
  pages.map(function (page) {
7995
7995
  return React__default.createElement(
7996
- Pagination$1.Item,
7996
+ Pagination.Item,
7997
7997
  { key: page, active: page === currentPage, onClick: function onClick() {
7998
7998
  return changePage(page);
7999
7999
  } },
8000
8000
  page
8001
8001
  );
8002
8002
  }),
8003
- React__default.createElement(Pagination$1.Ellipsis, { onClick: function onClick() {
8003
+ React__default.createElement(Pagination.Ellipsis, { onClick: function onClick() {
8004
8004
  return renderNewPages('next');
8005
8005
  }, disabled: !validateIndex(startIndex + numberOfPaginations) }),
8006
- React__default.createElement(Pagination$1.Next, { onClick: function onClick() {
8006
+ React__default.createElement(Pagination.Next, { onClick: function onClick() {
8007
8007
  return changePage('next');
8008
8008
  }, disabled: currentPage === pageCount }),
8009
- React__default.createElement(Pagination$1.Last, { onClick: function onClick() {
8009
+ React__default.createElement(Pagination.Last, { onClick: function onClick() {
8010
8010
  return changePage('last');
8011
8011
  }, disabled: currentPage === pageCount })
8012
8012
  );
@@ -9050,22 +9050,22 @@ var FigureComponent = function FigureComponent(props) {
9050
9050
  var renderTooltip = function renderTooltip(props) {
9051
9051
  if (infoBox[0].title) {
9052
9052
  return React__default.createElement(
9053
- Popover$1,
9053
+ Popover,
9054
9054
  { id: 'popover-basic-' + infoBox[0].title },
9055
9055
  React__default.createElement(
9056
- Popover$1.Title,
9056
+ Popover.Title,
9057
9057
  { as: 'h3' },
9058
9058
  infoBox[0].title
9059
9059
  ),
9060
9060
  React__default.createElement(
9061
- Popover$1.Content,
9061
+ Popover.Content,
9062
9062
  null,
9063
9063
  React__default.createElement(BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9064
9064
  )
9065
9065
  );
9066
9066
  } else {
9067
9067
  return React__default.createElement(
9068
- Tooltip$1,
9068
+ Tooltip,
9069
9069
  _extends$1({ id: 'button-tooltip' }, props),
9070
9070
  React__default.createElement(BlockContent, { blocks: infoBox[0].infoText, serializers: getSerializers })
9071
9071
  );
@@ -9361,22 +9361,22 @@ var MultiFigure = function MultiFigure(props) {
9361
9361
  var renderTooltip = function renderTooltip(image) {
9362
9362
  if (image.infoBox[0].title) {
9363
9363
  return React__default.createElement(
9364
- Popover$1,
9364
+ Popover,
9365
9365
  { id: 'popover-basic-' + image.infoBox[0].title },
9366
9366
  React__default.createElement(
9367
- Popover$1.Title,
9367
+ Popover.Title,
9368
9368
  { as: 'h3' },
9369
9369
  image.infoBox[0].title
9370
9370
  ),
9371
9371
  React__default.createElement(
9372
- Popover$1.Content,
9372
+ Popover.Content,
9373
9373
  null,
9374
9374
  React__default.createElement(BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9375
9375
  )
9376
9376
  );
9377
9377
  } else {
9378
9378
  return React__default.createElement(
9379
- Tooltip$1,
9379
+ Tooltip,
9380
9380
  _extends$1({ id: 'button-tooltip' }, props),
9381
9381
  React__default.createElement(BlockContent, { blocks: image.infoBox[0].infoText, serializers: getSerializers })
9382
9382
  );
package/dist/esm/index.js CHANGED
@@ -16,8 +16,8 @@ import './events-6c3a7a63.js';
16
16
  import './index-41a678ea.js';
17
17
  import 'prop-types';
18
18
  import 'react-bootstrap/Container';
19
- import Row$1 from 'react-bootstrap/Row';
20
- import Col$1 from 'react-bootstrap/Col';
19
+ import Row from 'react-bootstrap/Row';
20
+ import Col from 'react-bootstrap/Col';
21
21
  import 'react-bootstrap/Card';
22
22
  import './moment-e2f9b20c.js';
23
23
  import 'next/router';
@@ -39,7 +39,7 @@ import './asyncToGenerator-7bf8bc4d.js';
39
39
  export { default as Segment } from './Segment.js';
40
40
  export { default as Beam } from './Beam.js';
41
41
  export { default as AdSlot } from './AdSlot.js';
42
- import './ADInfeed-8a038df9.js';
42
+ import './ADInfeed-d767ebe2.js';
43
43
  export { default as DeckContent } from './DeckContent.js';
44
44
  import './lodash-17fdfebb.js';
45
45
  import './ADlgInfeed-cee95aa2.js';
@@ -49,6 +49,7 @@ import './eq-b470f743.js';
49
49
  export { default as AD } from './AD.js';
50
50
  import './AuthorComponent-e6f95c2f.js';
51
51
  import 'react-bootstrap/Button';
52
+ import './PublicationFeature-fa24dedb.js';
52
53
  export { default as GridContent } from './GridContent.js';
53
54
  export { default as DeckQueue } from './DeckQueue.js';
54
55
  import 'react-bootstrap/Media';
@@ -69,7 +70,7 @@ import './index.esm-29e48d38.js';
69
70
  export { default as VideoSeriesListing } from './VideoSeriesListing.js';
70
71
  export { default as ArticleSeriesListing } from './ArticleSeriesListing.js';
71
72
  export { default as ArticleCarousel } from './ArticleCarousel.js';
72
- export { g as getSerializers } from './index-0e04b7d7.js';
73
+ export { g as getSerializers } from './index-d1476645.js';
73
74
  import './util-7700fc59.js';
74
75
  import './brightcove-react-player-loader.es-83f53e4e.js';
75
76
  import 'next/head';
@@ -121,7 +122,7 @@ import './NavFooter-e27bd93b.js';
121
122
  import './index.esm-fd746768.js';
122
123
  export { default as SocialIcons } from './SocialIcons.js';
123
124
  import 'react-bootstrap/FormControl';
124
- import './SocialSearchComponent-b5be0e6c.js';
125
+ import './SocialSearchComponent-dca69151.js';
125
126
  export { default as NavMagazine } from './NavMagazine.js';
126
127
  export { NavNative } from './NavNative.js';
127
128
  export { default as Search } from './Search.js';
@@ -183,7 +184,7 @@ export { default as View } from './View.js';
183
184
  export { default as getKeywords } from './getKeywords.js';
184
185
  import './style-inject.es-1f59c1d0.js';
185
186
  import 'disqus-react';
186
- export { default as Schema } from './Schema.js';
187
+ import './ImageSlider-a3154b97.js';
187
188
  export { default as PartnerDetailListing } from './PartnerDetailListing.js';
188
189
  export { default as VideoProgramLandingPage } from './VideoProgramLandingPage.js';
189
190
  import './VideoSeriesCard.js';
@@ -220,10 +221,10 @@ var FeatureArticles = function FeatureArticles(props) {
220
221
  React__default.Fragment,
221
222
  null,
222
223
  React__default.createElement(
223
- Row$1,
224
+ Row,
224
225
  { className: 'article-wrap' },
225
226
  React__default.createElement(
226
- Col$1,
227
+ Col,
227
228
  { className: 'mb-4 m-fl-center deck', xs: 12, sm: 4, md: 4, lg: 3, xl: 3 },
228
229
  React__default.createElement(
229
230
  'a',
@@ -240,7 +241,7 @@ var FeatureArticles = function FeatureArticles(props) {
240
241
  )
241
242
  ),
242
243
  React__default.createElement(
243
- Col$1,
244
+ Col,
244
245
  { className: 'article-wrap-body', xs: 12, sm: 8, md: 8, lg: 9, xl: 9, style: { paddingTop: '10px' } },
245
246
  React__default.createElement(
246
247
  'a',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjhls/mjh-framework",
3
- "version": "1.0.884-beta.0",
3
+ "version": "1.0.884-beta.1",
4
4
  "description": "Foundation Framework",
5
5
  "author": "mjh-framework",
6
6
  "license": "MIT",
@@ -71,6 +71,7 @@
71
71
  "react-icons": "^3.8.0",
72
72
  "react-infinite-scroll-component": "^5.0.4",
73
73
  "react-lazyload": "^2.6.5",
74
+ "react-paginate": "^7.1.3",
74
75
  "react-player": "^1.15.2",
75
76
  "react-scripts": "^1.1.4",
76
77
  "react-share": "^4.0.1",