@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
@@ -0,0 +1,340 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ require('./_commonjsHelpers-06173234.js');
6
+ require('./core.get-iterator-method-f3c44602.js');
7
+ require('./_library-dd23b178.js');
8
+ require('./_iter-detect-05795553.js');
9
+ require('./_object-pie-68c5bcbc.js');
10
+ var _extends$1 = require('./extends-eed4f016.js');
11
+ require('./_object-sap-171b9ea5.js');
12
+ var inherits$1 = require('./inherits-12d44cca.js');
13
+ require('./define-property-21887c62.js');
14
+ require('./web.dom.iterable-e34bf324.js');
15
+ require('./typeof-5f52cf64.js');
16
+ require('./_is-array-aa52fa1e.js');
17
+ var React = require('react');
18
+ var React__default = _interopDefault(React);
19
+ require('./events-1b438fe7.js');
20
+ var index = require('./index-98e01cb9.js');
21
+ require('prop-types');
22
+ var Container = _interopDefault(require('react-bootstrap/Container'));
23
+ var Row = _interopDefault(require('react-bootstrap/Row'));
24
+ var Col = _interopDefault(require('react-bootstrap/Col'));
25
+ var Card = _interopDefault(require('react-bootstrap/Card'));
26
+ var moment = require('./moment-575fe24c.js');
27
+ var Router = require('next/router');
28
+ var Router__default = _interopDefault(Router);
29
+ require('./isSymbol-04666465.js');
30
+ require('react-dom');
31
+ require('./slicedToArray-f6d4eaa8.js');
32
+ require('./index-be0c82be.js');
33
+ var urlFor = require('./urlFor.js');
34
+ var index$2 = require('./index-96b3db50.js');
35
+ var main = require('./main-02daeefe.js');
36
+ var entities = require('./entities-310b46ee.js');
37
+ var stringify = require('./stringify-bbc68047.js');
38
+ var asyncToGenerator = require('./asyncToGenerator-df19209d.js');
39
+ var get = require('./get-adbb11e3.js');
40
+ require('./eq-bb2843ed.js');
41
+ var Spinner = _interopDefault(require('react-bootstrap/Spinner'));
42
+ require('react-paginate');
43
+ var Pagination = require('./Pagination-2f76381b.js');
44
+
45
+ var DeckQueue = function (_React$Component) {
46
+ inherits$1._inherits(DeckQueue, _React$Component);
47
+
48
+ function DeckQueue() {
49
+ var _ref,
50
+ _this2 = this;
51
+
52
+ var _temp, _this, _ret;
53
+
54
+ inherits$1._classCallCheck(this, DeckQueue);
55
+
56
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
57
+ args[_key] = arguments[_key];
58
+ }
59
+
60
+ return _ret = (_temp = (_this = inherits$1._possibleConstructorReturn(this, (_ref = DeckQueue.__proto__ || inherits$1._Object$getPrototypeOf(DeckQueue)).call.apply(_ref, [this].concat(args))), _this), _this.page = _this.props.page, _this.data = _this.props.dataRecord, _this.client = _this.props.client, _this.pointer = _this.props.pointer ? _this.props.pointer : false, _this.pointerArray = _this.props.pointerArray ? _this.props.pointerArray : false, _this.defaultImage = _this.props.defaultImage ? _this.props.defaultImage : '/placeholder.jpg', _this.imageHeight = _this.props.imageHeight ? _this.props.imageHeight : 270, _this.state = {
61
+ data: _this.data,
62
+ prevData: _this.data,
63
+ currentPage: _this.props.currentPage || 1,
64
+ isDataLoading: false,
65
+ itemsPerPage: _this.props.params ? _this.props.params.to - _this.props.params.from : 2
66
+ }, _this.renderCardImage = function (row) {
67
+ if (row.thumbnail && row.thumbnail.asset) {
68
+ var url = urlFor({
69
+ client: _this.client,
70
+ source: row.thumbnail,
71
+ imageHeight: _this.imageHeight || null,
72
+ imageWidth: _this.props.imageWidth || null,
73
+ imageFit: _this.props.imageFit || null
74
+ });
75
+ return url;
76
+ } else {
77
+ return _this.defaultImage;
78
+ }
79
+ }, _this.seoPagination = function (pageNumber) {
80
+ var _this$props = _this.props,
81
+ pageview = _this$props.pageview,
82
+ router = _this$props.router;
83
+
84
+ var path = router.asPath;
85
+ var qrIndex = path.indexOf('?');
86
+ var pathname = router.pathname;
87
+ var queryString = '';
88
+ if (qrIndex > 0) {
89
+ path = path.substring(1, qrIndex);
90
+ var partialQS = router.asPath.substring(qrIndex + 1);
91
+ var partialQSArr = partialQS.split('&');
92
+ // exclude page=xxx from query string
93
+ partialQSArr.map(function (item) {
94
+ var itemArr = item.split('=');
95
+ var key = itemArr[0];
96
+ var val = itemArr[1];
97
+ if (key !== 'page') queryString += (queryString.length === 0 ? '' : '&') + key + '=' + val;
98
+ });
99
+ }
100
+ if (queryString.length > 0) path += '?' + queryString;
101
+ pageNumber = parseInt(pageNumber);
102
+ if (path[0] !== '/') path = '/' + path;
103
+ var newPath = pageNumber === 1 ? '' + path : path + '?page=' + pageNumber;
104
+ if (pageview) pageview(newPath);
105
+ router.push(pathname, newPath, {
106
+ shallow: true
107
+ });
108
+ }, _this.renderMobileAd = function (index, numberOfItemsBeforeAd) {
109
+ var rightItems = _this.props.rightItems;
110
+
111
+ var i = ((index + 1) / numberOfItemsBeforeAd - 1) % rightItems.length;
112
+ return React__default.createElement(
113
+ 'div',
114
+ { style: { display: 'flex', flex: '1 0 auto' } },
115
+ rightItems[i].component
116
+ );
117
+ }, _this.handlePageChange = function () {
118
+ var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(selectedPage) {
119
+ var itemsPerPage, _this$props2, query, params, client, seoPaginate, start, newParams, newData;
120
+
121
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
122
+ while (1) {
123
+ switch (_context.prev = _context.next) {
124
+ case 0:
125
+ itemsPerPage = _this.state.itemsPerPage;
126
+ _this$props2 = _this.props, query = _this$props2.query, params = _this$props2.params, client = _this$props2.client, seoPaginate = _this$props2.seoPaginate;
127
+
128
+ _this.setState({ isDataLoading: true, currentPage: selectedPage });
129
+ seoPaginate && _this.seoPagination(selectedPage);
130
+ index.lib_3.refresh();
131
+ document.body.scrollTop = 0;
132
+ document.documentElement.scrollTop = 0;
133
+ start = (selectedPage - 1) * itemsPerPage;
134
+ newParams = _extends$1._extends({}, params, {
135
+ from: start,
136
+ to: start + itemsPerPage
137
+ });
138
+ _context.prev = 9;
139
+ _context.next = 12;
140
+ return client.fetch(query, newParams);
141
+
142
+ case 12:
143
+ newData = _context.sent;
144
+
145
+ if (_this.pointer && _this.pointerArray) newData = newData[_this.pointerArray][_this.pointer];
146
+ if (newData && newData.length > 0) {
147
+ _this.setState({ isDataLoading: false, data: newData });
148
+ }
149
+ _context.next = 20;
150
+ break;
151
+
152
+ case 17:
153
+ _context.prev = 17;
154
+ _context.t0 = _context['catch'](9);
155
+
156
+ console.error(_context.t0);
157
+
158
+ case 20:
159
+ case 'end':
160
+ return _context.stop();
161
+ }
162
+ }
163
+ }, _callee, _this2, [[9, 17]]);
164
+ }));
165
+
166
+ return function (_x) {
167
+ return _ref2.apply(this, arguments);
168
+ };
169
+ }(), _temp), inherits$1._possibleConstructorReturn(_this, _ret);
170
+ }
171
+
172
+ inherits$1._createClass(DeckQueue, [{
173
+ key: 'componentDidUpdate',
174
+ value: function componentDidUpdate(prevProps, prevState) {
175
+ if (stringify._JSON$stringify(this.state.prevData) !== stringify._JSON$stringify(prevState.prevData) && this.props.seoPaginate) {
176
+ this.seoPagination(this.state.currentPage);
177
+ }
178
+ }
179
+ }, {
180
+ key: 'cardLoader',
181
+ value: function cardLoader(_ref3) {
182
+ var _this3 = this;
183
+
184
+ var columns = _ref3.columns,
185
+ variant = _ref3.variant;
186
+
187
+ var mode = variant && variant === 'right' ? 'row-reverse' : 'row';
188
+ var lgVar = Math.floor(12 / columns);
189
+ var numberOfItemsBeforeAd = 6;
190
+
191
+ return React__default.createElement(
192
+ Row,
193
+ null,
194
+ this.state.data && this.state.data.map(function (row, index) {
195
+ // const thumbnailURL = get(row, 'thumbnail.asset.url', this.props.defaultImage)
196
+
197
+ return React__default.createElement(
198
+ React__default.Fragment,
199
+ { key: index },
200
+ React__default.createElement(
201
+ Col,
202
+ { md: 12, lg: lgVar, style: { display: 'flex', flex: '1 0 auto' } },
203
+ React__default.createElement(
204
+ Card,
205
+ { className: 'queue-card', style: { borderTop: '1px solid #EEE' } },
206
+ React__default.createElement(
207
+ Row,
208
+ { style: { flexDirection: mode } },
209
+ (row.thumbnail && row.thumbnail.asset || _this3.props.defaultImage) && React__default.createElement(
210
+ Col,
211
+ { md: 12, lg: 4 },
212
+ React__default.createElement(
213
+ 'a',
214
+ { href: _this3.page + '/' + get.get_1(row, 'url.current') },
215
+ React__default.createElement(
216
+ index$2.LazyLoad,
217
+ { height: _this3.props.imageHeight },
218
+ React__default.createElement(Card.Img, { variant: 'top', src: _this3.renderCardImage(row), alt: row.thumbnail && row.thumbnail.asset ? row.thumbnail.asset.originalFilename : '' })
219
+ )
220
+ )
221
+ ),
222
+ React__default.createElement(
223
+ Col,
224
+ null,
225
+ React__default.createElement(
226
+ Card.Body,
227
+ { style: { padding: '20px' } },
228
+ row.title && React__default.createElement(
229
+ Card.Title,
230
+ null,
231
+ React__default.createElement(
232
+ 'a',
233
+ { href: _this3.page + '/' + get.get_1(row, 'url.current') },
234
+ row.title
235
+ )
236
+ ),
237
+ _this3.props.showPublished && row.published && React__default.createElement(
238
+ Card.Subtitle,
239
+ null,
240
+ moment.moment(row.published).format('MMMM DD, YYYY')
241
+ ),
242
+ _this3.props.showRecent && row.recent && row.recent.title && React__default.createElement(
243
+ Card.Subtitle,
244
+ null,
245
+ 'Recent : ',
246
+ React__default.createElement(
247
+ 'a',
248
+ { href: 'view/' + row.recent.url.current },
249
+ row.recent.title
250
+ )
251
+ ),
252
+ row.summary && React__default.createElement(
253
+ Card.Text,
254
+ null,
255
+ React__default.createElement(
256
+ 'a',
257
+ { href: _this3.page + '/' + get.get_1(row, 'url.current') },
258
+ entities.clean_html_1(row.summary)
259
+ )
260
+ )
261
+ )
262
+ )
263
+ )
264
+ )
265
+ ),
266
+ main.main_36 && _this3.props.rightItems && (index + 1) % numberOfItemsBeforeAd === 0 && _this3.renderMobileAd(index, numberOfItemsBeforeAd)
267
+ );
268
+ })
269
+ );
270
+ }
271
+ }, {
272
+ key: 'render',
273
+ value: function render() {
274
+ var _props = this.props,
275
+ columns = _props.columns,
276
+ variant = _props.variant,
277
+ totalDataCount = _props.totalDataCount;
278
+ var _state = this.state,
279
+ data = _state.data,
280
+ isDataLoading = _state.isDataLoading,
281
+ itemsPerPage = _state.itemsPerPage,
282
+ currentPage = _state.currentPage;
283
+
284
+ return React__default.createElement(
285
+ 'div',
286
+ { className: 'contentDeck' },
287
+ isDataLoading ? React__default.createElement(
288
+ 'div',
289
+ { className: 'd-flex justify-content-center', style: { marginTop: '100px' } },
290
+ React__default.createElement(
291
+ Spinner,
292
+ { animation: 'border', role: 'status' },
293
+ React__default.createElement(
294
+ 'span',
295
+ { className: 'sr-only' },
296
+ 'Loading...'
297
+ )
298
+ )
299
+ ) : data && data.length > 0 ? React__default.createElement(
300
+ Container,
301
+ null,
302
+ this.cardLoader({ columns: columns, variant: variant }),
303
+ React__default.createElement(
304
+ 'div',
305
+ { className: 'pagination-wrapper' },
306
+ React__default.createElement(Pagination.Pagination, {
307
+ pageCount: Math.ceil(totalDataCount / itemsPerPage),
308
+ pageRangeDisplayed: main.main_36 ? 3 : 9,
309
+ currentPage: currentPage,
310
+ onPageChange: this.handlePageChange
311
+ }),
312
+ React__default.createElement(
313
+ 'style',
314
+ { jsx: 'true' },
315
+ '\n .pagination-wrapper {\n margin: 3rem 0;\n }\n @media only screen and (max-width: 768px) {\n .pagination-wrapper {\n margin-bottom: 6rem;\n }\n }\n '
316
+ )
317
+ )
318
+ ) : null
319
+ );
320
+ }
321
+ }], [{
322
+ key: 'getDerivedStateFromProps',
323
+ value: function getDerivedStateFromProps(props, state) {
324
+ if (stringify._JSON$stringify(props.dataRecord) !== stringify._JSON$stringify(state.prevData)) {
325
+ return {
326
+ data: props.dataRecord,
327
+ prevData: props.dataRecord,
328
+ currentPage: props.currentPage
329
+ };
330
+ }
331
+ return null;
332
+ }
333
+ }]);
334
+
335
+ return DeckQueue;
336
+ }(React__default.Component);
337
+
338
+ var QueuePaginated = Router.withRouter(DeckQueue);
339
+
340
+ module.exports = QueuePaginated;
@@ -12,7 +12,7 @@ var index = require('./index-98e01cb9.js');
12
12
  var PropTypes = require('prop-types');
13
13
  var PropTypes__default = _interopDefault(PropTypes);
14
14
  require('./isSymbol-04666465.js');
15
- var debounce$1 = require('./debounce-529c8d06.js');
15
+ var debounce = require('./debounce-529c8d06.js');
16
16
  require('./toNumber-36d1e7e5.js');
17
17
  require('react-dom');
18
18
  var visibilitySensor = require('./visibility-sensor-ad5e3116.js');
@@ -39,7 +39,7 @@ var AD = function AD(_ref) {
39
39
  showPlaceholder = _useState4[0],
40
40
  setShowPlaceholder = _useState4[1];
41
41
 
42
- var handleVisibilityChange = debounce$1.debounce_1(function (_ref2) {
42
+ var handleVisibilityChange = debounce.debounce_1(function (_ref2) {
43
43
  var event = _ref2.event;
44
44
 
45
45
  if (event.inViewPercentage <= 0) {
@@ -10,7 +10,7 @@ require('./toConsumableArray-c9b8a0d0.js');
10
10
  require('./_object-pie-68c5bcbc.js');
11
11
  var _extends = require('./extends-eed4f016.js');
12
12
  require('./_object-sap-171b9ea5.js');
13
- require('./inherits-cba9c846.js');
13
+ require('./inherits-12d44cca.js');
14
14
  require('./define-property-21887c62.js');
15
15
  require('./web.dom.iterable-e34bf324.js');
16
16
  require('./typeof-5f52cf64.js');
@@ -48,7 +48,7 @@ require('./GroupDeck.js');
48
48
  require('react-bootstrap');
49
49
  require('./iconBase-68959171.js');
50
50
  require('./index.esm-90433435.js');
51
- var getSerializers = require('./index-396089c0.js');
51
+ var getSerializers = require('./index-54adcbc3.js');
52
52
  require('./util-f2c1b65b.js');
53
53
  require('./brightcove-react-player-loader.es-156bd4d6.js');
54
54
  require('next/head');
@@ -10,7 +10,7 @@ var toConsumableArray = require('./toConsumableArray-c9b8a0d0.js');
10
10
  require('./_object-pie-68c5bcbc.js');
11
11
  var _extends = require('./extends-eed4f016.js');
12
12
  require('./_object-sap-171b9ea5.js');
13
- var inherits = require('./inherits-cba9c846.js');
13
+ var inherits = require('./inherits-12d44cca.js');
14
14
  require('./define-property-21887c62.js');
15
15
  require('./web.dom.iterable-e34bf324.js');
16
16
  require('./typeof-5f52cf64.js');
@@ -52,120 +52,8 @@ var get = require('./get-adbb11e3.js');
52
52
  require('./eq-bb2843ed.js');
53
53
  require('./AD.js');
54
54
  var AuthorComponent = require('./AuthorComponent-02e827ae.js');
55
- var Button = _interopDefault(require('react-bootstrap/Button'));
56
-
57
- var PublicationFeature = function PublicationFeature(_ref) {
58
- var data = _ref.data,
59
- _ref$issueMapping = _ref.issueMapping,
60
- issueMapping = _ref$issueMapping === undefined ? '/publications' : _ref$issueMapping,
61
- defaultImage = _ref.defaultImage,
62
- client = _ref.client;
63
-
64
- var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
65
- var _data$parent = data.parent;
66
- _data$parent = _data$parent === undefined ? {} : _data$parent;
67
- var _data$parent$identifi = _data$parent.identifier;
68
- _data$parent$identifi = _data$parent$identifi === undefined ? {} : _data$parent$identifi;
69
- var parentSlug = _data$parent$identifi.current,
70
- _data$identifier = data.identifier;
71
- _data$identifier = _data$identifier === undefined ? {} : _data$identifier;
72
- var childSlug = _data$identifier.current,
73
- name = data.name,
74
- articles = data.articles,
75
- month = data.month,
76
- year = data.year,
77
- thumbnail = data.thumbnail;
78
-
79
- if (name && articles && articles.length > 0) {
80
- return React__default.createElement(
81
- 'div',
82
- { className: 'publication-feature-container border rounded p-2' },
83
- React__default.createElement(
84
- Row,
85
- null,
86
- React__default.createElement(
87
- Col,
88
- { xs: 12 },
89
- React__default.createElement(
90
- 'h4',
91
- null,
92
- name,
93
- month && year && React__default.createElement(
94
- 'span',
95
- null,
96
- ' ',
97
- '| ',
98
- months[parseInt(month, 10)],
99
- ' ',
100
- year
101
- )
102
- )
103
- ),
104
- React__default.createElement(
105
- Col,
106
- { xs: 12, sm: 4 },
107
- React__default.createElement(
108
- index$2.LazyLoad,
109
- { once: true },
110
- React__default.createElement('img', { className: 'w-100 mb-2', src: thumbnail && thumbnail.asset && client ? urlFor({ client: client, source: thumbnail.asset }) : defaultImage, alt: name || '' })
111
- )
112
- ),
113
- React__default.createElement(
114
- Col,
115
- { xs: 12, sm: 8 },
116
- React__default.createElement(
117
- Row,
118
- null,
119
- articles.map(function (article) {
120
- return React__default.createElement(
121
- Col,
122
- { key: article._id, xs: 12, sm: 6 },
123
- article.issueSection && article.issueSection.name && React__default.createElement(
124
- 'h6',
125
- { className: 'text-primary m-0 p-0 text-uppercase font-weight-bold' },
126
- article.issueSection.name
127
- ),
128
- article.title && React__default.createElement(
129
- React__default.Fragment,
130
- null,
131
- article.url && article.url.current ? React__default.createElement(
132
- 'a',
133
- { href: '/view/' + article.url.current },
134
- React__default.createElement(
135
- 'h6',
136
- { className: 'text-break' },
137
- article.title
138
- )
139
- ) : React__default.createElement(
140
- 'h6',
141
- { className: 'text-break' },
142
- article.title
143
- )
144
- )
145
- );
146
- })
147
- )
148
- ),
149
- issueMapping && parentSlug && childSlug && React__default.createElement(
150
- Col,
151
- { xs: 12 },
152
- React__default.createElement(
153
- Button,
154
- { href: issueMapping + '/' + parentSlug + '/' + childSlug, className: 'float-right', variant: 'outline-primary' },
155
- 'More Articles ',
156
- '>>'
157
- )
158
- )
159
- ),
160
- React__default.createElement(
161
- 'style',
162
- { jsx: 'true' },
163
- '\n .row {\n margin-top: -15px;\n margin-left: -15px;\n margin-right: 0;\n }\n .row > * {\n padding-top: 15px;\n padding-left: 15px;\n padding-right: 0;\n }\n '
164
- )
165
- );
166
- }
167
- return null;
168
- };
55
+ require('react-bootstrap/Button');
56
+ var PublicationFeature = require('./PublicationFeature-28c549f2.js');
169
57
 
170
58
  var GridContent = function (_React$Component) {
171
59
  inherits._inherits(GridContent, _React$Component);
@@ -733,7 +621,7 @@ var GridContent = function (_React$Component) {
733
621
  return React__default.createElement(ADlgInfeed.ADlgInfeed, _extends._extends({ index: index }, row));
734
622
  } else if (row._type === 'brandInsightAd' && row.adUnit) {
735
623
  return React__default.createElement(ADInfeed.ADInfeed, { index: index, infeedAd: row });
736
- } else if (row._type === 'publication') return React__default.createElement(PublicationFeature, { data: row, defaultImage: _this2.defaultImage, issueMapping: _this2.props.issueMapping, client: _this2.client });
624
+ } else if (row._type === 'publication') return React__default.createElement(PublicationFeature.PublicationFeature, { data: row, defaultImage: _this2.defaultImage, issueMapping: _this2.props.issueMapping, client: _this2.client });
737
625
  if (index + 1 > heroContent + featureCount && (!row._type || !['lg-infeed', 'brandInsightAd'].includes(row._type))) {
738
626
  return React__default.createElement(
739
627
  React__default.Fragment,