@mjhls/mjh-framework 1.0.268 → 1.0.269

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 (44) hide show
  1. package/README.md +171 -171
  2. package/dist/cjs/ADInfeed-0da6acd4.js +47 -0
  3. package/dist/cjs/{AdSlot-1c436555.js → AdSlot-93d892f5.js} +5 -1
  4. package/dist/cjs/DeckContent.js +12 -27
  5. package/dist/cjs/DeckQueue.js +1 -1
  6. package/dist/cjs/{GridContent-e459f9e3.js → GridContent-524f2ad8.js} +4 -16
  7. package/dist/cjs/GridContent.js +4 -3
  8. package/dist/cjs/IssueContentDeck.js +1 -1
  9. package/dist/cjs/IssueDeck.js +1 -1
  10. package/dist/cjs/MasterDeck.js +9 -9
  11. package/dist/cjs/{Normal-a0314a82.js → Normal-6c0b2764.js} +31 -31
  12. package/dist/cjs/PublicationDeck.js +1 -1
  13. package/dist/cjs/QueueDeckExpanded.js +1 -1
  14. package/dist/cjs/{TaxonomyCard-e3566492.js → TaxonomyCard-b5074d6e.js} +1 -1
  15. package/dist/cjs/TaxonomyCard.js +2 -2
  16. package/dist/cjs/TemplateNormal.js +2 -2
  17. package/dist/cjs/ThumbnailCard.js +1 -1
  18. package/dist/cjs/VideoSeriesListing.js +2 -1
  19. package/dist/cjs/{YoutubeGroup-94e6efea.js → YoutubeGroup-78e6bcc3.js} +5 -437
  20. package/dist/cjs/YoutubeGroup.js +2 -1
  21. package/dist/cjs/{index-be0c82be.js → index-39beccb3.js} +2 -1
  22. package/dist/cjs/index.js +558 -538
  23. package/dist/esm/ADInfeed-e546ea87.js +42 -0
  24. package/dist/esm/{AdSlot-5b019415.js → AdSlot-9b4ae186.js} +5 -1
  25. package/dist/esm/DeckContent.js +12 -27
  26. package/dist/esm/DeckQueue.js +1 -1
  27. package/dist/esm/{GridContent-be36b0aa.js → GridContent-f4fd38a7.js} +3 -15
  28. package/dist/esm/GridContent.js +4 -3
  29. package/dist/esm/IssueContentDeck.js +1 -1
  30. package/dist/esm/IssueDeck.js +1 -1
  31. package/dist/esm/MasterDeck.js +9 -9
  32. package/dist/esm/{Normal-86e740c0.js → Normal-b7aa5dce.js} +31 -31
  33. package/dist/esm/PublicationDeck.js +1 -1
  34. package/dist/esm/QueueDeckExpanded.js +1 -1
  35. package/dist/esm/{TaxonomyCard-2d0ab635.js → TaxonomyCard-ee1a22ae.js} +1 -1
  36. package/dist/esm/TaxonomyCard.js +2 -2
  37. package/dist/esm/TemplateNormal.js +2 -2
  38. package/dist/esm/ThumbnailCard.js +1 -1
  39. package/dist/esm/VideoSeriesListing.js +2 -1
  40. package/dist/esm/{YoutubeGroup-f59297bb.js → YoutubeGroup-a87b8967.js} +5 -437
  41. package/dist/esm/YoutubeGroup.js +2 -1
  42. package/dist/esm/{index-73819142.js → index-3849e3fe.js} +2 -1
  43. package/dist/esm/index.js +562 -542
  44. package/package.json +103 -103
package/README.md CHANGED
@@ -1,171 +1,171 @@
1
-
2
- # mjh-framework v. 1.0.268
3
-
4
- > Foundation Framework
5
-
6
- [![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)
7
-
8
- ## Install
9
-
10
- ```bash
11
- npm install --save @mjhls/mjh-framework
12
- ```
13
-
14
- ## Usage
15
-
16
- ```jsx
17
- import React, { Component } from 'react'
18
-
19
- import { NavMagazine, DeckQueue } from 'mjh-framework'
20
-
21
- export default class App extends Component {
22
- render() {
23
- return (
24
- <div>
25
- <NavMagazine />
26
- <DeckQueue />
27
- </div>
28
- )
29
- }
30
- }
31
- ```
32
-
33
- ## Publish new updates to the npm registry
34
-
35
- ```bash
36
- npm publish
37
- ```
38
-
39
- ## For getting updates in the template without publishing each time a change is made in the framework
40
-
41
- Link react and react-dom of the template repo, so that it can be used by the framework.
42
- This is to avoid the error arising due to multiple instances of React.
43
-
44
- ```bash
45
- cd ../mjh-template/node_modules/react
46
-
47
- yarn link
48
-
49
- cd ../react-dom
50
-
51
- yarn link
52
-
53
- cd ../../../mjh-framework
54
-
55
- yarn link react && yarn link react-dom
56
- ```
57
-
58
- Link the framework repo so that it can be used in the template
59
-
60
- ```bash
61
- npm link
62
-
63
- cd ../mjh-template
64
-
65
- npm link @mjhls/mjh-framework
66
- ```
67
-
68
- ## Components and "props"
69
-
70
- ### Deck Components
71
-
72
- - #### DeckContent
73
-
74
- ##### Props
75
-
76
- - mapping
77
- - dataRecord
78
- - query
79
- - params
80
- - pointer
81
- - pointerArray
82
- - defaultImage
83
-
84
- - #### DeckQueue
85
- ##### Props
86
- - page
87
- - dataRecord
88
- - query
89
- - params
90
- - pointer
91
- - pointerArray
92
-
93
- ### Layout Components
94
-
95
- - #### Column1
96
- - #### Column2
97
- ##### Props
98
- - rightItems
99
- - #### Column3
100
- ##### Props
101
- - leftItems
102
- - rightItems
103
- ##### Common Props (Column1, Column2, Column3)
104
- - title
105
- - children
106
- - #### Header
107
- ##### Props
108
- - title
109
- - keyword
110
- - description
111
- - #### LeftNav
112
- ##### Props
113
- - leftItems
114
- - #### AccordionPanel
115
- ##### Props
116
- - accordionClassName
117
- - data
118
-
119
- ### Navigation Components
120
-
121
- - #### NavMagazine
122
- ##### Props
123
- - logo
124
- - dataObject
125
- - #### NavNative
126
- ##### Props
127
- - logo
128
- - dataObject
129
- - #### NavNormal
130
- ##### Props
131
- - logo
132
- - dataObject
133
- - variant
134
- - #### NavDvm
135
- ##### Props
136
- - logo
137
- - dataObject
138
- - subNavHeads
139
-
140
- ### Template Components
141
-
142
- - #### TemplateNormal
143
- ##### Props
144
- - config
145
- - title
146
- - keywords
147
- - description
148
- - website
149
-
150
- ### Ad Components
151
-
152
- - #### AD300x250
153
- - #### AD300x250x600
154
- - #### AD728x90
155
- ##### Common Props
156
- - networkID
157
- - adUnit
158
-
159
- ### Serializers
160
-
161
- - #### getSerializers (function)
162
- ##### arguments
163
- - client
164
- ##### types
165
- - youtube
166
- - figure
167
- - slideshow
168
-
169
- ## License
170
-
171
- MIT © [mjh-framework](https://github.com/mjh-framework)
1
+
2
+ # mjh-framework v. 1.0.269
3
+
4
+ > Foundation Framework
5
+
6
+ [![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)
7
+
8
+ ## Install
9
+
10
+ ```bash
11
+ npm install --save @mjhls/mjh-framework
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ ```jsx
17
+ import React, { Component } from 'react'
18
+
19
+ import { NavMagazine, DeckQueue } from 'mjh-framework'
20
+
21
+ export default class App extends Component {
22
+ render() {
23
+ return (
24
+ <div>
25
+ <NavMagazine />
26
+ <DeckQueue />
27
+ </div>
28
+ )
29
+ }
30
+ }
31
+ ```
32
+
33
+ ## Publish new updates to the npm registry
34
+
35
+ ```bash
36
+ npm publish
37
+ ```
38
+
39
+ ## For getting updates in the template without publishing each time a change is made in the framework
40
+
41
+ Link react and react-dom of the template repo, so that it can be used by the framework.
42
+ This is to avoid the error arising due to multiple instances of React.
43
+
44
+ ```bash
45
+ cd ../mjh-template/node_modules/react
46
+
47
+ yarn link
48
+
49
+ cd ../react-dom
50
+
51
+ yarn link
52
+
53
+ cd ../../../mjh-framework
54
+
55
+ yarn link react && yarn link react-dom
56
+ ```
57
+
58
+ Link the framework repo so that it can be used in the template
59
+
60
+ ```bash
61
+ npm link
62
+
63
+ cd ../mjh-template
64
+
65
+ npm link @mjhls/mjh-framework
66
+ ```
67
+
68
+ ## Components and "props"
69
+
70
+ ### Deck Components
71
+
72
+ - #### DeckContent
73
+
74
+ ##### Props
75
+
76
+ - mapping
77
+ - dataRecord
78
+ - query
79
+ - params
80
+ - pointer
81
+ - pointerArray
82
+ - defaultImage
83
+
84
+ - #### DeckQueue
85
+ ##### Props
86
+ - page
87
+ - dataRecord
88
+ - query
89
+ - params
90
+ - pointer
91
+ - pointerArray
92
+
93
+ ### Layout Components
94
+
95
+ - #### Column1
96
+ - #### Column2
97
+ ##### Props
98
+ - rightItems
99
+ - #### Column3
100
+ ##### Props
101
+ - leftItems
102
+ - rightItems
103
+ ##### Common Props (Column1, Column2, Column3)
104
+ - title
105
+ - children
106
+ - #### Header
107
+ ##### Props
108
+ - title
109
+ - keyword
110
+ - description
111
+ - #### LeftNav
112
+ ##### Props
113
+ - leftItems
114
+ - #### AccordionPanel
115
+ ##### Props
116
+ - accordionClassName
117
+ - data
118
+
119
+ ### Navigation Components
120
+
121
+ - #### NavMagazine
122
+ ##### Props
123
+ - logo
124
+ - dataObject
125
+ - #### NavNative
126
+ ##### Props
127
+ - logo
128
+ - dataObject
129
+ - #### NavNormal
130
+ ##### Props
131
+ - logo
132
+ - dataObject
133
+ - variant
134
+ - #### NavDvm
135
+ ##### Props
136
+ - logo
137
+ - dataObject
138
+ - subNavHeads
139
+
140
+ ### Template Components
141
+
142
+ - #### TemplateNormal
143
+ ##### Props
144
+ - config
145
+ - title
146
+ - keywords
147
+ - description
148
+ - website
149
+
150
+ ### Ad Components
151
+
152
+ - #### AD300x250
153
+ - #### AD300x250x600
154
+ - #### AD728x90
155
+ ##### Common Props
156
+ - networkID
157
+ - adUnit
158
+
159
+ ### Serializers
160
+
161
+ - #### getSerializers (function)
162
+ ##### arguments
163
+ - client
164
+ ##### types
165
+ - youtube
166
+ - figure
167
+ - slideshow
168
+
169
+ ## License
170
+
171
+ MIT © [mjh-framework](https://github.com/mjh-framework)
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var React = require('react');
6
+ var React__default = _interopDefault(React);
7
+ var Card = _interopDefault(require('react-bootstrap/Card'));
8
+ var slicedToArray = require('./slicedToArray-e38fb29d.js');
9
+ var AdSlot = require('./AdSlot-93d892f5.js');
10
+
11
+ var ADInfeed = function ADInfeed(_ref) {
12
+ var index = _ref.index,
13
+ infeedAd = _ref.infeedAd;
14
+ var className = infeedAd.className,
15
+ slotId = infeedAd.slotId,
16
+ adUnit = infeedAd.adUnit,
17
+ _infeedAd$targeting = infeedAd.targeting,
18
+ targeting = _infeedAd$targeting === undefined ? {} : _infeedAd$targeting,
19
+ networkID = infeedAd.networkID,
20
+ sizes = infeedAd.sizes;
21
+
22
+ var _useState = React.useState(true),
23
+ _useState2 = slicedToArray._slicedToArray(_useState, 2),
24
+ showAd = _useState2[0],
25
+ setShowAd = _useState2[1];
26
+
27
+ return React__default.createElement(
28
+ React__default.Fragment,
29
+ null,
30
+ showAd && React__default.createElement(
31
+ 'div',
32
+ { className: 'brand-insight-wrapper', style: { display: 'flex', flex: '1 0 auto' } },
33
+ React__default.createElement(
34
+ Card,
35
+ { className: 'ad-wrapper', style: { display: 'block !important', flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
36
+ React__default.createElement(AdSlot.DFPAdSlot, { className: className, networkID: networkID, adUnit: adUnit, slotId: slotId, targeting: targeting, sizes: sizes, setShowAd: setShowAd })
37
+ ),
38
+ React__default.createElement(
39
+ 'style',
40
+ { jsx: 'true' },
41
+ ''
42
+ )
43
+ )
44
+ );
45
+ };
46
+
47
+ exports.ADInfeed = ADInfeed;
@@ -1113,6 +1113,10 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1113
1113
  }
1114
1114
  }, 500);
1115
1115
 
1116
+ var matchAd = function matchAd(element) {
1117
+ return slotId.includes(element);
1118
+ };
1119
+
1116
1120
  return React__default.createElement(
1117
1121
  'div',
1118
1122
  { className: className, style: { textAlign: 'center' } },
@@ -1123,7 +1127,7 @@ var DFPAdSlot = function DFPAdSlot(_ref) {
1123
1127
  sizeMapping: sizeMapping,
1124
1128
  targetingArguments: targeting,
1125
1129
  onSlotRender: function onSlotRender(eventData) {
1126
- if (slotId === 'floating-ad' && eventData && eventData.event && eventData.event.creativeId == null) {
1130
+ if (['floating-ad', 'infeed'].some(matchAd) && eventData && eventData.event && eventData.event.creativeId == null) {
1127
1131
  setShowAd(false);
1128
1132
  }
1129
1133
  setAdRendered(true);
@@ -24,12 +24,13 @@ require('next/link');
24
24
  var Router = require('next/router');
25
25
  var Router__default = _interopDefault(Router);
26
26
  require('react-dom');
27
- var index$1 = require('./index-be0c82be.js');
27
+ var index$1 = require('./index-39beccb3.js');
28
28
  var index$2 = require('./index-fa0fb52c.js');
29
29
  var entities = require('./entities-310b46ee.js');
30
30
  require('./slicedToArray-e38fb29d.js');
31
- var AdSlot = require('./AdSlot-1c436555.js');
31
+ require('./AdSlot-93d892f5.js');
32
32
  require('./promise-b96c61f8.js');
33
+ var ADInfeed = require('./ADInfeed-0da6acd4.js');
33
34
 
34
35
  var DeckContent = function (_React$Component) {
35
36
  inherits$2._inherits(DeckContent, _React$Component);
@@ -170,14 +171,14 @@ var DeckContent = function (_React$Component) {
170
171
  var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
171
172
 
172
173
  // please leave this for later debug purpose : Yong Jun.
173
- /* console.log('page change reported', {
174
- currentPage: currentPage,
175
- pageNumber: pageNumber,
176
- pathname: pathname,
177
- path: path,
178
- newPath: newPath,
179
- firstPage: pageNumber === 1,
180
- queryString: queryString
174
+ /* console.log('page change reported', {
175
+ currentPage: currentPage,
176
+ pageNumber: pageNumber,
177
+ pathname: pathname,
178
+ path: path,
179
+ newPath: newPath,
180
+ firstPage: pageNumber === 1,
181
+ queryString: queryString
181
182
  }) */
182
183
 
183
184
  if (pageview) {
@@ -279,23 +280,7 @@ var DeckContent = function (_React$Component) {
279
280
  lgVar = 6;
280
281
  }
281
282
  if (row._type === 'BrandInsight' && row.adUnit) {
282
- return React__default.createElement(
283
- React__default.Fragment,
284
- { key: itemCounter },
285
- React__default.createElement(
286
- Col,
287
- { className: 'brand-insight-wrapper', sm: 12, counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
288
- React__default.createElement(
289
- Card,
290
- { className: 'ad-wrapper', style: { flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
291
- React__default.createElement(
292
- 'div',
293
- { style: { width: '100%', height: 'auto' } },
294
- React__default.createElement(AdSlot.DFPAdSlot, { className: row.className, networkID: row.networkID, adUnit: row.adUnit, slotId: row.slotId, targeting: row.targeting, sizes: row.sizes })
295
- )
296
- )
297
- )
298
- );
283
+ return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
299
284
  } else {
300
285
  var pageNumber = row.pageNumber || _this.state.page;
301
286
  var contentCategoryName = row.contentCategory && row.contentCategory.name && _this.mapping[row.contentCategory.name] ? row.contentCategory.name : 'Articles';
@@ -24,7 +24,7 @@ require('next/link');
24
24
  var Router = require('next/router');
25
25
  var Router__default = _interopDefault(Router);
26
26
  require('react-dom');
27
- var index$1 = require('./index-be0c82be.js');
27
+ var index$1 = require('./index-39beccb3.js');
28
28
  var index$2 = require('./index-fa0fb52c.js');
29
29
  var entities = require('./entities-310b46ee.js');
30
30
  var get$1 = require('./get-1f91592f.js');
@@ -18,14 +18,14 @@ var visibilitySensor = require('./visibility-sensor-b72d9527.js');
18
18
  require('next/link');
19
19
  var Router = require('next/router');
20
20
  var Router__default = _interopDefault(Router);
21
- var index$1 = require('./index-be0c82be.js');
21
+ var index$1 = require('./index-39beccb3.js');
22
22
  var index$2 = require('./index-fa0fb52c.js');
23
23
  var entities = require('./entities-310b46ee.js');
24
- var AdSlot = require('./AdSlot-1c436555.js');
24
+ var ADInfeed = require('./ADInfeed-0da6acd4.js');
25
25
  var get$1 = require('./get-1f91592f.js');
26
26
 
27
27
  var Dfp = React__default.lazy(function () {
28
- return Promise.resolve().then(function () { return require('./Dfp-7a5533f9.js'); });
28
+ return new Promise(function (resolve) { resolve(require('./Dfp-7a5533f9.js')); });
29
29
  });
30
30
 
31
31
  var AD = function AD(props) {
@@ -513,19 +513,7 @@ var GridContent = function (_React$Component) {
513
513
  );
514
514
  }
515
515
  } else if (row._type === 'BrandInsight' && row.adUnit) {
516
- return React__default.createElement(
517
- React__default.Fragment,
518
- { key: itemCounter },
519
- React__default.createElement(
520
- 'div',
521
- { className: 'brand-insight-wrapper', counter: itemCounter++, style: { display: 'flex', flex: '1 0 auto' } },
522
- React__default.createElement(
523
- Card,
524
- { className: 'ad-wrapper', style: { display: 'block !important', flexDirection: index === 0 || index % 4 === 0 ? 'top' : 'row' } },
525
- React__default.createElement(AdSlot.DFPAdSlot, { className: row.className, networkID: row.networkID, adUnit: row.adUnit, slotId: row.slotId, targeting: row.targeting, sizes: row.sizes })
526
- )
527
- )
528
- );
516
+ return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
529
517
  }
530
518
  return React__default.createElement(
531
519
  React__default.Fragment,
@@ -20,14 +20,15 @@ require('./visibility-sensor-b72d9527.js');
20
20
  require('next/link');
21
21
  require('next/router');
22
22
  require('react-dom');
23
- require('./index-be0c82be.js');
23
+ require('./index-39beccb3.js');
24
24
  require('./index-fa0fb52c.js');
25
25
  require('./entities-310b46ee.js');
26
26
  require('./slicedToArray-e38fb29d.js');
27
- require('./AdSlot-1c436555.js');
27
+ require('./AdSlot-93d892f5.js');
28
28
  require('./promise-b96c61f8.js');
29
+ require('./ADInfeed-0da6acd4.js');
29
30
  require('./get-1f91592f.js');
30
- var GridContent = require('./GridContent-e459f9e3.js');
31
+ var GridContent = require('./GridContent-524f2ad8.js');
31
32
 
32
33
 
33
34
 
@@ -11,7 +11,7 @@ var Col = _interopDefault(require('react-bootstrap/Col'));
11
11
  var Card = _interopDefault(require('react-bootstrap/Card'));
12
12
  require('next/link');
13
13
  require('react-dom');
14
- var index$1 = require('./index-be0c82be.js');
14
+ var index$1 = require('./index-39beccb3.js');
15
15
  var index$2 = require('./index-fa0fb52c.js');
16
16
  var Badge = _interopDefault(require('react-bootstrap/Badge'));
17
17
 
@@ -11,7 +11,7 @@ var Col = _interopDefault(require('react-bootstrap/Col'));
11
11
  var Card = _interopDefault(require('react-bootstrap/Card'));
12
12
  require('next/link');
13
13
  require('react-dom');
14
- var index$1 = require('./index-be0c82be.js');
14
+ var index$1 = require('./index-39beccb3.js');
15
15
  var index$2 = require('./index-fa0fb52c.js');
16
16
  var Button = _interopDefault(require('react-bootstrap/Button'));
17
17
 
@@ -24,7 +24,7 @@ require('next/link');
24
24
  var Router = require('next/router');
25
25
  var Router__default = _interopDefault(Router);
26
26
  require('react-dom');
27
- require('./index-be0c82be.js');
27
+ require('./index-39beccb3.js');
28
28
  var promise = require('./promise-b96c61f8.js');
29
29
 
30
30
  var MasterDeck = function (_React$Component) {
@@ -170,14 +170,14 @@ var MasterDeck = function (_React$Component) {
170
170
  var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
171
171
 
172
172
  // please leave this for later debug purpose : Yong Jun.
173
- /* console.log('page change reported', {
174
- currentPage: currentPage,
175
- pageNumber: pageNumber,
176
- pathname: pathname,
177
- path: path,
178
- newPath: newPath,
179
- firstPage: pageNumber === 1,
180
- queryString: queryString
173
+ /* console.log('page change reported', {
174
+ currentPage: currentPage,
175
+ pageNumber: pageNumber,
176
+ pathname: pathname,
177
+ path: path,
178
+ newPath: newPath,
179
+ firstPage: pageNumber === 1,
180
+ queryString: queryString
181
181
  }) */
182
182
 
183
183
  if (pageview) {