@quintype/components 3.0.3-test-react18.1 → 3.0.3-url-decode.0

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 (58) hide show
  1. package/dist/cjs/index.js +1047 -334
  2. package/dist/es/components/access-type.js +229 -51
  3. package/dist/es/components/adbutler-ad.js +14 -10
  4. package/dist/es/components/api-client.js +6 -4
  5. package/dist/es/components/breaking-news-item.js +3 -2
  6. package/dist/es/components/breaking-news.js +15 -1
  7. package/dist/es/components/client-side-only.js +26 -14
  8. package/dist/es/components/collection.js +5 -5
  9. package/dist/es/components/dfp-ad.js +30 -23
  10. package/dist/es/components/eager-load-images.js +9 -1
  11. package/dist/es/components/hamburger-button.js +5 -2
  12. package/dist/es/components/image-gallery.js +13 -10
  13. package/dist/es/components/impl/collection-impl.js +8 -2
  14. package/dist/es/components/impl/gumlet-image.js +15 -8
  15. package/dist/es/components/impl/image-utils.js +3 -3
  16. package/dist/es/components/impl/load-more-stories-manager.js +11 -0
  17. package/dist/es/components/impl/thumbor-image.js +15 -0
  18. package/dist/es/components/infinite-scroll.js +51 -3
  19. package/dist/es/components/infinite-story-base.js +16 -1
  20. package/dist/es/components/lazy-collection.js +8 -8
  21. package/dist/es/components/lazy-load-images.js +66 -36
  22. package/dist/es/components/link-base.js +19 -11
  23. package/dist/es/components/link.js +4 -1
  24. package/dist/es/components/load-more-collection-stories.js +10 -1
  25. package/dist/es/components/load-more-stories-base.js +12 -0
  26. package/dist/es/components/loading-indicator.js +5 -1
  27. package/dist/es/components/menu-item.js +10 -6
  28. package/dist/es/components/menu.js +9 -6
  29. package/dist/es/components/responsive-hero-image.js +3 -1
  30. package/dist/es/components/responsive-image.js +5 -0
  31. package/dist/es/components/responsive-source.js +1 -1
  32. package/dist/es/components/review-rating/review-rating.js +27 -21
  33. package/dist/es/components/review-rating/star-icon.js +5 -3
  34. package/dist/es/components/search-box.js +15 -1
  35. package/dist/es/components/search-page-base.js +10 -1
  36. package/dist/es/components/social-logins/with-facebook-login.js +20 -10
  37. package/dist/es/components/social-logins/with-google-login.js +18 -8
  38. package/dist/es/components/social-logins/with-linkedin-login.js +12 -7
  39. package/dist/es/components/social-logins/with-social-login.js +13 -1
  40. package/dist/es/components/social-logins/with-twitter-login.js +7 -7
  41. package/dist/es/components/social-share.js +15 -1
  42. package/dist/es/components/story-element.js +66 -27
  43. package/dist/es/components/story-elements/dailymotion.js +30 -2
  44. package/dist/es/components/story-elements/jsembed.js +19 -2
  45. package/dist/es/components/story-elements/polltype.js +12 -0
  46. package/dist/es/components/story-elements/table.js +20 -4
  47. package/dist/es/components/story-elements/youtube.js +45 -9
  48. package/dist/es/components/update-on-interval.js +18 -1
  49. package/dist/es/components/with-client-side-only.js +4 -3
  50. package/dist/es/components/with-error.js +12 -1
  51. package/dist/es/components/with-host-url.js +9 -4
  52. package/dist/es/components/with-lazy.js +13 -1
  53. package/dist/es/components/with-member.js +23 -7
  54. package/dist/es/components/with-preview.js +12 -1
  55. package/dist/es/components/wrap-collection-layout.js +16 -4
  56. package/dist/es/store/reducers.js +45 -1
  57. package/dist/es/utils.js +12 -7
  58. package/package.json +6 -9
package/dist/cjs/index.js CHANGED
@@ -23,7 +23,7 @@ var _extends = require('@babel/runtime/helpers/extends');
23
23
  var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
24
24
  var classNames = require('classnames');
25
25
  var getVideoID = require('get-video-id');
26
- var atob = require('atob');
26
+ require('atob');
27
27
  var getYouTubeID = require('get-youtube-id');
28
28
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
29
29
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
@@ -66,7 +66,6 @@ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
66
66
  var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);
67
67
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
68
68
  var getVideoID__default = /*#__PURE__*/_interopDefaultLegacy(getVideoID);
69
- var atob__default = /*#__PURE__*/_interopDefaultLegacy(atob);
70
69
  var getYouTubeID__default = /*#__PURE__*/_interopDefaultLegacy(getYouTubeID);
71
70
  var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
72
71
  var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
@@ -95,28 +94,36 @@ var apiClient = /*#__PURE__*/wretch__default["default"]().options({
95
94
  });
96
95
  function getRequest(url, params) {
97
96
  var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
98
- _ref$mountAt = _ref.mountAt,
99
- mountAt = _ref$mountAt === void 0 ? global.qtMountAt || "" : _ref$mountAt;
97
+ _ref$mountAt = _ref.mountAt,
98
+ mountAt = _ref$mountAt === void 0 ? global.qtMountAt || "" : _ref$mountAt;
99
+
100
100
  var client = apiClient.url("".concat(mountAt).concat(url));
101
101
  if (params) client = client.query(params);
102
102
  return client.get();
103
103
  }
104
104
  function postRequest(url, body) {
105
105
  var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
106
- _ref2$mountAt = _ref2.mountAt,
107
- mountAt = _ref2$mountAt === void 0 ? global.qtMountAt || "" : _ref2$mountAt;
106
+ _ref2$mountAt = _ref2.mountAt,
107
+ mountAt = _ref2$mountAt === void 0 ? global.qtMountAt || "" : _ref2$mountAt;
108
+
108
109
  return apiClient.url("".concat(mountAt).concat(url)).post(body);
109
110
  }
110
111
 
111
112
  function _createSuper$p(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$p(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
113
+
112
114
  function _isNativeReflectConstruct$p() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
115
+
113
116
  var BreakingNewsBase = /*#__PURE__*/function (_React$Component) {
114
117
  _inherits__default["default"](BreakingNewsBase, _React$Component);
118
+
115
119
  var _super = /*#__PURE__*/_createSuper$p(BreakingNewsBase);
120
+
116
121
  function BreakingNewsBase() {
117
122
  _classCallCheck__default["default"](this, BreakingNewsBase);
123
+
118
124
  return _super.apply(this, arguments);
119
125
  }
126
+
120
127
  _createClass__default["default"](BreakingNewsBase, [{
121
128
  key: "render",
122
129
  value: function render() {
@@ -126,6 +133,7 @@ var BreakingNewsBase = /*#__PURE__*/function (_React$Component) {
126
133
  key: "updateBreakingNews",
127
134
  value: function updateBreakingNews() {
128
135
  var _this = this;
136
+
129
137
  getRequest('/api/v1/breaking-news').json(function (response) {
130
138
  return _this.props.breakingNewsUpdated(response.stories);
131
139
  });
@@ -134,6 +142,7 @@ var BreakingNewsBase = /*#__PURE__*/function (_React$Component) {
134
142
  key: "componentDidMount",
135
143
  value: function componentDidMount() {
136
144
  var _this2 = this;
145
+
137
146
  this.interval = global.setInterval(function () {
138
147
  return _this2.updateBreakingNews();
139
148
  }, this.props.updateInterval || 60000);
@@ -145,8 +154,10 @@ var BreakingNewsBase = /*#__PURE__*/function (_React$Component) {
145
154
  global.clearInterval(this.interval);
146
155
  }
147
156
  }]);
157
+
148
158
  return BreakingNewsBase;
149
159
  }(React__default["default"].Component);
160
+
150
161
  function mapStateToProps$b(state) {
151
162
  return {
152
163
  config: state.qt.config || {},
@@ -154,6 +165,7 @@ function mapStateToProps$b(state) {
154
165
  breakingNewsLoaded: state.breakingNewsLoaded || false
155
166
  };
156
167
  }
168
+
157
169
  function mapDispatchToProps$8(dispatch) {
158
170
  return {
159
171
  breakingNewsUpdated: function breakingNewsUpdated(stories) {
@@ -164,7 +176,6 @@ function mapDispatchToProps$8(dispatch) {
164
176
  }
165
177
  };
166
178
  }
167
-
168
179
  /**
169
180
  * This component will automatically fetch breaking news every 30 seconds, and render the provided view.
170
181
  *
@@ -179,14 +190,16 @@ function mapDispatchToProps$8(dispatch) {
179
190
  * @component
180
191
  * @category Header
181
192
  */
193
+
194
+
182
195
  var BreakingNews = /*#__PURE__*/reactRedux.connect(mapStateToProps$b, mapDispatchToProps$8)(BreakingNewsBase);
183
196
 
184
197
  var _excluded$2 = ["navigateToImpl", "externalLink", "callback", "href", "currentHostUrl", "navigateTo", "preventDefault", "disableAjaxLinks"];
198
+
185
199
  var preventDefaultImpl = function preventDefaultImpl(e) {
186
200
  e.preventDefault();
187
201
  e.stopPropagation();
188
202
  };
189
-
190
203
  /**
191
204
  * This component generates an anchor tag. Instead of doing a browser page load, it will go to the next page via AJAX. Analytics scripts will be fired correctly (and if not, it's a bug)
192
205
  * LinkBase is not connected to the store or plugged to context, this is used as an alternative for usecases such as partial hydration where context is lost.
@@ -198,18 +211,21 @@ var preventDefaultImpl = function preventDefaultImpl(e) {
198
211
  * @category Other
199
212
  * @component
200
213
  */
214
+
215
+
201
216
  var LinkBase = function LinkBase(_ref) {
202
217
  var navigateToImpl = _ref.navigateToImpl,
203
- externalLink = _ref.externalLink,
204
- callback = _ref.callback,
205
- href = _ref.href,
206
- currentHostUrl = _ref.currentHostUrl,
207
- navigateTo = _ref.navigateTo,
208
- _ref$preventDefault = _ref.preventDefault,
209
- preventDefault = _ref$preventDefault === void 0 ? preventDefaultImpl : _ref$preventDefault,
210
- _ref$disableAjaxLinks = _ref.disableAjaxLinks,
211
- disableAjaxLinks = _ref$disableAjaxLinks === void 0 ? global.disableAjaxLinks || global.disableAjaxNavigation : _ref$disableAjaxLinks,
212
- otherProps = omit__default["default"](_ref, _excluded$2);
218
+ externalLink = _ref.externalLink,
219
+ callback = _ref.callback,
220
+ href = _ref.href,
221
+ currentHostUrl = _ref.currentHostUrl,
222
+ navigateTo = _ref.navigateTo,
223
+ _ref$preventDefault = _ref.preventDefault,
224
+ preventDefault = _ref$preventDefault === void 0 ? preventDefaultImpl : _ref$preventDefault,
225
+ _ref$disableAjaxLinks = _ref.disableAjaxLinks,
226
+ disableAjaxLinks = _ref$disableAjaxLinks === void 0 ? global.disableAjaxLinks || global.disableAjaxNavigation : _ref$disableAjaxLinks,
227
+ otherProps = omit__default["default"](_ref, _excluded$2);
228
+
213
229
  navigateTo = navigateTo || navigateToImpl;
214
230
  return /*#__PURE__*/React__default["default"].createElement("a", Object.assign(otherProps, {
215
231
  href: href,
@@ -217,16 +233,21 @@ var LinkBase = function LinkBase(_ref) {
217
233
  if (disableAjaxLinks || e.ctrlKey || e.metaKey || e.shiftKey) {
218
234
  return;
219
235
  }
236
+
220
237
  var relativeLink = href.startsWith(currentHostUrl) ? href.replace(currentHostUrl, "") : href;
238
+
221
239
  if (!relativeLink.startsWith("/")) {
222
240
  return;
223
241
  }
242
+
224
243
  preventDefault(e);
244
+
225
245
  if (externalLink) {
226
246
  global.open(externalLink, "_blank");
227
247
  } else {
228
248
  navigateTo(relativeLink);
229
249
  }
250
+
230
251
  typeof callback === "function" && callback(e);
231
252
  }
232
253
  }));
@@ -237,6 +258,7 @@ var mapStateToProps$a = function mapStateToProps(state) {
237
258
  currentHostUrl: state.qt && state.qt.currentHostUrl
238
259
  };
239
260
  };
261
+
240
262
  var mapDispatchToProps$7 = function mapDispatchToProps(dispatch) {
241
263
  return {
242
264
  navigateToImpl: function navigateToImpl(url) {
@@ -244,7 +266,6 @@ var mapDispatchToProps$7 = function mapDispatchToProps(dispatch) {
244
266
  }
245
267
  };
246
268
  };
247
-
248
269
  /**
249
270
  * This component generates an anchor tag. Instead of doing a browser page load, it will go to the next page via AJAX. Analytics scripts will be fired correctly (and if not, it's a bug)
250
271
  *
@@ -255,6 +276,8 @@ var mapDispatchToProps$7 = function mapDispatchToProps(dispatch) {
255
276
  * @category Other
256
277
  * @component
257
278
  */
279
+
280
+
258
281
  var Link = /*#__PURE__*/reactRedux.connect(mapStateToProps$a, mapDispatchToProps$7)(LinkBase);
259
282
 
260
283
  /**
@@ -270,10 +293,12 @@ var Link = /*#__PURE__*/reactRedux.connect(mapStateToProps$a, mapDispatchToProps
270
293
  * @component
271
294
  * @category Header
272
295
  */
296
+
273
297
  function BreakingNewsItem(_ref) {
274
298
  var item = _ref.item,
275
- className = _ref.className;
299
+ className = _ref.className;
276
300
  var linkedStorySlug = get__default["default"](item, ['metadata', 'linked-story-slug']);
301
+
277
302
  if (linkedStorySlug) {
278
303
  return /*#__PURE__*/React__default["default"].createElement(Link, {
279
304
  className: className,
@@ -296,14 +321,20 @@ function mapDispatchToProps$6(dispatch) {
296
321
  }
297
322
 
298
323
  function _createSuper$o(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$o(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
324
+
299
325
  function _isNativeReflectConstruct$o() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
326
+
300
327
  var ClientSideOnlyBase = /*#__PURE__*/function (_React$Component) {
301
328
  _inherits__default["default"](ClientSideOnlyBase, _React$Component);
329
+
302
330
  var _super = /*#__PURE__*/_createSuper$o(ClientSideOnlyBase);
331
+
303
332
  function ClientSideOnlyBase() {
304
333
  _classCallCheck__default["default"](this, ClientSideOnlyBase);
334
+
305
335
  return _super.apply(this, arguments);
306
336
  }
337
+
307
338
  _createClass__default["default"](ClientSideOnlyBase, [{
308
339
  key: "render",
309
340
  value: function render() {
@@ -318,26 +349,30 @@ var ClientSideOnlyBase = /*#__PURE__*/function (_React$Component) {
318
349
  }
319
350
  }
320
351
  }]);
352
+
321
353
  return ClientSideOnlyBase;
322
- }(React__default["default"].Component); /**
323
- * This component will be loaded by client, and bypassed when doing server side rendering.
324
- *
325
- * Example
326
- * ```javascript
327
- * import { ClientSideOnly } from '@quintype/components';
328
- * <ClientSideOnly>
329
- * This will be shown only on the client side
330
- * </ClientSideOnly>
331
- * ```
332
- * @see {@link WithClientSideOnly} for a render props version of this component
333
- * @component
334
- * @category Other
335
- */
354
+ }(React__default["default"].Component);
355
+ /**
356
+ * This component will be loaded by client, and bypassed when doing server side rendering.
357
+ *
358
+ * Example
359
+ * ```javascript
360
+ * import { ClientSideOnly } from '@quintype/components';
361
+ * <ClientSideOnly>
362
+ * This will be shown only on the client side
363
+ * </ClientSideOnly>
364
+ * ```
365
+ * @see {@link WithClientSideOnly} for a render props version of this component
366
+ * @component
367
+ * @category Other
368
+ */
369
+
370
+
336
371
  var ClientSideOnly = /*#__PURE__*/reactRedux.connect(mapStateToProps$9, mapDispatchToProps$6)(ClientSideOnlyBase);
337
372
 
338
373
  function _createSuper$n(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$n(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
339
- function _isNativeReflectConstruct$n() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
340
374
 
375
+ function _isNativeReflectConstruct$n() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
341
376
  /**
342
377
  * This component can be used along with {@link LazyLoadImages}. Children of `EagerLoadImages` are forced to be eager, if they match the given predicate
343
378
  *
@@ -345,13 +380,18 @@ function _isNativeReflectConstruct$n() { if (typeof Reflect === "undefined" || !
345
380
  * @component
346
381
  * @category Images
347
382
  */
383
+
348
384
  var EagerLoadImages = /*#__PURE__*/function (_React$Component) {
349
385
  _inherits__default["default"](EagerLoadImages, _React$Component);
386
+
350
387
  var _super = /*#__PURE__*/_createSuper$n(EagerLoadImages);
388
+
351
389
  function EagerLoadImages() {
352
390
  _classCallCheck__default["default"](this, EagerLoadImages);
391
+
353
392
  return _super.apply(this, arguments);
354
393
  }
394
+
355
395
  _createClass__default["default"](EagerLoadImages, [{
356
396
  key: "getChildContext",
357
397
  value: function getChildContext() {
@@ -367,6 +407,7 @@ var EagerLoadImages = /*#__PURE__*/function (_React$Component) {
367
407
  return this.props.children;
368
408
  }
369
409
  }]);
410
+
370
411
  return EagerLoadImages;
371
412
  }(React__default["default"].Component);
372
413
  EagerLoadImages.childContextTypes = {
@@ -374,13 +415,14 @@ EagerLoadImages.childContextTypes = {
374
415
  };
375
416
 
376
417
  function _createSuper$m(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$m(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
418
+
377
419
  function _isNativeReflectConstruct$m() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
420
+
378
421
  function defaultErrorFn(props) {
379
422
  return /*#__PURE__*/React__default["default"].createElement("span", {
380
423
  className: "qt-error"
381
424
  });
382
425
  }
383
-
384
426
  /**
385
427
  * This function can be used to generate a wrapper component that implements `componentDidCatch()`.
386
428
  *
@@ -401,20 +443,27 @@ function defaultErrorFn(props) {
401
443
  * @category Other
402
444
  * @returns {Component} A component with errors caught
403
445
  */
446
+
447
+
404
448
  function withError(clazz) {
405
449
  var errorFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultErrorFn;
406
450
  return /*#__PURE__*/function (_React$Component) {
407
451
  _inherits__default["default"](WithError, _React$Component);
452
+
408
453
  var _super = _createSuper$m(WithError);
454
+
409
455
  function WithError(props) {
410
456
  var _this;
457
+
411
458
  _classCallCheck__default["default"](this, WithError);
459
+
412
460
  _this = _super.call(this, props);
413
461
  _this.state = {
414
462
  errored: false
415
463
  };
416
464
  return _this;
417
465
  }
466
+
418
467
  _createClass__default["default"](WithError, [{
419
468
  key: "componentDidCatch",
420
469
  value: function componentDidCatch(e) {
@@ -442,13 +491,14 @@ function withError(clazz) {
442
491
  }
443
492
  }
444
493
  }]);
494
+
445
495
  return WithError;
446
496
  }(React__default["default"].Component);
447
497
  }
448
498
 
449
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
450
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
499
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
451
500
 
501
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
452
502
  /**
453
503
  * This is a function which can be used to manage ad units in a single place. A component must be created, and used with the `adtype` parameter. These ads are lazy-loaded and single-request mode is disabled by default which can be overwritten as follows.
454
504
  *
@@ -490,20 +540,21 @@ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) {
490
540
  * @category Ads
491
541
  * @returns {Component} A component that can
492
542
  */
543
+
493
544
  function createDfpAdComponent(_ref) {
494
545
  var defaultNetworkID = _ref.defaultNetworkID,
495
- _ref$config = _ref.config,
496
- config = _ref$config === void 0 ? {} : _ref$config,
497
- slotId = _ref.slotId,
498
- targeting = _ref.targeting,
499
- _ref$collapseEmptyDiv = _ref.collapseEmptyDivs,
500
- collapseEmptyDivs = _ref$collapseEmptyDiv === void 0 ? true : _ref$collapseEmptyDiv,
501
- _ref$lazyLoad = _ref.lazyLoad,
502
- lazyLoad = _ref$lazyLoad === void 0 ? true : _ref$lazyLoad,
503
- _ref$singleRequest = _ref.singleRequest,
504
- singleRequest = _ref$singleRequest === void 0 ? false : _ref$singleRequest,
505
- _ref$deferAdsBy = _ref.deferAdsBy,
506
- deferAdsBy = _ref$deferAdsBy === void 0 ? 0 : _ref$deferAdsBy;
546
+ _ref$config = _ref.config,
547
+ config = _ref$config === void 0 ? {} : _ref$config,
548
+ slotId = _ref.slotId,
549
+ targeting = _ref.targeting,
550
+ _ref$collapseEmptyDiv = _ref.collapseEmptyDivs,
551
+ collapseEmptyDivs = _ref$collapseEmptyDiv === void 0 ? true : _ref$collapseEmptyDiv,
552
+ _ref$lazyLoad = _ref.lazyLoad,
553
+ lazyLoad = _ref$lazyLoad === void 0 ? true : _ref$lazyLoad,
554
+ _ref$singleRequest = _ref.singleRequest,
555
+ singleRequest = _ref$singleRequest === void 0 ? false : _ref$singleRequest,
556
+ _ref$deferAdsBy = _ref.deferAdsBy,
557
+ deferAdsBy = _ref$deferAdsBy === void 0 ? 0 : _ref$deferAdsBy;
507
558
  return reactRedux.connect(function (state, ownProps) {
508
559
  return {
509
560
  targetingArguments: targeting(state, ownProps),
@@ -519,20 +570,23 @@ function createDfpAdComponent(_ref) {
519
570
  return {};
520
571
  })(withError(DfpAdBase));
521
572
  }
573
+
522
574
  function DfpAdBase(_ref2) {
523
575
  var defaultNetworkID = _ref2.defaultNetworkID,
524
- config = _ref2.config,
525
- slotId = _ref2.slotId,
526
- collapseEmptyDivs = _ref2.collapseEmptyDivs,
527
- targetingArguments = _ref2.targetingArguments,
528
- adtype = _ref2.adtype,
529
- lazyLoad = _ref2.lazyLoad,
530
- singleRequest = _ref2.singleRequest,
531
- deferAdsBy = _ref2.deferAdsBy;
576
+ config = _ref2.config,
577
+ slotId = _ref2.slotId,
578
+ collapseEmptyDivs = _ref2.collapseEmptyDivs,
579
+ targetingArguments = _ref2.targetingArguments,
580
+ adtype = _ref2.adtype,
581
+ lazyLoad = _ref2.lazyLoad,
582
+ singleRequest = _ref2.singleRequest,
583
+ deferAdsBy = _ref2.deferAdsBy;
532
584
  var adConfig = config[adtype] || {};
585
+
533
586
  var adProps = _objectSpread$7({
534
587
  slotId: slotId
535
588
  }, adConfig);
589
+
536
590
  return /*#__PURE__*/React__default["default"].createElement(reactDfp.DFPSlotsProvider, {
537
591
  dfpNetworkId: defaultNetworkID,
538
592
  collapseEmptyDivs: collapseEmptyDivs,
@@ -543,18 +597,20 @@ function DfpAdBase(_ref2) {
543
597
  deferAdsBy: deferAdsBy
544
598
  }, /*#__PURE__*/React__default["default"].createElement(reactDfp.AdSlot, adProps));
545
599
  }
600
+
546
601
  function refreshDfpAds(adSlots) {
547
602
  reactDfp.DFPManager.refresh(adSlots);
548
603
  }
549
604
 
550
605
  function HamburgerButtonBase(_ref) {
551
606
  var onClick = _ref.onClick,
552
- children = _ref.children;
607
+ children = _ref.children;
553
608
  return /*#__PURE__*/React__default["default"].createElement("a", {
554
609
  href: "/",
555
610
  onClick: onClick
556
611
  }, children);
557
612
  }
613
+
558
614
  function mapDispatchToProps$5(dispatch) {
559
615
  return {
560
616
  onClick: function onClick(e) {
@@ -566,7 +622,6 @@ function mapDispatchToProps$5(dispatch) {
566
622
  }
567
623
  };
568
624
  }
569
-
570
625
  /**
571
626
  * This component can be used to trigger an action openening the Hamburger menu. The state can be accessed via state.hamburgerOpened
572
627
  *
@@ -580,30 +635,38 @@ function mapDispatchToProps$5(dispatch) {
580
635
  * @component
581
636
  * @category Header
582
637
  */
638
+
639
+
583
640
  var HamburgerButton = /*#__PURE__*/reactRedux.connect(function (state) {
584
641
  return {};
585
642
  }, mapDispatchToProps$5)(HamburgerButtonBase);
586
643
 
587
644
  function _createSuper$l(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$l(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
645
+
588
646
  function _isNativeReflectConstruct$l() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
589
647
 
590
- // An item in the infinite scroll
591
648
  var ScrollItem = /*#__PURE__*/function (_React$Component) {
592
649
  _inherits__default["default"](ScrollItem, _React$Component);
650
+
593
651
  var _super = /*#__PURE__*/_createSuper$l(ScrollItem);
652
+
594
653
  function ScrollItem(props) {
595
654
  var _this;
655
+
596
656
  _classCallCheck__default["default"](this, ScrollItem);
657
+
597
658
  _this = _super.call(this, props);
598
659
  _this.state = {
599
660
  minHeight: props.minHeight
600
661
  };
601
662
  return _this;
602
663
  }
664
+
603
665
  _createClass__default["default"](ScrollItem, [{
604
666
  key: "render",
605
667
  value: function render() {
606
668
  var _this2 = this;
669
+
607
670
  return /*#__PURE__*/React__default["default"].createElement("div", {
608
671
  ref: function ref(node) {
609
672
  return _this2.node = node;
@@ -633,6 +696,7 @@ var ScrollItem = /*#__PURE__*/function (_React$Component) {
633
696
  key: "componentDidMount",
634
697
  value: function componentDidMount() {
635
698
  var _this3 = this;
699
+
636
700
  this.props.observers.forEach(function (observer) {
637
701
  return observer && observer.observe(_this3.node);
638
702
  });
@@ -641,24 +705,33 @@ var ScrollItem = /*#__PURE__*/function (_React$Component) {
641
705
  key: "componentWillUnmount",
642
706
  value: function componentWillUnmount() {
643
707
  var _this4 = this;
708
+
644
709
  this.props.observers.forEach(function (observer) {
645
710
  return observer && observer.unobserve(_this4.node);
646
711
  });
647
712
  }
648
713
  }]);
714
+
649
715
  return ScrollItem;
650
716
  }(React__default["default"].Component); // When this becomes visible, we call loadMore()
717
+
718
+
651
719
  var ScrollLoadMore = /*#__PURE__*/function (_React$Component2) {
652
720
  _inherits__default["default"](ScrollLoadMore, _React$Component2);
721
+
653
722
  var _super2 = /*#__PURE__*/_createSuper$l(ScrollLoadMore);
723
+
654
724
  function ScrollLoadMore() {
655
725
  _classCallCheck__default["default"](this, ScrollLoadMore);
726
+
656
727
  return _super2.apply(this, arguments);
657
728
  }
729
+
658
730
  _createClass__default["default"](ScrollLoadMore, [{
659
731
  key: "render",
660
732
  value: function render() {
661
733
  var _this5 = this;
734
+
662
735
  return /*#__PURE__*/React__default["default"].createElement("div", {
663
736
  ref: function ref(node) {
664
737
  return _this5.node = node;
@@ -670,6 +743,7 @@ var ScrollLoadMore = /*#__PURE__*/function (_React$Component2) {
670
743
  key: "componentDidMount",
671
744
  value: function componentDidMount() {
672
745
  var _this6 = this;
746
+
673
747
  this.props.observers.forEach(function (observer) {
674
748
  return observer && observer.observe(_this6.node);
675
749
  });
@@ -678,19 +752,27 @@ var ScrollLoadMore = /*#__PURE__*/function (_React$Component2) {
678
752
  key: "componentWillUnmount",
679
753
  value: function componentWillUnmount() {
680
754
  var _this7 = this;
755
+
681
756
  this.props.observers.forEach(function (observer) {
682
757
  return observer && observer.unobserve(_this7.node);
683
758
  });
684
759
  }
685
760
  }]);
761
+
686
762
  return ScrollLoadMore;
687
763
  }(React__default["default"].Component); // Basic Infinite Scroll, toggles showing items
764
+
765
+
688
766
  var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
689
767
  _inherits__default["default"](InfiniteScrollBase, _React$Component3);
768
+
690
769
  var _super3 = /*#__PURE__*/_createSuper$l(InfiniteScrollBase);
770
+
691
771
  function InfiniteScrollBase(props) {
692
772
  var _this8;
773
+
693
774
  _classCallCheck__default["default"](this, InfiniteScrollBase);
775
+
694
776
  _this8 = _super3.call(this, props);
695
777
  var initiallyShow = props.initiallyShow || 1;
696
778
  _this8.state = {
@@ -699,6 +781,7 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
699
781
  return arr;
700
782
  }, {})
701
783
  };
784
+
702
785
  if (global.IntersectionObserver) {
703
786
  _this8.loadObserver = new IntersectionObserver(function (x) {
704
787
  return _this8.intersectionCallback(x);
@@ -706,8 +789,10 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
706
789
  rootMargin: props.loadMargin || "200px 0px 500px"
707
790
  });
708
791
  }
792
+
709
793
  return _this8;
710
794
  }
795
+
711
796
  _createClass__default["default"](InfiniteScrollBase, [{
712
797
  key: "componentWillUnmount",
713
798
  value: function componentWillUnmount() {
@@ -717,6 +802,7 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
717
802
  key: "intersectionCallback",
718
803
  value: function intersectionCallback(entries) {
719
804
  var _this9 = this;
805
+
720
806
  var visibleComponents = this.state.visibleComponents;
721
807
  entries.forEach(function (entry) {
722
808
  // Stupid browsers like UC and Mi don't correctly support the spec
@@ -727,7 +813,9 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
727
813
  return;
728
814
  }
729
815
  }
816
+
730
817
  var item = entry.target.getAttribute("data-infinite-scroll");
818
+
731
819
  if (item == 'load-more' && entry.isIntersecting) {
732
820
  _this9.props.loadNext();
733
821
  } else {
@@ -743,6 +831,7 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
743
831
  key: "render",
744
832
  value: function render() {
745
833
  var _this10 = this;
834
+
746
835
  return /*#__PURE__*/React__default["default"].createElement("div", null, this.props.items.map(function (data, index) {
747
836
  return /*#__PURE__*/React__default["default"].createElement(ScrollItem, {
748
837
  observers: _this10.props.observers.concat([_this10.loadObserver]),
@@ -758,16 +847,24 @@ var InfiniteScrollBase = /*#__PURE__*/function (_React$Component3) {
758
847
  }));
759
848
  }
760
849
  }]);
850
+
761
851
  return InfiniteScrollBase;
762
852
  }(React__default["default"].Component); // Calls a callback when an item covers bottom 20% of the screen (to change URL)
853
+
854
+
763
855
  function withFocusObserver(Component) {
764
856
  return /*#__PURE__*/function (_React$Component4) {
765
857
  _inherits__default["default"](WithFocusObserver, _React$Component4);
858
+
766
859
  var _super4 = _createSuper$l(WithFocusObserver);
860
+
767
861
  function WithFocusObserver(props) {
768
862
  var _this11;
863
+
769
864
  _classCallCheck__default["default"](this, WithFocusObserver);
865
+
770
866
  _this11 = _super4.call(this, props);
867
+
771
868
  if (global.IntersectionObserver) {
772
869
  _this11.focusObserver = new IntersectionObserver(function (x) {
773
870
  return _this11.focusCallback(x);
@@ -775,8 +872,10 @@ function withFocusObserver(Component) {
775
872
  rootMargin: "-".concat(100 - props.focusCallbackAt, "% 0px -").concat(props.focusCallbackAt, "%")
776
873
  });
777
874
  }
875
+
778
876
  return _this11;
779
877
  }
878
+
780
879
  _createClass__default["default"](WithFocusObserver, [{
781
880
  key: "componentWillUnmount",
782
881
  value: function componentWillUnmount() {
@@ -786,8 +885,10 @@ function withFocusObserver(Component) {
786
885
  key: "focusCallback",
787
886
  value: function focusCallback(entries) {
788
887
  var _this12 = this;
888
+
789
889
  entries.forEach(function (entry) {
790
890
  var item = entry.target.getAttribute("data-infinite-scroll");
891
+
791
892
  if (entry.isIntersecting) {
792
893
  _this12.props.onFocus(item);
793
894
  }
@@ -801,20 +902,23 @@ function withFocusObserver(Component) {
801
902
  }));
802
903
  }
803
904
  }]);
905
+
804
906
  return WithFocusObserver;
805
907
  }(React__default["default"].Component);
806
908
  }
807
-
808
909
  /**
809
910
  * This component can be used to implement InfiniteScroll. This is an internal component.
810
911
  * @private
811
912
  * @category Other
812
913
  * @component
813
914
  */
915
+
916
+
814
917
  var InfiniteScroll = /*#__PURE__*/withFocusObserver(InfiniteScrollBase);
815
918
 
816
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
817
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
919
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
920
+
921
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
818
922
  function removeDuplicateStories(existingStories, newStories) {
819
923
  var keyFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function (story) {
820
924
  return story.id;
@@ -827,9 +931,8 @@ function removeDuplicateStories(existingStories, newStories) {
827
931
  function getAssociatedTemplate(_ref) {
828
932
  var associatedMetadata = _ref["associated-metadata"];
829
933
  return associatedMetadata ? associatedMetadata.layout : 'default';
830
- }
934
+ } // FIXME: TEST THIS
831
935
 
832
- // FIXME: TEST THIS
833
936
  function replaceAllStoriesInCollection(collection, story) {
834
937
  var items = (collection.items || []).map(function (item) {
835
938
  if (item.type === "story") {
@@ -841,14 +944,13 @@ function replaceAllStoriesInCollection(collection, story) {
841
944
  } else if (item.type === "collection") {
842
945
  return replaceAllStoriesInCollection(item, story);
843
946
  }
947
+
844
948
  return item;
845
949
  });
846
950
  return Object.assign({}, collection, {
847
951
  items: items
848
952
  });
849
- }
850
-
851
- //Helps handle errors with async await pattern
953
+ } //Helps handle errors with async await pattern
852
954
 
853
955
  var awaitHelper = function awaitHelper(promise) {
854
956
  return promise.then(function (data) {
@@ -883,19 +985,23 @@ var getQliticsSchema = function getQliticsSchema() {
883
985
  var computeAccess = function computeAccess(previousState, currentState) {
884
986
  var currentAccess = get__default["default"](currentState, ["access"], {});
885
987
  var currentStoryId = get__default["default"](Object.keys(currentAccess), [0], "");
988
+
886
989
  if (currentStoryId in previousState) {
887
990
  var storyAccess = previousState[currentStoryId];
991
+
888
992
  if (storyAccess.granted !== currentAccess[currentStoryId].granted || storyAccess.grantReason !== currentAccess[currentStoryId].grantReason) {
889
993
  return _objectSpread$6(_objectSpread$6({}, previousState), currentAccess);
890
994
  }
995
+
891
996
  return previousState;
892
997
  }
998
+
893
999
  return _objectSpread$6(_objectSpread$6({}, previousState), currentAccess);
894
1000
  };
895
1001
 
896
1002
  function _createSuper$k(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$k(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
897
- function _isNativeReflectConstruct$k() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
898
1003
 
1004
+ function _isNativeReflectConstruct$k() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
899
1005
  /**
900
1006
  * This component can be used to implement InfiniteScroll on the story page. You will need to specify the function which renders the story (which will recieve props.index and props.story), and functions for triggering analytics.
901
1007
  *
@@ -943,12 +1049,17 @@ function _isNativeReflectConstruct$k() { if (typeof Reflect === "undefined" || !
943
1049
  * @component
944
1050
  * @category Story Page
945
1051
  */
1052
+
946
1053
  var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
947
1054
  _inherits__default["default"](InfiniteStoryBase, _React$Component);
1055
+
948
1056
  var _super = /*#__PURE__*/_createSuper$k(InfiniteStoryBase);
1057
+
949
1058
  function InfiniteStoryBase(props) {
950
1059
  var _this;
1060
+
951
1061
  _classCallCheck__default["default"](this, InfiniteStoryBase);
1062
+
952
1063
  _this = _super.call(this, props);
953
1064
  _this.state = {
954
1065
  moreItems: [],
@@ -958,6 +1069,7 @@ var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
958
1069
  };
959
1070
  return _this;
960
1071
  }
1072
+
961
1073
  _createClass__default["default"](InfiniteStoryBase, [{
962
1074
  key: "allItems",
963
1075
  value: function allItems() {
@@ -967,14 +1079,18 @@ var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
967
1079
  key: "onFocus",
968
1080
  value: function onFocus(index) {
969
1081
  var _this2 = this;
1082
+
970
1083
  var item = this.allItems()[index];
1084
+
971
1085
  if (!this.props.doNotChangeUrl) {
972
1086
  var storyPath = item.story.url ? new URL(item.story.url).pathname : "/" + item.story.slug;
973
1087
  var metaTitle = get__default["default"](item, ['story', 'seo', 'meta-title'], item.story.headline);
974
1088
  var title = get__default["default"](item, ["customSeo", "title"], metaTitle);
975
1089
  global.app.maybeSetUrl(storyPath, title);
976
1090
  }
1091
+
977
1092
  this.props.onItemFocus && this.props.onItemFocus(item, index);
1093
+
978
1094
  if (!this.state.seenStoryIds.includes(item.story.id)) {
979
1095
  this.setState({
980
1096
  seenStoryIds: this.state.seenStoryIds.concat([item.story.id])
@@ -987,6 +1103,7 @@ var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
987
1103
  key: "loadMore",
988
1104
  value: function loadMore() {
989
1105
  var _this3 = this;
1106
+
990
1107
  if (this.state.loading) return;
991
1108
  var pageNumber = this.state.pageNumber;
992
1109
  var story = get__default["default"](this.props.data, ['story'], {});
@@ -1008,6 +1125,7 @@ var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
1008
1125
  key: "render",
1009
1126
  value: function render() {
1010
1127
  var _this4 = this;
1128
+
1011
1129
  return /*#__PURE__*/React__default["default"].createElement(InfiniteScroll, {
1012
1130
  render: this.props.render,
1013
1131
  items: this.allItems(),
@@ -1023,21 +1141,27 @@ var InfiniteStoryBase = /*#__PURE__*/function (_React$Component) {
1023
1141
  });
1024
1142
  }
1025
1143
  }]);
1144
+
1026
1145
  return InfiniteStoryBase;
1027
1146
  }(React__default["default"].Component);
1028
1147
 
1029
1148
  function _createSuper$j(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$j(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1149
+
1030
1150
  function _isNativeReflectConstruct$j() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1151
+
1031
1152
  var IntersectionObserverWrapper = /*#__PURE__*/function () {
1032
1153
  function IntersectionObserverWrapper(callback) {
1033
1154
  _classCallCheck__default["default"](this, IntersectionObserverWrapper);
1155
+
1034
1156
  this.observedItems = [];
1035
1157
  this.callback = callback;
1036
1158
  }
1159
+
1037
1160
  _createClass__default["default"](IntersectionObserverWrapper, [{
1038
1161
  key: "start",
1039
1162
  value: function start(margin) {
1040
1163
  var _this = this;
1164
+
1041
1165
  this.observer = new global.IntersectionObserver(function (entries) {
1042
1166
  return _this.onObservation(entries);
1043
1167
  }, {
@@ -1046,8 +1170,9 @@ var IntersectionObserverWrapper = /*#__PURE__*/function () {
1046
1170
  });
1047
1171
  this.observedItems.forEach(function (_ref) {
1048
1172
  var _ref2 = _slicedToArray__default["default"](_ref, 2),
1049
- dom = _ref2[0];
1050
- _ref2[1];
1173
+ dom = _ref2[0];
1174
+ _ref2[1];
1175
+
1051
1176
  return _this.observer.observe(dom);
1052
1177
  });
1053
1178
  }
@@ -1055,6 +1180,7 @@ var IntersectionObserverWrapper = /*#__PURE__*/function () {
1055
1180
  key: "onObservation",
1056
1181
  value: function onObservation(entries) {
1057
1182
  var _this2 = this;
1183
+
1058
1184
  entries.filter(function (entry) {
1059
1185
  return entry.isIntersecting === undefined || entry.isIntersecting;
1060
1186
  }).map(function (entry) {
@@ -1063,9 +1189,12 @@ var IntersectionObserverWrapper = /*#__PURE__*/function () {
1063
1189
  var index = _this2.observedItems.findIndex(function (x) {
1064
1190
  return x[0] === dom;
1065
1191
  });
1192
+
1066
1193
  if (index > -1) {
1067
1194
  var component = _this2.observedItems[index][1];
1195
+
1068
1196
  _this2.callback(component);
1197
+
1069
1198
  _this2.unregister(dom, component);
1070
1199
  }
1071
1200
  });
@@ -1082,6 +1211,7 @@ var IntersectionObserverWrapper = /*#__PURE__*/function () {
1082
1211
  var index = this.observedItems.findIndex(function (x) {
1083
1212
  return x[0] === dom;
1084
1213
  });
1214
+
1085
1215
  if (index > -1) {
1086
1216
  this.observedItems.splice(index, 1);
1087
1217
  this.observer && this.observer.unobserve(dom);
@@ -1093,13 +1223,17 @@ var IntersectionObserverWrapper = /*#__PURE__*/function () {
1093
1223
  this.observer.disconnect();
1094
1224
  }
1095
1225
  }]);
1226
+
1096
1227
  return IntersectionObserverWrapper;
1097
1228
  }();
1229
+
1098
1230
  var StubObserverWrapper = /*#__PURE__*/function () {
1099
1231
  function StubObserverWrapper(callback) {
1100
1232
  _classCallCheck__default["default"](this, StubObserverWrapper);
1233
+
1101
1234
  this.callback = callback;
1102
1235
  }
1236
+
1103
1237
  _createClass__default["default"](StubObserverWrapper, [{
1104
1238
  key: "register",
1105
1239
  value: function register(dom, component) {
@@ -1115,54 +1249,65 @@ var StubObserverWrapper = /*#__PURE__*/function () {
1115
1249
  key: "disconnect",
1116
1250
  value: function disconnect() {}
1117
1251
  }]);
1252
+
1118
1253
  return StubObserverWrapper;
1119
- }(); /**
1120
- * This component will ensure all {@link ResponsiveImages} that are in its descendent path will be loaded async. By default, the image is loaded with an empty gif, and the image becomes visible when the image scrolls 250 from the edge of the screen.
1121
- *
1122
- * You can use {@link EagerLoadImages} or `eager={true}` to force the image to be eager. If `EagerLoadImages` is passed a predicate, then images that pass a matching value to `eager` will be rendered eagerly.
1123
- *
1124
- * Example
1125
- * ```javascript
1126
- * import { LazyLoadImages, EagerLoadImages } from '@quintype/components';
1127
- *
1128
- * function LazyLoadSecondImage() {
1129
- * return <div>
1130
- * <ResponsiveImage slug={props["eager-image-1"]} />
1131
- * <LazyLoadImages margin={"450px"}>
1132
- * <div>
1133
- * <UnrelatedContent/>
1134
- * <ResponsiveImage slug={props["lazy-image-1"]} />
1135
- * <ResponsiveImage slug={props["lazy-image-forced-to-be-eager"]} eager/>
1136
- * <ResponsiveImage slug={props["lazy-image-2"]} />
1137
- * <EagerLoadImages>
1138
- * <ResponsiveImage slug={props["lazy-image-forced-to-be-eager"]} />
1139
- * </EagerLoadImages>
1140
- * <EagerLoadImages predicate={(token) => token % 2 === 0}>
1141
- * <ResponsiveImage slug={props["lazy-image"]} eager={1} />
1142
- * <ResponsiveImage slug={props["eager-image"]} eager={2} />
1143
- * </EagerLoadImages>
1144
- * </div>
1145
- * </LazyLoadImages>
1146
- * <ResponsiveImage slug={props["eager-image-2"]} />
1147
- * </div>
1148
- * }
1149
- * ```
1150
- * @component
1151
- * @category Images
1152
- */
1254
+ }();
1255
+ /**
1256
+ * This component will ensure all {@link ResponsiveImages} that are in its descendent path will be loaded async. By default, the image is loaded with an empty gif, and the image becomes visible when the image scrolls 250 from the edge of the screen.
1257
+ *
1258
+ * You can use {@link EagerLoadImages} or `eager={true}` to force the image to be eager. If `EagerLoadImages` is passed a predicate, then images that pass a matching value to `eager` will be rendered eagerly.
1259
+ *
1260
+ * Example
1261
+ * ```javascript
1262
+ * import { LazyLoadImages, EagerLoadImages } from '@quintype/components';
1263
+ *
1264
+ * function LazyLoadSecondImage() {
1265
+ * return <div>
1266
+ * <ResponsiveImage slug={props["eager-image-1"]} />
1267
+ * <LazyLoadImages margin={"450px"}>
1268
+ * <div>
1269
+ * <UnrelatedContent/>
1270
+ * <ResponsiveImage slug={props["lazy-image-1"]} />
1271
+ * <ResponsiveImage slug={props["lazy-image-forced-to-be-eager"]} eager/>
1272
+ * <ResponsiveImage slug={props["lazy-image-2"]} />
1273
+ * <EagerLoadImages>
1274
+ * <ResponsiveImage slug={props["lazy-image-forced-to-be-eager"]} />
1275
+ * </EagerLoadImages>
1276
+ * <EagerLoadImages predicate={(token) => token % 2 === 0}>
1277
+ * <ResponsiveImage slug={props["lazy-image"]} eager={1} />
1278
+ * <ResponsiveImage slug={props["eager-image"]} eager={2} />
1279
+ * </EagerLoadImages>
1280
+ * </div>
1281
+ * </LazyLoadImages>
1282
+ * <ResponsiveImage slug={props["eager-image-2"]} />
1283
+ * </div>
1284
+ * }
1285
+ * ```
1286
+ * @component
1287
+ * @category Images
1288
+ */
1289
+
1290
+
1153
1291
  var LazyLoadImages = /*#__PURE__*/function (_React$Component) {
1154
1292
  _inherits__default["default"](LazyLoadImages, _React$Component);
1293
+
1155
1294
  var _super = /*#__PURE__*/_createSuper$j(LazyLoadImages);
1295
+
1156
1296
  function LazyLoadImages(props) {
1157
1297
  var _this3;
1298
+
1158
1299
  _classCallCheck__default["default"](this, LazyLoadImages);
1300
+
1159
1301
  _this3 = _super.call(this, props);
1302
+
1160
1303
  var callback = function callback(component) {
1161
1304
  return component.showImage();
1162
1305
  };
1306
+
1163
1307
  _this3.observerWrapper = global.IntersectionObserver ? new IntersectionObserverWrapper(callback) : new StubObserverWrapper(callback);
1164
1308
  return _this3;
1165
1309
  }
1310
+
1166
1311
  _createClass__default["default"](LazyLoadImages, [{
1167
1312
  key: "componentDidMount",
1168
1313
  value: function componentDidMount() {
@@ -1177,6 +1322,7 @@ var LazyLoadImages = /*#__PURE__*/function (_React$Component) {
1177
1322
  key: "getChildContext",
1178
1323
  value: function getChildContext() {
1179
1324
  var _this4 = this;
1325
+
1180
1326
  return {
1181
1327
  lazyLoadObserveImage: function lazyLoadObserveImage(dom, component) {
1182
1328
  return dom && _this4.observerWrapper.register(dom, component);
@@ -1192,6 +1338,7 @@ var LazyLoadImages = /*#__PURE__*/function (_React$Component) {
1192
1338
  return this.props.children;
1193
1339
  }
1194
1340
  }]);
1341
+
1195
1342
  return LazyLoadImages;
1196
1343
  }(React__default["default"].Component);
1197
1344
  LazyLoadImages.childContextTypes = {
@@ -1199,8 +1346,9 @@ LazyLoadImages.childContextTypes = {
1199
1346
  lazyLoadUnobserveImage: propTypes.func
1200
1347
  };
1201
1348
 
1202
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1203
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1349
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1350
+
1351
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1204
1352
  function StoryNotImplemented() {
1205
1353
  return /*#__PURE__*/React__default["default"].createElement("div", {
1206
1354
  "data-comment": "Story Template Not Implemented"
@@ -1213,6 +1361,7 @@ function CollectionNotImplemented() {
1213
1361
  }
1214
1362
  function renderCollectionItem(collectionItem, index, collectionTemplates, storyTemplates) {
1215
1363
  var otherProps = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
1364
+
1216
1365
  switch (collectionItem.type) {
1217
1366
  case "collection":
1218
1367
  return /*#__PURE__*/React__default["default"].createElement(collectionTemplates(getAssociatedTemplate(collectionItem), index), _objectSpread$5({
@@ -1221,6 +1370,7 @@ function renderCollectionItem(collectionItem, index, collectionTemplates, storyT
1221
1370
  collection: collectionItem,
1222
1371
  metadata: collectionItem["associated-metadata"] || {}
1223
1372
  }, otherProps));
1373
+
1224
1374
  case "story":
1225
1375
  return /*#__PURE__*/React__default["default"].createElement(storyTemplates(index), _objectSpread$5({
1226
1376
  key: "".concat(index, "-").concat(collectionItem.id),
@@ -1228,6 +1378,7 @@ function renderCollectionItem(collectionItem, index, collectionTemplates, storyT
1228
1378
  story: collectionItem.story,
1229
1379
  metadata: collectionItem["associated-metadata"] || {}
1230
1380
  }, otherProps));
1381
+
1231
1382
  default:
1232
1383
  return /*#__PURE__*/React__default["default"].createElement("div", {
1233
1384
  "data-comment": "".concat(collectionItem.type, " not implemented")
@@ -1236,7 +1387,6 @@ function renderCollectionItem(collectionItem, index, collectionTemplates, storyT
1236
1387
  }
1237
1388
 
1238
1389
  var _excluded$1 = ["className", "collection", "collectionTemplates", "storyTemplates", "lazyAfter"];
1239
-
1240
1390
  /**
1241
1391
  * This component can be used to render a collection, but with the components being lazy. This takes all the same options as Collection, but with a `lazyAfter` prop.
1242
1392
  * This Component also accepts extra props, which will be passed down to collection templates.
@@ -1260,13 +1410,15 @@ var _excluded$1 = ["className", "collection", "collectionTemplates", "storyTempl
1260
1410
  * @category Collection Page
1261
1411
  * @component
1262
1412
  */
1413
+
1263
1414
  function LazyCollection(_ref) {
1264
1415
  var className = _ref.className,
1265
- collection = _ref.collection,
1266
- collectionTemplates = _ref.collectionTemplates,
1267
- storyTemplates = _ref.storyTemplates,
1268
- lazyAfter = _ref.lazyAfter,
1269
- otherProps = omit__default["default"](_ref, _excluded$1);
1416
+ collection = _ref.collection,
1417
+ collectionTemplates = _ref.collectionTemplates,
1418
+ storyTemplates = _ref.storyTemplates,
1419
+ lazyAfter = _ref.lazyAfter,
1420
+ otherProps = omit__default["default"](_ref, _excluded$1);
1421
+
1270
1422
  return /*#__PURE__*/React__default["default"].createElement("div", {
1271
1423
  className: className
1272
1424
  }, /*#__PURE__*/React__default["default"].createElement(InfiniteScroll, {
@@ -1280,8 +1432,7 @@ function LazyCollection(_ref) {
1280
1432
  },
1281
1433
  initiallyShow: lazyAfter,
1282
1434
  neverHideItem: true,
1283
- showAllOnLegacyBrowser: true
1284
- // No Op
1435
+ showAllOnLegacyBrowser: true // No Op
1285
1436
  ,
1286
1437
  focusCallbackAt: 20,
1287
1438
  onFocus: function onFocus() {}
@@ -1297,13 +1448,18 @@ LazyCollection.defaultProps = {
1297
1448
  };
1298
1449
 
1299
1450
  function _createSuper$i(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$i(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1451
+
1300
1452
  function _isNativeReflectConstruct$i() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1301
1453
  var LoadMoreStoriesManager = /*#__PURE__*/function (_React$Component) {
1302
1454
  _inherits__default["default"](LoadMoreStoriesManager, _React$Component);
1455
+
1303
1456
  var _super = /*#__PURE__*/_createSuper$i(LoadMoreStoriesManager);
1457
+
1304
1458
  function LoadMoreStoriesManager(props) {
1305
1459
  var _this;
1460
+
1306
1461
  _classCallCheck__default["default"](this, LoadMoreStoriesManager);
1462
+
1307
1463
  _this = _super.call(this, props);
1308
1464
  _this.state = {
1309
1465
  loading: false,
@@ -1313,6 +1469,7 @@ var LoadMoreStoriesManager = /*#__PURE__*/function (_React$Component) {
1313
1469
  };
1314
1470
  return _this;
1315
1471
  }
1472
+
1316
1473
  _createClass__default["default"](LoadMoreStoriesManager, [{
1317
1474
  key: "stories",
1318
1475
  value: function stories() {
@@ -1322,6 +1479,7 @@ var LoadMoreStoriesManager = /*#__PURE__*/function (_React$Component) {
1322
1479
  key: "loadMore",
1323
1480
  value: function loadMore(e) {
1324
1481
  var _this2 = this;
1482
+
1325
1483
  e.preventDefault();
1326
1484
  if (this.state.loading) return;
1327
1485
  var pageNumber = this.state.pageNumber;
@@ -1342,6 +1500,7 @@ var LoadMoreStoriesManager = /*#__PURE__*/function (_React$Component) {
1342
1500
  key: "render",
1343
1501
  value: function render() {
1344
1502
  var _this3 = this;
1503
+
1345
1504
  return this.props.template(Object.assign({}, this.props, {
1346
1505
  stories: this.stories(),
1347
1506
  onLoadMore: function onLoadMore(e) {
@@ -1352,10 +1511,12 @@ var LoadMoreStoriesManager = /*#__PURE__*/function (_React$Component) {
1352
1511
  }));
1353
1512
  }
1354
1513
  }]);
1514
+
1355
1515
  return LoadMoreStoriesManager;
1356
1516
  }(React__default["default"].Component);
1357
1517
 
1358
1518
  function _createSuper$h(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$h(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1519
+
1359
1520
  function _isNativeReflectConstruct$h() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1360
1521
  /**
1361
1522
  * This component starts with a set of stories, and then provides a load more button. This calls out to `/api/v1/stories` with the properties passed via the `params` prop. The stories are concatenated with the stories in `props.data.stories`, and the contents of `props.data` are passed to the rendered template.
@@ -1384,17 +1545,23 @@ function _isNativeReflectConstruct$h() { if (typeof Reflect === "undefined" || !
1384
1545
  * @component
1385
1546
  * @category Collection Page
1386
1547
  */
1548
+
1387
1549
  var LoadMoreStoriesBase = /*#__PURE__*/function (_React$Component) {
1388
1550
  _inherits__default["default"](LoadMoreStoriesBase, _React$Component);
1551
+
1389
1552
  var _super = /*#__PURE__*/_createSuper$h(LoadMoreStoriesBase);
1553
+
1390
1554
  function LoadMoreStoriesBase() {
1391
1555
  _classCallCheck__default["default"](this, LoadMoreStoriesBase);
1556
+
1392
1557
  return _super.apply(this, arguments);
1393
1558
  }
1559
+
1394
1560
  _createClass__default["default"](LoadMoreStoriesBase, [{
1395
1561
  key: "loadMoreStories",
1396
1562
  value: function loadMoreStories(pageNumber) {
1397
1563
  var _this = this;
1564
+
1398
1565
  var stories = get__default["default"](this.props, ['data', 'stories'], []);
1399
1566
  return getRequest(this.props.api || '/api/v1/stories', Object.assign({}, this.props.params, {
1400
1567
  offset: this.props.numStoriesToLoad * (pageNumber - 1) + stories.length,
@@ -1404,6 +1571,7 @@ var LoadMoreStoriesBase = /*#__PURE__*/function (_React$Component) {
1404
1571
  if (_this.props.apiResponseTransformer) {
1405
1572
  return _this.props.apiResponseTransformer(response);
1406
1573
  }
1574
+
1407
1575
  return response.stories || get__default["default"](response, ['results', 'stories'], []);
1408
1576
  });
1409
1577
  }
@@ -1411,6 +1579,7 @@ var LoadMoreStoriesBase = /*#__PURE__*/function (_React$Component) {
1411
1579
  key: "render",
1412
1580
  value: function render() {
1413
1581
  var _this2 = this;
1582
+
1414
1583
  return /*#__PURE__*/React__default["default"].createElement(LoadMoreStoriesManager, Object.assign({}, this.props.data, {
1415
1584
  template: this.props.template,
1416
1585
  loadStories: function loadStories(pageNumber) {
@@ -1421,12 +1590,13 @@ var LoadMoreStoriesBase = /*#__PURE__*/function (_React$Component) {
1421
1590
  }));
1422
1591
  }
1423
1592
  }]);
1593
+
1424
1594
  return LoadMoreStoriesBase;
1425
1595
  }(React__default["default"].Component);
1426
1596
 
1427
1597
  function _createSuper$g(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$g(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1428
- function _isNativeReflectConstruct$g() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1429
1598
 
1599
+ function _isNativeReflectConstruct$g() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1430
1600
  /**
1431
1601
  * This component is very similar to the {@link LoadMoreBase} component but fetches the stories from a `collection`. The api call `/api/v1/collections/{collectionSlug}` is made with the passed collection slug value. The component accepts the `params` prop and a requires a Collection Slug from which to fetch the stories and returns a set of stories only.
1432
1602
  *
@@ -1462,13 +1632,18 @@ function _isNativeReflectConstruct$g() { if (typeof Reflect === "undefined" || !
1462
1632
  * @component
1463
1633
  * @category Collection Page
1464
1634
  */
1635
+
1465
1636
  var LoadMoreCollectionStories = /*#__PURE__*/function (_React$Component) {
1466
1637
  _inherits__default["default"](LoadMoreCollectionStories, _React$Component);
1638
+
1467
1639
  var _super = /*#__PURE__*/_createSuper$g(LoadMoreCollectionStories);
1640
+
1468
1641
  function LoadMoreCollectionStories() {
1469
1642
  _classCallCheck__default["default"](this, LoadMoreCollectionStories);
1643
+
1470
1644
  return _super.apply(this, arguments);
1471
1645
  }
1646
+
1472
1647
  _createClass__default["default"](LoadMoreCollectionStories, [{
1473
1648
  key: "loadMoreStories",
1474
1649
  value: function loadMoreStories(pageNumber) {
@@ -1488,6 +1663,7 @@ var LoadMoreCollectionStories = /*#__PURE__*/function (_React$Component) {
1488
1663
  key: "render",
1489
1664
  value: function render() {
1490
1665
  var _this = this;
1666
+
1491
1667
  return /*#__PURE__*/React__default["default"].createElement(LoadMoreStoriesManager, Object.assign({}, this.props.data, {
1492
1668
  template: this.props.template,
1493
1669
  loadStories: function loadStories(pageNumber) {
@@ -1498,6 +1674,7 @@ var LoadMoreCollectionStories = /*#__PURE__*/function (_React$Component) {
1498
1674
  }));
1499
1675
  }
1500
1676
  }]);
1677
+
1501
1678
  return LoadMoreCollectionStories;
1502
1679
  }(React__default["default"].Component);
1503
1680
 
@@ -1506,15 +1683,16 @@ function LoadingIndicatorBase(props) {
1506
1683
  className: "loading-indicator ".concat(props.loading ? 'loading-indicator-loading' : '')
1507
1684
  }, props.loading && props.children);
1508
1685
  }
1686
+
1509
1687
  function mapStateToProps$8(state) {
1510
1688
  return {
1511
1689
  loading: state.pageLoading
1512
1690
  };
1513
1691
  }
1692
+
1514
1693
  function mapDispatchToProps$4() {
1515
1694
  return {};
1516
1695
  }
1517
-
1518
1696
  /**
1519
1697
  * This component renders it's children when the app is moving between pages. It can be used to show a spinner. It always has the class "loading-indicator", and also "loading-indicator-loading" when loading.
1520
1698
  *
@@ -1529,15 +1707,17 @@ function mapDispatchToProps$4() {
1529
1707
  * @component
1530
1708
  * @category Other
1531
1709
  */
1710
+
1711
+
1532
1712
  var LoadingIndicator = /*#__PURE__*/reactRedux.connect(mapStateToProps$8, mapDispatchToProps$4)(LoadingIndicatorBase);
1533
1713
 
1534
1714
  function MenuBase(_ref) {
1535
1715
  var children = _ref.children,
1536
- className = _ref.className,
1537
- itemClassName = _ref.itemClassName,
1538
- items = _ref.items,
1539
- currentUrl = _ref.currentUrl,
1540
- slice = _ref.slice;
1716
+ className = _ref.className,
1717
+ itemClassName = _ref.itemClassName,
1718
+ items = _ref.items,
1719
+ currentUrl = _ref.currentUrl,
1720
+ slice = _ref.slice;
1541
1721
  items = items.slice.apply(items, slice);
1542
1722
  return /*#__PURE__*/React__default["default"].createElement("ul", {
1543
1723
  className: className
@@ -1550,13 +1730,13 @@ function MenuBase(_ref) {
1550
1730
  });
1551
1731
  }));
1552
1732
  }
1733
+
1553
1734
  function mapStateToProps$7(state) {
1554
1735
  return {
1555
1736
  items: state.qt.config.layout.menu,
1556
1737
  currentUrl: state.qt.currentPath
1557
1738
  };
1558
1739
  }
1559
-
1560
1740
  /**
1561
1741
  * This component can be used to render a menu from the menuItems in the editor. An extra class called active is applied if the menu item is the current url. By default, links will resolve via AJAX.
1562
1742
  *
@@ -1578,6 +1758,8 @@ function mapStateToProps$7(state) {
1578
1758
  * @component
1579
1759
  * @category Header
1580
1760
  */
1761
+
1762
+
1581
1763
  var Menu = /*#__PURE__*/reactRedux.connect(mapStateToProps$7, function () {
1582
1764
  return {};
1583
1765
  })(MenuBase);
@@ -1588,20 +1770,24 @@ var Menu = /*#__PURE__*/reactRedux.connect(mapStateToProps$7, function () {
1588
1770
  * @component
1589
1771
  * @category Header
1590
1772
  */
1773
+
1591
1774
  function MenuItem$1(_ref) {
1592
1775
  var item = _ref.item,
1593
- className = _ref.className,
1594
- currentUrl = _ref.currentUrl;
1776
+ className = _ref.className,
1777
+ currentUrl = _ref.currentUrl;
1595
1778
  var url = getRelativeUrl(item.url);
1596
1779
  return /*#__PURE__*/React__default["default"].createElement("li", null, getMenuItemBody(item, "".concat(className).concat(currentUrl == url ? " active" : ""), url));
1597
1780
  }
1781
+
1598
1782
  function getRelativeUrl(url) {
1599
1783
  var _URL = new URL(url),
1600
- pathname = _URL.pathname,
1601
- search = _URL.search,
1602
- hash = _URL.hash;
1784
+ pathname = _URL.pathname,
1785
+ search = _URL.search,
1786
+ hash = _URL.hash;
1787
+
1603
1788
  return "".concat(pathname).concat(search || "").concat(hash || "");
1604
1789
  }
1790
+
1605
1791
  function getMenuItemBody(item, className, url, currentUrl) {
1606
1792
  switch (item['item-type']) {
1607
1793
  case 'section':
@@ -1609,6 +1795,7 @@ function getMenuItemBody(item, className, url, currentUrl) {
1609
1795
  href: url,
1610
1796
  className: className
1611
1797
  }, item.title);
1798
+
1612
1799
  default:
1613
1800
  return /*#__PURE__*/React__default["default"].createElement("a", {
1614
1801
  href: item.url,
@@ -1617,13 +1804,13 @@ function getMenuItemBody(item, className, url, currentUrl) {
1617
1804
  }
1618
1805
  }
1619
1806
 
1620
- var USED_PARAMS = ["imageCDN", "defaultWidth", "widths", "imgParams", "slug", "metadata", "aspectRatio", "reactTag", "eager", "imageCDNFormat"];
1807
+ var USED_PARAMS = ["imageCDN", "defaultWidth", "widths", "imgParams", "slug", "metadata", "aspectRatio", "reactTag", "eager", "imageCDNFormat"]; // Add the following CSS somewhere: img.qt-image { width: 100%; object-fit: cover; }
1621
1808
 
1622
- // Add the following CSS somewhere: img.qt-image { width: 100%; object-fit: cover; }
1623
1809
  function hashString(string) {
1624
1810
  if (!string) return 0;
1625
1811
  var hash = 0,
1626
- i;
1812
+ i;
1813
+
1627
1814
  for (i = 0; i < string.length; i++) {
1628
1815
  hash = (hash << 5) - hash + string.charCodeAt(i);
1629
1816
  hash |= 0; // Convert to 32bit integer
@@ -1633,14 +1820,17 @@ function hashString(string) {
1633
1820
  }
1634
1821
 
1635
1822
  function _createSuper$f(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$f(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1823
+
1636
1824
  function _isNativeReflectConstruct$f() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1637
1825
  function responsiveProps(props) {
1638
1826
  var image = new quintypeJs.FocusedImage(props.slug, props.metadata);
1827
+
1639
1828
  function generatePath(size) {
1640
1829
  return "//" + props.imageCDN + "/" + image.path(props.aspectRatio, Object.assign({
1641
1830
  w: size
1642
1831
  }, props.imgParams));
1643
1832
  }
1833
+
1644
1834
  return {
1645
1835
  src: generatePath(props.defaultWidth),
1646
1836
  srcSet: props.widths ? props.widths.map(function (size) {
@@ -1651,34 +1841,43 @@ function responsiveProps(props) {
1651
1841
  }
1652
1842
  var ThumborImage = /*#__PURE__*/function (_React$Component) {
1653
1843
  _inherits__default["default"](ThumborImage, _React$Component);
1844
+
1654
1845
  var _super = /*#__PURE__*/_createSuper$f(ThumborImage);
1846
+
1655
1847
  function ThumborImage(props, context) {
1656
1848
  var _this;
1849
+
1657
1850
  _classCallCheck__default["default"](this, ThumborImage);
1851
+
1658
1852
  _this = _super.call(this, props, context);
1659
1853
  _this.state = {
1660
1854
  showImage: !_this.shouldLazyLoad()
1661
1855
  };
1662
1856
  return _this;
1663
1857
  }
1858
+
1664
1859
  _createClass__default["default"](ThumborImage, [{
1665
1860
  key: "shouldLazyLoad",
1666
1861
  value: function shouldLazyLoad() {
1667
1862
  if (this.props.eager === true) {
1668
1863
  return false;
1669
1864
  }
1865
+
1670
1866
  if (this.context.lazyLoadEagerPredicate && this.context.lazyLoadEagerPredicate(this.props.eager)) {
1671
1867
  return false;
1672
1868
  }
1869
+
1673
1870
  if (this.context.lazyLoadObserveImage && this.context.lazyLoadUnobserveImage) {
1674
1871
  return true;
1675
1872
  }
1873
+
1676
1874
  return false;
1677
1875
  }
1678
1876
  }, {
1679
1877
  key: "render",
1680
1878
  value: function render() {
1681
1879
  var _this2 = this;
1880
+
1682
1881
  var imageProps = this.state.showImage ? responsiveProps(this.props) : {
1683
1882
  src: emptyWebGif__default["default"]
1684
1883
  };
@@ -1707,6 +1906,7 @@ var ThumborImage = /*#__PURE__*/function (_React$Component) {
1707
1906
  });
1708
1907
  }
1709
1908
  }]);
1909
+
1710
1910
  return ThumborImage;
1711
1911
  }(React__default["default"].Component);
1712
1912
  ThumborImage.contextTypes = {
@@ -1715,16 +1915,20 @@ ThumborImage.contextTypes = {
1715
1915
  lazyLoadEagerPredicate: propTypes.func
1716
1916
  };
1717
1917
 
1718
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1719
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1918
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1919
+
1920
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1720
1921
  var forceLoadingGumlet = false;
1922
+
1721
1923
  function loadGumlet() {
1722
1924
  if (window.GUMLET_CONFIG || window.gumlet || forceLoadingGumlet === true) {
1723
1925
  return;
1724
1926
  }
1927
+
1725
1928
  if (process.env.NODE_ENV == 'development') {
1726
1929
  console.warn("Loading Gumlet Dynamically! This is really bad for page speed. Please see https://developers.quintype.com/malibu/tutorial/gumlet-integration");
1727
1930
  }
1931
+
1728
1932
  forceLoadingGumlet = true;
1729
1933
  window.GUMLET_CONFIG = window.GUMLET_CONFIG || {
1730
1934
  hosts: []
@@ -1734,14 +1938,15 @@ function loadGumlet() {
1734
1938
  script.src = 'https://cdn.gumlet.com/gumlet.js/2.0/gumlet.min.js';
1735
1939
  document.body.appendChild(script);
1736
1940
  }
1941
+
1737
1942
  function GumletImage(props) {
1738
1943
  var slug = props.slug,
1739
- metadata = props.metadata,
1740
- aspectRatio = props.aspectRatio,
1741
- imageCDN = props.imageCDN,
1742
- imgParams = props.imgParams,
1743
- reactTag = props.reactTag,
1744
- className = props.className;
1944
+ metadata = props.metadata,
1945
+ aspectRatio = props.aspectRatio,
1946
+ imageCDN = props.imageCDN,
1947
+ imgParams = props.imgParams,
1948
+ reactTag = props.reactTag,
1949
+ className = props.className;
1745
1950
  var image = new quintypeJs.FocusedImage(slug, metadata);
1746
1951
  var imageProps = {
1747
1952
  src: emptyWebGif__default["default"],
@@ -1766,15 +1971,19 @@ function mapStateToProps$6(state) {
1766
1971
  imageCDNFormat: state.qt.config["image-cdn-format"] || "thumbor"
1767
1972
  };
1768
1973
  }
1974
+
1769
1975
  function ResponsiveImageBase(props) {
1770
1976
  if (process.env.NODE_ENV == 'development' && !props.alt && !props.reactTag) {
1771
1977
  global.console && global.console.warn("Image Found without an alt attribute: ".concat(props.slug));
1772
1978
  }
1979
+
1773
1980
  if (props.imageCDNFormat === "gumlet") {
1774
1981
  return /*#__PURE__*/React__default["default"].createElement(GumletImage, props);
1775
1982
  }
1983
+
1776
1984
  return /*#__PURE__*/React__default["default"].createElement(ThumborImage, props);
1777
1985
  }
1986
+
1778
1987
  /**
1779
1988
  * This component takes an image, and resizes it to the correct aspect ratio using imgix or thumbor.
1780
1989
  *
@@ -1818,11 +2027,13 @@ var ResponsiveImage = /*#__PURE__*/reactRedux.connect(mapStateToProps$6, {})(Res
1818
2027
  * @component
1819
2028
  * @category Images
1820
2029
  */
2030
+
1821
2031
  function ResponsiveHeroImage(props) {
1822
2032
  var metadata, slug, alternateText;
1823
2033
  var heroImageS3Key = get__default["default"](props, ["story", "hero-image-s3-key"], "");
1824
2034
  var storyAlternateData = get__default["default"](props, ["story", "alternative", "home", "default"], {}) || {};
1825
2035
  var alternateHeroImageS3Key = get__default["default"](storyAlternateData, ["hero-image", "hero-image-s3-key"], "");
2036
+
1826
2037
  if (heroImageS3Key) {
1827
2038
  slug = heroImageS3Key;
1828
2039
  metadata = get__default["default"](props, ["story", "hero-image-metadata"], {});
@@ -1832,6 +2043,7 @@ function ResponsiveHeroImage(props) {
1832
2043
  metadata = get__default["default"](storyAlternateData, ["hero-image", "hero-image-metadata"], {});
1833
2044
  alternateText = get__default["default"](storyAlternateData, ["headline"], "");
1834
2045
  } else return null;
2046
+
1835
2047
  return /*#__PURE__*/React__default["default"].createElement(ResponsiveImage, Object.assign({
1836
2048
  slug: slug,
1837
2049
  metadata: metadata,
@@ -1871,6 +2083,7 @@ function ResponsiveHeroImage(props) {
1871
2083
  * @component
1872
2084
  * @category Images
1873
2085
  */
2086
+
1874
2087
  var ResponsiveSource = function ResponsiveSource(props) {
1875
2088
  return /*#__PURE__*/React__default["default"].createElement(ResponsiveImage, Object.assign({
1876
2089
  reactTag: 'source',
@@ -1880,19 +2093,26 @@ var ResponsiveSource = function ResponsiveSource(props) {
1880
2093
  };
1881
2094
 
1882
2095
  function _createSuper$e(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$e(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2096
+
1883
2097
  function _isNativeReflectConstruct$e() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2098
+
1884
2099
  var SearchBoxBase = /*#__PURE__*/function (_React$Component) {
1885
2100
  _inherits__default["default"](SearchBoxBase, _React$Component);
2101
+
1886
2102
  var _super = /*#__PURE__*/_createSuper$e(SearchBoxBase);
2103
+
1887
2104
  function SearchBoxBase(props) {
1888
2105
  var _this;
2106
+
1889
2107
  _classCallCheck__default["default"](this, SearchBoxBase);
2108
+
1890
2109
  _this = _super.call(this, props);
1891
2110
  _this.state = {
1892
2111
  query: _this.props.initValue || ""
1893
2112
  };
1894
2113
  return _this;
1895
2114
  }
2115
+
1896
2116
  _createClass__default["default"](SearchBoxBase, [{
1897
2117
  key: "componentDidMount",
1898
2118
  value: function componentDidMount() {
@@ -1919,6 +2139,7 @@ var SearchBoxBase = /*#__PURE__*/function (_React$Component) {
1919
2139
  key: "render",
1920
2140
  value: function render() {
1921
2141
  var _this2 = this;
2142
+
1922
2143
  var Render = this.props.template || this.defaultTemplate;
1923
2144
  return /*#__PURE__*/React__default["default"].createElement("form", {
1924
2145
  role: "search",
@@ -1955,11 +2176,14 @@ var SearchBoxBase = /*#__PURE__*/function (_React$Component) {
1955
2176
  return children;
1956
2177
  }
1957
2178
  }]);
2179
+
1958
2180
  return SearchBoxBase;
1959
2181
  }(React__default["default"].Component);
2182
+
1960
2183
  var mapStateToProps$5 = function mapStateToProps(state) {
1961
2184
  return {};
1962
2185
  };
2186
+
1963
2187
  var mapDispatchToProps$3 = function mapDispatchToProps(dispatch) {
1964
2188
  return {
1965
2189
  navigateTo: function navigateTo(url) {
@@ -1967,7 +2191,6 @@ var mapDispatchToProps$3 = function mapDispatchToProps(dispatch) {
1967
2191
  }
1968
2192
  };
1969
2193
  };
1970
-
1971
2194
  /**
1972
2195
  * This component provides a form with a search text box. On submit, the user is redirected to the search page via AJAX.
1973
2196
  *
@@ -1982,11 +2205,13 @@ var mapDispatchToProps$3 = function mapDispatchToProps(dispatch) {
1982
2205
  * @component
1983
2206
  * @category Header
1984
2207
  */
2208
+
2209
+
1985
2210
  var SearchBox = /*#__PURE__*/reactRedux.connect(mapStateToProps$5, mapDispatchToProps$3)(SearchBoxBase);
1986
2211
 
1987
2212
  function _createSuper$d(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$d(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
1988
- function _isNativeReflectConstruct$d() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1989
2213
 
2214
+ function _isNativeReflectConstruct$d() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1990
2215
  /**
1991
2216
  * This component is to handle search functionality and also handles load more.
1992
2217
  *
@@ -2006,13 +2231,18 @@ function _isNativeReflectConstruct$d() { if (typeof Reflect === "undefined" || !
2006
2231
  * @deprecated
2007
2232
  * @category Other
2008
2233
  */
2234
+
2009
2235
  var SearchPageBase = /*#__PURE__*/function (_React$Component) {
2010
2236
  _inherits__default["default"](SearchPageBase, _React$Component);
2237
+
2011
2238
  var _super = /*#__PURE__*/_createSuper$d(SearchPageBase);
2239
+
2012
2240
  function SearchPageBase() {
2013
2241
  _classCallCheck__default["default"](this, SearchPageBase);
2242
+
2014
2243
  return _super.apply(this, arguments);
2015
2244
  }
2245
+
2016
2246
  _createClass__default["default"](SearchPageBase, [{
2017
2247
  key: "search",
2018
2248
  value: function search(pageNumber) {
@@ -2027,6 +2257,7 @@ var SearchPageBase = /*#__PURE__*/function (_React$Component) {
2027
2257
  key: "render",
2028
2258
  value: function render() {
2029
2259
  var _this = this;
2260
+
2030
2261
  return /*#__PURE__*/React__default["default"].createElement(LoadMoreStoriesManager, Object.assign({}, this.props.data, {
2031
2262
  template: this.props.template,
2032
2263
  loadStories: function loadStories(pageNumber) {
@@ -2035,12 +2266,13 @@ var SearchPageBase = /*#__PURE__*/function (_React$Component) {
2035
2266
  }));
2036
2267
  }
2037
2268
  }]);
2269
+
2038
2270
  return SearchPageBase;
2039
2271
  }(React__default["default"].Component);
2040
2272
 
2041
2273
  function _createSuper$c(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$c(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2042
- function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2043
2274
 
2275
+ function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2044
2276
  /**
2045
2277
  * This component can be used to load some DOM just before it scrolls into the screen. Currently, it does not support unloading. The `margin` prop is passed to `IntersectionObserver`.
2046
2278
  *
@@ -2056,12 +2288,17 @@ function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !
2056
2288
  * @hideconstructor
2057
2289
  * @category Other
2058
2290
  */
2291
+
2059
2292
  var WithLazy = /*#__PURE__*/function (_React$Component) {
2060
2293
  _inherits__default["default"](WithLazy, _React$Component);
2294
+
2061
2295
  var _super = /*#__PURE__*/_createSuper$c(WithLazy);
2296
+
2062
2297
  function WithLazy(props) {
2063
2298
  var _this;
2299
+
2064
2300
  _classCallCheck__default["default"](this, WithLazy);
2301
+
2065
2302
  _this = _super.call(this, props);
2066
2303
  _this.state = {
2067
2304
  loaded: false
@@ -2069,6 +2306,7 @@ var WithLazy = /*#__PURE__*/function (_React$Component) {
2069
2306
  _this.observerRef = /*#__PURE__*/React__default["default"].createRef();
2070
2307
  return _this;
2071
2308
  }
2309
+
2072
2310
  _createClass__default["default"](WithLazy, [{
2073
2311
  key: "render",
2074
2312
  value: function render() {
@@ -2087,6 +2325,7 @@ var WithLazy = /*#__PURE__*/function (_React$Component) {
2087
2325
  key: "componentDidMount",
2088
2326
  value: function componentDidMount() {
2089
2327
  var _this2 = this;
2328
+
2090
2329
  this.observer = new global.IntersectionObserver(function (entries, observer) {
2091
2330
  return _this2.observerCallback(entries, observer);
2092
2331
  }, {
@@ -2103,69 +2342,91 @@ var WithLazy = /*#__PURE__*/function (_React$Component) {
2103
2342
  key: "observerCallback",
2104
2343
  value: function observerCallback(entries, observer) {
2105
2344
  var _this3 = this;
2345
+
2106
2346
  entries.forEach(function (entry) {
2107
2347
  if (entry.isIntersecting || entry.isIntersecting === undefined) {
2108
2348
  _this3.setState({
2109
2349
  loaded: true
2110
2350
  });
2351
+
2111
2352
  observer.disconnect();
2112
2353
  }
2113
2354
  });
2114
2355
  }
2115
2356
  }]);
2357
+
2116
2358
  return WithLazy;
2117
2359
  }(React__default["default"].Component);
2118
2360
 
2119
2361
  function _createSuper$b(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$b(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2362
+
2120
2363
  function _isNativeReflectConstruct$b() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2121
2364
  var DailyMotion = null;
2122
2365
  var loaderPromise$1 = null;
2366
+
2123
2367
  function loadLibrary$1() {
2124
2368
  if (loaderPromise$1 === null) {
2125
- loaderPromise$1 = Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackChunkName: "qtc-react-dailymotion" */'react-dailymotion')); }).then(function (DM) {
2369
+ loaderPromise$1 = Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2370
+ /* webpackChunkName: "qtc-react-dailymotion" */
2371
+ 'react-dailymotion')); }).then(function (DM) {
2126
2372
  DailyMotion = DM["default"];
2127
2373
  })["catch"](function (err) {
2128
2374
  console.log("Failed to load react-dailymotion", err);
2129
2375
  return Promise.reject();
2130
2376
  });
2131
2377
  }
2378
+
2132
2379
  return loaderPromise$1;
2133
2380
  }
2381
+
2134
2382
  function isLibraryLoaded$1() {
2135
2383
  return DailyMotion !== null;
2136
2384
  }
2385
+
2137
2386
  var CustomStoryElementDailyMotion = /*#__PURE__*/function (_React$Component) {
2138
2387
  _inherits__default["default"](CustomStoryElementDailyMotion, _React$Component);
2388
+
2139
2389
  var _super = /*#__PURE__*/_createSuper$b(CustomStoryElementDailyMotion);
2390
+
2140
2391
  function CustomStoryElementDailyMotion(props) {
2141
2392
  var _this;
2393
+
2142
2394
  _classCallCheck__default["default"](this, CustomStoryElementDailyMotion);
2395
+
2143
2396
  _this = _super.call(this, props);
2397
+
2144
2398
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPlayCallback", function (event) {
2145
2399
  _this.props.onPlay === "function" && _this.props.onPlay(event);
2146
2400
  });
2401
+
2147
2402
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPauseCallback", function (event) {
2148
2403
  _this.props.onPause === "function" && _this.props.onPause(event);
2149
2404
  });
2405
+
2150
2406
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onEndCallback", function (event) {
2151
2407
  _this.props.onEnd === "function" && _this.props.onEnd(event);
2152
2408
  });
2409
+
2153
2410
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "triggerIframe", function () {
2154
2411
  _this._isMounted = true;
2155
2412
  loadLibrary$1().then(function () {
2156
2413
  return _this._isMounted && _this.forceUpdate();
2157
2414
  });
2158
2415
  });
2416
+
2159
2417
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPlayerReady", function (event) {
2160
2418
  event.target.setVolume(100);
2161
2419
  event.target.playVideo();
2162
2420
  });
2421
+
2163
2422
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "renderVideo", function () {
2164
2423
  _this.triggerIframe();
2424
+
2165
2425
  _this.setState({
2166
2426
  showVideo: true
2167
2427
  });
2168
2428
  });
2429
+
2169
2430
  _this.state = {
2170
2431
  showVideo: false
2171
2432
  };
@@ -2176,6 +2437,7 @@ var CustomStoryElementDailyMotion = /*#__PURE__*/function (_React$Component) {
2176
2437
  };
2177
2438
  return _this;
2178
2439
  }
2440
+
2179
2441
  _createClass__default["default"](CustomStoryElementDailyMotion, [{
2180
2442
  key: "componentDidMount",
2181
2443
  value: function componentDidMount() {
@@ -2192,8 +2454,10 @@ var CustomStoryElementDailyMotion = /*#__PURE__*/function (_React$Component) {
2192
2454
  key: "render",
2193
2455
  value: function render() {
2194
2456
  var _this2 = this;
2457
+
2195
2458
  var _getVideoID = getVideoID__default["default"](this.props.element.metadata["dailymotion-url"]),
2196
- videoId = _getVideoID.id;
2459
+ videoId = _getVideoID.id;
2460
+
2197
2461
  var dailymotionIframe = function dailymotionIframe() {
2198
2462
  return /*#__PURE__*/React__default["default"].createElement(DailyMotion, {
2199
2463
  video: videoId,
@@ -2204,6 +2468,7 @@ var CustomStoryElementDailyMotion = /*#__PURE__*/function (_React$Component) {
2204
2468
  autoplay: true
2205
2469
  });
2206
2470
  };
2471
+
2207
2472
  if (this.props.loadIframeOnClick) {
2208
2473
  return /*#__PURE__*/React__default["default"].createElement("div", {
2209
2474
  className: "thumbnail-wrapper"
@@ -2230,8 +2495,10 @@ var CustomStoryElementDailyMotion = /*#__PURE__*/function (_React$Component) {
2230
2495
  } else return /*#__PURE__*/React__default["default"].createElement("div", null);
2231
2496
  }
2232
2497
  }]);
2498
+
2233
2499
  return CustomStoryElementDailyMotion;
2234
2500
  }(React__default["default"].Component);
2501
+
2235
2502
  var StoryElementDailyMotion = function StoryElementDailyMotion(props) {
2236
2503
  return /*#__PURE__*/React__default["default"].createElement(WithLazy, {
2237
2504
  margin: "0px"
@@ -2241,15 +2508,20 @@ var StoryElementDailyMotion = function StoryElementDailyMotion(props) {
2241
2508
  };
2242
2509
 
2243
2510
  function _createSuper$a(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$a(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2511
+
2244
2512
  function _isNativeReflectConstruct$a() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2513
+
2245
2514
  function cloneScriptNode(node) {
2246
2515
  var script = document.createElement("script");
2247
2516
  script.text = node.innerHTML;
2517
+
2248
2518
  for (var i = node.attributes.length - 1; i >= 0; i--) {
2249
2519
  script.setAttribute(node.attributes[i].name, node.attributes[i].value);
2250
2520
  }
2521
+
2251
2522
  return script;
2252
2523
  }
2524
+
2253
2525
  function replaceScriptNodes(node) {
2254
2526
  if (node.tagName === "SCRIPT") {
2255
2527
  node.parentNode.replaceChild(cloneScriptNode(node), node);
@@ -2257,21 +2529,28 @@ function replaceScriptNodes(node) {
2257
2529
  } else {
2258
2530
  var i = 0;
2259
2531
  var children = node.childNodes;
2532
+
2260
2533
  while (i < children.length) {
2261
2534
  replaceScriptNodes(children[i++]);
2262
2535
  }
2263
2536
  }
2264
2537
  }
2538
+
2265
2539
  var JSEmbed = /*#__PURE__*/function (_React$Component) {
2266
2540
  _inherits__default["default"](JSEmbed, _React$Component);
2541
+
2267
2542
  var _super = /*#__PURE__*/_createSuper$a(JSEmbed);
2543
+
2268
2544
  function JSEmbed(props) {
2269
2545
  var _this;
2546
+
2270
2547
  _classCallCheck__default["default"](this, JSEmbed);
2548
+
2271
2549
  _this = _super.call(this, props);
2272
2550
  _this.uniqueId = "anagh";
2273
2551
  return _this;
2274
2552
  }
2553
+
2275
2554
  _createClass__default["default"](JSEmbed, [{
2276
2555
  key: "shouldComponentUpdate",
2277
2556
  value: function shouldComponentUpdate(nextProps) {
@@ -2290,13 +2569,14 @@ var JSEmbed = /*#__PURE__*/function (_React$Component) {
2290
2569
  }, {
2291
2570
  key: "getEmbedJS",
2292
2571
  value: function getEmbedJS() {
2293
- var embedjs = this.props.embedJS;
2294
- return embedjs != null ? atob__default["default"](embedjs) : null;
2572
+ var embedJs = this.props.embedJS;
2573
+ return embedJs != null ? Buffer.from(embedJs, 'base64').toString('utf-8') : null;
2295
2574
  }
2296
2575
  }, {
2297
2576
  key: "render",
2298
2577
  value: function render() {
2299
2578
  var _this2 = this;
2579
+
2300
2580
  return /*#__PURE__*/React__default["default"].createElement("div", {
2301
2581
  ref: function ref(jsembed) {
2302
2582
  _this2.JSEmbed = jsembed;
@@ -2307,19 +2587,26 @@ var JSEmbed = /*#__PURE__*/function (_React$Component) {
2307
2587
  });
2308
2588
  }
2309
2589
  }]);
2590
+
2310
2591
  return JSEmbed;
2311
2592
  }(React__default["default"].Component);
2312
2593
 
2313
2594
  function _createSuper$9(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$9(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2595
+
2314
2596
  function _isNativeReflectConstruct$9() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2315
2597
  var defaultPolltypeHost = 'https://www.polltype.com';
2598
+
2316
2599
  var PolltypeBase = /*#__PURE__*/function (_React$Component) {
2317
2600
  _inherits__default["default"](PolltypeBase, _React$Component);
2601
+
2318
2602
  var _super = /*#__PURE__*/_createSuper$9(PolltypeBase);
2603
+
2319
2604
  function PolltypeBase() {
2320
2605
  _classCallCheck__default["default"](this, PolltypeBase);
2606
+
2321
2607
  return _super.apply(this, arguments);
2322
2608
  }
2609
+
2323
2610
  _createClass__default["default"](PolltypeBase, [{
2324
2611
  key: "componentDidMount",
2325
2612
  value: function componentDidMount() {
@@ -2329,6 +2616,7 @@ var PolltypeBase = /*#__PURE__*/function (_React$Component) {
2329
2616
  key: "loadPolltypeJS",
2330
2617
  value: function loadPolltypeJS() {
2331
2618
  var source = this.props.polltypeHost.replace(/^https:|^http:/i, '') + '/embed.js';
2619
+
2332
2620
  if (!global._polltypeAdded) {
2333
2621
  global._polltypeAdded = true;
2334
2622
  var script = document.createElement('script');
@@ -2345,27 +2633,33 @@ var PolltypeBase = /*#__PURE__*/function (_React$Component) {
2345
2633
  });
2346
2634
  }
2347
2635
  }]);
2636
+
2348
2637
  return PolltypeBase;
2349
2638
  }(React__default["default"].Component);
2639
+
2350
2640
  function mapStateToProps$4(state) {
2351
2641
  return {
2352
2642
  polltypeHost: state.qt.config["polltype-host"] || defaultPolltypeHost
2353
2643
  };
2354
2644
  }
2645
+
2355
2646
  var Polltype = /*#__PURE__*/reactRedux.connect(mapStateToProps$4, {})(PolltypeBase);
2356
2647
 
2357
2648
  function _createSuper$8(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$8(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2649
+
2358
2650
  function _isNativeReflectConstruct$8() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2651
+
2359
2652
  function TableHeader(columns) {
2360
2653
  return /*#__PURE__*/React__default["default"].createElement("thead", null, /*#__PURE__*/React__default["default"].createElement("tr", null, columns.map(function (col) {
2361
2654
  return /*#__PURE__*/React__default["default"].createElement("th", null, col.Header);
2362
2655
  })));
2363
2656
  }
2657
+
2364
2658
  function TableView(_ref) {
2365
2659
  var data = _ref.data,
2366
- columns = _ref.columns,
2367
- className = _ref.className,
2368
- hasHeader = _ref.hasHeader;
2660
+ columns = _ref.columns,
2661
+ className = _ref.className,
2662
+ hasHeader = _ref.hasHeader;
2369
2663
  return /*#__PURE__*/React__default["default"].createElement("table", {
2370
2664
  className: className
2371
2665
  }, hasHeader && TableHeader(columns), /*#__PURE__*/React__default["default"].createElement("tbody", null, data.map(function (row) {
@@ -2376,21 +2670,29 @@ function TableView(_ref) {
2376
2670
  }
2377
2671
  var Table = /*#__PURE__*/function (_React$Component) {
2378
2672
  _inherits__default["default"](Table, _React$Component);
2673
+
2379
2674
  var _super = /*#__PURE__*/_createSuper$8(Table);
2675
+
2380
2676
  function Table(props) {
2381
2677
  var _this;
2678
+
2382
2679
  _classCallCheck__default["default"](this, Table);
2680
+
2383
2681
  _this = _super.call(this, props);
2384
2682
  _this.state = {
2385
2683
  tableData: []
2386
2684
  };
2387
2685
  return _this;
2388
2686
  }
2687
+
2389
2688
  _createClass__default["default"](Table, [{
2390
2689
  key: "parseCSVToJson",
2391
2690
  value: function parseCSVToJson(content) {
2392
2691
  var _this2 = this;
2393
- Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackChunkName: "qtc-parsecsv" */'papaparse')); }).then(function (_ref2) {
2692
+
2693
+ Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2694
+ /* webpackChunkName: "qtc-parsecsv" */
2695
+ 'papaparse')); }).then(function (_ref2) {
2394
2696
  var parse = _ref2.parse;
2395
2697
  parse(content, {
2396
2698
  header: _this2.props.hasHeader,
@@ -2424,9 +2726,11 @@ var Table = /*#__PURE__*/function (_React$Component) {
2424
2726
  key: "render",
2425
2727
  value: function render() {
2426
2728
  var _this3 = this;
2729
+
2427
2730
  if (!this.state.tableData.length > 0) {
2428
2731
  return null;
2429
2732
  }
2733
+
2430
2734
  var columns = Object.keys(this.state.tableData[0]).map(function (header) {
2431
2735
  return {
2432
2736
  Header: header,
@@ -2447,85 +2751,114 @@ var Table = /*#__PURE__*/function (_React$Component) {
2447
2751
  });
2448
2752
  }
2449
2753
  }]);
2754
+
2450
2755
  return Table;
2451
2756
  }(React__default["default"].Component);
2452
2757
 
2453
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2454
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2758
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2759
+
2760
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2761
+
2455
2762
  function _createSuper$7(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$7(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2763
+
2456
2764
  function _isNativeReflectConstruct$7() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2457
2765
  var YouTube = null;
2458
2766
  var loaderPromise = null;
2767
+
2459
2768
  function loadLibrary() {
2460
2769
  if (loaderPromise === null) {
2461
- loaderPromise = Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackChunkName: "qtc-react-youtube" */'react-youtube')); }).then(function (YT) {
2770
+ loaderPromise = Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
2771
+ /* webpackChunkName: "qtc-react-youtube" */
2772
+ 'react-youtube')); }).then(function (YT) {
2462
2773
  YouTube = YT["default"];
2463
2774
  })["catch"](function (err) {
2464
2775
  console.log("Failed to load react-youtube", err);
2465
2776
  return Promise.reject();
2466
2777
  });
2467
2778
  }
2779
+
2468
2780
  return loaderPromise;
2469
2781
  }
2782
+
2470
2783
  function isLibraryLoaded() {
2471
2784
  return YouTube !== null;
2472
2785
  }
2786
+
2473
2787
  var CustomStoryElementYoutube = /*#__PURE__*/function (_React$Component) {
2474
2788
  _inherits__default["default"](CustomStoryElementYoutube, _React$Component);
2789
+
2475
2790
  var _super = /*#__PURE__*/_createSuper$7(CustomStoryElementYoutube);
2791
+
2476
2792
  function CustomStoryElementYoutube(props) {
2477
2793
  var _this;
2794
+
2478
2795
  _classCallCheck__default["default"](this, CustomStoryElementYoutube);
2796
+
2479
2797
  _this = _super.call(this, props);
2798
+
2480
2799
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "triggerQlitics", function (action) {
2481
2800
  if (_this.props.disableAnalytics === true) return false;
2482
2801
  var _this$props = _this.props,
2483
- _this$props$story = _this$props.story,
2484
- story = _this$props$story === void 0 ? {} : _this$props$story,
2485
- _this$props$card = _this$props.card,
2486
- card = _this$props$card === void 0 ? {} : _this$props$card,
2487
- _this$props$element = _this$props.element,
2488
- element = _this$props$element === void 0 ? {} : _this$props$element;
2802
+ _this$props$story = _this$props.story,
2803
+ story = _this$props$story === void 0 ? {} : _this$props$story,
2804
+ _this$props$card = _this$props.card,
2805
+ card = _this$props$card === void 0 ? {} : _this$props$card,
2806
+ _this$props$element = _this$props.element,
2807
+ element = _this$props$element === void 0 ? {} : _this$props$element;
2808
+
2489
2809
  var qliticsData = _objectSpread$3(_objectSpread$3({}, getQliticsSchema(story, card, element)), {
2490
2810
  "story-element-action": action
2491
2811
  });
2812
+
2492
2813
  if (global.qlitics) {
2493
2814
  global.qlitics("track", "story-element-action", qliticsData);
2494
2815
  } else {
2495
2816
  global.qlitics = global.qlitics || function () {
2496
2817
  (qlitics.q = qlitics.q || []).push(arguments);
2497
2818
  };
2819
+
2498
2820
  qlitics.qlitics.q.push("track", "story-element-action", qliticsData);
2499
2821
  }
2500
2822
  });
2823
+
2501
2824
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPlayCallback", function (event) {
2502
2825
  _this.triggerQlitics("play");
2826
+
2503
2827
  _this.props.onPlay === "function" && _this.props.onPlay(event);
2504
2828
  });
2829
+
2505
2830
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPauseCallback", function (event) {
2506
2831
  _this.triggerQlitics("pause");
2832
+
2507
2833
  _this.props.onPause === "function" && _this.props.onPause(event);
2508
2834
  });
2835
+
2509
2836
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onEndCallback", function (event) {
2510
2837
  _this.triggerQlitics("end");
2838
+
2511
2839
  _this.props.onEnd === "function" && _this.props.onEnd(event);
2512
2840
  });
2841
+
2513
2842
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "triggerIframe", function () {
2514
2843
  _this._isMounted = true;
2515
2844
  loadLibrary().then(function () {
2516
2845
  return _this._isMounted && _this.forceUpdate();
2517
2846
  });
2518
2847
  });
2848
+
2519
2849
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "onPlayerReady", function (event) {
2520
2850
  event.target.setVolume(100);
2521
2851
  event.target.playVideo();
2522
2852
  });
2853
+
2523
2854
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "renderVideo", function () {
2524
2855
  _this.triggerIframe();
2856
+
2525
2857
  _this.setState({
2526
2858
  showVideo: true
2527
2859
  });
2528
2860
  });
2861
+
2529
2862
  _this.state = {
2530
2863
  showVideo: false
2531
2864
  };
@@ -2536,6 +2869,7 @@ var CustomStoryElementYoutube = /*#__PURE__*/function (_React$Component) {
2536
2869
  };
2537
2870
  return _this;
2538
2871
  }
2872
+
2539
2873
  _createClass__default["default"](CustomStoryElementYoutube, [{
2540
2874
  key: "componentDidMount",
2541
2875
  value: function componentDidMount() {
@@ -2552,6 +2886,7 @@ var CustomStoryElementYoutube = /*#__PURE__*/function (_React$Component) {
2552
2886
  key: "render",
2553
2887
  value: function render() {
2554
2888
  var _this2 = this;
2889
+
2555
2890
  var youtubeIframe = function youtubeIframe() {
2556
2891
  return /*#__PURE__*/React__default["default"].createElement(YouTube, {
2557
2892
  videoId: getYouTubeID__default["default"](_this2.props.element.url),
@@ -2562,6 +2897,7 @@ var CustomStoryElementYoutube = /*#__PURE__*/function (_React$Component) {
2562
2897
  onReady: _this2.onPlayerReady
2563
2898
  });
2564
2899
  };
2900
+
2565
2901
  if (this.props.loadIframeOnClick) {
2566
2902
  return /*#__PURE__*/React__default["default"].createElement("div", {
2567
2903
  className: "thumbnail-wrapper"
@@ -2588,8 +2924,10 @@ var CustomStoryElementYoutube = /*#__PURE__*/function (_React$Component) {
2588
2924
  } else return /*#__PURE__*/React__default["default"].createElement("div", null);
2589
2925
  }
2590
2926
  }]);
2927
+
2591
2928
  return CustomStoryElementYoutube;
2592
2929
  }(React__default["default"].Component);
2930
+
2593
2931
  var StoryElementYoutube = function StoryElementYoutube(props) {
2594
2932
  return /*#__PURE__*/React__default["default"].createElement(WithLazy, {
2595
2933
  margin: "0px"
@@ -2599,11 +2937,14 @@ var StoryElementYoutube = function StoryElementYoutube(props) {
2599
2937
  };
2600
2938
 
2601
2939
  var _excluded = ["renderTemplates"];
2602
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2603
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
2940
+
2941
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2942
+
2943
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2944
+
2604
2945
  function _createSuper$6(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$6(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
2605
- function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2606
2946
 
2947
+ function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2607
2948
  /**
2608
2949
  * This component renders different types of [story elements](https://developers.quintype.com/malibu/terminology#story-elements)
2609
2950
 
@@ -2629,18 +2970,24 @@ function _isNativeReflectConstruct$6() { if (typeof Reflect === "undefined" || !
2629
2970
  * @hideconstructor
2630
2971
  * @category Story Page
2631
2972
  */
2973
+
2632
2974
  var StoryElement = /*#__PURE__*/function (_React$Component) {
2633
2975
  _inherits__default["default"](StoryElement, _React$Component);
2976
+
2634
2977
  var _super = /*#__PURE__*/_createSuper$6(StoryElement);
2978
+
2635
2979
  function StoryElement(props) {
2636
2980
  var _this;
2981
+
2637
2982
  _classCallCheck__default["default"](this, StoryElement);
2983
+
2638
2984
  _this = _super.call(this, props);
2639
2985
  _this.state = {
2640
2986
  crashed: false
2641
2987
  };
2642
2988
  return _this;
2643
2989
  }
2990
+
2644
2991
  _createClass__default["default"](StoryElement, [{
2645
2992
  key: "componentDidCatch",
2646
2993
  value: function componentDidCatch(error, stack) {
@@ -2662,27 +3009,32 @@ var StoryElement = /*#__PURE__*/function (_React$Component) {
2662
3009
  }
2663
3010
  }
2664
3011
  }]);
3012
+
2665
3013
  return StoryElement;
2666
3014
  }(React__default["default"].Component);
3015
+
2667
3016
  function StoryElementText(_ref) {
2668
3017
  var _ref$element = _ref.element,
2669
- element = _ref$element === void 0 ? {} : _ref$element,
2670
- externalLink = _ref.externalLink;
3018
+ element = _ref$element === void 0 ? {} : _ref$element,
3019
+ externalLink = _ref.externalLink;
2671
3020
  var text = element.text || "";
3021
+
2672
3022
  if (externalLink) {
2673
3023
  text = element.text.replace(/<a/g, '<a target="_blank"');
2674
3024
  }
3025
+
2675
3026
  return /*#__PURE__*/React__default["default"].createElement("div", {
2676
3027
  dangerouslySetInnerHTML: {
2677
3028
  __html: text
2678
3029
  }
2679
3030
  });
2680
3031
  }
3032
+
2681
3033
  function StoryElementAlsoRead(_ref2) {
2682
3034
  var element = _ref2.element,
2683
- story = _ref2.story,
2684
- _ref2$alsoreadText = _ref2.alsoreadText,
2685
- alsoreadText = _ref2$alsoreadText === void 0 ? "Also Read: " : _ref2$alsoreadText;
3035
+ story = _ref2.story,
3036
+ _ref2$alsoreadText = _ref2.alsoreadText,
3037
+ alsoreadText = _ref2$alsoreadText === void 0 ? "Also Read: " : _ref2$alsoreadText;
2686
3038
  var linkedStories = get__default["default"](story, ["linked-stories"]);
2687
3039
  var linkedStoryId = get__default["default"](element, ["metadata", "linked-story-id"]);
2688
3040
  var linkedStorySlug = get__default["default"](linkedStories, [linkedStoryId, "slug"]);
@@ -2695,14 +3047,15 @@ function StoryElementAlsoRead(_ref2) {
2695
3047
  className: "story-element-text-also-read__label"
2696
3048
  }, alsoreadText), /*#__PURE__*/React__default["default"].createElement(Link, linkProps, element.text));
2697
3049
  }
3050
+
2698
3051
  function StoryElementImage(_ref3) {
2699
3052
  var element = _ref3.element,
2700
- _ref3$story = _ref3.story,
2701
- story = _ref3$story === void 0 ? {} : _ref3$story,
2702
- imageWidths = _ref3.imageWidths,
2703
- imageDefaultWidth = _ref3.imageDefaultWidth,
2704
- _ref3$onClick = _ref3.onClick,
2705
- onClick = _ref3$onClick === void 0 ? function () {} : _ref3$onClick;
3053
+ _ref3$story = _ref3.story,
3054
+ story = _ref3$story === void 0 ? {} : _ref3$story,
3055
+ imageWidths = _ref3.imageWidths,
3056
+ imageDefaultWidth = _ref3.imageDefaultWidth,
3057
+ _ref3$onClick = _ref3.onClick,
3058
+ onClick = _ref3$onClick === void 0 ? function () {} : _ref3$onClick;
2706
3059
  return /*#__PURE__*/React__default["default"].createElement("figure", {}, /*#__PURE__*/React__default["default"].createElement(ResponsiveImage, {
2707
3060
  slug: element["image-s3-key"],
2708
3061
  metadata: element["metadata"],
@@ -2728,10 +3081,12 @@ function StoryElementImage(_ref3) {
2728
3081
  className: "story-element-image-attribution"
2729
3082
  }) : undefined));
2730
3083
  }
3084
+
2731
3085
  function StoryElementTitle(_ref4) {
2732
3086
  var element = _ref4.element;
2733
3087
  return /*#__PURE__*/React__default["default"].createElement("h2", {}, element.text);
2734
3088
  }
3089
+
2735
3090
  function StoryElementSoundCloud(_ref5) {
2736
3091
  var element = _ref5.element;
2737
3092
  return /*#__PURE__*/React__default["default"].createElement("iframe", {
@@ -2739,6 +3094,7 @@ function StoryElementSoundCloud(_ref5) {
2739
3094
  width: "100%"
2740
3095
  });
2741
3096
  }
3097
+
2742
3098
  function StoryElementJsembed(_ref6) {
2743
3099
  var element = _ref6.element;
2744
3100
  return /*#__PURE__*/React__default["default"].createElement(JSEmbed, {
@@ -2746,12 +3102,14 @@ function StoryElementJsembed(_ref6) {
2746
3102
  id: element["id"]
2747
3103
  });
2748
3104
  }
3105
+
2749
3106
  function StoryElementPolltype(_ref7) {
2750
3107
  var element = _ref7.element;
2751
3108
  return /*#__PURE__*/React__default["default"].createElement(Polltype, {
2752
3109
  id: element["polltype-id"]
2753
3110
  });
2754
3111
  }
3112
+
2755
3113
  function StoryElementTable(_ref8) {
2756
3114
  var element = _ref8.element;
2757
3115
  return /*#__PURE__*/React__default["default"].createElement(Table, {
@@ -2760,6 +3118,7 @@ function StoryElementTable(_ref8) {
2760
3118
  hasHeader: element.metadata["has-header"]
2761
3119
  });
2762
3120
  }
3121
+
2763
3122
  function StoryElementFile(_ref9) {
2764
3123
  var element = _ref9.element;
2765
3124
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -2769,11 +3128,10 @@ function StoryElementFile(_ref9) {
2769
3128
  href: element.url,
2770
3129
  download: true
2771
3130
  }, "download"));
2772
- }
2773
-
2774
- // FIXME MISSING: composite
3131
+ } // FIXME MISSING: composite
2775
3132
  // TODO: Can also support various subtypes (though not needed potentially)
2776
3133
 
3134
+
2777
3135
  var DEFAULT_TEMPLATES = {
2778
3136
  text: StoryElementText,
2779
3137
  image: StoryElementImage,
@@ -2787,13 +3145,19 @@ var DEFAULT_TEMPLATES = {
2787
3145
  "also-read": StoryElementAlsoRead,
2788
3146
  file: StoryElementFile
2789
3147
  };
3148
+
2790
3149
  var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2791
3150
  _inherits__default["default"](StoryElementBase, _React$Component2);
3151
+
2792
3152
  var _super2 = /*#__PURE__*/_createSuper$6(StoryElementBase);
3153
+
2793
3154
  function StoryElementBase(props) {
2794
3155
  var _this2;
3156
+
2795
3157
  _classCallCheck__default["default"](this, StoryElementBase);
3158
+
2796
3159
  _this2 = _super2.call(this, props);
3160
+
2797
3161
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this2), "initiateObserver", function () {
2798
3162
  if (_this2.props.disableAnalytics === true) return false;
2799
3163
  var options = {
@@ -2802,11 +3166,14 @@ var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2802
3166
  threshold: 1.0
2803
3167
  };
2804
3168
  _this2.observer = new IntersectionObserver(_this2.observerCallback, options);
3169
+
2805
3170
  _this2.observer.observe(_this2.storyElementRef);
2806
3171
  });
3172
+
2807
3173
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this2), "destroyObserver", function () {
2808
3174
  _this2.observer && _this2.observer.disconnect();
2809
3175
  });
3176
+
2810
3177
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this2), "observerCallback", function (entries) {
2811
3178
  entries.forEach(function (entry) {
2812
3179
  if (entry.isIntersecting) {
@@ -2814,10 +3181,12 @@ var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2814
3181
  }
2815
3182
  });
2816
3183
  });
3184
+
2817
3185
  _this2.observer = null;
2818
3186
  _this2.storyElementRef = null;
2819
3187
  return _this2;
2820
3188
  }
3189
+
2821
3190
  _createClass__default["default"](StoryElementBase, [{
2822
3191
  key: "componentDidMount",
2823
3192
  value: function componentDidMount() {
@@ -2839,18 +3208,20 @@ var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2839
3208
  key: "emitElementQlitics",
2840
3209
  value: function emitElementQlitics() {
2841
3210
  var _this$props = this.props,
2842
- _this$props$story = _this$props.story,
2843
- story = _this$props$story === void 0 ? {} : _this$props$story,
2844
- _this$props$card = _this$props.card,
2845
- card = _this$props$card === void 0 ? {} : _this$props$card,
2846
- _this$props$element = _this$props.element,
2847
- element = _this$props$element === void 0 ? {} : _this$props$element;
3211
+ _this$props$story = _this$props.story,
3212
+ story = _this$props$story === void 0 ? {} : _this$props$story,
3213
+ _this$props$card = _this$props.card,
3214
+ card = _this$props$card === void 0 ? {} : _this$props$card,
3215
+ _this$props$element = _this$props.element,
3216
+ element = _this$props$element === void 0 ? {} : _this$props$element;
3217
+
2848
3218
  if (global.qlitics) {
2849
3219
  global.qlitics("track", "story-element-view", getQliticsSchema(story, card, element));
2850
3220
  } else {
2851
3221
  global.qlitics = global.qlitics || function () {
2852
3222
  (qlitics.q = qlitics.q || []).push(arguments);
2853
3223
  };
3224
+
2854
3225
  global.qlitics("track", "story-element-view", getQliticsSchema(story, card, element));
2855
3226
  }
2856
3227
  }
@@ -2863,15 +3234,18 @@ var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2863
3234
  key: "render",
2864
3235
  value: function render() {
2865
3236
  var _classNames,
2866
- _this3 = this;
3237
+ _this3 = this;
3238
+
2867
3239
  var storyElement = this.props.element;
2868
3240
  var typeClassName = "story-element-".concat(storyElement.type);
2869
3241
  var subtypeClassName = "story-element-".concat(storyElement.type, "-").concat(storyElement.subtype);
2870
3242
  var storyElementTemplate = this.template();
3243
+
2871
3244
  var _this$props2 = this.props,
2872
- _this$props2$renderTe = _this$props2.renderTemplates,
2873
- renderTemplates = _this$props2$renderTe === void 0 ? {} : _this$props2$renderTe,
2874
- elementProps = omit__default["default"](_this$props2, _excluded);
3245
+ _this$props2$renderTe = _this$props2.renderTemplates,
3246
+ renderTemplates = _this$props2$renderTe === void 0 ? {} : _this$props2$renderTe,
3247
+ elementProps = omit__default["default"](_this$props2, _excluded);
3248
+
2875
3249
  var renderTemplate = renderTemplates[storyElement.subtype] || renderTemplates[storyElement.type];
2876
3250
  return /*#__PURE__*/React__default["default"].createElement("div", {
2877
3251
  className: classNames__default["default"]((_classNames = {
@@ -2883,16 +3257,21 @@ var StoryElementBase = /*#__PURE__*/function (_React$Component2) {
2883
3257
  }, renderTemplate ? /*#__PURE__*/React__default["default"].createElement(renderTemplate, _objectSpread$2({}, elementProps), /*#__PURE__*/React__default["default"].createElement(storyElementTemplate, Object.assign({}, elementProps))) : /*#__PURE__*/React__default["default"].createElement(storyElementTemplate, Object.assign({}, elementProps)));
2884
3258
  }
2885
3259
  }]);
3260
+
2886
3261
  return StoryElementBase;
2887
3262
  }(React__default["default"].Component);
3263
+
2888
3264
  var STORY_ELEMENT_TEMPLATES = DEFAULT_TEMPLATES;
2889
3265
 
2890
3266
  function _createSuper$5(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$5(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
3267
+
2891
3268
  function _isNativeReflectConstruct$5() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3269
+
2892
3270
  function getNativeShareHandler(canNativeShare, title, fullUrl) {
2893
3271
  if (!canNativeShare) {
2894
3272
  return null;
2895
3273
  }
3274
+
2896
3275
  return function handleShare() {
2897
3276
  window.navigator.share({
2898
3277
  title: title,
@@ -2900,18 +3279,24 @@ function getNativeShareHandler(canNativeShare, title, fullUrl) {
2900
3279
  })["catch"](console.error);
2901
3280
  };
2902
3281
  }
3282
+
2903
3283
  var SocialShareBase = /*#__PURE__*/function (_React$Component) {
2904
3284
  _inherits__default["default"](SocialShareBase, _React$Component);
3285
+
2905
3286
  var _super = /*#__PURE__*/_createSuper$5(SocialShareBase);
3287
+
2906
3288
  function SocialShareBase(props) {
2907
3289
  var _this;
3290
+
2908
3291
  _classCallCheck__default["default"](this, SocialShareBase);
3292
+
2909
3293
  _this = _super.call(this, props);
2910
3294
  _this.state = {
2911
3295
  canNativeShare: false
2912
3296
  };
2913
3297
  return _this;
2914
3298
  }
3299
+
2915
3300
  _createClass__default["default"](SocialShareBase, [{
2916
3301
  key: "componentDidMount",
2917
3302
  value: function componentDidMount() {
@@ -2935,14 +3320,15 @@ var SocialShareBase = /*#__PURE__*/function (_React$Component) {
2935
3320
  }, this.props));
2936
3321
  }
2937
3322
  }]);
3323
+
2938
3324
  return SocialShareBase;
2939
3325
  }(React__default["default"].Component);
3326
+
2940
3327
  function mapStateToProps$3(state) {
2941
3328
  return {
2942
3329
  publisherUrl: state.qt.config["sketches-host"]
2943
3330
  };
2944
3331
  }
2945
-
2946
3332
  /**
2947
3333
  * This component renders social share component to front end app.
2948
3334
  *
@@ -2980,13 +3366,15 @@ function mapStateToProps$3(state) {
2980
3366
  * @component
2981
3367
  * @category Story Page
2982
3368
  */
3369
+
3370
+
2983
3371
  var SocialShare = /*#__PURE__*/reactRedux.connect(mapStateToProps$3, {})( /*#__PURE__*/withError(SocialShareBase));
2984
3372
 
2985
3373
  var StarIcon = function StarIcon(_ref) {
2986
3374
  var size = _ref.size,
2987
- foregroundColor = _ref.foregroundColor,
2988
- backgroundColor = _ref.backgroundColor,
2989
- className = _ref.className;
3375
+ foregroundColor = _ref.foregroundColor,
3376
+ backgroundColor = _ref.backgroundColor,
3377
+ className = _ref.className;
2990
3378
  return /*#__PURE__*/React__default["default"].createElement("svg", {
2991
3379
  className: className,
2992
3380
  width: size,
@@ -3018,29 +3406,31 @@ var StarIcon = function StarIcon(_ref) {
3018
3406
  * @component
3019
3407
  * @category Story Page
3020
3408
  */
3409
+
3021
3410
  function ReviewRating(_ref) {
3022
3411
  var value = _ref.value,
3023
- _ref$canShowEmptyRati = _ref.canShowEmptyRating,
3024
- canShowEmptyRating = _ref$canShowEmptyRati === void 0 ? false : _ref$canShowEmptyRati,
3025
- _ref$size = _ref.size,
3026
- size = _ref$size === void 0 ? 20 : _ref$size,
3027
- _ref$activeColor = _ref.activeColor,
3028
- activeColor = _ref$activeColor === void 0 ? "gold" : _ref$activeColor,
3029
- _ref$inActiveColor = _ref.inActiveColor,
3030
- inActiveColor = _ref$inActiveColor === void 0 ? "gray" : _ref$inActiveColor,
3031
- _ref$count = _ref.count,
3032
- count = _ref$count === void 0 ? 5 : _ref$count,
3033
- _ref$showHalfStar = _ref.showHalfStar,
3034
- showHalfStar = _ref$showHalfStar === void 0 ? true : _ref$showHalfStar,
3035
- _ref$className = _ref.className,
3036
- className = _ref$className === void 0 ? "review-rating" : _ref$className,
3037
- _ref$activeSymbol = _ref.activeSymbol,
3038
- activeSymbol = _ref$activeSymbol === void 0 ? null : _ref$activeSymbol,
3039
- _ref$inActiveSymbol = _ref.inActiveSymbol,
3040
- inActiveSymbol = _ref$inActiveSymbol === void 0 ? null : _ref$inActiveSymbol,
3041
- _ref$halfActiveSymbol = _ref.halfActiveSymbol,
3042
- halfActiveSymbol = _ref$halfActiveSymbol === void 0 ? null : _ref$halfActiveSymbol;
3412
+ _ref$canShowEmptyRati = _ref.canShowEmptyRating,
3413
+ canShowEmptyRating = _ref$canShowEmptyRati === void 0 ? false : _ref$canShowEmptyRati,
3414
+ _ref$size = _ref.size,
3415
+ size = _ref$size === void 0 ? 20 : _ref$size,
3416
+ _ref$activeColor = _ref.activeColor,
3417
+ activeColor = _ref$activeColor === void 0 ? "gold" : _ref$activeColor,
3418
+ _ref$inActiveColor = _ref.inActiveColor,
3419
+ inActiveColor = _ref$inActiveColor === void 0 ? "gray" : _ref$inActiveColor,
3420
+ _ref$count = _ref.count,
3421
+ count = _ref$count === void 0 ? 5 : _ref$count,
3422
+ _ref$showHalfStar = _ref.showHalfStar,
3423
+ showHalfStar = _ref$showHalfStar === void 0 ? true : _ref$showHalfStar,
3424
+ _ref$className = _ref.className,
3425
+ className = _ref$className === void 0 ? "review-rating" : _ref$className,
3426
+ _ref$activeSymbol = _ref.activeSymbol,
3427
+ activeSymbol = _ref$activeSymbol === void 0 ? null : _ref$activeSymbol,
3428
+ _ref$inActiveSymbol = _ref.inActiveSymbol,
3429
+ inActiveSymbol = _ref$inActiveSymbol === void 0 ? null : _ref$inActiveSymbol,
3430
+ _ref$halfActiveSymbol = _ref.halfActiveSymbol,
3431
+ halfActiveSymbol = _ref$halfActiveSymbol === void 0 ? null : _ref$halfActiveSymbol;
3043
3432
  if (!canShowEmptyRating && value < 0.1) return null;
3433
+
3044
3434
  var activeComponent = function activeComponent(index) {
3045
3435
  return activeSymbol ? /*#__PURE__*/React__default["default"].cloneElement(activeSymbol, {
3046
3436
  size: size,
@@ -3057,6 +3447,7 @@ function ReviewRating(_ref) {
3057
3447
  "data-test-id": "star-icon"
3058
3448
  });
3059
3449
  };
3450
+
3060
3451
  var inActiveComponent = function inActiveComponent(index) {
3061
3452
  return inActiveSymbol ? /*#__PURE__*/React__default["default"].cloneElement(inActiveSymbol, {
3062
3453
  size: size,
@@ -3072,6 +3463,7 @@ function ReviewRating(_ref) {
3072
3463
  key: "review-".concat(index)
3073
3464
  });
3074
3465
  };
3466
+
3075
3467
  var halfActiveComponent = function halfActiveComponent(index) {
3076
3468
  return halfActiveSymbol ? /*#__PURE__*/React__default["default"].cloneElement(halfActiveSymbol, {
3077
3469
  size: size,
@@ -3087,7 +3479,9 @@ function ReviewRating(_ref) {
3087
3479
  key: "review-".concat(index)
3088
3480
  });
3089
3481
  };
3482
+
3090
3483
  var children = [];
3484
+
3091
3485
  for (var i = 1; i <= count; i++) {
3092
3486
  if (i <= Math.floor(value)) {
3093
3487
  children.push(activeComponent(i));
@@ -3097,6 +3491,7 @@ function ReviewRating(_ref) {
3097
3491
  children.push(inActiveComponent(i));
3098
3492
  }
3099
3493
  }
3494
+
3100
3495
  return /*#__PURE__*/React__default["default"].createElement("div", {
3101
3496
  className: className
3102
3497
  }, children);
@@ -3151,12 +3546,13 @@ function ReviewRating(_ref) {
3151
3546
  * @component
3152
3547
  * @category Collection Page
3153
3548
  */
3549
+
3154
3550
  var Collection = function Collection(_ref) {
3155
3551
  var className = _ref.className,
3156
- collection = _ref.collection,
3157
- collectionTemplates = _ref.collectionTemplates,
3158
- storyTemplates = _ref.storyTemplates,
3159
- interstitial = _ref.interstitial;
3552
+ collection = _ref.collection,
3553
+ collectionTemplates = _ref.collectionTemplates,
3554
+ storyTemplates = _ref.storyTemplates,
3555
+ interstitial = _ref.interstitial;
3160
3556
  var children = collection.items.map(function (collectionItem, index) {
3161
3557
  return renderCollectionItem(collectionItem, index, collectionTemplates, storyTemplates);
3162
3558
  }).reduce(function (arr, v, i) {
@@ -3178,9 +3574,9 @@ Collection.defaultProps = {
3178
3574
  }
3179
3575
  };
3180
3576
 
3181
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3182
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3577
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3183
3578
 
3579
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3184
3580
  /**
3185
3581
  * This component can be used for adding image gallery on the story page.
3186
3582
  *
@@ -3193,15 +3589,16 @@ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) {
3193
3589
  * @category Story Page
3194
3590
  * @component
3195
3591
  */
3592
+
3196
3593
  function ImageGalleryElement(_ref) {
3197
3594
  var className = _ref.className,
3198
- imageAspectRatio = _ref.imageAspectRatio,
3199
- defaultWidth = _ref.defaultWidth,
3200
- element = _ref.element,
3201
- widths = _ref.widths,
3202
- story = _ref.story,
3203
- onClickHandler = _ref.onClickHandler,
3204
- imgParams = _ref.imgParams;
3595
+ imageAspectRatio = _ref.imageAspectRatio,
3596
+ defaultWidth = _ref.defaultWidth,
3597
+ element = _ref.element,
3598
+ widths = _ref.widths,
3599
+ story = _ref.story,
3600
+ onClickHandler = _ref.onClickHandler,
3601
+ imgParams = _ref.imgParams;
3205
3602
  element = element || {};
3206
3603
  var images = element["story-elements"].map(function (image, index) {
3207
3604
  return /*#__PURE__*/React__default["default"].createElement("figure", {
@@ -3243,26 +3640,32 @@ function loadMoreWrapper(Component, data, enableLoadMoreButton, slug, numStories
3243
3640
  numStoriesToLoad: numStoriesToLoad
3244
3641
  });
3245
3642
  }
3643
+
3246
3644
  function lazyLoadWrapper(component, _ref) {
3247
3645
  var _ref$lazy_load_images = _ref.lazy_load_images,
3248
- lazyLoadImages = _ref$lazy_load_images === void 0 ? false : _ref$lazy_load_images;
3646
+ lazyLoadImages = _ref$lazy_load_images === void 0 ? false : _ref$lazy_load_images;
3249
3647
  return !lazyLoadImages ? component : /*#__PURE__*/React__default["default"].createElement(LazyLoadImages, {}, component);
3250
3648
  }
3649
+
3251
3650
  function clientSideLoadWrapper(component, _ref2) {
3252
3651
  var _ref2$client_side_onl = _ref2.client_side_only,
3253
- clientSideOnly = _ref2$client_side_onl === void 0 ? false : _ref2$client_side_onl;
3652
+ clientSideOnly = _ref2$client_side_onl === void 0 ? false : _ref2$client_side_onl;
3254
3653
  return !clientSideOnly ? component : /*#__PURE__*/React__default["default"].createElement(ClientSideOnly, {}, component);
3255
3654
  }
3655
+
3256
3656
  function WrapCollectionComponent(Component) {
3257
3657
  return function (props) {
3258
3658
  if (!props.collection) {
3259
3659
  return /*#__PURE__*/React__default["default"].createElement("div", null);
3260
3660
  }
3661
+
3261
3662
  var associatedMetadata = props.collection["associated-metadata"] || {};
3262
3663
  var stories = collectionToStories(props.collection);
3664
+
3263
3665
  if (associatedMetadata.initial_stories_load_count) {
3264
3666
  stories = stories.slice(0, associatedMetadata.initial_stories_load_count);
3265
3667
  }
3668
+
3266
3669
  var data = Object.assign({}, props, {
3267
3670
  stories: stories,
3268
3671
  associatedMetadata: associatedMetadata
@@ -3273,7 +3676,6 @@ function WrapCollectionComponent(Component) {
3273
3676
  }, component);
3274
3677
  };
3275
3678
  }
3276
-
3277
3679
  /**
3278
3680
  * Use this function to wrap a UI for collections, which returns a component handling common behavior, such as only rendering client side, or lazy loading images.
3279
3681
  * This component adds two props: `stories` and `associatedMetadata`
@@ -3291,21 +3693,25 @@ function WrapCollectionComponent(Component) {
3291
3693
  * @category Collection Page
3292
3694
  * @returns {Component} A component which can be passed collection
3293
3695
  */
3696
+
3697
+
3294
3698
  function wrapCollectionLayout(component) {
3295
3699
  var wrappedComponent = reactRedux.connect(function (state) {
3296
3700
  return {
3297
3701
  config: state.qt.config
3298
3702
  };
3299
3703
  })(WrapCollectionComponent(component));
3704
+
3300
3705
  if (component.storyLimit) {
3301
3706
  wrappedComponent.storyLimit = component.storyLimit;
3302
3707
  }
3708
+
3303
3709
  if (component.nestedCollectionLimit) {
3304
3710
  wrappedComponent.nestedCollectionLimit = component.nestedCollectionLimit;
3305
3711
  }
3712
+
3306
3713
  return wrappedComponent;
3307
3714
  }
3308
-
3309
3715
  /**
3310
3716
  * Use this function to get the stories from a collection object
3311
3717
  * returns [] if collection doesn't have items key
@@ -3314,6 +3720,7 @@ function wrapCollectionLayout(component) {
3314
3720
  * @category Collection Page
3315
3721
  * @returns {Array} An array of stories
3316
3722
  */
3723
+
3317
3724
  function collectionToStories(collection) {
3318
3725
  if (!collection.items) return [];
3319
3726
  return collection.items.filter(function (item) {
@@ -3322,6 +3729,7 @@ function collectionToStories(collection) {
3322
3729
  return replaceWithAlternates(item.story);
3323
3730
  });
3324
3731
  }
3732
+
3325
3733
  function replaceWithAlternates(story) {
3326
3734
  var alternates = get__default["default"](story, ["alternative", "home", "default"]);
3327
3735
  if (!alternates) return story;
@@ -3348,22 +3756,30 @@ LoadMoreButton.defaultProps = {
3348
3756
  };
3349
3757
 
3350
3758
  function _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
3759
+
3351
3760
  function _isNativeReflectConstruct$4() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3352
3761
  var loadedMember = false;
3762
+
3353
3763
  var WithMemberBase = /*#__PURE__*/function (_React$Component) {
3354
3764
  _inherits__default["default"](WithMemberBase, _React$Component);
3765
+
3355
3766
  var _super = /*#__PURE__*/_createSuper$4(WithMemberBase);
3767
+
3356
3768
  function WithMemberBase(props) {
3357
3769
  var _this;
3770
+
3358
3771
  _classCallCheck__default["default"](this, WithMemberBase);
3772
+
3359
3773
  _this = _super.call(this, props);
3360
3774
  _this.checkForMemberUpdated = _this.checkForMemberUpdated.bind(_assertThisInitialized__default["default"](_this));
3361
3775
  return _this;
3362
3776
  }
3777
+
3363
3778
  _createClass__default["default"](WithMemberBase, [{
3364
3779
  key: "checkForMemberUpdated",
3365
3780
  value: function checkForMemberUpdated() {
3366
3781
  var _this2 = this;
3782
+
3367
3783
  this.props.memberBeingLoaded();
3368
3784
  var requestUrl = this.props.isBridgekeeperEnabled ? "/api/auth/v1/users/me" : "/api/v1/members/me";
3369
3785
  return getRequest(requestUrl).forbidden(function () {
@@ -3372,8 +3788,9 @@ var WithMemberBase = /*#__PURE__*/function (_React$Component) {
3372
3788
  return _this2.props.memberUpdated(null);
3373
3789
  }).json(function (_ref) {
3374
3790
  var member = _ref.member,
3375
- user = _ref.user;
3791
+ user = _ref.user;
3376
3792
  var memberObj = _this2.props.isBridgekeeperEnabled ? user : member;
3793
+
3377
3794
  _this2.props.memberUpdated(memberObj);
3378
3795
  });
3379
3796
  }
@@ -3389,10 +3806,10 @@ var WithMemberBase = /*#__PURE__*/function (_React$Component) {
3389
3806
  key: "render",
3390
3807
  value: function render() {
3391
3808
  var _this$props = this.props,
3392
- member = _this$props.member,
3393
- logout = _this$props.logout,
3394
- children = _this$props.children,
3395
- isLoading = _this$props.isLoading;
3809
+ member = _this$props.member,
3810
+ logout = _this$props.logout,
3811
+ children = _this$props.children,
3812
+ isLoading = _this$props.isLoading;
3396
3813
  return children({
3397
3814
  member: member,
3398
3815
  logout: logout,
@@ -3401,20 +3818,24 @@ var WithMemberBase = /*#__PURE__*/function (_React$Component) {
3401
3818
  });
3402
3819
  }
3403
3820
  }]);
3821
+
3404
3822
  return WithMemberBase;
3405
3823
  }(React__default["default"].Component);
3824
+
3406
3825
  WithMemberBase.defaultProps = {
3407
3826
  isBridgekeeperEnabled: false
3408
3827
  };
3828
+
3409
3829
  function mapStateToProps$2(_ref2) {
3410
3830
  var member = _ref2.member,
3411
- memberLoading = _ref2.memberLoading;
3831
+ memberLoading = _ref2.memberLoading;
3412
3832
  return {
3413
3833
  member: member || null,
3414
3834
  // undefined on server side
3415
3835
  isLoading: memberLoading === true || memberLoading === undefined
3416
3836
  };
3417
3837
  }
3838
+
3418
3839
  function mapDispatchToProps$2(dispatch, ownProps) {
3419
3840
  var logoutRequestUrl = ownProps.isBridgekeeperEnabled ? "/api/auth/v1/logout" : "/api/logout";
3420
3841
  return {
@@ -3439,7 +3860,6 @@ function mapDispatchToProps$2(dispatch, ownProps) {
3439
3860
  }
3440
3861
  };
3441
3862
  }
3442
-
3443
3863
  /**
3444
3864
  * This is a render props component which will call your callback with the current logged in member. It will automatically call `/api/v1/members/me` to figure out if you are logged in, and replace the contents in the store and callback. In future, this may use LocalStorage to cache the member for some time.
3445
3865
  *
@@ -3468,11 +3888,13 @@ function mapDispatchToProps$2(dispatch, ownProps) {
3468
3888
  * @component
3469
3889
  * @category Login
3470
3890
  */
3891
+
3892
+
3471
3893
  var WithMember = /*#__PURE__*/reactRedux.connect(mapStateToProps$2, mapDispatchToProps$2)(WithMemberBase);
3472
3894
 
3473
3895
  function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
3474
- function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3475
3896
 
3897
+ function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3476
3898
  /**
3477
3899
  * This higher order function can be used for the home or story page preview. It takes a component, and a function to map the story into props suitable for the component
3478
3900
  *
@@ -3501,23 +3923,30 @@ function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !
3501
3923
  * @category Other
3502
3924
  * @returns {Component} Component which can be used for preview
3503
3925
  */
3926
+
3504
3927
  function WithPreview(klazz, updateData) {
3505
3928
  return /*#__PURE__*/function (_React$Component) {
3506
3929
  _inherits__default["default"](WithPreviewWrapper, _React$Component);
3930
+
3507
3931
  var _super = _createSuper$3(WithPreviewWrapper);
3932
+
3508
3933
  function WithPreviewWrapper(props) {
3509
3934
  var _this;
3935
+
3510
3936
  _classCallCheck__default["default"](this, WithPreviewWrapper);
3937
+
3511
3938
  _this = _super.call(this, props);
3512
3939
  _this.state = {
3513
3940
  story: null
3514
3941
  };
3515
3942
  return _this;
3516
3943
  }
3944
+
3517
3945
  _createClass__default["default"](WithPreviewWrapper, [{
3518
3946
  key: "componentDidMount",
3519
3947
  value: function componentDidMount() {
3520
3948
  var _this2 = this;
3949
+
3521
3950
  global.addEventListener("message", function (event) {
3522
3951
  if (event.data && event.data.action == 'reloadStory' && event.data.story) {
3523
3952
  _this2.setState({
@@ -3536,18 +3965,20 @@ function WithPreview(klazz, updateData) {
3536
3965
  }
3537
3966
  });
3538
3967
  }
3968
+
3539
3969
  return /*#__PURE__*/React__default["default"].createElement(klazz, Object.assign({}, this.props, {
3540
3970
  data: updateData(this.props.data, this.state.story)
3541
3971
  }));
3542
3972
  }
3543
3973
  }]);
3974
+
3544
3975
  return WithPreviewWrapper;
3545
3976
  }(React__default["default"].Component);
3546
3977
  }
3547
3978
 
3548
3979
  function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
3549
- function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3550
3980
 
3981
+ function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3551
3982
  /**
3552
3983
  * This is an abstract render props component for logging in with social accounts. The component adds two items to scope: `serverSideLoginPath` for redirecting to server side, and `login` for doing a client side login. Calling `login()` returns a promise which can be used to handle success and failure cases.
3553
3984
  *
@@ -3595,12 +4026,17 @@ function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !
3595
4026
  * @hideconstructor
3596
4027
  * @category Login
3597
4028
  */
4029
+
3598
4030
  var WithSocialLogin = /*#__PURE__*/function (_React$Component) {
3599
4031
  _inherits__default["default"](WithSocialLogin, _React$Component);
4032
+
3600
4033
  var _super = /*#__PURE__*/_createSuper$2(WithSocialLogin);
4034
+
3601
4035
  function WithSocialLogin(props) {
3602
4036
  var _this;
4037
+
3603
4038
  _classCallCheck__default["default"](this, WithSocialLogin);
4039
+
3604
4040
  _this = _super.call(this, props);
3605
4041
  _this.bridgekeeperServerLoginPath = "/api/auth/v1/login?auth-provider=".concat(_this.props.provider, "&redirect-url=").concat(_this.props.redirectUrl ? _this.props.redirectUrl : global.location && global.location.origin);
3606
4042
  _this.defaultServerLoginPath = "/login?auth-provider=".concat(_this.props.provider, "&remote-host=").concat(global.location && global.location.origin);
@@ -3608,6 +4044,7 @@ var WithSocialLogin = /*#__PURE__*/function (_React$Component) {
3608
4044
  _this.serverSideSSOLoginPath = "/login?auth-provider=".concat(_this.props.provider, "&redirect-url=").concat(_this.props.sso && _this.props.redirectUrl ? _this.props.redirectUrl : global.location && global.location.origin);
3609
4045
  return _this;
3610
4046
  }
4047
+
3611
4048
  _createClass__default["default"](WithSocialLogin, [{
3612
4049
  key: "componentDidMount",
3613
4050
  value: function componentDidMount() {
@@ -3617,6 +4054,7 @@ var WithSocialLogin = /*#__PURE__*/function (_React$Component) {
3617
4054
  key: "render",
3618
4055
  value: function render() {
3619
4056
  var _this2 = this;
4057
+
3620
4058
  return this.props.children({
3621
4059
  login: function login(props) {
3622
4060
  return _this2.props.socialLogin.call(_this2, props).then(function (token) {
@@ -3627,8 +4065,10 @@ var WithSocialLogin = /*#__PURE__*/function (_React$Component) {
3627
4065
  });
3628
4066
  }
3629
4067
  }]);
4068
+
3630
4069
  return WithSocialLogin;
3631
4070
  }(React__default["default"].Component);
4071
+
3632
4072
  function createSession(provider, token) {
3633
4073
  return postRequest("/api/login/".concat(provider), {
3634
4074
  token: token,
@@ -3637,6 +4077,7 @@ function createSession(provider, token) {
3637
4077
  return r;
3638
4078
  });
3639
4079
  }
4080
+
3640
4081
  WithSocialLogin.defaultProps = {
3641
4082
  initialize: function initialize() {},
3642
4083
  // function is rebound in WithSocialLogin
@@ -3654,14 +4095,15 @@ WithSocialLogin.defaultProps = {
3654
4095
  * @component
3655
4096
  * @category Login
3656
4097
  */
4098
+
3657
4099
  function WithFacebookLogin(_ref) {
3658
4100
  var appId = _ref.appId,
3659
- children = _ref.children,
3660
- scope = _ref.scope,
3661
- emailMandatory = _ref.emailMandatory,
3662
- redirectUrl = _ref.redirectUrl,
3663
- sso = _ref.sso,
3664
- isBridgekeeperLogin = _ref.isBridgekeeperLogin;
4101
+ children = _ref.children,
4102
+ scope = _ref.scope,
4103
+ emailMandatory = _ref.emailMandatory,
4104
+ redirectUrl = _ref.redirectUrl,
4105
+ sso = _ref.sso,
4106
+ isBridgekeeperLogin = _ref.isBridgekeeperLogin;
3665
4107
  return /*#__PURE__*/React__default["default"].createElement(WithSocialLogin, {
3666
4108
  provider: 'facebook',
3667
4109
  initialize: function initialize() {
@@ -3679,10 +4121,12 @@ function WithFacebookLogin(_ref) {
3679
4121
  isBridgekeeperLogin: isBridgekeeperLogin
3680
4122
  });
3681
4123
  }
4124
+
3682
4125
  function loadFacebookSDK(appId) {
3683
4126
  if (global.FB) {
3684
4127
  return;
3685
4128
  }
4129
+
3686
4130
  global.fbAsyncInit = global.fbAsyncInit || function () {
3687
4131
  global.FB.init({
3688
4132
  appId: appId,
@@ -3690,18 +4134,22 @@ function loadFacebookSDK(appId) {
3690
4134
  version: 'v3.1'
3691
4135
  });
3692
4136
  };
4137
+
3693
4138
  (function (d, s, id) {
3694
4139
  var js,
3695
- fjs = d.getElementsByTagName(s)[0];
4140
+ fjs = d.getElementsByTagName(s)[0];
4141
+
3696
4142
  if (d.getElementById(id)) {
3697
4143
  return;
3698
4144
  }
4145
+
3699
4146
  js = d.createElement(s);
3700
4147
  js.id = id;
3701
4148
  js.src = "https://connect.facebook.net/en_US/sdk.js";
3702
4149
  fjs.parentNode.insertBefore(js, fjs);
3703
4150
  })(document, 'script', 'facebook-jssdk');
3704
4151
  }
4152
+
3705
4153
  function fbLogin(params) {
3706
4154
  return new Promise(function (resolve, reject) {
3707
4155
  return global.FB.login(function (response) {
@@ -3711,6 +4159,7 @@ function fbLogin(params) {
3711
4159
  }, params);
3712
4160
  });
3713
4161
  }
4162
+
3714
4163
  function fbVerifyEmailExists(token) {
3715
4164
  return new Promise(function (resolve, reject) {
3716
4165
  return global.FB.api('/me', {
@@ -3720,13 +4169,16 @@ function fbVerifyEmailExists(token) {
3720
4169
  });
3721
4170
  });
3722
4171
  }
4172
+
3723
4173
  function loginWithFacebook() {
3724
4174
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
3725
- scope = _ref2.scope,
3726
- emailMandatory = _ref2.emailMandatory;
4175
+ scope = _ref2.scope,
4176
+ emailMandatory = _ref2.emailMandatory;
4177
+
3727
4178
  if (!global.FB) {
3728
4179
  return Promise.reject('NOT_LOADED');
3729
4180
  }
4181
+
3730
4182
  return fbLogin({
3731
4183
  scope: scope
3732
4184
  }).then(function (token) {
@@ -3739,14 +4191,15 @@ function loginWithFacebook() {
3739
4191
  * @component
3740
4192
  * @category Login
3741
4193
  */
4194
+
3742
4195
  function WithGoogleLogin(_ref) {
3743
4196
  var clientId = _ref.clientId,
3744
- children = _ref.children,
3745
- scope = _ref.scope,
3746
- emailMandatory = _ref.emailMandatory,
3747
- redirectUrl = _ref.redirectUrl,
3748
- sso = _ref.sso,
3749
- isBridgekeeperLogin = _ref.isBridgekeeperLogin;
4197
+ children = _ref.children,
4198
+ scope = _ref.scope,
4199
+ emailMandatory = _ref.emailMandatory,
4200
+ redirectUrl = _ref.redirectUrl,
4201
+ sso = _ref.sso,
4202
+ isBridgekeeperLogin = _ref.isBridgekeeperLogin;
3750
4203
  return /*#__PURE__*/React__default["default"].createElement(WithSocialLogin, {
3751
4204
  provider: 'google',
3752
4205
  initialize: function initialize() {
@@ -3763,6 +4216,7 @@ function WithGoogleLogin(_ref) {
3763
4216
  isBridgekeeperLogin: isBridgekeeperLogin
3764
4217
  });
3765
4218
  }
4219
+
3766
4220
  var onScriptLoaded = function onScriptLoaded(clientId, scope) {
3767
4221
  global.gapi.load('client:auth2', function () {
3768
4222
  return global.gapi.client.init({
@@ -3771,16 +4225,21 @@ var onScriptLoaded = function onScriptLoaded(clientId, scope) {
3771
4225
  });
3772
4226
  });
3773
4227
  };
4228
+
3774
4229
  var loginWithGoogle = function loginWithGoogle() {
3775
4230
  var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
3776
- emailMandatory = _ref2.emailMandatory;
4231
+ emailMandatory = _ref2.emailMandatory;
4232
+
3777
4233
  if (!global.gapi || !global.gapi.client) {
3778
4234
  return Promise.reject("NOT_LOADED");
3779
4235
  }
4236
+
3780
4237
  var GoogleAuth = global.gapi.auth2.getAuthInstance();
4238
+
3781
4239
  if (!GoogleAuth) {
3782
4240
  return Promise.reject("NOT_LOADED");
3783
4241
  }
4242
+
3784
4243
  return GoogleAuth.signIn().then(function (response) {
3785
4244
  return emailMandatory && !response.getBasicProfile().getEmail() ? Promise.reject('NO_EMAIL') : {
3786
4245
  'access-token': response.getAuthResponse().access_token
@@ -3789,17 +4248,21 @@ var loginWithGoogle = function loginWithGoogle() {
3789
4248
  return Promise.reject('NOT_GRANTED');
3790
4249
  });
3791
4250
  };
4251
+
3792
4252
  var loadGoogleSDK = function loadGoogleSDK(clientId, scope) {
3793
4253
  if (global.gapi) {
3794
4254
  return;
3795
4255
  }
4256
+
3796
4257
  var script = document.createElement('script');
3797
4258
  script.src = 'https://apis.google.com/js/api.js';
3798
4259
  script.async = true;
3799
4260
  script.defer = true;
4261
+
3800
4262
  script.onload = function () {
3801
4263
  return onScriptLoaded(clientId, scope);
3802
4264
  };
4265
+
3803
4266
  document.getElementsByTagName('body')[0].appendChild(script);
3804
4267
  };
3805
4268
 
@@ -3808,14 +4271,15 @@ var loadGoogleSDK = function loadGoogleSDK(clientId, scope) {
3808
4271
  * @component
3809
4272
  * @category Login
3810
4273
  */
4274
+
3811
4275
  function WithTwitterLogin(_ref) {
3812
4276
  _ref.clientId;
3813
- var children = _ref.children;
3814
- _ref.scope;
3815
- _ref.emailMandatory;
3816
- var redirectUrl = _ref.redirectUrl,
3817
- sso = _ref.sso,
3818
- isBridgekeeperLogin = _ref.isBridgekeeperLogin;
4277
+ var children = _ref.children;
4278
+ _ref.scope;
4279
+ _ref.emailMandatory;
4280
+ var redirectUrl = _ref.redirectUrl,
4281
+ sso = _ref.sso,
4282
+ isBridgekeeperLogin = _ref.isBridgekeeperLogin;
3819
4283
  return /*#__PURE__*/React__default["default"].createElement(WithSocialLogin, {
3820
4284
  provider: 'twitter',
3821
4285
  children: children,
@@ -3830,14 +4294,15 @@ function WithTwitterLogin(_ref) {
3830
4294
  * @component
3831
4295
  * @category Login
3832
4296
  */
4297
+
3833
4298
  function WithLinkedInLogin(_ref) {
3834
4299
  var clientKey = _ref.clientKey,
3835
- children = _ref.children;
3836
- _ref.scope;
3837
- var emailMandatory = _ref.emailMandatory,
3838
- redirectUrl = _ref.redirectUrl,
3839
- sso = _ref.sso,
3840
- isBridgekeeperLogin = _ref.isBridgekeeperLogin;
4300
+ children = _ref.children;
4301
+ _ref.scope;
4302
+ var emailMandatory = _ref.emailMandatory,
4303
+ redirectUrl = _ref.redirectUrl,
4304
+ sso = _ref.sso,
4305
+ isBridgekeeperLogin = _ref.isBridgekeeperLogin;
3841
4306
  return /*#__PURE__*/React__default["default"].createElement(WithSocialLogin, {
3842
4307
  provider: 'linkedin',
3843
4308
  initialize: function initialize() {
@@ -3854,10 +4319,12 @@ function WithLinkedInLogin(_ref) {
3854
4319
  isBridgekeeperLogin: isBridgekeeperLogin
3855
4320
  });
3856
4321
  }
4322
+
3857
4323
  var loadLinkedInSdk = function loadLinkedInSdk(clientKey, scope) {
3858
4324
  if (global.IN) {
3859
4325
  return;
3860
4326
  }
4327
+
3861
4328
  var script = document.createElement('script');
3862
4329
  script.src = '//platform.linkedin.com/in.js';
3863
4330
  script.type = 'text/javascript';
@@ -3866,11 +4333,14 @@ var loadLinkedInSdk = function loadLinkedInSdk(clientKey, scope) {
3866
4333
  script.innerHTML = "\n api_key: ".concat(clientKey, "\n");
3867
4334
  document.getElementsByTagName('body')[0].appendChild(script);
3868
4335
  };
4336
+
3869
4337
  var loginWithLinkedIn = function loginWithLinkedIn(_ref2) {
3870
4338
  _ref2.emailMandatory;
4339
+
3871
4340
  if (!global.IN || !global.IN.User) {
3872
4341
  return Promise.reject("NOT_LOADED");
3873
4342
  }
4343
+
3874
4344
  return new Promise(function (resolve, reject) {
3875
4345
  global.IN.User.authorize(function (e) {
3876
4346
  if (global.IN.User.isAuthorized()) {
@@ -3886,8 +4356,8 @@ var loginWithLinkedIn = function loginWithLinkedIn(_ref2) {
3886
4356
  };
3887
4357
 
3888
4358
  function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
3889
- function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3890
4359
 
4360
+ function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
3891
4361
  /**
3892
4362
  * This render props component willupdate it's children via props while executing data loaders sent as props to the component.
3893
4363
  *
@@ -3915,12 +4385,17 @@ function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !
3915
4385
  * @hideconstructor
3916
4386
  * @category Other
3917
4387
  */
4388
+
3918
4389
  var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3919
4390
  _inherits__default["default"](UpdateOnInterval, _React$Component);
4391
+
3920
4392
  var _super = /*#__PURE__*/_createSuper$1(UpdateOnInterval);
4393
+
3921
4394
  function UpdateOnInterval(props) {
3922
4395
  var _this;
4396
+
3923
4397
  _classCallCheck__default["default"](this, UpdateOnInterval);
4398
+
3924
4399
  _this = _super.call(this, props);
3925
4400
  _this.fetchIntervalIndex = -1;
3926
4401
  _this.state = {
@@ -3928,6 +4403,7 @@ var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3928
4403
  };
3929
4404
  return _this;
3930
4405
  }
4406
+
3931
4407
  _createClass__default["default"](UpdateOnInterval, [{
3932
4408
  key: "componentDidMount",
3933
4409
  value: function componentDidMount() {
@@ -3942,6 +4418,7 @@ var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3942
4418
  key: "registerInterval",
3943
4419
  value: function registerInterval() {
3944
4420
  var _this2 = this;
4421
+
3945
4422
  this.fetchIntervalIndex = setInterval(function () {
3946
4423
  return _this2.setData();
3947
4424
  }, this.props.interval);
@@ -3964,19 +4441,24 @@ var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3964
4441
  _context.next = 6;
3965
4442
  break;
3966
4443
  }
4444
+
3967
4445
  _context.next = 3;
3968
4446
  return this.props.dataLoader();
4447
+
3969
4448
  case 3:
3970
4449
  _context.t0 = _context.sent;
3971
4450
  _context.next = 7;
3972
4451
  break;
4452
+
3973
4453
  case 6:
3974
4454
  _context.t0 = {};
4455
+
3975
4456
  case 7:
3976
4457
  data = _context.t0;
3977
4458
  this.setState({
3978
4459
  data: data
3979
4460
  });
4461
+
3980
4462
  case 9:
3981
4463
  case "end":
3982
4464
  return _context.stop();
@@ -3984,9 +4466,11 @@ var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3984
4466
  }
3985
4467
  }, _callee, this);
3986
4468
  }));
4469
+
3987
4470
  function setData() {
3988
4471
  return _setData.apply(this, arguments);
3989
4472
  }
4473
+
3990
4474
  return setData;
3991
4475
  }()
3992
4476
  }, {
@@ -3999,6 +4483,7 @@ var UpdateOnInterval = /*#__PURE__*/function (_React$Component) {
3999
4483
  });
4000
4484
  }
4001
4485
  }]);
4486
+
4002
4487
  return UpdateOnInterval;
4003
4488
  }(React__default["default"].Component);
4004
4489
  UpdateOnInterval.defaultProps = {
@@ -4006,61 +4491,81 @@ UpdateOnInterval.defaultProps = {
4006
4491
  initData: {}
4007
4492
  };
4008
4493
 
4009
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4010
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4494
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4495
+
4496
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4497
+
4011
4498
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
4499
+
4012
4500
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
4501
+
4013
4502
  var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4014
4503
  _inherits__default["default"](AccessTypeBase, _React$Component);
4504
+
4015
4505
  var _super = /*#__PURE__*/_createSuper(AccessTypeBase);
4506
+
4016
4507
  function AccessTypeBase(props) {
4017
4508
  var _this;
4509
+
4018
4510
  _classCallCheck__default["default"](this, AccessTypeBase);
4511
+
4019
4512
  _this = _super.call(this, props);
4513
+
4020
4514
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "loadScript", function (callback) {
4021
4515
  var accessTypeKey = get__default["default"](_this.props, ["accessTypeKey"]);
4022
4516
  var isStaging = get__default["default"](_this.props, ["isStaging"]);
4023
4517
  var enableAccesstype = get__default["default"](_this.props, ["enableAccesstype"]);
4518
+
4024
4519
  if (!enableAccesstype) {
4025
4520
  return false;
4026
4521
  }
4522
+
4027
4523
  var HOST = isStaging ? _this.stagingHost : _this.prodHost;
4028
4524
  var environment = isStaging ? "&env=sandbox" : "";
4029
4525
  var accessTypeHost = "".concat(HOST, "/frontend/v2/accesstype.js?key=").concat(accessTypeKey).concat(environment);
4030
4526
  var isATScriptAlreadyPresent = document.querySelector("script[src=\"".concat(accessTypeHost, "\"]"));
4527
+
4031
4528
  if (accessTypeKey && !isATScriptAlreadyPresent && !global.AccessType && global.document) {
4032
4529
  var accessTypeScript = document.createElement("script");
4033
4530
  accessTypeScript.setAttribute("src", accessTypeHost);
4034
4531
  accessTypeScript.setAttribute("id", "AccessTypeScript");
4035
4532
  accessTypeScript.setAttribute("data-accessType-script", "1");
4036
4533
  accessTypeScript.async = 1;
4534
+
4037
4535
  accessTypeScript.onload = function () {
4038
4536
  return callback();
4039
4537
  };
4538
+
4040
4539
  document.body.appendChild(accessTypeScript);
4041
4540
  return true;
4042
4541
  }
4542
+
4043
4543
  global.AccessType && callback();
4044
4544
  return true;
4045
4545
  });
4546
+
4046
4547
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "setUser", /*#__PURE__*/function () {
4047
4548
  var _ref = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(emailAddress, mobileNumber, accesstypeJwt) {
4048
4549
  var isLoggedIn,
4049
- userObj,
4050
- _yield$awaitHelper,
4051
- error,
4052
- user,
4053
- _args = arguments;
4550
+ userObj,
4551
+ _yield$awaitHelper,
4552
+ error,
4553
+ user,
4554
+ _args = arguments;
4555
+
4054
4556
  return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
4055
4557
  while (1) {
4056
4558
  switch (_context.prev = _context.next) {
4057
4559
  case 0:
4058
4560
  isLoggedIn = _args.length > 3 && _args[3] !== undefined ? _args[3] : true;
4561
+
4059
4562
  if (global.AccessType) {
4060
4563
  _context.next = 3;
4061
4564
  break;
4062
4565
  }
4566
+
4063
4567
  return _context.abrupt("return", null);
4568
+
4064
4569
  case 3:
4065
4570
  userObj = isLoggedIn ? {
4066
4571
  emailAddress: emailAddress,
@@ -4071,18 +4576,23 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4071
4576
  };
4072
4577
  _context.next = 6;
4073
4578
  return awaitHelper(global.AccessType.setUser(userObj));
4579
+
4074
4580
  case 6:
4075
4581
  _yield$awaitHelper = _context.sent;
4076
4582
  error = _yield$awaitHelper.error;
4077
4583
  user = _yield$awaitHelper.data;
4584
+
4078
4585
  if (!error) {
4079
4586
  _context.next = 12;
4080
4587
  break;
4081
4588
  }
4589
+
4082
4590
  console.warn("User context setting failed --> ", error);
4083
4591
  return _context.abrupt("return", error);
4592
+
4084
4593
  case 12:
4085
4594
  return _context.abrupt("return", user);
4595
+
4086
4596
  case 13:
4087
4597
  case "end":
4088
4598
  return _context.stop();
@@ -4090,13 +4600,16 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4090
4600
  }
4091
4601
  }, _callee);
4092
4602
  }));
4603
+
4093
4604
  return function (_x, _x2, _x3) {
4094
4605
  return _ref.apply(this, arguments);
4095
4606
  };
4096
4607
  }());
4608
+
4097
4609
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "validateCoupon", /*#__PURE__*/function () {
4098
4610
  var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2(selectedPlanId, couponCode) {
4099
4611
  var _yield$awaitHelper2, error, data;
4612
+
4100
4613
  return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
4101
4614
  while (1) {
4102
4615
  switch (_context2.prev = _context2.next) {
@@ -4105,25 +4618,32 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4105
4618
  _context2.next = 2;
4106
4619
  break;
4107
4620
  }
4621
+
4108
4622
  return _context2.abrupt("return", {});
4623
+
4109
4624
  case 2:
4110
4625
  _context2.next = 4;
4111
4626
  return awaitHelper(global.AccessType.validateCoupon({
4112
4627
  subscriptionPlanId: selectedPlanId,
4113
4628
  couponCode: couponCode
4114
4629
  }));
4630
+
4115
4631
  case 4:
4116
4632
  _yield$awaitHelper2 = _context2.sent;
4117
4633
  error = _yield$awaitHelper2.error;
4118
4634
  data = _yield$awaitHelper2.data;
4635
+
4119
4636
  if (!error) {
4120
4637
  _context2.next = 10;
4121
4638
  break;
4122
4639
  }
4640
+
4123
4641
  console.warn("Error --> ", error);
4124
4642
  return _context2.abrupt("return", error);
4643
+
4125
4644
  case 10:
4126
4645
  return _context2.abrupt("return", data);
4646
+
4127
4647
  case 11:
4128
4648
  case "end":
4129
4649
  return _context2.stop();
@@ -4131,25 +4651,31 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4131
4651
  }
4132
4652
  }, _callee2);
4133
4653
  }));
4654
+
4134
4655
  return function (_x4, _x5) {
4135
4656
  return _ref2.apply(this, arguments);
4136
4657
  };
4137
4658
  }());
4659
+
4138
4660
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "cancelSubscription", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee3() {
4139
4661
  var subscriptionId,
4140
- _args3 = arguments;
4662
+ _args3 = arguments;
4141
4663
  return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
4142
4664
  while (1) {
4143
4665
  switch (_context3.prev = _context3.next) {
4144
4666
  case 0:
4145
4667
  subscriptionId = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : null;
4668
+
4146
4669
  if (subscriptionId) {
4147
4670
  _context3.next = 3;
4148
4671
  break;
4149
4672
  }
4673
+
4150
4674
  return _context3.abrupt("return", Promise.reject("Subscription id is not defined"));
4675
+
4151
4676
  case 3:
4152
4677
  return _context3.abrupt("return", global.AccessType.cancelSubscription(subscriptionId));
4678
+
4153
4679
  case 4:
4154
4680
  case "end":
4155
4681
  return _context3.stop();
@@ -4157,8 +4683,10 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4157
4683
  }
4158
4684
  }, _callee3);
4159
4685
  })));
4686
+
4160
4687
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getSubscription", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee4() {
4161
4688
  var accessTypeKey, isStaging, HOST, accessTypeHost, _yield$awaitHelper3, error, subscriptions;
4689
+
4162
4690
  return _regeneratorRuntime__default["default"].wrap(function _callee4$(_context4) {
4163
4691
  while (1) {
4164
4692
  switch (_context4.prev = _context4.next) {
@@ -4166,27 +4694,34 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4166
4694
  accessTypeKey = get__default["default"](_this.props, ["accessTypeKey"]);
4167
4695
  isStaging = get__default["default"](_this.props, ["isStaging"]);
4168
4696
  HOST = isStaging ? _this.stagingHost : _this.prodHost; // TODO: use AccesstypeJS method insead of direct api call
4697
+
4169
4698
  accessTypeHost = "".concat(HOST, "/api/v1/subscription_groups.json?key=").concat(accessTypeKey);
4170
4699
  _context4.t0 = awaitHelper;
4171
4700
  _context4.next = 7;
4172
4701
  return global.fetch(accessTypeHost);
4702
+
4173
4703
  case 7:
4174
4704
  _context4.t1 = _context4.sent.json();
4175
4705
  _context4.next = 10;
4176
4706
  return (0, _context4.t0)(_context4.t1);
4707
+
4177
4708
  case 10:
4178
4709
  _yield$awaitHelper3 = _context4.sent;
4179
4710
  error = _yield$awaitHelper3.error;
4180
4711
  subscriptions = _yield$awaitHelper3.data;
4712
+
4181
4713
  if (!error) {
4182
4714
  _context4.next = 15;
4183
4715
  break;
4184
4716
  }
4717
+
4185
4718
  return _context4.abrupt("return", {
4186
4719
  error: "subscriptions fetch failed"
4187
4720
  });
4721
+
4188
4722
  case 15:
4189
4723
  return _context4.abrupt("return", subscriptions["subscription_groups"] || []);
4724
+
4190
4725
  case 16:
4191
4726
  case "end":
4192
4727
  return _context4.stop();
@@ -4194,8 +4729,10 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4194
4729
  }
4195
4730
  }, _callee4);
4196
4731
  })));
4732
+
4197
4733
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getPaymentOptions", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee5() {
4198
4734
  var _yield$awaitHelper4, error, paymentOptions;
4735
+
4199
4736
  return _regeneratorRuntime__default["default"].wrap(function _callee5$(_context5) {
4200
4737
  while (1) {
4201
4738
  switch (_context5.prev = _context5.next) {
@@ -4204,23 +4741,30 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4204
4741
  _context5.next = 2;
4205
4742
  break;
4206
4743
  }
4744
+
4207
4745
  return _context5.abrupt("return", []);
4746
+
4208
4747
  case 2:
4209
4748
  _context5.next = 4;
4210
4749
  return awaitHelper(global.AccessType.getPaymentOptions());
4750
+
4211
4751
  case 4:
4212
4752
  _yield$awaitHelper4 = _context5.sent;
4213
4753
  error = _yield$awaitHelper4.error;
4214
4754
  paymentOptions = _yield$awaitHelper4.data;
4755
+
4215
4756
  if (!error) {
4216
4757
  _context5.next = 9;
4217
4758
  break;
4218
4759
  }
4760
+
4219
4761
  return _context5.abrupt("return", {
4220
4762
  error: "payment options fetch failed"
4221
4763
  });
4764
+
4222
4765
  case 9:
4223
4766
  return _context5.abrupt("return", paymentOptions);
4767
+
4224
4768
  case 10:
4225
4769
  case "end":
4226
4770
  return _context5.stop();
@@ -4228,43 +4772,53 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4228
4772
  }
4229
4773
  }, _callee5);
4230
4774
  })));
4775
+
4231
4776
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getAssetPlans", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee6() {
4232
4777
  var storyId,
4233
- _yield$awaitHelper5,
4234
- error,
4235
- _yield$awaitHelper5$d,
4236
- assetPlans,
4237
- _args6 = arguments;
4778
+ _yield$awaitHelper5,
4779
+ error,
4780
+ _yield$awaitHelper5$d,
4781
+ assetPlans,
4782
+ _args6 = arguments;
4783
+
4238
4784
  return _regeneratorRuntime__default["default"].wrap(function _callee6$(_context6) {
4239
4785
  while (1) {
4240
4786
  switch (_context6.prev = _context6.next) {
4241
4787
  case 0:
4242
4788
  storyId = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : "";
4789
+
4243
4790
  if (global.AccessType) {
4244
4791
  _context6.next = 3;
4245
4792
  break;
4246
4793
  }
4794
+
4247
4795
  return _context6.abrupt("return", []);
4796
+
4248
4797
  case 3:
4249
4798
  _context6.next = 5;
4250
4799
  return awaitHelper(global.AccessType.getAssetPlans({
4251
4800
  id: storyId,
4252
4801
  type: "story"
4253
4802
  }));
4803
+
4254
4804
  case 5:
4255
4805
  _yield$awaitHelper5 = _context6.sent;
4256
4806
  error = _yield$awaitHelper5.error;
4257
4807
  _yield$awaitHelper5$d = _yield$awaitHelper5.data;
4258
4808
  assetPlans = _yield$awaitHelper5$d === void 0 ? {} : _yield$awaitHelper5$d;
4809
+
4259
4810
  if (!error) {
4260
4811
  _context6.next = 11;
4261
4812
  break;
4262
4813
  }
4814
+
4263
4815
  return _context6.abrupt("return", {
4264
4816
  error: "asset plan fetch failed"
4265
4817
  });
4818
+
4266
4819
  case 11:
4267
4820
  return _context6.abrupt("return", assetPlans);
4821
+
4268
4822
  case 12:
4269
4823
  case "end":
4270
4824
  return _context6.stop();
@@ -4272,17 +4826,21 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4272
4826
  }
4273
4827
  }, _callee6);
4274
4828
  })));
4829
+
4275
4830
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getCampaignSubscription", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee7() {
4276
4831
  var isAccessTypeCampaignEnabled, accessTypeKey, isStaging, HOST, accessTypeHost, _yield$awaitHelper6, error, campaignSubscriptions;
4832
+
4277
4833
  return _regeneratorRuntime__default["default"].wrap(function _callee7$(_context7) {
4278
4834
  while (1) {
4279
4835
  switch (_context7.prev = _context7.next) {
4280
4836
  case 0:
4281
4837
  isAccessTypeCampaignEnabled = get__default["default"](_this.props, ["isAccessTypeCampaignEnabled"], false);
4838
+
4282
4839
  if (!isAccessTypeCampaignEnabled) {
4283
4840
  _context7.next = 18;
4284
4841
  break;
4285
4842
  }
4843
+
4286
4844
  accessTypeKey = get__default["default"](_this.props, ["accessTypeKey"]);
4287
4845
  isStaging = get__default["default"](_this.props, ["isStaging"]);
4288
4846
  HOST = isStaging ? _this.stagingHost : _this.prodHost;
@@ -4290,25 +4848,32 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4290
4848
  _context7.t0 = awaitHelper;
4291
4849
  _context7.next = 9;
4292
4850
  return global.fetch(accessTypeHost);
4851
+
4293
4852
  case 9:
4294
4853
  _context7.t1 = _context7.sent.json();
4295
4854
  _context7.next = 12;
4296
4855
  return (0, _context7.t0)(_context7.t1);
4856
+
4297
4857
  case 12:
4298
4858
  _yield$awaitHelper6 = _context7.sent;
4299
4859
  error = _yield$awaitHelper6.error;
4300
4860
  campaignSubscriptions = _yield$awaitHelper6.data;
4861
+
4301
4862
  if (!error) {
4302
4863
  _context7.next = 17;
4303
4864
  break;
4304
4865
  }
4866
+
4305
4867
  return _context7.abrupt("return", {
4306
4868
  error: "subscriptions fetch failed"
4307
4869
  });
4870
+
4308
4871
  case 17:
4309
4872
  return _context7.abrupt("return", campaignSubscriptions["subscription_groups"] || []);
4873
+
4310
4874
  case 18:
4311
4875
  return _context7.abrupt("return", []);
4876
+
4312
4877
  case 19:
4313
4878
  case "end":
4314
4879
  return _context7.stop();
@@ -4316,12 +4881,14 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4316
4881
  }
4317
4882
  }, _callee7);
4318
4883
  })));
4884
+
4319
4885
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "runSequentialCalls", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee8() {
4320
4886
  var callback,
4321
- jwtResponse,
4322
- _yield$awaitHelper7,
4323
- error,
4324
- _args8 = arguments;
4887
+ jwtResponse,
4888
+ _yield$awaitHelper7,
4889
+ error,
4890
+ _args8 = arguments;
4891
+
4325
4892
  return _regeneratorRuntime__default["default"].wrap(function _callee8$(_context8) {
4326
4893
  while (1) {
4327
4894
  switch (_context8.prev = _context8.next) {
@@ -4331,25 +4898,32 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4331
4898
  };
4332
4899
  _context8.next = 3;
4333
4900
  return fetch("/api/v1/access-token/integrations/".concat(_this.props.accessTypeBkIntegrationId));
4901
+
4334
4902
  case 3:
4335
4903
  jwtResponse = _context8.sent;
4336
4904
  _context8.next = 6;
4337
4905
  return awaitHelper(_this.setUser(_this.props.email, _this.props.phone, jwtResponse.headers.get("x-integration-token"), !!jwtResponse.headers.get("x-integration-token")));
4906
+
4338
4907
  case 6:
4339
4908
  _yield$awaitHelper7 = _context8.sent;
4340
4909
  error = _yield$awaitHelper7.error;
4910
+
4341
4911
  if (!error) {
4342
4912
  try {
4343
4913
  Promise.all([_this.getSubscription(), _this.getPaymentOptions(), _this.getAssetPlans(), _this.getCampaignSubscription()]).then(function (_ref9) {
4344
4914
  var _ref10 = _slicedToArray__default["default"](_ref9, 4),
4345
- subscriptionGroups = _ref10[0],
4346
- paymentOptions = _ref10[1],
4347
- assetPlans = _ref10[2],
4348
- campaignSubscriptionGroups = _ref10[3];
4915
+ subscriptionGroups = _ref10[0],
4916
+ paymentOptions = _ref10[1],
4917
+ assetPlans = _ref10[2],
4918
+ campaignSubscriptionGroups = _ref10[3];
4919
+
4349
4920
  reactRedux.batch(function () {
4350
4921
  _this.props.subscriptionGroupLoaded(subscriptionGroups);
4922
+
4351
4923
  _this.props.paymentOptionsLoaded(paymentOptions);
4924
+
4352
4925
  _this.props.assetPlanLoaded(assetPlans);
4926
+
4353
4927
  _this.props.campaignSubscriptionGroupLoaded(campaignSubscriptionGroups);
4354
4928
  });
4355
4929
  callback();
@@ -4358,6 +4932,7 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4358
4932
  console.log("Subscription / payments failed", e);
4359
4933
  }
4360
4934
  }
4935
+
4361
4936
  case 9:
4362
4937
  case "end":
4363
4938
  return _context8.stop();
@@ -4365,8 +4940,10 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4365
4940
  }
4366
4941
  }, _callee8);
4367
4942
  })));
4943
+
4368
4944
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getSubscriptionForUser", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee9() {
4369
4945
  var _yield$awaitHelper8, error, _yield$awaitHelper8$d, subscriptions;
4946
+
4370
4947
  return _regeneratorRuntime__default["default"].wrap(function _callee9$(_context9) {
4371
4948
  while (1) {
4372
4949
  switch (_context9.prev = _context9.next) {
@@ -4375,22 +4952,29 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4375
4952
  _context9.next = 2;
4376
4953
  break;
4377
4954
  }
4955
+
4378
4956
  return _context9.abrupt("return", {});
4957
+
4379
4958
  case 2:
4380
4959
  _context9.next = 4;
4381
4960
  return awaitHelper(global.AccessType.getSubscriptions());
4961
+
4382
4962
  case 4:
4383
4963
  _yield$awaitHelper8 = _context9.sent;
4384
4964
  error = _yield$awaitHelper8.error;
4385
4965
  _yield$awaitHelper8$d = _yield$awaitHelper8.data;
4386
4966
  subscriptions = _yield$awaitHelper8$d === void 0 ? [] : _yield$awaitHelper8$d;
4967
+
4387
4968
  if (!error) {
4388
4969
  _context9.next = 10;
4389
4970
  break;
4390
4971
  }
4972
+
4391
4973
  return _context9.abrupt("return", error);
4974
+
4392
4975
  case 10:
4393
4976
  return _context9.abrupt("return", subscriptions);
4977
+
4394
4978
  case 11:
4395
4979
  case "end":
4396
4980
  return _context9.stop();
@@ -4398,8 +4982,10 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4398
4982
  }
4399
4983
  }, _callee9);
4400
4984
  })));
4985
+
4401
4986
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initAccessType", function (callback) {
4402
4987
  var accessTypeBkIntegrationId = _this.props.accessTypeBkIntegrationId;
4988
+
4403
4989
  try {
4404
4990
  _this.loadScript(function () {
4405
4991
  // dont try to initialize accessType if integration id is not available
@@ -4407,98 +4993,130 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4407
4993
  console.warn("AccessType: Integration Id is undefined");
4408
4994
  return false;
4409
4995
  }
4996
+
4410
4997
  _this.runSequentialCalls(callback);
4411
4998
  });
4412
4999
  } catch (e) {
4413
5000
  console.warn("Accesstype load fail", e);
4414
5001
  }
4415
5002
  });
5003
+
4416
5004
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initRazorPayPayment", function () {
4417
5005
  var selectedPlanObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4418
5006
  var planType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
4419
5007
  var storyId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "";
4420
5008
  var storyHeadline = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
4421
5009
  var storySlug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : "";
5010
+
4422
5011
  if (!selectedPlanObj) {
4423
5012
  console.warn("Razor pay needs a plan");
4424
5013
  return false;
4425
5014
  }
5015
+
4426
5016
  var planObject = _this.makePlanObject(selectedPlanObj, planType, storyId, storyHeadline, storySlug); //we are doing this to sake of backward compatibility and will be refactored later.
5017
+
5018
+
4427
5019
  var paymentOptions = _this.props.paymentOptions;
4428
5020
  planObject["paymentType"] = get__default["default"](planObject.selectedPlan, ["recurring"]) ? "razorpay_recurring" : "razorpay";
5021
+
4429
5022
  var paymentObject = _this.makePaymentObject(planObject);
5023
+
4430
5024
  return paymentOptions.razorpay.proceed(paymentObject);
4431
5025
  });
5026
+
4432
5027
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initStripePayment", function () {
4433
5028
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5029
+
4434
5030
  if (!options.selectedPlan) {
4435
5031
  console.warn("Stripe pay needs a plan");
4436
5032
  return false;
4437
5033
  }
5034
+
4438
5035
  var paymentOptions = _this.props.paymentOptions;
4439
5036
  var paymentType = get__default["default"](options.selectedPlan, ["recurring"]) ? "stripe_recurring" : "stripe";
5037
+
4440
5038
  var paymentObject = _this.makePaymentObject(_objectSpread({
4441
5039
  paymentType: paymentType
4442
5040
  }, options));
5041
+
4443
5042
  return paymentOptions.stripe ? paymentOptions.stripe.proceed(paymentObject) : Promise.reject({
4444
5043
  message: "Payment option is loading..."
4445
5044
  });
4446
5045
  });
5046
+
4447
5047
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initPaypalPayment", function () {
4448
5048
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5049
+
4449
5050
  if (!options.selectedPlan) {
4450
5051
  console.warn("Paypal pay needs a plan");
4451
5052
  return false;
4452
5053
  }
5054
+
4453
5055
  var paymentOptions = _this.props.paymentOptions;
4454
5056
  var paymentType = get__default["default"](options.selectedPlan, ["recurring"]) ? "paypal_recurring" : "paypal";
5057
+
4455
5058
  var paymentObject = _this.makePaymentObject(_objectSpread({
4456
5059
  paymentType: paymentType
4457
5060
  }, options));
5061
+
4458
5062
  return paymentOptions.paypal ? paymentOptions.paypal.proceed(paymentObject).then(function (response) {
4459
5063
  return response.proceed(paymentObject);
4460
5064
  }) : Promise.reject({
4461
5065
  message: "Payment option is loading..."
4462
5066
  });
4463
5067
  });
5068
+
4464
5069
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initOmisePayment", function () {
4465
5070
  var selectedPlanObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4466
5071
  var planType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
5072
+
4467
5073
  if (!selectedPlanObj) {
4468
5074
  console.warn("Omise pay needs a plan");
4469
5075
  return false;
4470
5076
  }
5077
+
4471
5078
  var planObject = _this.makePlanObject(selectedPlanObj, planType);
5079
+
4472
5080
  planObject["paymentType"] = get__default["default"](planObject, ["selectedPlan", "recurring"]) ? "omise_recurring" : "omise";
5081
+
4473
5082
  var paymentObject = _this.makePaymentObject(planObject);
5083
+
4474
5084
  var omise = get__default["default"](_this.props, ["paymentOptions", "omise"]);
5085
+
4475
5086
  if (!omise) {
4476
5087
  return Promise.reject({
4477
5088
  message: "Payment option is loading..."
4478
5089
  });
4479
5090
  }
5091
+
4480
5092
  return omise.proceed(paymentObject).then(function (response) {
4481
5093
  return response.proceed(paymentObject);
4482
5094
  });
4483
5095
  });
5096
+
4484
5097
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "initAdyenPayment", function () {
4485
5098
  var selectedPlanObj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4486
5099
  var planType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
4487
5100
  var AdyenModal = arguments.length > 2 ? arguments[2] : undefined;
4488
5101
  var locale = arguments.length > 3 ? arguments[3] : undefined;
5102
+
4489
5103
  var adyenExecutor = function adyenExecutor(resolve, reject) {
4490
5104
  if (!document.getElementById("adyen-modal")) {
4491
5105
  var modalElement = document.createElement("div");
4492
5106
  modalElement.setAttribute("id", "adyen-modal");
4493
5107
  document.body.appendChild(modalElement);
4494
5108
  }
5109
+
4495
5110
  var afterOpen = function afterOpen() {
4496
5111
  var planObject = _this.makePlanObject(selectedPlanObj, planType);
5112
+
4497
5113
  var isRecurring = get__default["default"](planObject, ["selectedPlan", "recurring"]);
4498
5114
  var paymentType = isRecurring ? "adyen_recurring" : "adyen";
5115
+
4499
5116
  var paymentObject = _this.makePaymentObject(_objectSpread(_objectSpread({}, planObject), {}, {
4500
5117
  paymentType: paymentType
4501
5118
  }));
5119
+
4502
5120
  var adyen = get__default["default"](_this.props, ["paymentOptions", "adyen"]);
4503
5121
  paymentObject = _objectSpread(_objectSpread({}, paymentObject), {}, {
4504
5122
  options: _objectSpread(_objectSpread({}, paymentObject["options"]), {}, {
@@ -4513,13 +5131,16 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4513
5131
  return response.proceed(paymentObject);
4514
5132
  }));
4515
5133
  };
5134
+
4516
5135
  ReactDOM__default["default"].render( /*#__PURE__*/React__default["default"].createElement(AdyenModal, {
4517
5136
  afterOpen: afterOpen,
4518
5137
  afterClose: reject
4519
5138
  }), document.getElementById("adyen-modal"));
4520
5139
  };
5140
+
4521
5141
  return new Promise(adyenExecutor);
4522
5142
  });
5143
+
4523
5144
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "pingBackMeteredStory", /*#__PURE__*/function () {
4524
5145
  var _ref12 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee10(asset, accessData) {
4525
5146
  return _regeneratorRuntime__default["default"].wrap(function _callee10$(_context10) {
@@ -4531,7 +5152,9 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4531
5152
  } catch (e) {
4532
5153
  console.log("error in pingbackAssetAccess", e);
4533
5154
  }
5155
+
4534
5156
  return _context10.abrupt("return", true);
5157
+
4535
5158
  case 2:
4536
5159
  case "end":
4537
5160
  return _context10.stop();
@@ -4539,13 +5162,16 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4539
5162
  }
4540
5163
  }, _callee10);
4541
5164
  }));
5165
+
4542
5166
  return function (_x6, _x7) {
4543
5167
  return _ref12.apply(this, arguments);
4544
5168
  };
4545
5169
  }());
5170
+
4546
5171
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "checkAccess", /*#__PURE__*/function () {
4547
5172
  var _ref13 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee11(assetId) {
4548
5173
  var asset, _yield$awaitHelper9, error, accessData, accessById, granted, grantReason, _accessData$data, data;
5174
+
4549
5175
  return _regeneratorRuntime__default["default"].wrap(function _callee11$(_context11) {
4550
5176
  while (1) {
4551
5177
  switch (_context11.prev = _context11.next) {
@@ -4554,35 +5180,48 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4554
5180
  _context11.next = 3;
4555
5181
  break;
4556
5182
  }
5183
+
4557
5184
  console.warn("AssetId is required");
4558
5185
  return _context11.abrupt("return", false);
5186
+
4559
5187
  case 3:
4560
5188
  _this.props.accessIsLoading(true);
5189
+
4561
5190
  asset = {
4562
5191
  id: assetId,
4563
5192
  type: "story"
4564
5193
  };
4565
5194
  _context11.next = 7;
4566
5195
  return awaitHelper(global.AccessType.isAssetAccessible(asset, _this.props.disableMetering));
5196
+
4567
5197
  case 7:
4568
5198
  _yield$awaitHelper9 = _context11.sent;
4569
5199
  error = _yield$awaitHelper9.error;
4570
5200
  accessData = _yield$awaitHelper9.data;
4571
5201
  accessById = _defineProperty__default["default"]({}, assetId, accessData);
5202
+
4572
5203
  _this.props.accessUpdated(accessById);
5204
+
4573
5205
  _this.props.accessIsLoading(false);
5206
+
4574
5207
  granted = accessData.granted, grantReason = accessData.grantReason, _accessData$data = accessData.data, data = _accessData$data === void 0 ? {} : _accessData$data;
5208
+
4575
5209
  if (!_this.props.disableMetering && granted && grantReason === "METERING") {
4576
5210
  _this.pingBackMeteredStory(asset, accessData);
5211
+
4577
5212
  _this.props.meterUpdated(data.numberRemaining || -1);
4578
5213
  }
5214
+
4579
5215
  if (!error) {
4580
5216
  _context11.next = 17;
4581
5217
  break;
4582
5218
  }
5219
+
4583
5220
  return _context11.abrupt("return", error);
5221
+
4584
5222
  case 17:
4585
5223
  return _context11.abrupt("return", accessById);
5224
+
4586
5225
  case 18:
4587
5226
  case "end":
4588
5227
  return _context11.stop();
@@ -4590,10 +5229,12 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4590
5229
  }
4591
5230
  }, _callee11);
4592
5231
  }));
5232
+
4593
5233
  return function (_x8) {
4594
5234
  return _ref13.apply(this, arguments);
4595
5235
  };
4596
5236
  }());
5237
+
4597
5238
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "getSubscriberMetadata", /*#__PURE__*/_asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee12() {
4598
5239
  var metadata;
4599
5240
  return _regeneratorRuntime__default["default"].wrap(function _callee12$(_context12) {
@@ -4604,13 +5245,17 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4604
5245
  _context12.next = 2;
4605
5246
  break;
4606
5247
  }
5248
+
4607
5249
  return _context12.abrupt("return", {});
5250
+
4608
5251
  case 2:
4609
5252
  _context12.next = 4;
4610
5253
  return awaitHelper(global.AccessType.getSubscriberMetadata());
5254
+
4611
5255
  case 4:
4612
5256
  metadata = _context12.sent;
4613
5257
  return _context12.abrupt("return", metadata);
5258
+
4614
5259
  case 6:
4615
5260
  case "end":
4616
5261
  return _context12.stop();
@@ -4618,6 +5263,7 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4618
5263
  }
4619
5264
  }, _callee12);
4620
5265
  })));
5266
+
4621
5267
  _defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "setSubscriberMetadata", /*#__PURE__*/function () {
4622
5268
  var _ref15 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee13(subscriberMetadata) {
4623
5269
  var response;
@@ -4629,13 +5275,17 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4629
5275
  _context13.next = 2;
4630
5276
  break;
4631
5277
  }
5278
+
4632
5279
  return _context13.abrupt("return", {});
5280
+
4633
5281
  case 2:
4634
5282
  _context13.next = 4;
4635
5283
  return awaitHelper(global.AccessType.setSubscriberMetadata(subscriberMetadata));
5284
+
4636
5285
  case 4:
4637
5286
  response = _context13.sent;
4638
5287
  return _context13.abrupt("return", response);
5288
+
4639
5289
  case 6:
4640
5290
  case "end":
4641
5291
  return _context13.stop();
@@ -4643,14 +5293,17 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4643
5293
  }
4644
5294
  }, _callee13);
4645
5295
  }));
5296
+
4646
5297
  return function (_x9) {
4647
5298
  return _ref15.apply(this, arguments);
4648
5299
  };
4649
5300
  }());
5301
+
4650
5302
  _this.prodHost = props.prodHost || "https://www.accesstype.com";
4651
5303
  _this.stagingHost = props.stagingHost || "https://staging.accesstype.com";
4652
5304
  return _this;
4653
5305
  }
5306
+
4654
5307
  _createClass__default["default"](AccessTypeBase, [{
4655
5308
  key: "componentDidMount",
4656
5309
  value: function componentDidMount() {
@@ -4660,34 +5313,34 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4660
5313
  key: "makePaymentObject",
4661
5314
  value: function makePaymentObject(_ref16) {
4662
5315
  var _ref16$selectedPlan = _ref16.selectedPlan,
4663
- selectedPlan = _ref16$selectedPlan === void 0 ? {} : _ref16$selectedPlan,
4664
- _ref16$couponCode = _ref16.couponCode,
4665
- couponCode = _ref16$couponCode === void 0 ? "" : _ref16$couponCode,
4666
- _ref16$recipientSubsc = _ref16.recipientSubscriber,
4667
- recipientSubscriber = _ref16$recipientSubsc === void 0 ? {} : _ref16$recipientSubsc,
4668
- _ref16$planType = _ref16.planType,
4669
- planType = _ref16$planType === void 0 ? "" : _ref16$planType,
4670
- _ref16$storyId = _ref16.storyId,
4671
- storyId = _ref16$storyId === void 0 ? "" : _ref16$storyId,
4672
- _ref16$storyHeadline = _ref16.storyHeadline,
4673
- storyHeadline = _ref16$storyHeadline === void 0 ? "" : _ref16$storyHeadline,
4674
- _ref16$storySlug = _ref16.storySlug,
4675
- storySlug = _ref16$storySlug === void 0 ? "" : _ref16$storySlug,
4676
- _ref16$paymentType = _ref16.paymentType,
4677
- paymentType = _ref16$paymentType === void 0 ? "" : _ref16$paymentType,
4678
- _ref16$successUrl = _ref16.successUrl,
4679
- successUrl = _ref16$successUrl === void 0 ? "" : _ref16$successUrl,
4680
- _ref16$returnUrl = _ref16.returnUrl,
4681
- returnUrl = _ref16$returnUrl === void 0 ? "" : _ref16$returnUrl,
4682
- _ref16$cancelUrl = _ref16.cancelUrl,
4683
- cancelUrl = _ref16$cancelUrl === void 0 ? "" : _ref16$cancelUrl;
5316
+ selectedPlan = _ref16$selectedPlan === void 0 ? {} : _ref16$selectedPlan,
5317
+ _ref16$couponCode = _ref16.couponCode,
5318
+ couponCode = _ref16$couponCode === void 0 ? "" : _ref16$couponCode,
5319
+ _ref16$recipientSubsc = _ref16.recipientSubscriber,
5320
+ recipientSubscriber = _ref16$recipientSubsc === void 0 ? {} : _ref16$recipientSubsc,
5321
+ _ref16$planType = _ref16.planType,
5322
+ planType = _ref16$planType === void 0 ? "" : _ref16$planType,
5323
+ _ref16$storyId = _ref16.storyId,
5324
+ storyId = _ref16$storyId === void 0 ? "" : _ref16$storyId,
5325
+ _ref16$storyHeadline = _ref16.storyHeadline,
5326
+ storyHeadline = _ref16$storyHeadline === void 0 ? "" : _ref16$storyHeadline,
5327
+ _ref16$storySlug = _ref16.storySlug,
5328
+ storySlug = _ref16$storySlug === void 0 ? "" : _ref16$storySlug,
5329
+ _ref16$paymentType = _ref16.paymentType,
5330
+ paymentType = _ref16$paymentType === void 0 ? "" : _ref16$paymentType,
5331
+ _ref16$successUrl = _ref16.successUrl,
5332
+ successUrl = _ref16$successUrl === void 0 ? "" : _ref16$successUrl,
5333
+ _ref16$returnUrl = _ref16.returnUrl,
5334
+ returnUrl = _ref16$returnUrl === void 0 ? "" : _ref16$returnUrl,
5335
+ _ref16$cancelUrl = _ref16.cancelUrl,
5336
+ cancelUrl = _ref16$cancelUrl === void 0 ? "" : _ref16$cancelUrl;
4684
5337
  var id = selectedPlan.id,
4685
- title = selectedPlan.title,
4686
- description = selectedPlan.description,
4687
- price_cents = selectedPlan.price_cents,
4688
- price_currency = selectedPlan.price_currency,
4689
- duration_length = selectedPlan.duration_length,
4690
- duration_unit = selectedPlan.duration_unit;
5338
+ title = selectedPlan.title,
5339
+ description = selectedPlan.description,
5340
+ price_cents = selectedPlan.price_cents,
5341
+ price_currency = selectedPlan.price_currency,
5342
+ duration_length = selectedPlan.duration_length,
5343
+ duration_unit = selectedPlan.duration_unit;
4691
5344
  var paymentObject = {
4692
5345
  type: planType,
4693
5346
  plan: {
@@ -4711,6 +5364,7 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4711
5364
  slug: storySlug
4712
5365
  }],
4713
5366
  recipient_subscriber: recipientSubscriber //for gift subscription
5367
+
4714
5368
  };
4715
5369
 
4716
5370
  if ((successUrl || returnUrl) && cancelUrl) {
@@ -4718,12 +5372,14 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4718
5372
  paymentObject.options.urls = {
4719
5373
  cancel_url: cancelUrl
4720
5374
  };
5375
+
4721
5376
  if (returnUrl) {
4722
5377
  paymentObject.options.urls["return_url"] = returnUrl;
4723
5378
  } else {
4724
5379
  paymentObject.options.urls["success_url"] = successUrl;
4725
5380
  }
4726
5381
  }
5382
+
4727
5383
  return paymentObject;
4728
5384
  }
4729
5385
  }, {
@@ -4749,8 +5405,8 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4749
5405
  storyHeadline: storyHeadline,
4750
5406
  storySlug: storySlug
4751
5407
  };
4752
- }
4753
- //TODO -> need to write test cases to cover all scenarios , selectedPlan, planType , coupon, urls, story details etc.
5408
+ } //TODO -> need to write test cases to cover all scenarios , selectedPlan, planType , coupon, urls, story details etc.
5409
+
4754
5410
  }, {
4755
5411
  key: "render",
4756
5412
  value: function render() {
@@ -4774,8 +5430,10 @@ var AccessTypeBase = /*#__PURE__*/function (_React$Component) {
4774
5430
  });
4775
5431
  }
4776
5432
  }]);
5433
+
4777
5434
  return AccessTypeBase;
4778
5435
  }(React__default["default"].Component);
5436
+
4779
5437
  var mapStateToProps$1 = function mapStateToProps(state) {
4780
5438
  return {
4781
5439
  subscriptions: state.subscriptions || null,
@@ -4783,6 +5441,7 @@ var mapStateToProps$1 = function mapStateToProps(state) {
4783
5441
  assetPlans: state.assetPlans || null
4784
5442
  };
4785
5443
  };
5444
+
4786
5445
  var mapDispatchToProps$1 = function mapDispatchToProps(dispatch) {
4787
5446
  return {
4788
5447
  subscriptionGroupLoaded: function subscriptionGroupLoaded(subscriptions) {
@@ -4829,7 +5488,6 @@ var mapDispatchToProps$1 = function mapDispatchToProps(dispatch) {
4829
5488
  }
4830
5489
  };
4831
5490
  };
4832
-
4833
5491
  /**
4834
5492
  * `AccessType` is a generic connected render prop which exposes methods to handle access to stories / assets and initialize AccessTypeJS.
4835
5493
 
@@ -4983,6 +5641,8 @@ var mapDispatchToProps$1 = function mapDispatchToProps(dispatch) {
4983
5641
  * @component
4984
5642
  * @category Subscription
4985
5643
  */
5644
+
5645
+
4986
5646
  var AccessType = /*#__PURE__*/reactRedux.connect(mapStateToProps$1, mapDispatchToProps$1)(AccessTypeBase);
4987
5647
 
4988
5648
  function getSize(sizeMap) {
@@ -4993,7 +5653,6 @@ function getSize(sizeMap) {
4993
5653
  if (screenWidth < 992) return sizeMap["tablet"];
4994
5654
  return sizeMap["desktop"];
4995
5655
  }
4996
-
4997
5656
  /**
4998
5657
  * This component can be used to get ads from `Adbutler` ad service provider based on the `adtype` you want to show
4999
5658
  *
@@ -5027,21 +5686,25 @@ function getSize(sizeMap) {
5027
5686
  * @component
5028
5687
  * @category Ads
5029
5688
  */
5689
+
5690
+
5030
5691
  function AdbutlerAd(_ref) {
5031
5692
  var adtype = _ref.adtype,
5032
- adbutlerConfig = _ref.adbutlerConfig,
5033
- sizes = _ref.sizes;
5693
+ adbutlerConfig = _ref.adbutlerConfig,
5694
+ sizes = _ref.sizes;
5034
5695
  var _adbutlerConfig$publi = adbutlerConfig.publisherId,
5035
- publisherId = _adbutlerConfig$publi === void 0 ? "" : _adbutlerConfig$publi,
5036
- _adbutlerConfig$adtyp = adbutlerConfig[adtype],
5037
- zoneId = _adbutlerConfig$adtyp === void 0 ? "" : _adbutlerConfig$adtyp;
5696
+ publisherId = _adbutlerConfig$publi === void 0 ? "" : _adbutlerConfig$publi,
5697
+ _adbutlerConfig$adtyp = adbutlerConfig[adtype],
5698
+ zoneId = _adbutlerConfig$adtyp === void 0 ? "" : _adbutlerConfig$adtyp;
5038
5699
  var sizeMap = sizes[adtype];
5039
5700
  var size = getSize(sizeMap);
5701
+
5040
5702
  var _size = _slicedToArray__default["default"](size, 2),
5041
- _size$ = _size[0],
5042
- width = _size$ === void 0 ? 0 : _size$,
5043
- _size$2 = _size[1],
5044
- height = _size$2 === void 0 ? 0 : _size$2;
5703
+ _size$ = _size[0],
5704
+ width = _size$ === void 0 ? 0 : _size$,
5705
+ _size$2 = _size[1],
5706
+ height = _size$2 === void 0 ? 0 : _size$2;
5707
+
5045
5708
  var src = "https://servedbyadbutler.com/adserve/;ID=".concat(publisherId, ";size=").concat(width, "x").concat(height, ";setID=").concat(zoneId, ";type=iframe;click=CLICK_MACRO_PLACEHOLDER");
5046
5709
  var hasSize = size.length;
5047
5710
  return /*#__PURE__*/React__default["default"].createElement("div", {
@@ -5061,30 +5724,32 @@ function AdbutlerAd(_ref) {
5061
5724
 
5062
5725
  function WithHostUrlBase(_ref) {
5063
5726
  var children = _ref.children,
5064
- primaryHostUrl = _ref.primaryHostUrl,
5065
- currentHostUrl = _ref.currentHostUrl;
5727
+ primaryHostUrl = _ref.primaryHostUrl,
5728
+ currentHostUrl = _ref.currentHostUrl;
5066
5729
  return children({
5067
5730
  primaryHostUrl: primaryHostUrl,
5068
5731
  currentHostUrl: currentHostUrl
5069
5732
  });
5070
5733
  }
5734
+
5071
5735
  WithHostUrlBase.propTypes = {
5072
5736
  children: propTypes.func.isRequired,
5073
5737
  primaryHostUrl: propTypes.string,
5074
5738
  currentHostUrl: propTypes.string
5075
5739
  };
5740
+
5076
5741
  function mapStateToProps(_ref2) {
5077
5742
  var _ref2$qt = _ref2.qt,
5078
- qt = _ref2$qt === void 0 ? {} : _ref2$qt;
5743
+ qt = _ref2$qt === void 0 ? {} : _ref2$qt;
5079
5744
  return {
5080
5745
  primaryHostUrl: qt.primaryHostUrl,
5081
5746
  currentHostUrl: qt.currentHostUrl
5082
5747
  };
5083
5748
  }
5749
+
5084
5750
  function mapDispatchToProps(dispatch) {
5085
5751
  return {};
5086
5752
  }
5087
-
5088
5753
  /**
5089
5754
  * This component can be used to get access to the `currentHostUrl` and `primaryHostUrl`, as configured within the editor.
5090
5755
  *
@@ -5102,6 +5767,8 @@ function mapDispatchToProps(dispatch) {
5102
5767
  * @component
5103
5768
  * @category Other
5104
5769
  */
5770
+
5771
+
5105
5772
  var WithHostUrl = /*#__PURE__*/reactRedux.connect(mapStateToProps, mapDispatchToProps)(WithHostUrlBase);
5106
5773
 
5107
5774
  /**
@@ -5119,11 +5786,13 @@ var WithHostUrl = /*#__PURE__*/reactRedux.connect(mapStateToProps, mapDispatchTo
5119
5786
  * @component
5120
5787
  * @category Other
5121
5788
  */
5789
+
5122
5790
  var WithClientSideOnly = /*#__PURE__*/reactRedux.connect(mapStateToProps$9, mapDispatchToProps$6)(WithClientSideOnlyBase);
5791
+
5123
5792
  function WithClientSideOnlyBase(_ref) {
5124
5793
  var _ref$clientSideRender = _ref.clientSideRendered,
5125
- clientSideRendered = _ref$clientSideRender === void 0 ? false : _ref$clientSideRender,
5126
- children = _ref.children;
5794
+ clientSideRendered = _ref$clientSideRender === void 0 ? false : _ref$clientSideRender,
5795
+ children = _ref.children;
5127
5796
  return children({
5128
5797
  clientSideRendered: clientSideRendered
5129
5798
  });
@@ -5132,6 +5801,7 @@ function WithClientSideOnlyBase(_ref) {
5132
5801
  /**
5133
5802
  * @module Reducers
5134
5803
  */
5804
+
5135
5805
  function setToTrueOnEvent() {
5136
5806
  var events = Array.from(arguments);
5137
5807
  return function () {
@@ -5140,142 +5810,185 @@ function setToTrueOnEvent() {
5140
5810
  return state || events.includes(action.type);
5141
5811
  };
5142
5812
  }
5813
+
5143
5814
  function breakingNewsReducer() {
5144
5815
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5145
5816
  var action = arguments.length > 1 ? arguments[1] : undefined;
5817
+
5146
5818
  switch (action.type) {
5147
5819
  case BREAKING_NEWS_UPDATED:
5148
5820
  return action.stories;
5821
+
5149
5822
  default:
5150
5823
  return state;
5151
5824
  }
5152
5825
  }
5826
+
5153
5827
  var breakingNewsLoadedReducer = /*#__PURE__*/setToTrueOnEvent(BREAKING_NEWS_UPDATED);
5154
5828
  var clientSideRenderedReducer = /*#__PURE__*/setToTrueOnEvent(CLIENT_SIDE_RENDERED);
5829
+
5155
5830
  function pageLoadingReducer() {
5156
5831
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5157
5832
  var action = arguments.length > 1 ? arguments[1] : undefined;
5833
+
5158
5834
  switch (action.type) {
5159
5835
  case PAGE_LOADING:
5160
5836
  return true;
5837
+
5161
5838
  case NAVIGATE_TO_PAGE:
5162
5839
  return false;
5840
+
5163
5841
  case PAGE_FINISHED_LOADING:
5164
5842
  return false;
5843
+
5165
5844
  default:
5166
5845
  return state;
5167
5846
  }
5168
5847
  }
5848
+
5169
5849
  function hamburgerOpenedReducer() {
5170
5850
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
5171
5851
  var action = arguments.length > 1 ? arguments[1] : undefined;
5852
+
5172
5853
  switch (action.type) {
5173
5854
  case HAMBURGER_CLICKED:
5174
5855
  return true;
5856
+
5175
5857
  case HAMBURGER_CLOSED:
5176
5858
  return false;
5859
+
5177
5860
  case NAVIGATE_TO_PAGE:
5178
5861
  return false;
5862
+
5179
5863
  default:
5180
5864
  return state;
5181
5865
  }
5182
5866
  }
5867
+
5183
5868
  function memberReducer() {
5184
5869
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5185
5870
  var action = arguments.length > 1 ? arguments[1] : undefined;
5871
+
5186
5872
  switch (action.type) {
5187
5873
  case MEMBER_UPDATED:
5188
5874
  return action.member;
5875
+
5189
5876
  default:
5190
5877
  return state;
5191
5878
  }
5192
5879
  }
5880
+
5193
5881
  function memberLoadingReducer() {
5194
5882
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
5195
5883
  var action = arguments.length > 1 ? arguments[1] : undefined;
5884
+
5196
5885
  switch (action.type) {
5197
5886
  case MEMBER_BEING_LOADED:
5198
5887
  return true;
5888
+
5199
5889
  case MEMBER_UPDATED:
5200
5890
  return false;
5891
+
5201
5892
  default:
5202
5893
  return state;
5203
5894
  }
5204
5895
  }
5896
+
5205
5897
  function subscriptionReducer() {
5206
5898
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5207
5899
  var action = arguments.length > 1 ? arguments[1] : undefined;
5900
+
5208
5901
  switch (action.type) {
5209
5902
  case SUBSCRIPTION_GROUP_UPDATED:
5210
5903
  return action.subscriptions;
5904
+
5211
5905
  default:
5212
5906
  return state;
5213
5907
  }
5214
5908
  }
5909
+
5215
5910
  function paymentOptionsReducer() {
5216
5911
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5217
5912
  var action = arguments.length > 1 ? arguments[1] : undefined;
5913
+
5218
5914
  switch (action.type) {
5219
5915
  case PAYMENT_OPTIONS_UPDATED:
5220
5916
  return action.paymentOptions;
5917
+
5221
5918
  default:
5222
5919
  return state;
5223
5920
  }
5224
5921
  }
5922
+
5225
5923
  function accessLoadingReducer() {
5226
5924
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
5227
5925
  var action = arguments.length > 1 ? arguments[1] : undefined;
5926
+
5228
5927
  switch (action.type) {
5229
5928
  case ACCESS_BEING_LOADED:
5230
5929
  return action.loading;
5930
+
5231
5931
  default:
5232
5932
  return state;
5233
5933
  }
5234
5934
  }
5935
+
5235
5936
  function accessReducer() {
5236
5937
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5237
5938
  var action = arguments.length > 1 ? arguments[1] : undefined;
5939
+
5238
5940
  switch (action.type) {
5239
5941
  case ACCESS_UPDATED:
5240
5942
  return computeAccess(state, action);
5943
+
5241
5944
  default:
5242
5945
  return state;
5243
5946
  }
5244
5947
  }
5948
+
5245
5949
  function meteringReducer() {
5246
5950
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;
5247
5951
  var action = arguments.length > 1 ? arguments[1] : undefined;
5952
+
5248
5953
  switch (action.type) {
5249
5954
  case METER_UPDATED:
5250
5955
  return action.meterCount;
5956
+
5251
5957
  default:
5252
5958
  return state;
5253
5959
  }
5254
5960
  }
5961
+
5255
5962
  function assetPlansReducer() {
5256
5963
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5257
5964
  var action = arguments.length > 1 ? arguments[1] : undefined;
5965
+
5258
5966
  switch (action.type) {
5259
5967
  case ASSET_PLANS:
5260
5968
  return action.assetPlans;
5969
+
5261
5970
  default:
5262
5971
  return state;
5263
5972
  }
5264
5973
  }
5974
+
5265
5975
  function campaignSubscriptionReducer() {
5266
5976
  var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5267
5977
  var action = arguments.length > 1 ? arguments[1] : undefined;
5978
+
5268
5979
  switch (action.type) {
5269
5980
  case CAMPAIGN_SUBSCRIPTION_GROUP_UPDATED:
5270
5981
  return action.campaignSubscriptions;
5982
+
5271
5983
  default:
5272
5984
  return state;
5273
5985
  }
5274
5986
  }
5275
-
5276
5987
  /**
5277
5988
  * ComponentReducers is a list of reducers that are needed by the various components included
5278
5989
  */
5990
+
5991
+
5279
5992
  var ComponentReducers = {
5280
5993
  breakingNews: breakingNewsReducer,
5281
5994
  breakingNewsLoaded: breakingNewsLoadedReducer,