@mjhls/mjh-framework 1.0.284 → 1.0.286

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -29,19 +29,18 @@ var index = require('./index-39beccb3.js');
29
29
  require('./index-fa0fb52c.js');
30
30
  var entities = require('./entities-310b46ee.js');
31
31
  var slicedToArray = require('./slicedToArray-e38fb29d.js');
32
- var AdSlot = require('./AdSlot-1886ea26.js');
32
+ var AdSlot = require('./AdSlot-0cd6f861.js');
33
33
  require('./promise-2c453658.js');
34
- require('./ADInfeed-a33644bc.js');
34
+ require('./ADInfeed-db54195d.js');
35
35
  var DeckContent = require('./DeckContent.js');
36
36
  var get$1 = require('./get-de2660c3.js');
37
- var GridContent = require('./GridContent-26572c38.js');
37
+ var GridContent = require('./GridContent-02acbd72.js');
38
38
  var DeckQueue = require('./DeckQueue.js');
39
39
  require('react-bootstrap/Media');
40
40
  var ThumbnailCard = require('./ThumbnailCard.js');
41
41
  var TaxonomyCard = require('./TaxonomyCard-cf5bbc07.js');
42
42
  var GroupDeck = require('./GroupDeck.js');
43
- var YoutubeGroup = require('./YoutubeGroup-1ec66294.js');
44
- require('smoothscroll-polyfill');
43
+ var YoutubeGroup = require('./YoutubeGroup-98ffbc57.js');
45
44
  var reactBootstrap = require('react-bootstrap');
46
45
  var QueueDeckExpanded = require('./QueueDeckExpanded.js');
47
46
  var index_esm = require('./index.esm-340d3792.js');
@@ -53,7 +52,7 @@ var IssueDeck = require('./IssueDeck.js');
53
52
  require('react-bootstrap/Badge');
54
53
  var IssueContentDeck = require('./IssueContentDeck.js');
55
54
  var Spinner = _interopDefault(require('react-bootstrap/Spinner'));
56
- var TemplateNormal = require('./Normal-92be86eb.js');
55
+ var TemplateNormal = require('./Normal-2514655c.js');
57
56
  require('react-bootstrap/ListGroup');
58
57
  var Head = _interopDefault(require('next/head'));
59
58
  var Accordion = _interopDefault(require('react-bootstrap/Accordion'));
@@ -64,7 +63,6 @@ require('react-bootstrap/Navbar');
64
63
  require('react-bootstrap/NavDropdown');
65
64
  require('react-bootstrap/Form');
66
65
  require('react-bootstrap/FormControl');
67
- var Modal = _interopDefault(require('react-bootstrap/Modal'));
68
66
  var Pagination = _interopDefault(require('react-bootstrap/Pagination'));
69
67
  var dynamic = _interopDefault(require('next/dynamic'));
70
68
  var Carousel = _interopDefault(require('react-bootstrap/Carousel'));
@@ -3030,14 +3028,21 @@ var ADWelcome = function ADWelcome(_ref) {
3030
3028
  adTargeting = _useState2[0],
3031
3029
  setTargeting = _useState2[1];
3032
3030
 
3031
+ var adRef = React.useRef(null);
3032
+
3033
+ var _useState3 = React.useState(),
3034
+ _useState4 = slicedToArray._slicedToArray(_useState3, 2),
3035
+ showAd = _useState4[0],
3036
+ setShowAd = _useState4[1];
3037
+
3033
3038
  var calculateTimeLeft = function calculateTimeLeft(timeLeft) {
3034
3039
  return --timeLeft;
3035
3040
  };
3036
3041
 
3037
- var _useState3 = React.useState(calculateTimeLeft(counter)),
3038
- _useState4 = slicedToArray._slicedToArray(_useState3, 2),
3039
- timeLeft = _useState4[0],
3040
- setTimeLeft = _useState4[1];
3042
+ var _useState5 = React.useState(calculateTimeLeft(counter + 1)),
3043
+ _useState6 = slicedToArray._slicedToArray(_useState5, 2),
3044
+ timeLeft = _useState6[0],
3045
+ setTimeLeft = _useState6[1];
3041
3046
 
3042
3047
  React.useEffect(function () {
3043
3048
  if (timeLeft > 0) {
@@ -3049,9 +3054,17 @@ var ADWelcome = function ADWelcome(_ref) {
3049
3054
  }
3050
3055
  });
3051
3056
 
3057
+ React.useEffect(function () {
3058
+ if (typeof showAd !== 'undefined' && showAd) {
3059
+ adRef.current.style.opacity = '1';
3060
+ } else if (typeof showAd !== 'undefined' && !showAd) {
3061
+ setFlag(true);
3062
+ }
3063
+ }, [showAd]);
3064
+
3052
3065
  return React__default.createElement(
3053
- Modal,
3054
- { show: true, 'aria-labelledby': 'contained-modal-title-vcenter', backdrop: 'static', style: { outline: 'none' }, dialogClassName: 'welcome-modal' },
3066
+ 'div',
3067
+ { ref: adRef, style: { outline: 'none', opacity: 0 }, className: 'welcome-modal' },
3055
3068
  React__default.createElement(
3056
3069
  'div',
3057
3070
  { className: 'right-top', style: { position: 'absolute', top: 0, right: 0, textAlign: 'center', margin: '2rem' } },
@@ -3086,14 +3099,14 @@ var ADWelcome = function ADWelcome(_ref) {
3086
3099
  React__default.createElement('img', { style: { width: '100%' }, src: Website.logo, alt: Website.title })
3087
3100
  ),
3088
3101
  React__default.createElement(
3089
- Modal.Body,
3102
+ 'div',
3090
3103
  { className: title, style: { position: 'relative', width: '300px', height: '250px', margin: 'auto', top: '10rem' } },
3091
- React__default.createElement(AdSlot.DFPAdSlot, { className: className, slotId: slotId, networkID: networkID, sizes: sizes, adUnit: adUnit, targeting: adTargeting, refreshFlag: false })
3104
+ React__default.createElement(AdSlot.DFPAdSlot, { className: className, slotId: slotId, networkID: networkID, sizes: sizes, adUnit: adUnit, targeting: adTargeting, refreshFlag: false, setShowAd: setShowAd })
3092
3105
  ),
3093
3106
  React__default.createElement(
3094
3107
  'style',
3095
3108
  { jsx: 'true' },
3096
- '\n .modal.show {\n padding: 0px;\n }\n .continue-site:hover {\n cursor: pointer;\n }\n\n .welcome-modal {\n max-width: 100% !important;\n margin: 0px !important;\n }\n @media (min-width: 1200px) {\n .modal-backdrop {\n display: block;\n }\n .modal-content {\n display: block;\n height: 100vh;\n }\n }\n '
3109
+ '\n .continue-site:hover {\n cursor: pointer;\n }\n\n .welcome-modal {\n max-width: 100% !important;\n margin: 0px !important;\n }\n '
3097
3110
  )
3098
3111
  );
3099
3112
  };
@@ -14114,46 +14127,63 @@ var RelatedTopicsDropdown = function RelatedTopicsDropdown(_ref) {
14114
14127
  };
14115
14128
 
14116
14129
  /*
14117
- This dropdown is used inside Article body to display related content placement pages
14118
- sample usage: <ArticleDetailDropdown contentPlacement={content_placement} exclude={['News',]} />
14130
+ This dropdown is used inside Article body to display related content placement and document group pages
14131
+ sample usage: <ArticleDetailDropdown article={props.article} exclude={['News']} style={{ backgroundColor: 'var(--primary)', border: 0 }} />
14132
+
14133
+ - accepts any normal html arrtibute (style, id, class)
14119
14134
 
14120
- in article query, need to add '...' to content_placement to retreive additional info needed
14135
+ - in article query, need to add '...' to content_placement to retreive additional info needed, and document_group to retrieve group data if available
14121
14136
 
14122
- 'content_placement': taxonomyMapping[]-> {
14137
+ 'content_placement': taxonomyMapping[]-> {
14123
14138
  ...,
14124
14139
  'ancestor': parent->parent->identifier,
14125
14140
  'parent': parent->identifier,
14126
14141
  'path': identifier
14127
- }
14128
-
14142
+ },
14143
+ 'document_group': documentGroup-> {
14144
+ name,
14145
+ 'parent': parent->identifier,
14146
+ 'path': identifier.current
14147
+ }
14129
14148
  */
14130
14149
 
14131
14150
  var ArticleDetailDropdown = function ArticleDetailDropdown(props) {
14132
- var _props$contentPlaceme = props.contentPlacement,
14133
- contentPlacement = _props$contentPlaceme === undefined ? false : _props$contentPlaceme,
14151
+ var article = props.article,
14134
14152
  _props$exclude = props.exclude,
14135
- exclude = _props$exclude === undefined ? [''] : _props$exclude;
14136
-
14137
- if (contentPlacement.length == 1 && exclude.includes(contentPlacement[0].name) || contentPlacement == false) {
14138
- return null;
14139
- }
14153
+ exclude = _props$exclude === undefined ? [] : _props$exclude;
14140
14154
 
14155
+ var _props = _extends$2._extends({}, props);
14156
+ delete _props.article;
14157
+ delete _props.exclude;
14141
14158
  return React__default.createElement(
14142
14159
  Dropdown,
14143
- { style: { marginBottom: '1rem' } },
14160
+ null,
14144
14161
  React__default.createElement(
14145
14162
  Dropdown.Toggle,
14146
- { variant: 'primary', id: 'partner-dropdown' },
14163
+ _props,
14147
14164
  'Related Topics'
14148
14165
  ),
14149
14166
  React__default.createElement(
14150
14167
  Dropdown.Menu,
14151
14168
  null,
14152
- contentPlacement.map(function (cp, index) {
14153
- var href = cp.parent ? '/' + cp.parent + '/' + cp.path : '/' + cp.path;
14154
- return !exclude.includes(cp.name) && React__default.createElement(
14169
+ article.document_group && React__default.createElement(
14170
+ Dropdown.Item,
14171
+ { href: '/' + article.document_group.parent.current + '/' + article.document_group.path },
14172
+ article.document_group.name
14173
+ ),
14174
+ article.content_placement && article.content_placement.length > 0 && article.content_placement.map(function (cp, i) {
14175
+ if (exclude.includes(cp.name)) return;
14176
+ var href = '';
14177
+ if (cp.ancestor) {
14178
+ href = '/' + cp.ancestor + '/' + cp.identifier;
14179
+ } else if (cp.parent) {
14180
+ href = '/' + cp.parent + '/' + cp.identifier;
14181
+ } else {
14182
+ href = '/' + cp.identifier;
14183
+ }
14184
+ return React__default.createElement(
14155
14185
  Dropdown.Item,
14156
- { key: index, href: href },
14186
+ { key: i, href: href },
14157
14187
  cp.name
14158
14188
  );
14159
14189
  })
@@ -1,7 +1,7 @@
1
1
  import React__default, { useState } from 'react';
2
2
  import Card from 'react-bootstrap/Card';
3
3
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
4
- import { D as DFPAdSlot } from './AdSlot-cc6a4f74.js';
4
+ import { D as DFPAdSlot } from './AdSlot-03043ffb.js';
5
5
 
6
6
  var ADInfeed = function ADInfeed(_ref) {
7
7
  var index = _ref.index,
@@ -1107,10 +1107,6 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1107
1107
  }
1108
1108
  }, 500);
1109
1109
 
1110
- var matchAd = function matchAd(element) {
1111
- return slotId && slotId.includes(element);
1112
- };
1113
-
1114
1110
  return React__default.createElement(
1115
1111
  'div',
1116
1112
  { className: className, style: { textAlign: 'center' } },
@@ -1121,8 +1117,12 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1121
1117
  sizeMapping: sizeMapping,
1122
1118
  targetingArguments: targeting,
1123
1119
  onSlotRender: function onSlotRender(eventData) {
1124
- if (['floating-ad', 'infeed'].some(matchAd) && eventData && eventData.event && eventData.event.creativeId == null) {
1125
- setShowAd(false);
1120
+ if (eventData && eventData.slotId && ['floating-ad', 'infeed', 'welcome-ad'].includes(eventData.slotId)) {
1121
+ if (eventData.event && eventData.event.creativeId == null) {
1122
+ setShowAd(false);
1123
+ } else {
1124
+ setShowAd(true);
1125
+ }
1126
1126
  }
1127
1127
  setAdRendered(true);
1128
1128
  if (eventData && eventData.event) {
@@ -21,9 +21,9 @@ import { i as imageUrlBuilder } from './index-3849e3fe.js';
21
21
  import { L as LazyLoad } from './index-5f9f807a.js';
22
22
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
23
23
  import './slicedToArray-d0a9593a.js';
24
- import './AdSlot-cc6a4f74.js';
24
+ import './AdSlot-03043ffb.js';
25
25
  import './promise-e3480f1c.js';
26
- import { A as ADInfeed } from './ADInfeed-fd816c1f.js';
26
+ import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
27
27
 
28
28
  var DeckContent = function (_React$Component) {
29
29
  _inherits(DeckContent, _React$Component);
@@ -14,7 +14,7 @@ import { withRouter } from 'next/router';
14
14
  import { i as imageUrlBuilder } from './index-3849e3fe.js';
15
15
  import { L as LazyLoad } from './index-5f9f807a.js';
16
16
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
17
- import { A as ADInfeed } from './ADInfeed-fd816c1f.js';
17
+ import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
18
18
  import { g as get_1 } from './get-9c285a85.js';
19
19
 
20
20
  var Dfp = React__default.lazy(function () {
@@ -21,8 +21,8 @@ import './index-3849e3fe.js';
21
21
  import './index-5f9f807a.js';
22
22
  import './entities-7cc3bf45.js';
23
23
  import './slicedToArray-d0a9593a.js';
24
- import './AdSlot-cc6a4f74.js';
24
+ import './AdSlot-03043ffb.js';
25
25
  import './promise-e3480f1c.js';
26
- import './ADInfeed-fd816c1f.js';
26
+ import './ADInfeed-ac3ac372.js';
27
27
  import './get-9c285a85.js';
28
- export { G as default } from './GridContent-2e9e7528.js';
28
+ export { G as default } from './GridContent-96716e42.js';
@@ -7,7 +7,7 @@ import Row from 'react-bootstrap/Row';
7
7
  import Col from 'react-bootstrap/Col';
8
8
  import Link from 'next/link';
9
9
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
10
- import { D as DFPAdSlot } from './AdSlot-cc6a4f74.js';
10
+ import { D as DFPAdSlot } from './AdSlot-03043ffb.js';
11
11
  import { g as get_1 } from './get-9c285a85.js';
12
12
  import { Dropdown } from 'react-bootstrap';
13
13
  import { G as GenIcon, b as IoMdLogIn, c as IoIosHome } from './index.esm-536609db.js';
@@ -17,9 +17,9 @@ import { i as imageUrlBuilder } from './index-3849e3fe.js';
17
17
  import { L as LazyLoad } from './index-5f9f807a.js';
18
18
  import { c as clean_html_1 } from './entities-7cc3bf45.js';
19
19
  import { _ as _slicedToArray } from './slicedToArray-d0a9593a.js';
20
- import './AdSlot-cc6a4f74.js';
20
+ import './AdSlot-03043ffb.js';
21
21
  import './promise-e3480f1c.js';
22
- import { A as ADInfeed } from './ADInfeed-fd816c1f.js';
22
+ import { A as ADInfeed } from './ADInfeed-ac3ac372.js';
23
23
  import { Container, Media } from 'react-bootstrap';
24
24
 
25
25
  var urlFor = function urlFor(source, builder) {
@@ -11,13 +11,13 @@ import 'react-bootstrap/Row';
11
11
  import 'react-bootstrap/Col';
12
12
  import 'next/link';
13
13
  import './slicedToArray-d0a9593a.js';
14
- import './AdSlot-cc6a4f74.js';
14
+ import './AdSlot-03043ffb.js';
15
15
  import './promise-e3480f1c.js';
16
16
  import './get-9c285a85.js';
17
17
  import 'react-bootstrap';
18
18
  import './index.esm-536609db.js';
19
19
  import 'react-bootstrap/Button';
20
- export { T as default } from './Normal-319bc9fb.js';
20
+ export { T as default } from './Normal-d27184f4.js';
21
21
  import 'react-bootstrap/ListGroup';
22
22
  import 'next/head';
23
23
  import 'react-bootstrap/Nav';
@@ -12,8 +12,7 @@ import 'next/link';
12
12
  import { withRouter } from 'next/router';
13
13
  import 'react-dom';
14
14
  import './index-5f9f807a.js';
15
- import { Y as YoutubeGroup } from './YoutubeGroup-a87b8967.js';
16
- import 'smoothscroll-polyfill';
15
+ import { Y as YoutubeGroup } from './YoutubeGroup-562ed456.js';
17
16
  import { a as IoIosArrowForward } from './index.esm-536609db.js';
18
17
 
19
18
  var VideoSeriesListing = function (_React$Component) {