@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,312 @@
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('./toConsumableArray-c9b8a0d0.js');
10
+ require('./_object-pie-68c5bcbc.js');
11
+ var _extends$1 = require('./extends-eed4f016.js');
12
+ require('./_object-sap-171b9ea5.js');
13
+ require('./inherits-12d44cca.js');
14
+ require('./define-property-21887c62.js');
15
+ require('./web.dom.iterable-e34bf324.js');
16
+ require('./typeof-5f52cf64.js');
17
+ require('./_is-array-aa52fa1e.js');
18
+ var React = require('react');
19
+ var React__default = _interopDefault(React);
20
+ require('./events-1b438fe7.js');
21
+ require('./index-98e01cb9.js');
22
+ require('prop-types');
23
+ require('react-bootstrap/Row');
24
+ require('react-bootstrap/Col');
25
+ require('react-bootstrap/Card');
26
+ require('./moment-575fe24c.js');
27
+ require('next/router');
28
+ require('./isSymbol-04666465.js');
29
+ require('./debounce-529c8d06.js');
30
+ require('./toNumber-36d1e7e5.js');
31
+ require('react-dom');
32
+ var slicedToArray = require('./slicedToArray-f6d4eaa8.js');
33
+ require('./index-be0c82be.js');
34
+ var urlFor = require('./urlFor.js');
35
+ require('./index-96b3db50.js');
36
+ require('./main-02daeefe.js');
37
+ require('./entities-310b46ee.js');
38
+ require('./stringify-bbc68047.js');
39
+ var asyncToGenerator = require('./asyncToGenerator-df19209d.js');
40
+ require('./Segment.js');
41
+ require('./Beam.js');
42
+ require('./AdSlot.js');
43
+ require('./ADInfeed-2e48af77.js');
44
+ require('./lodash-fc2922d0.js');
45
+ require('./ADlgInfeed-c39c7131.js');
46
+ require('./getContentCategory-f38a4c00.js');
47
+ require('./AuthorComponent-02e827ae.js');
48
+ require('react-bootstrap/Button');
49
+ var BlockContent = require('./BlockContent-091a991f.js');
50
+ var reactSocialIcons = require('./react-social-icons-f7f48f71.js');
51
+ require('./index-187c967e.js');
52
+ require('./smoothscroll-5054361f.js');
53
+ require('./GroupDeck.js');
54
+ require('react-bootstrap');
55
+ require('./timeDifferenceCalc.js');
56
+ require('./iconBase-68959171.js');
57
+ require('./index.esm-90433435.js');
58
+ var getSerializers = require('./index-54adcbc3.js');
59
+ require('./util-f2c1b65b.js');
60
+ require('./brightcove-react-player-loader.es-156bd4d6.js');
61
+ require('next/head');
62
+ require('react-share');
63
+ require('./SocialShare.js');
64
+ require('./_object-to-array-9bac8737.js');
65
+ require('react-bootstrap/Pagination');
66
+ require('react-bootstrap/Figure');
67
+ require('react-bootstrap/OverlayTrigger');
68
+ require('react-bootstrap/Tooltip');
69
+ require('react-bootstrap/Popover');
70
+ require('./inherits-8d29278d.js');
71
+ require('react-bootstrap/Carousel');
72
+ var Feature = require('./Feature.js');
73
+ require('react-bootstrap/Breadcrumb');
74
+ var Breadcrumbs = require('./Breadcrumbs.js');
75
+ var ImageSlider = require('./ImageSlider-38f25e66.js');
76
+ require('react-paginate');
77
+ require('./Pagination-2f76381b.js');
78
+ var QueueDeckExpandedPaginated = require('./QueueDeckExpandedPaginated.js');
79
+
80
+ var _this = undefined;
81
+
82
+ var checkIsFacebookGroup = function checkIsFacebookGroup(url) {
83
+ return (/www\.facebook\.com\/groups/.test(url)
84
+ );
85
+ };
86
+
87
+ var PartnerDetails = function PartnerDetails(_ref) {
88
+ var posts = _ref.posts,
89
+ totalPostsCount = _ref.totalPostsCount,
90
+ query = _ref.query,
91
+ params = _ref.params,
92
+ features = _ref.features,
93
+ currentPage = _ref.currentPage,
94
+ partnerDetails = _ref.partnerDetails,
95
+ client = _ref.client,
96
+ Settings = _ref.Settings,
97
+ pageview = _ref.pageview,
98
+ page = _ref.page;
99
+
100
+ return React__default.createElement(
101
+ React__default.Fragment,
102
+ null,
103
+ React__default.createElement(Breadcrumbs, null),
104
+ React__default.createElement(
105
+ 'div',
106
+ { className: 'partners-page' },
107
+ React__default.createElement(
108
+ 'div',
109
+ { className: 'my-5 partner-logo-wrap', style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' } },
110
+ partnerDetails.thumbnail && partnerDetails.thumbnail.link ? React__default.createElement(
111
+ 'a',
112
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%' }, href: partnerDetails.thumbnail.link, target: partnerDetails.thumbnail.blank ? '_blank' : '' },
113
+ React__default.createElement(
114
+ 'figure',
115
+ { style: { width: '100%', textAlign: 'center' } },
116
+ React__default.createElement('img', {
117
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
118
+ style: { maxWidth: '100%' },
119
+ src: partnerDetails.thumbnail ? urlFor({ client: client, source: partnerDetails.thumbnail.asset }) : ''
120
+ }),
121
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
122
+ 'figcaption',
123
+ null,
124
+ partnerDetails.thumbnail.caption
125
+ )
126
+ )
127
+ ) : React__default.createElement(
128
+ 'figure',
129
+ { className: 'partners-logo', style: { width: '25%', minWidth: '25%', textAlign: 'center' } },
130
+ React__default.createElement('img', {
131
+ alt: partnerDetails.thumbnail && partnerDetails.thumbnail.alt ? partnerDetails.thumbnail.alt : partnerDetails.name,
132
+ style: { maxWidth: '100%' },
133
+ src: partnerDetails.thumbnail ? urlFor({ client: client, source: partnerDetails.thumbnail.asset }) : ''
134
+ }),
135
+ partnerDetails.thumbnail && partnerDetails.thumbnail.caption && React__default.createElement(
136
+ 'figcaption',
137
+ null,
138
+ partnerDetails.thumbnail.caption
139
+ )
140
+ ),
141
+ React__default.createElement(
142
+ 'style',
143
+ { jsx: 'true' },
144
+ '\n @media screen and (max-width: 768px) {\n .partners-logo {\n width: 100%;\n min-width: 100%;\n }\n .partner-logo-wrap {\n flex-wrap: wrap;\n }\n .block-content-partners {\n padding-left: 0 !important;\n }\n }\n '
145
+ ),
146
+ (partnerDetails.description || partnerDetails.linkedin || partnerDetails.twitter && partnerDetails.facebook || !partnerDetails.twitter && partnerDetails.facebook && checkIsFacebookGroup(partnerDetails.facebook)) && React__default.createElement(
147
+ 'div',
148
+ { className: 'block-content-partners my-4', style: { maxWidth: '100%', paddingLeft: '2rem', flex: '1 1 auto' } },
149
+ partnerDetails.description && React__default.createElement(BlockContent.BlockContent, _extends$1._extends({ serializers: getSerializers.getSerializers(client), blocks: partnerDetails.description, imageOptions: { w: 320, h: 240, fit: 'max' } }, client.config())),
150
+ (partnerDetails.linkedin || partnerDetails.twitter && partnerDetails.facebook || !partnerDetails.twitter && partnerDetails.facebook && checkIsFacebookGroup(partnerDetails.facebook)) && React__default.createElement(
151
+ 'div',
152
+ null,
153
+ React__default.createElement(
154
+ 'p',
155
+ { className: 'd-inline-block font-weight-bold' },
156
+ 'Connect with us:'
157
+ ),
158
+ ' ',
159
+ partnerDetails.linkedin && React__default.createElement(reactSocialIcons.reactSocialIcons_1, {
160
+ url: '' + partnerDetails.linkedin + (partnerDetails.linkedin.slice(-1) === '/' ? '' : '/') + 'posts/?feedView=all',
161
+ target: '_blank',
162
+ rel: 'noopener noreferrer',
163
+ style: { height: 30, width: 30 }
164
+ }),
165
+ (partnerDetails.twitter && partnerDetails.facebook || !partnerDetails.twitter && partnerDetails.facebook && checkIsFacebookGroup(partnerDetails.facebook)) && React__default.createElement(reactSocialIcons.reactSocialIcons_1, { url: partnerDetails.facebook, target: '_blank', rel: 'noopener noreferrer', style: { height: 30, width: 30, marginLeft: '0.25rem' } })
166
+ )
167
+ )
168
+ ),
169
+ partnerDetails.affiliates && partnerDetails.affiliates[0] && partnerDetails.affiliates[0].slides && React__default.createElement(
170
+ 'div',
171
+ { className: 'mb-4', style: { padding: '0 15px' } },
172
+ partnerDetails.affiliates[0].title && React__default.createElement(
173
+ 'h2',
174
+ { className: 'bb-gold' },
175
+ partnerDetails.affiliates[0].title
176
+ ),
177
+ React__default.createElement(ImageSlider.ImageSlider, { client: client, data: partnerDetails.affiliates[0] })
178
+ ),
179
+ features.length > 0 && React__default.createElement(
180
+ 'div',
181
+ { className: ' mb-5' },
182
+ React__default.createElement(Feature, { dataset: features, client: client })
183
+ ),
184
+ (partnerDetails.twitter || partnerDetails.facebook && !checkIsFacebookGroup(partnerDetails.facebook)) && React__default.createElement(
185
+ 'div',
186
+ { className: 'mb-5', style: { width: '100%', maxWidth: '100%', textAlign: 'center', padding: '15px', border: '2px solid #aaa', borderRadius: '15px' } },
187
+ partnerDetails.twitter ? React__default.createElement(ImageSlider.TwitterTimelineEmbed, { sourceType: 'url', url: partnerDetails.twitter, options: { height: 400 } }) : partnerDetails.facebook && React__default.createElement(
188
+ ImageSlider.Facebook,
189
+ { appId: ' ' },
190
+ React__default.createElement(ImageSlider.Page, { href: partnerDetails.facebook, tabs: 'timeline', width: '500', height: '500' })
191
+ )
192
+ ),
193
+ React__default.createElement(
194
+ 'div',
195
+ null,
196
+ posts && posts.length > 0 && React__default.createElement(
197
+ React__default.Fragment,
198
+ null,
199
+ React__default.createElement(
200
+ 'h2',
201
+ { className: 'bb-gold mb-2' },
202
+ 'Latest from ',
203
+ partnerDetails.name
204
+ ),
205
+ React__default.createElement('hr', null)
206
+ ),
207
+ React__default.createElement(QueueDeckExpandedPaginated, {
208
+ client: client,
209
+ mapping: Settings.mapping,
210
+ dataRecord: posts,
211
+ totalDataCount: totalPostsCount,
212
+ query: query,
213
+ params: params,
214
+ currentPage: currentPage,
215
+ seoPaginate: true,
216
+ columns: 'rotate',
217
+ variant: 'top',
218
+ page: page,
219
+ autoScroll: true,
220
+ defaultImage: Settings.logo,
221
+ showPublished: true,
222
+ showCategory: true,
223
+ pageview: pageview
224
+ })
225
+ )
226
+ )
227
+ );
228
+ };
229
+
230
+ PartnerDetails.returnGetInitialProps = function () {
231
+ var _ref2 = asyncToGenerator._asyncToGenerator( /*#__PURE__*/asyncToGenerator.regenerator.mark(function _callee(identifier, partnerPageUrl, partnerDocumentGroupID, params, currentPage, client) {
232
+ var category = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
233
+
234
+ var featureQuery, partnerQuery, taxonomyQuery, _ref3, _ref4, features, partnerDetails, taxonomyDetails, articlesQueryFilters, articlesQuerySorts, articlesQueryProjection, articlesQuery, totalArticlesCountQuery, _ref5, _ref6, articles, totalArticlesCount;
235
+
236
+ return asyncToGenerator.regenerator.wrap(function _callee$(_context) {
237
+ while (1) {
238
+ switch (_context.prev = _context.next) {
239
+ case 0:
240
+ featureQuery = '*[_type == \'feature\' && is_active == true && feature_url == \'/' + partnerPageUrl + '/' + (category ? category + '/' : null) + identifier + '\'] | order(_updatedAt asc)[0..5]{\n ...,\n \'feature_img\' : feature_img.asset->url\n }';
241
+ partnerQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && identifier.current == \'' + identifier + '\'] | order(name asc) [0] {\n description,\n name,\n identifier,\n thumbnail,\n twitter,\n facebook,\n linkedin,\n "affiliates": description[_type==\'slideshows\']{\n ...,\n slides->{...}\n }\n }';
242
+
243
+
244
+ if (category) {
245
+ // if partners page has a sub category such as onclive
246
+ // e.g. /sap-partner/[category]/[partner]
247
+
248
+ partnerQuery = '*[_type == \'documentGroup\' && !(_id in path("drafts.**")) && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')] [0] {\n ...,\n \'partner\': *[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\' && references(^._id)] [0] {\n description,\n name,\n identifier,\n thumbnail,\n twitter,\n facebook,\n linkedin,\n "affiliates": description[_type==\'slideshows\']{\n ...,\n slides->{...}\n }\n \n }\n }';
249
+ }
250
+
251
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && references(\'' + partnerDocumentGroupID + '\')\n && isShow != false\n && identifier.current == \'' + identifier + '\'] [0] {\n \'id\': _id,\n \'title\': name\n }';
252
+
253
+ if (category) {
254
+ taxonomyQuery = '*[_type == \'documentGroup\' \n && !(_id in path("drafts.**"))\n && isShow != false\n && identifier.current == \'' + identifier + '\' && references(*[_type == \'documentGroup\' && identifier.current == \'' + category + '\' && references(\'' + partnerDocumentGroupID + '\')]._id)] [0] {\n \'id\': _id,\n \'title\': name\n }';
255
+ }
256
+ _context.next = 7;
257
+ return asyncToGenerator._Promise.all([client.fetch(featureQuery), client.fetch(partnerQuery), client.fetch(taxonomyQuery)]);
258
+
259
+ case 7:
260
+ _ref3 = _context.sent;
261
+ _ref4 = slicedToArray._slicedToArray(_ref3, 3);
262
+ features = _ref4[0];
263
+ partnerDetails = _ref4[1];
264
+ taxonomyDetails = _ref4[2];
265
+ articlesQueryFilters = '[\n _type == \'article\' \n && !(_id in path("drafts.**")) \n && defined(title) \n && is_visible == true \n && defined(url) \n && published <= now()\n && passwordLocked != true \n && references(\'' + taxonomyDetails.id + '\')\n ]';
266
+ articlesQuerySorts = 'order(published desc)[$from...$to]';
267
+ articlesQueryProjection = '{\n title,\n summary,\n thumbnail,\n url,\n published,\n contentCategory->\n }';
268
+ articlesQuery = ['*'].concat(articlesQueryFilters).concat(articlesQuerySorts).concat(articlesQueryProjection).join('|');
269
+ totalArticlesCountQuery = 'count(' + ['*'].concat(articlesQueryFilters).join('|') + ')';
270
+ _context.next = 19;
271
+ return asyncToGenerator._Promise.all([client.fetch(articlesQuery, params), client.fetch(totalArticlesCountQuery)]);
272
+
273
+ case 19:
274
+ _ref5 = _context.sent;
275
+ _ref6 = slicedToArray._slicedToArray(_ref5, 2);
276
+ articles = _ref6[0];
277
+ totalArticlesCount = _ref6[1];
278
+
279
+
280
+ // need to exclude slideshows from body due to the affiliate slider
281
+ if (partnerDetails && partnerDetails.description) {
282
+ partnerDetails.description = partnerDetails.description.filter(function (block) {
283
+ return block._type !== 'slideshows';
284
+ });
285
+ }
286
+
287
+ return _context.abrupt('return', {
288
+ articles: articles,
289
+ totalArticlesCount: totalArticlesCount,
290
+ taxonomyDetails: taxonomyDetails,
291
+ partnerDetails: category ? partnerDetails.partner : partnerDetails,
292
+ features: features,
293
+ featureQuery: featureQuery,
294
+ partnerQuery: partnerQuery,
295
+ taxonomyQuery: taxonomyQuery,
296
+ articlesQuery: articlesQuery
297
+ });
298
+
299
+ case 25:
300
+ case 'end':
301
+ return _context.stop();
302
+ }
303
+ }
304
+ }, _callee, _this);
305
+ }));
306
+
307
+ return function (_x, _x2, _x3, _x4, _x5, _x6) {
308
+ return _ref2.apply(this, arguments);
309
+ };
310
+ }();
311
+
312
+ module.exports = PartnerDetails;
@@ -0,0 +1,126 @@
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 Row = _interopDefault(require('react-bootstrap/Row'));
8
+ var Col = _interopDefault(require('react-bootstrap/Col'));
9
+ var urlFor = require('./urlFor.js');
10
+ var index$2 = require('./index-96b3db50.js');
11
+ var Button = _interopDefault(require('react-bootstrap/Button'));
12
+
13
+ var PublicationFeature = function PublicationFeature(_ref) {
14
+ var data = _ref.data,
15
+ _ref$issueMapping = _ref.issueMapping,
16
+ issueMapping = _ref$issueMapping === undefined ? '/publications' : _ref$issueMapping,
17
+ defaultImage = _ref.defaultImage,
18
+ client = _ref.client;
19
+
20
+ var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
21
+ var _data$parent = data.parent;
22
+ _data$parent = _data$parent === undefined ? {} : _data$parent;
23
+ var _data$parent$identifi = _data$parent.identifier;
24
+ _data$parent$identifi = _data$parent$identifi === undefined ? {} : _data$parent$identifi;
25
+ var parentSlug = _data$parent$identifi.current,
26
+ _data$identifier = data.identifier;
27
+ _data$identifier = _data$identifier === undefined ? {} : _data$identifier;
28
+ var childSlug = _data$identifier.current,
29
+ name = data.name,
30
+ articles = data.articles,
31
+ month = data.month,
32
+ year = data.year,
33
+ thumbnail = data.thumbnail;
34
+
35
+ if (name && articles && articles.length > 0) {
36
+ return React__default.createElement(
37
+ 'div',
38
+ { className: 'publication-feature-container border rounded p-2' },
39
+ React__default.createElement(
40
+ Row,
41
+ null,
42
+ React__default.createElement(
43
+ Col,
44
+ { xs: 12 },
45
+ React__default.createElement(
46
+ 'h4',
47
+ null,
48
+ name,
49
+ month && year && React__default.createElement(
50
+ 'span',
51
+ null,
52
+ ' ',
53
+ '| ',
54
+ months[parseInt(month, 10)],
55
+ ' ',
56
+ year
57
+ )
58
+ )
59
+ ),
60
+ React__default.createElement(
61
+ Col,
62
+ { xs: 12, sm: 4 },
63
+ React__default.createElement(
64
+ index$2.LazyLoad,
65
+ { once: true },
66
+ React__default.createElement('img', { className: 'w-100 mb-2', src: thumbnail && thumbnail.asset && client ? urlFor({ client: client, source: thumbnail.asset }) : defaultImage, alt: name || '' })
67
+ )
68
+ ),
69
+ React__default.createElement(
70
+ Col,
71
+ { xs: 12, sm: 8 },
72
+ React__default.createElement(
73
+ Row,
74
+ null,
75
+ articles.map(function (article) {
76
+ return React__default.createElement(
77
+ Col,
78
+ { key: article._id, xs: 12, sm: 6 },
79
+ article.issueSection && article.issueSection.name && React__default.createElement(
80
+ 'h6',
81
+ { className: 'text-primary m-0 p-0 text-uppercase font-weight-bold' },
82
+ article.issueSection.name
83
+ ),
84
+ article.title && React__default.createElement(
85
+ React__default.Fragment,
86
+ null,
87
+ article.url && article.url.current ? React__default.createElement(
88
+ 'a',
89
+ { href: '/view/' + article.url.current },
90
+ React__default.createElement(
91
+ 'h6',
92
+ { className: 'text-break' },
93
+ article.title
94
+ )
95
+ ) : React__default.createElement(
96
+ 'h6',
97
+ { className: 'text-break' },
98
+ article.title
99
+ )
100
+ )
101
+ );
102
+ })
103
+ )
104
+ ),
105
+ issueMapping && parentSlug && childSlug && React__default.createElement(
106
+ Col,
107
+ { xs: 12 },
108
+ React__default.createElement(
109
+ Button,
110
+ { href: issueMapping + '/' + parentSlug + '/' + childSlug, className: 'float-right', variant: 'outline-primary' },
111
+ 'More Articles ',
112
+ '>>'
113
+ )
114
+ )
115
+ ),
116
+ React__default.createElement(
117
+ 'style',
118
+ { jsx: 'true' },
119
+ '\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 '
120
+ )
121
+ );
122
+ }
123
+ return null;
124
+ };
125
+
126
+ exports.PublicationFeature = PublicationFeature;