@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,517 @@
1
+ import './_commonjsHelpers-0c4b6f40.js';
2
+ import './core.get-iterator-method-86d4db69.js';
3
+ import './_library-528f1934.js';
4
+ import './_iter-detect-130ee549.js';
5
+ import './toConsumableArray-32282905.js';
6
+ import './_object-pie-33c40e79.js';
7
+ import { _ as _extends } from './extends-5b1796d4.js';
8
+ import './_object-sap-8b8ea5a9.js';
9
+ import './inherits-2409637d.js';
10
+ import './define-property-6d26cb48.js';
11
+ import './web.dom.iterable-f8f967cd.js';
12
+ import { _ as _typeof } from './typeof-c05a82ba.js';
13
+ import './_is-array-4df618a6.js';
14
+ import React__default, { useState, useEffect } from 'react';
15
+ import './events-6c3a7a63.js';
16
+ import './index-41a678ea.js';
17
+ import 'prop-types';
18
+ import 'react-bootstrap/Container';
19
+ import 'react-bootstrap/Row';
20
+ import 'react-bootstrap/Col';
21
+ import 'react-bootstrap/Card';
22
+ import './moment-e2f9b20c.js';
23
+ import 'next/router';
24
+ import './isSymbol-1981418f.js';
25
+ import './debounce-9207d8ee.js';
26
+ import './toNumber-2f7a84cd.js';
27
+ import 'react-dom';
28
+ import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
29
+ import './index-73819142.js';
30
+ import './urlFor.js';
31
+ import './index-5f7e79e7.js';
32
+ import './main-c0612122.js';
33
+ import './entities-7cc3bf45.js';
34
+ import './stringify-70b72959.js';
35
+ import { a as _asyncToGenerator, r as regenerator, _ as _Promise } from './asyncToGenerator-7bf8bc4d.js';
36
+ import './Segment.js';
37
+ import './Beam.js';
38
+ import './AdSlot.js';
39
+ import './ADInfeed-d767ebe2.js';
40
+ import './lodash-17fdfebb.js';
41
+ import './ADlgInfeed-cee95aa2.js';
42
+ import 'react-bootstrap/Button';
43
+ import { B as BlockContent } from './BlockContent-e9b4ddcf.js';
44
+ import './index-c7e2ac95.js';
45
+ import './smoothscroll-0cd4c7a6.js';
46
+ import './GroupDeck.js';
47
+ import 'react-bootstrap';
48
+ import './iconBase-602d52fe.js';
49
+ import './index.esm-29e48d38.js';
50
+ import { g as getSerializers } from './index-d1476645.js';
51
+ import './util-7700fc59.js';
52
+ import './brightcove-react-player-loader.es-83f53e4e.js';
53
+ import 'next/head';
54
+ import 'react-share';
55
+ import './SocialShare.js';
56
+ import './_object-to-array-c54dd835.js';
57
+ import 'react-bootstrap/Pagination';
58
+ import 'react-bootstrap/Figure';
59
+ import 'react-bootstrap/OverlayTrigger';
60
+ import 'react-bootstrap/Tooltip';
61
+ import 'react-bootstrap/Popover';
62
+ import 'react-bootstrap/Spinner';
63
+ import './index-aaa2dae0.js';
64
+ import './style-inject.es-1f59c1d0.js';
65
+ import { M as MediaSeriesCard, D as DropdownButton, a as Dropdown } from './MediaSeriesCard-1dd7eae8.js';
66
+ import Link from 'next/link';
67
+ import 'react-paginate';
68
+ import './Pagination-c0db7ca1.js';
69
+ import MasterDeck from './MasterDeckPaginated.js';
70
+
71
+ var _this = undefined;
72
+
73
+ var Filter = function Filter(_ref) {
74
+ var filterData = _ref.filterData,
75
+ setFilterTopicID = _ref.setFilterTopicID;
76
+
77
+ if (!filterData || filterData.length == 0) return null;
78
+
79
+ var _useState = useState(null),
80
+ _useState2 = _slicedToArray(_useState, 2),
81
+ parentData = _useState2[0],
82
+ setParentData = _useState2[1];
83
+
84
+ var _useState3 = useState(null),
85
+ _useState4 = _slicedToArray(_useState3, 2),
86
+ childData = _useState4[0],
87
+ setChildData = _useState4[1];
88
+
89
+ var _useState5 = useState(null),
90
+ _useState6 = _slicedToArray(_useState5, 2),
91
+ grandChildData = _useState6[0],
92
+ setGrandChildData = _useState6[1];
93
+ /*
94
+ {parent: showAll,
95
+ chidlren: show selected from parent,
96
+ grandchildren: show selected from children
97
+ }
98
+ */
99
+
100
+
101
+ useEffect(function () {
102
+ if (filterData.length < 2) {
103
+ setChildData({ name: null, data: filterData[0].children, _id: filterData[0]._id });
104
+ } else {
105
+ setParentData({ name: null, data: filterData });
106
+ }
107
+ }, []);
108
+
109
+ var handleFilterSelect = function handleFilterSelect(group, type) {
110
+ if (type === 'parent') {
111
+ setParentData(function (prevState) {
112
+ return _extends({}, prevState, { name: group.name ? group.name : null });
113
+ });
114
+ if (group && group.children && group.children.length > 0) {
115
+ setChildData({ data: group.children, _id: group._id });
116
+ setFilterTopicID(group._id);
117
+ } else {
118
+ //handle filter
119
+ setChildData(null);
120
+ setGrandChildData(null);
121
+ setFilterTopicID(group._id ? group._id : 'all');
122
+ }
123
+ }
124
+ if (type === 'child') {
125
+ setChildData(function (prevState) {
126
+ return _extends({}, prevState, { name: group.name ? group.name : null, _id: group._id });
127
+ });
128
+ if (group && group.grandchildren && group.grandchildren.length > 0) {
129
+ setGrandChildData({ data: group.grandchildren, _id: group._id });
130
+ setFilterTopicID(group._id);
131
+ var topics = [];
132
+ topics.push(group._id);
133
+ group.grandchildren.forEach(function (topic) {
134
+ topics.push(topic._id);
135
+ });
136
+ setFilterTopicID(topics);
137
+ } else {
138
+ //handle filter
139
+ setGrandChildData(null);
140
+ setFilterTopicID(group._id ? group._id : 'all');
141
+ }
142
+ }
143
+ if (type === 'grandchild') {
144
+ setGrandChildData(function (prevState) {
145
+ return _extends({}, prevState, { name: group.name ? group.name : 'All', _id: group._id });
146
+ });
147
+ //handle filter
148
+ if (!group._id) {
149
+ var _topics = [];
150
+ _topics.push(childData._id);
151
+ grandChildData.data.forEach(function (topic) {
152
+ _topics.push(topic._id);
153
+ });
154
+ setFilterTopicID(_topics);
155
+ } else {
156
+ setFilterTopicID([group._id, childData._id]);
157
+ }
158
+ }
159
+ };
160
+
161
+ return React__default.createElement(
162
+ 'div',
163
+ { className: 'flex-container' },
164
+ parentData && React__default.createElement(
165
+ DropdownButton,
166
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn', title: parentData.name ? parentData.name : 'Filter By Category' },
167
+ React__default.createElement(
168
+ Dropdown.Item,
169
+ { onSelect: function onSelect() {
170
+ return handleFilterSelect({}, 'parent');
171
+ } },
172
+ 'All'
173
+ ),
174
+ parentData.data.map(function (docGroup) {
175
+ if (!docGroup._id) return null;
176
+ return React__default.createElement(
177
+ Dropdown.Item,
178
+ { key: docGroup._id, onSelect: function onSelect() {
179
+ return handleFilterSelect(docGroup, 'parent');
180
+ } },
181
+ docGroup.name
182
+ );
183
+ })
184
+ ),
185
+ childData && childData.data && childData.data.length > 0 && React__default.createElement(
186
+ DropdownButton,
187
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn ml-3', title: childData.name ? childData.name : 'Filter By Topic' },
188
+ React__default.createElement(
189
+ Dropdown.Item,
190
+ { onSelect: function onSelect() {
191
+ return handleFilterSelect({}, 'child');
192
+ } },
193
+ 'All'
194
+ ),
195
+ childData.data.map(function (docGroup) {
196
+ if (!docGroup._id) return null;
197
+ return React__default.createElement(
198
+ Dropdown.Item,
199
+ { key: docGroup._id, onSelect: function onSelect() {
200
+ return handleFilterSelect(docGroup, 'child');
201
+ } },
202
+ docGroup.name
203
+ );
204
+ })
205
+ ),
206
+ grandChildData && grandChildData.data && grandChildData.data.length > 0 && React__default.createElement(
207
+ DropdownButton,
208
+ { drop: 'down', style: { borderRadius: '3px' }, className: 'filter-btn ml-3', title: grandChildData.name ? grandChildData.name : 'Select Sub Topic' },
209
+ React__default.createElement(
210
+ Dropdown.Item,
211
+ { onSelect: function onSelect() {
212
+ return handleFilterSelect({}, 'grandchild');
213
+ } },
214
+ 'All'
215
+ ),
216
+ grandChildData.data.map(function (docGroup) {
217
+ if (!docGroup._id) return null;
218
+ return React__default.createElement(
219
+ Dropdown.Item,
220
+ { key: docGroup._id, onSelect: function onSelect() {
221
+ return handleFilterSelect(docGroup, 'grandchild');
222
+ } },
223
+ docGroup.name
224
+ );
225
+ })
226
+ ),
227
+ React__default.createElement(
228
+ 'style',
229
+ { jsx: 'true' },
230
+ '\n .flex-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n }\n .filter-btn button {\n border-radius: 3px;\n z-index: 99999;\n }\n .filter-btn .dropdown-menu {\n z-index: 9999999;\n }\n @media (max-width: 768px) {\n .flex-container {\n flex-direction: column;\n align-items: flex-start;\n }\n }\n '
231
+ )
232
+ );
233
+ };
234
+
235
+ var MediaSeriesLanding = function MediaSeriesLanding(props) {
236
+ var client = props.client,
237
+ pageview = props.pageview;
238
+
239
+ var _useState7 = useState(false),
240
+ _useState8 = _slicedToArray(_useState7, 2),
241
+ filterTopicID = _useState8[0],
242
+ setFilterTopicID = _useState8[1];
243
+
244
+ var _useState9 = useState(props.seriesData),
245
+ _useState10 = _slicedToArray(_useState9, 2),
246
+ seriesData = _useState10[0],
247
+ setSeriesData = _useState10[1];
248
+
249
+ var _useState11 = useState(props.totalSeriesCount),
250
+ _useState12 = _slicedToArray(_useState11, 2),
251
+ totalSeriesCount = _useState12[0],
252
+ setTotalSeriesCount = _useState12[1];
253
+
254
+ var _useState13 = useState(props.params),
255
+ _useState14 = _slicedToArray(_useState13, 2),
256
+ params = _useState14[0],
257
+ setParams = _useState14[1];
258
+
259
+ var _useState15 = useState(props.query),
260
+ _useState16 = _slicedToArray(_useState15, 2),
261
+ query = _useState16[0],
262
+ setQuery = _useState16[1];
263
+
264
+ var _useState17 = useState(props.currentPage),
265
+ _useState18 = _slicedToArray(_useState17, 2),
266
+ currentPage = _useState18[0],
267
+ setCurrentPage = _useState18[1];
268
+
269
+ useEffect(function () {
270
+ if (filterTopicID) {
271
+ fetchFilteredData();
272
+ }
273
+ }, [filterTopicID]);
274
+
275
+ var fetchFilteredData = function () {
276
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee() {
277
+ var newParams, filterQuery, x, seriesQuerySorts, seriesQueryProjection, seriesQueryFilters, seriesQuery, totalSeriesCountQuery, _ref3, _ref4, newData, newDataCount;
278
+
279
+ return regenerator.wrap(function _callee$(_context) {
280
+ while (1) {
281
+ switch (_context.prev = _context.next) {
282
+ case 0:
283
+ newParams = _extends({}, params, { from: 0, to: 30 });
284
+ filterQuery = void 0;
285
+
286
+ if ((typeof filterTopicID === 'undefined' ? 'undefined' : _typeof(filterTopicID)) === 'object') {
287
+ filterQuery = '[';
288
+ for (x = 0; x < filterTopicID.length; x++) {
289
+ filterQuery = filterQuery + (' references(\'' + filterTopicID[x] + '\') ');
290
+ if (x === filterTopicID.length - 1) {
291
+ filterQuery = filterQuery + ']';
292
+ } else {
293
+ filterQuery = filterQuery + ' || ';
294
+ }
295
+ }
296
+ } else {
297
+ filterQuery = filterTopicID !== 'all' ? '[references(\'' + filterTopicID + '\')]' : '';
298
+ }
299
+
300
+ seriesQuerySorts = props.seriesQuerySorts, seriesQueryProjection = props.seriesQueryProjection;
301
+ seriesQueryFilters = props.seriesQueryFilters;
302
+
303
+ seriesQueryFilters = filterQuery ? [seriesQueryFilters, filterQuery] : seriesQueryFilters;
304
+ seriesQuery = ['*'].concat(seriesQueryFilters).concat(seriesQuerySorts).concat(seriesQueryProjection).join('|');
305
+ totalSeriesCountQuery = 'count(' + ['*'].concat(seriesQueryFilters).join('|') + ')';
306
+ _context.next = 10;
307
+ return _Promise.all([client.fetch(seriesQuery, newParams), client.fetch(totalSeriesCountQuery)]);
308
+
309
+ case 10:
310
+ _ref3 = _context.sent;
311
+ _ref4 = _slicedToArray(_ref3, 2);
312
+ newData = _ref4[0];
313
+ newDataCount = _ref4[1];
314
+
315
+
316
+ setParams(newParams);
317
+ setQuery(seriesQuery);
318
+ setSeriesData(newData);
319
+ setTotalSeriesCount(newDataCount);
320
+ setCurrentPage(1);
321
+
322
+ case 19:
323
+ case 'end':
324
+ return _context.stop();
325
+ }
326
+ }
327
+ }, _callee, _this);
328
+ }));
329
+
330
+ return function fetchFilteredData() {
331
+ return _ref2.apply(this, arguments);
332
+ };
333
+ }();
334
+
335
+ if (props.statusCode === 404) {
336
+ return React__default.createElement(
337
+ 'div',
338
+ { className: 'd-flex flex-column align-items-center mt-3' },
339
+ React__default.createElement(
340
+ 'h3',
341
+ null,
342
+ '404: Resource not found'
343
+ ),
344
+ React__default.createElement(
345
+ 'p',
346
+ null,
347
+ 'We seem to have misplaced the page you\'re looking for. Sorry! Please try checking the URL for errors.'
348
+ ),
349
+ React__default.createElement(
350
+ 'p',
351
+ null,
352
+ 'Click here to',
353
+ React__default.createElement(
354
+ Link,
355
+ { href: '/' },
356
+ React__default.createElement(
357
+ 'a',
358
+ { style: { color: 'blue', textDecoration: 'underline' } },
359
+ ' return to homepage.'
360
+ )
361
+ )
362
+ )
363
+ );
364
+ }
365
+
366
+ return React__default.createElement(
367
+ 'div',
368
+ { className: 'mb-5' },
369
+ props.docGroup && props.docGroup.description && React__default.createElement(BlockContent, { blocks: props.docGroup.description, serializers: getSerializers(client) }),
370
+ props.taxonomyFilter && props.taxonomyFilter && React__default.createElement(
371
+ 'div',
372
+ { className: '' },
373
+ React__default.createElement(Filter, { setFilterTopicID: setFilterTopicID, filterData: props.taxonomyFilter }),
374
+ React__default.createElement('hr', null)
375
+ ),
376
+ seriesData && React__default.createElement(MasterDeck, {
377
+ deck: MediaSeriesCard,
378
+ variant: 'left',
379
+ defaultImage: '/placeholder.jpg',
380
+ client: client,
381
+ dataRecord: seriesData,
382
+ totalDataCount: totalSeriesCount,
383
+ query: query && query,
384
+ params: params && params,
385
+ currentPage: currentPage,
386
+ pageview: pageview,
387
+ autoScroll: true,
388
+ seoPaginate: true
389
+ })
390
+ );
391
+ };
392
+
393
+ MediaSeriesLanding.getInitialData = function () {
394
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee2(ctx, client, cache) {
395
+ var urlQuery, pathname, req, identifier, itemsPerPage, currentPage, start, statusCode, params, docGroupID, seriesQueryFilters, seriesQuerySorts, seriesQueryProjection, seriesQuery, totalSeriesCountQuery, _ref6, _ref7, seriesData, totalSeriesCount, allSeries, buildUsedTopicsArray, usedTopics, taxonomyFilter;
396
+
397
+ return regenerator.wrap(function _callee2$(_context2) {
398
+ while (1) {
399
+ switch (_context2.prev = _context2.next) {
400
+ case 0:
401
+ urlQuery = ctx.query, pathname = ctx.pathname, req = ctx.req;
402
+ identifier = pathname.replace('/', '');
403
+ itemsPerPage = 30;
404
+ currentPage = urlQuery.page ? parseInt(urlQuery.page) : 1;
405
+ start = (currentPage - 1) * itemsPerPage;
406
+ statusCode = 200;
407
+ params = {
408
+ count: itemsPerPage,
409
+ from: start,
410
+ to: start + itemsPerPage,
411
+ url: pathname
412
+ };
413
+ _context2.next = 9;
414
+ return client.fetch('*[_type == \'documentGroup\' && identifier.current == \'' + identifier + '\'][0]{\n _id, \n isGated,\n name,\n description\n }');
415
+
416
+ case 9:
417
+ docGroupID = _context2.sent;
418
+ seriesQueryFilters = '[\n _type == \'documentGroup\' \n && references(\'' + docGroupID._id + '\') \n && isSeries != false \n && isShow != false \n && defined(published) \n && published <= now()\n ]';
419
+ seriesQuerySorts = 'order(published desc) [$from...$to]';
420
+ seriesQueryProjection = '{\n _id,\n name,\n identifier,\n published,\n thumbnail,\n description,\n topicMapping[]->,\n isGated,\n \'parentUrl\': \'' + identifier + '\'\n }';
421
+ seriesQuery = ['*'].concat(seriesQueryFilters).concat(seriesQuerySorts).concat(seriesQueryProjection).join('|');
422
+ totalSeriesCountQuery = 'count(' + ['*'].concat(seriesQueryFilters).join('|') + ')';
423
+ _context2.next = 17;
424
+ return _Promise.all([client.fetch(seriesQuery, params), client.fetch(totalSeriesCountQuery)]);
425
+
426
+ case 17:
427
+ _ref6 = _context2.sent;
428
+ _ref7 = _slicedToArray(_ref6, 2);
429
+ seriesData = _ref7[0];
430
+ totalSeriesCount = _ref7[1];
431
+ _context2.next = 23;
432
+ return client.fetch('*[_type == \'documentGroup\' && references(\'' + docGroupID._id + '\') && isSeries != false && isShow != false && defined(published) && dateTime(published) <= dateTime(now()) ] {\n topicMapping[]->\n }');
433
+
434
+ case 23:
435
+ allSeries = _context2.sent;
436
+
437
+ //Take all series topicMapping and put in an array
438
+ buildUsedTopicsArray = function buildUsedTopicsArray(seriesArray) {
439
+ var usedTopics = [];
440
+ for (var x = 0; x < seriesArray.length; x++) {
441
+ if (seriesArray[x].topicMapping) {
442
+ seriesArray[x].topicMapping.forEach(function (topic) {
443
+ if (!usedTopics.includes(topic._id)) {
444
+ usedTopics.push(topic._id);
445
+ }
446
+ });
447
+ }
448
+ }
449
+ return usedTopics;
450
+ };
451
+
452
+ usedTopics = buildUsedTopicsArray(allSeries);
453
+ _context2.next = 28;
454
+ return client.fetch('\n *[_type == \'taxonomy\' && !defined(parent) && isMainTopic]{\n _id,\n identifier,\n name,\n "children": *[_type == \'taxonomy\' && references(^._id)]{\n _id,\n name,\n identifier,\n "grandchildren": *[_type == \'taxonomy\' && references(^._id)]\n }\t\n }');
455
+
456
+ case 28:
457
+ taxonomyFilter = _context2.sent;
458
+
459
+
460
+ taxonomyFilter.forEach(function (topic) {
461
+ if (topic.children) {
462
+ topic.children.forEach(function (child) {
463
+ if (child.grandchildren) {
464
+ child.grandchildren = child.grandchildren.filter(function (grandchild) {
465
+ if (!usedTopics.includes(grandchild._id)) {
466
+ return false;
467
+ }
468
+ return true;
469
+ });
470
+ }
471
+ if (!usedTopics.includes(child._id) || !child.grandchildren) {
472
+ child._id = null;
473
+ child.name = null;
474
+ }
475
+ });
476
+
477
+ topic.children = topic.children.filter(function (child) {
478
+ return child._id !== null;
479
+ });
480
+ }
481
+ });
482
+
483
+ if (currentPage > 1 && seriesData.length === 0) {
484
+ statusCode = 404;
485
+ }
486
+
487
+ return _context2.abrupt('return', {
488
+ seriesData: seriesData,
489
+ totalSeriesCount: totalSeriesCount,
490
+ query: seriesQuery,
491
+ seriesQueryFilters: seriesQueryFilters,
492
+ seriesQuerySorts: seriesQuerySorts,
493
+ seriesQueryProjection: seriesQueryProjection,
494
+ params: params,
495
+ currentPage: currentPage,
496
+ taxonomyFilter: taxonomyFilter,
497
+ identifier: identifier,
498
+ docGroupID: docGroupID._id,
499
+ parentUrl: identifier,
500
+ statusCode: statusCode,
501
+ docGroup: docGroupID
502
+ });
503
+
504
+ case 32:
505
+ case 'end':
506
+ return _context2.stop();
507
+ }
508
+ }
509
+ }, _callee2, _this);
510
+ }));
511
+
512
+ return function (_x, _x2, _x3) {
513
+ return _ref5.apply(this, arguments);
514
+ };
515
+ }();
516
+
517
+ export default MediaSeriesLanding;
@@ -4,7 +4,7 @@ import './_library-528f1934.js';
4
4
  import './_iter-detect-130ee549.js';
5
5
  import './web.dom.iterable-f8f967cd.js';
6
6
  import React__default, { useRef, useEffect } from 'react';
7
- import Container$1 from 'react-bootstrap/Container';
7
+ import Container from 'react-bootstrap/Container';
8
8
  import './slicedToArray-67a08c9c.js';
9
9
  import './asyncToGenerator-7bf8bc4d.js';
10
10
  import Segment from './Segment.js';
@@ -67,7 +67,7 @@ var NavDvm = function NavDvm(props) {
67
67
  Navbar,
68
68
  { className: 'top-nav', expand: 'xl' },
69
69
  React__default.createElement(
70
- Container$1,
70
+ Container,
71
71
  null,
72
72
  React__default.createElement(
73
73
  Nav,
@@ -88,7 +88,7 @@ var NavDvm = function NavDvm(props) {
88
88
  Navbar,
89
89
  { className: 'bottom-nav', variant: 'dark', expand: 'xl', bg: 'primary', sticky: 'top' },
90
90
  React__default.createElement(
91
- Container$1,
91
+ Container,
92
92
  { className: 'mobile-nav position-relative' },
93
93
  mobileLogo && React__default.createElement(
94
94
  'a',
@@ -5,7 +5,7 @@ import './_iter-detect-130ee549.js';
5
5
  import './web.dom.iterable-f8f967cd.js';
6
6
  import React__default, { useRef, useState, useEffect } from 'react';
7
7
  import 'prop-types';
8
- import Container$1 from 'react-bootstrap/Container';
8
+ import Container from 'react-bootstrap/Container';
9
9
  import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
10
10
  import { c as main_37 } from './main-c0612122.js';
11
11
  import './asyncToGenerator-7bf8bc4d.js';
@@ -23,7 +23,7 @@ import { N as NavFooter } from './NavFooter-e27bd93b.js';
23
23
  import { S as SocialNavFooter } from './index.esm-fd746768.js';
24
24
  import './SocialIcons.js';
25
25
  import 'react-bootstrap/FormControl';
26
- import { S as SocialSearchComponent } from './SocialSearchComponent-b5be0e6c.js';
26
+ import { S as SocialSearchComponent } from './SocialSearchComponent-dca69151.js';
27
27
 
28
28
  var NavMagazine = function NavMagazine(props) {
29
29
  /*
@@ -221,7 +221,7 @@ var NavMagazine = function NavMagazine(props) {
221
221
  Navbar,
222
222
  { expand: 'xl', ref: topNavRef },
223
223
  React__default.createElement(
224
- Container$1,
224
+ Container,
225
225
  { style: { position: 'relative' } },
226
226
  React__default.createElement(
227
227
  Nav,
@@ -320,7 +320,7 @@ var NavMagazine = function NavMagazine(props) {
320
320
  sticky: 'top',
321
321
  ref: navRef },
322
322
  React__default.createElement(
323
- Container$1,
323
+ Container,
324
324
  { className: 'mobile-nav android-nav', style: { display: 'flex' } },
325
325
  React__default.createElement(
326
326
  'div',
@@ -5,7 +5,7 @@ import './_iter-detect-130ee549.js';
5
5
  import './web.dom.iterable-f8f967cd.js';
6
6
  import React__default, { useRef, useState, useEffect } from 'react';
7
7
  import 'prop-types';
8
- import Container$1 from 'react-bootstrap/Container';
8
+ import Container from 'react-bootstrap/Container';
9
9
  import { i as isObject_1 } from './isSymbol-1981418f.js';
10
10
  import { t as toNumber_1 } from './toNumber-2f7a84cd.js';
11
11
  import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
@@ -13,7 +13,7 @@ import { c as main_37 } from './main-c0612122.js';
13
13
  import './asyncToGenerator-7bf8bc4d.js';
14
14
  import Segment from './Segment.js';
15
15
  import { i as isFunction_1, e as eq_1 } from './eq-b470f743.js';
16
- import Button$1 from 'react-bootstrap/Button';
16
+ import Button from 'react-bootstrap/Button';
17
17
  import './react-social-icons-a7d5c5c7.js';
18
18
  import { I as IconContext } from './iconBase-602d52fe.js';
19
19
  import Form from 'react-bootstrap/Form';
@@ -460,7 +460,7 @@ var NavNative = function NavNative(props) {
460
460
  return setSearchKey(e.target.value);
461
461
  } }),
462
462
  React__default.createElement(
463
- Button$1,
463
+ Button,
464
464
  { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
465
465
  return submitSearch(e);
466
466
  } },
@@ -533,7 +533,7 @@ var NavNative = function NavNative(props) {
533
533
  return setSearchKey(e.target.value);
534
534
  } }),
535
535
  React__default.createElement(
536
- Button$1,
536
+ Button,
537
537
  { variant: 'primary', style: { backgroundColor: 'var(--secondary)', border: 'none' }, onClick: function onClick(e) {
538
538
  return submitSearch(e);
539
539
  } },
@@ -572,7 +572,7 @@ var NavNative = function NavNative(props) {
572
572
  ref: navRef,
573
573
  style: { minHeight: '65px', overflow: '' + (main_37 ? 'auto' : '') } },
574
574
  React__default.createElement(
575
- Container$1,
575
+ Container,
576
576
  { style: { maxHeight: '80vh' }, className: 'mobile-nav' },
577
577
  React__default.createElement(
578
578
  Navbar.Brand,
@@ -0,0 +1,46 @@
1
+ import React__default from 'react';
2
+ import ReactPaginate from 'react-paginate';
3
+
4
+ var Pagination = function Pagination(props) {
5
+ var pageCount = props.pageCount,
6
+ _props$marginPagesDis = props.marginPagesDisplayed,
7
+ marginPagesDisplayed = _props$marginPagesDis === undefined ? 1 : _props$marginPagesDis,
8
+ _props$pageRangeDispl = props.pageRangeDisplayed,
9
+ pageRangeDisplayed = _props$pageRangeDispl === undefined ? 5 : _props$pageRangeDispl,
10
+ _props$currentPage = props.currentPage,
11
+ currentPage = _props$currentPage === undefined ? 1 : _props$currentPage,
12
+ _onPageChange = props.onPageChange;
13
+
14
+ if (!pageCount || pageCount <= 1) return null;
15
+ return React__default.createElement(
16
+ React__default.Fragment,
17
+ null,
18
+ React__default.createElement(ReactPaginate, {
19
+ pageCount: pageCount,
20
+ marginPagesDisplayed: marginPagesDisplayed,
21
+ pageRangeDisplayed: pageRangeDisplayed,
22
+ forcePage: currentPage - 1,
23
+ onPageChange: function onPageChange(_ref) {
24
+ var selected = _ref.selected;
25
+ return _onPageChange(selected + 1);
26
+ },
27
+ hrefBuilder: function hrefBuilder(page) {
28
+ return '?page=' + page;
29
+ },
30
+ previousLabel: '<',
31
+ nextLabel: '>',
32
+ containerClassName: 'pagination-container',
33
+ previousLinkClassName: 'previous',
34
+ nextLinkClassName: 'next',
35
+ disabledClassName: 'disbaled',
36
+ activeClassName: 'active'
37
+ }),
38
+ React__default.createElement(
39
+ 'style',
40
+ { jsx: 'true' },
41
+ '\n .pagination-container {\n list-style: none;\n padding: 10px 0;\n margin: 0;\n display: flex;\n overflow: auto;\n }\n .pagination-container::before,\n .pagination-container::after {\n content: \'\';\n margin: 0 auto;\n }\n .pagination-container::-webkit-scrollbar {\n height: 6px;\n }\n .pagination-container a {\n padding: 10px;\n border: 1px solid #dee2e6;\n }\n .pagination-container a:hover {\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n }\n .pagination-container .active a {\n color: #fff;\n background-color: #666;\n background-color: var(--primary);\n border-color: #007bff;\n }\n .pagination-container .previous a {\n border-radius: 5px 0 0 5px;\n }\n .pagination-container .next a {\n border-radius: 0 5px 5px 0;\n }\n .pagination-container .disbaled a {\n cursor: default;\n }\n '
42
+ )
43
+ );
44
+ };
45
+
46
+ export { Pagination as P };