pageflow 12.2.0 → 12.3.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pageflow might be problematic. Click here for more details.

Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -92
  3. data/admins/pageflow/accounts.rb +1 -0
  4. data/app/assets/audios/pageflow/unmute.mp3 +0 -0
  5. data/app/assets/javascripts/pageflow/asset_urls.js.erb +1 -1
  6. data/app/assets/javascripts/pageflow/audio/multi_player.js +4 -0
  7. data/app/assets/javascripts/pageflow/audio_player.js +1 -1
  8. data/app/assets/javascripts/pageflow/background_media.js +22 -0
  9. data/app/assets/javascripts/pageflow/base.js +2 -0
  10. data/app/assets/javascripts/pageflow/browser/agent.js +92 -78
  11. data/app/assets/javascripts/pageflow/browser/autoplay_support.js +2 -2
  12. data/app/assets/javascripts/pageflow/cookie_notice.js +7 -0
  13. data/app/assets/javascripts/pageflow/dist/react.js +1312 -329
  14. data/app/assets/javascripts/pageflow/editor/models/configuration.js +5 -5
  15. data/app/assets/javascripts/pageflow/editor/templates/background_positioning_sliders.jst.ejs +8 -0
  16. data/app/assets/javascripts/pageflow/editor/views/background_positioning_sliders_view.js +37 -23
  17. data/app/assets/javascripts/pageflow/editor/views/background_positioning_view.js +2 -2
  18. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +1 -1
  19. data/app/assets/javascripts/pageflow/editor/views/edit_widget_view.js +9 -0
  20. data/app/assets/javascripts/pageflow/editor/views/info_box_view.js +8 -0
  21. data/app/assets/javascripts/pageflow/editor/views/widget_types/cookie_notice_bar.js +15 -0
  22. data/app/assets/javascripts/pageflow/media_player.js +7 -3
  23. data/app/assets/javascripts/pageflow/media_player/handle_failed_play.js +34 -0
  24. data/app/assets/javascripts/pageflow/media_player/volume_fading/web_audio.js +29 -3
  25. data/app/assets/javascripts/pageflow/seed_entry_data.js +3 -3
  26. data/app/assets/javascripts/pageflow/slideshow.js +17 -9
  27. data/app/assets/javascripts/pageflow/slideshow/adjacent_pages.js +7 -2
  28. data/app/assets/javascripts/pageflow/slideshow/adjacent_preloader.js +26 -0
  29. data/app/assets/javascripts/pageflow/slideshow/atmo.js +23 -12
  30. data/app/assets/javascripts/pageflow/slideshow/lazy_page_widget.js +2 -2
  31. data/app/assets/javascripts/pageflow/slideshow/{adjacent_preparer.js → successor_preparer.js} +14 -11
  32. data/app/assets/javascripts/pageflow/ui/views/configuration_editor_view.js +2 -2
  33. data/app/assets/javascripts/pageflow/video_player/lazy.js +1 -1
  34. data/app/assets/javascripts/pageflow/visited.js +2 -0
  35. data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +34 -10
  36. data/app/assets/stylesheets/pageflow/page_types/video.scss +1 -4
  37. data/app/assets/stylesheets/pageflow/page_types/video/mobile_poster.scss +15 -0
  38. data/app/assets/stylesheets/pageflow/themes/default/background_media_unmute_button.scss +68 -0
  39. data/app/assets/stylesheets/pageflow/themes/default/base.scss +2 -0
  40. data/app/assets/stylesheets/pageflow/themes/default/cookie_notice_bar.scss +57 -0
  41. data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -0
  42. data/app/assets/stylesheets/pageflow/themes/default/page/hyphenate.scss +24 -0
  43. data/app/assets/stylesheets/pageflow/themes/default/slideshow.scss +1 -0
  44. data/app/controllers/pageflow/admin/initial_passwords_controller.rb +8 -0
  45. data/app/helpers/pageflow/common_entry_seed_helper.rb +1 -0
  46. data/app/helpers/pageflow/entries_helper.rb +20 -2
  47. data/app/helpers/pageflow/entry_json_seed_helper.rb +1 -1
  48. data/app/helpers/pageflow/public_i18n_helper.rb +6 -1
  49. data/app/views/admin/accounts/_form.html.erb +1 -0
  50. data/app/views/pageflow/admin/initial_passwords/edit.html.erb +16 -0
  51. data/app/views/pageflow/entry_json_seed/_entry.json.jbuilder +1 -1
  52. data/app/views/pageflow/user_mailer/invitation.html.erb +2 -2
  53. data/app/views/pageflow/user_mailer/invitation.text.erb +1 -1
  54. data/config/locales/de.yml +14 -6
  55. data/config/locales/en.yml +16 -8
  56. data/config/routes.rb +6 -0
  57. data/db/migrate/20180528144334_add_privacy_link_url_to_themings.rb +5 -0
  58. data/lib/pageflow/built_in_widget_type.rb +8 -0
  59. data/lib/pageflow/built_in_widget_types_plugin.rb +2 -0
  60. data/lib/pageflow/version.rb +1 -1
  61. data/vendor/assets/javascripts/audio5.min.js +280 -129
  62. metadata +19 -7
  63. data/app/assets/javascripts/pageflow/media_player/catch_play_promise.js +0 -23
  64. data/app/assets/javascripts/pageflow/slideshow/progressive_preload.js +0 -42
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7ef59fab5de1f798ce8e9435e7581bb71ebd39a88104463fdc0d4b9f01effc1
4
- data.tar.gz: e4915f75690ccb2c9edc4a9a61edeab57cb45f90cf6986054532a8846441aa01
3
+ metadata.gz: 325b406e4e3c6ecd287218fb90f8d816ecc38dcbbe61bd06f46ea2c425fc0d24
4
+ data.tar.gz: 2ba02a6102d47686e152c56eea3b341fa475d6caab3b75088c7347339416e99f
5
5
  SHA512:
6
- metadata.gz: a003f4a6925960118ee8ed409f2b9d58279a5147cd00b8c72d3b922fbe7f22b0c9257da209fa02a9ea261720626f3603a0c1576bd57f0f7e8563785a13779bf8
7
- data.tar.gz: a225941f0a98abfbee9bae57d74c655602c3ca0adfbc470f2b978d254c4831adb9926202a499c6d34a8b6e243029129682359bb8e886b1016b0d5fd5ca09b32d
6
+ metadata.gz: 5c3d6a1f7558d3049171d39999363b04ffd1c30c16828f55f7fc413e4ae4be60003ca95bd21d636c90b3bef17a4e158eb7a492092decfafd005c8ffcf5c9c633
7
+ data.tar.gz: 6b25b2cdc19febedf21b6b0deebe6b1f8b9718c38a3bb47ac62e05caa37fe7cb7885b67b6e099121f0b06b1b2ba2206da6bab32b1789562689c6eb258c466d8b
data/CHANGELOG.md CHANGED
@@ -1,107 +1,54 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 12.2.0
4
-
5
- 2018-07-27
6
-
7
- [Compare changes](https://github.com/codevise/pageflow/compare/12-1-stable...v12.2.0)
8
-
9
- ##### Pubic Site
10
-
11
- - Mute background videos to fix autoplay on Safari 11
12
- ([#960](https://github.com/codevise/pageflow/pull/960))
13
- - Add support for locales with right to left script
14
- ([#954](https://github.com/codevise/pageflow/pull/954))
15
- - Improve content links to pages of entry
16
- ([#953](https://github.com/codevise/pageflow/pull/953))
17
- - Fallback to page title in overview page description
18
- ([#951](https://github.com/codevise/pageflow/pull/951))
19
- - Bug fix: Fix page transition effects in Chrome 66 and above
20
- ([#971](https://github.com/codevise/pageflow/pull/971))
21
- - Bug fix: Improve tracking of visited pages
22
- ([#965](https://github.com/codevise/pageflow/pull/965))
23
- - Bug fix: Fix "hide text" swipe gesture for react page types
24
- ([#919](https://github.com/codevise/pageflow/pull/919))
25
-
26
- ##### Admin
27
-
28
- - Bug fix: Extend user management permissions in single account mode
29
- ([#934](https://github.com/codevise/pageflow/pull/934))
30
- - Bug fix: Fix filtering in searchable theming select in entry form
31
- ([#947](https://github.com/codevise/pageflow/pull/947))
3
+ ### Version 12.3.0
4
+
5
+ 2018-10-30
6
+
7
+ [Compare changes](https://github.com/codevise/pageflow/compare/12-2-stable...v12.3.0)
8
+
9
+ ##### Public Site
10
+
11
+ - Allow displaying cookie notice
12
+ ([#998](https://github.com/codevise/pageflow/pull/998),
13
+ [#986](https://github.com/codevise/pageflow/pull/986))
14
+ - Make video prebuffering less eager
15
+ ([#1056](https://github.com/codevise/pageflow/pull/1056),
16
+ [#1054](https://github.com/codevise/pageflow/pull/1054),
17
+ [#1000](https://github.com/codevise/pageflow/pull/1000))
18
+ - Unmute button to enable autoplay background media
19
+ ([#1018](https://github.com/codevise/pageflow/pull/1018),
20
+ [#1015](https://github.com/codevise/pageflow/pull/1015))
21
+ - Lazy web audio setup for Chrome 71
22
+ ([#1017](https://github.com/codevise/pageflow/pull/1017),
23
+ [#1016](https://github.com/codevise/pageflow/pull/1016))
24
+ - Bug fix: Allow positioning of mobile video poster
25
+ ([#996](https://github.com/codevise/pageflow/pull/996))
26
+ - Bug fix: Ensure mobile video poster is displayed on Android
27
+ ([#994](https://github.com/codevise/pageflow/pull/994))
28
+ - Bug fix: Ignore invalid page perma id hash
29
+ ([#1058](https://github.com/codevise/pageflow/pull/1058))
32
30
 
33
31
  ##### Themes
34
32
 
35
- - New variable to determine size of glowing area
36
- ([#921](https://github.com/codevise/pageflow/pull/921))
37
- - Move page padding from legacy styles to theme
38
- ([#935](https://github.com/codevise/pageflow/pull/935))
39
- - Extract shadow and scroller styles from page theme
40
- ([#972](https://github.com/codevise/pageflow/pull/972))
41
- - Variable for color of title on inverted pages
42
- ([#969](https://github.com/codevise/pageflow/pull/969))
43
- - Typo variables for multimedia alert
44
- ([#966](https://github.com/codevise/pageflow/pull/966))
45
- - Allow setting phone height on background image logo variant
46
- ([#964](https://github.com/codevise/pageflow/pull/964))
47
- - Fixed wrong variable for page-header-title
48
- ([#962](https://github.com/codevise/pageflow/pull/962))
49
- - Image variants for logo & loading spinner
50
- ([#961](https://github.com/codevise/pageflow/pull/961))
51
- - Logo banner & logo svg option
52
- ([#958](https://github.com/codevise/pageflow/pull/958))
53
- - Add logical layout mixins for borders and paddings
54
- ([#956](https://github.com/codevise/pageflow/pull/956))
55
- - Variable for watermark logo opacity
56
- ([#946](https://github.com/codevise/pageflow/pull/946))
33
+ - Hyphenate narrow headers by default
34
+ ([#999](https://github.com/codevise/pageflow/pull/999))
57
35
 
58
- ##### Rails Engine
36
+ ##### Admin
59
37
 
60
- - Allow registering admin attributes table rows
61
- ([#928](https://github.com/codevise/pageflow/pull/928))
62
- - Add page split layout utility methods
63
- ([#920](https://github.com/codevise/pageflow/pull/920))
64
- - Add dominos to pageflow-support to test admin features
65
- ([#931](https://github.com/codevise/pageflow/pull/931))
66
- - Add color picker input view
67
- ([#788](https://github.com/codevise/pageflow/pull/788))
68
- - Add defaultValueBinding option to color input view
69
- ([#959](https://github.com/codevise/pageflow/pull/959))
70
- - Allow integrating with Krant app news
71
- ([#918](https://github.com/codevise/pageflow/pull/918))
72
- - Developer console
73
- ([#925](https://github.com/codevise/pageflow/pull/925))
74
- - Log rescued exceptions on debug level
75
- ([#900](https://github.com/codevise/pageflow/pull/900))
38
+ - Improve initial password workflow for invitations
39
+ ([#1001](https://github.com/codevise/pageflow/pull/1001))
76
40
 
77
- ##### Documentation
41
+ ##### Edtior
78
42
 
79
- - Update page type and widget type creation guides
80
- ([#917](https://github.com/codevise/pageflow/pull/917))
81
- - Update `setting_up_s3_bucket_policies.md`
82
- ([#902](https://github.com/codevise/pageflow/pull/902))
83
- - Improve readme/add code of conduct
84
- ([#936](https://github.com/codevise/pageflow/pull/936))
85
- - Typos fixed
86
- ([#924](https://github.com/codevise/pageflow/pull/924))
43
+ - Add percent inputs to background positioning view
44
+ ([#997](https://github.com/codevise/pageflow/pull/997))
87
45
 
88
46
  ##### Internal
89
47
 
90
- - Replace phantomjs with headless chrome
91
- ([#952](https://github.com/codevise/pageflow/pull/952))
92
- - Remove rubygems 2.7.0 dummy app generation fix
93
- ([#916](https://github.com/codevise/pageflow/pull/916))
94
- - Use teaspoon fork from pageflow branch
95
- ([#927](https://github.com/codevise/pageflow/pull/927))
96
- - Update rubocop
97
- ([#929](https://github.com/codevise/pageflow/pull/929))
98
- - Fix jquery error in node_package specs on travis
99
- ([#948](https://github.com/codevise/pageflow/pull/948))
100
- - Remove unused domino and matcher methods
101
- ([#945](https://github.com/codevise/pageflow/pull/945))
102
- - Remove todo comments
103
- ([#937](https://github.com/codevise/pageflow/pull/937))
48
+ - Decouple node package specs from pageflow.backgroundmedia
49
+ ([#1057](https://github.com/codevise/pageflow/pull/1057),
50
+ [#1052](https://github.com/codevise/pageflow/pull/1052))
104
51
 
105
52
  See
106
- [12-1-stable branch](https://github.com/codevise/pageflow/blob/12-1-stable/CHANGELOG.md)
53
+ [12-2-stable branch](https://github.com/codevise/pageflow/blob/12-2-stable/CHANGELOG.md)
107
54
  for previous changes.
@@ -140,6 +140,7 @@ module Pageflow
140
140
  :imprint_link_label,
141
141
  :copyright_link_url,
142
142
  :copyright_link_label,
143
+ :privacy_link_url,
143
144
  :home_url,
144
145
  :home_button_enabled_by_default,
145
146
  :default_author,
@@ -1,7 +1,7 @@
1
1
  pageflow.assetUrls = {
2
+ unmuteSound: '<%= asset_path("pageflow/unmute.mp3") %>',
2
3
  largeBandwidthProbe: '<%= Rails.env.test? ? asset_path("bandwidth_probe_large.png") : "//#{File.join(Pageflow.config.zencoder_options[:s3_host_alias], "bandwidth_probe_large.png")}" %>',
3
4
  smallBandwidthProbe: '<%= Rails.env.test? ? asset_path("bandwidth_probe_small.png") : "//#{File.join(Pageflow.config.zencoder_options[:s3_host_alias], "bandwidth_probe_small.png")}" %>',
4
- audioSwf: '<%= asset_path "pageflow/audio5js.swf" %>',
5
5
  emptyMp4: '<%= asset_path "pageflow/empty.mp4" %>',
6
6
  emptyWebm: '<%= asset_path "pageflow/empty.webm" %>'
7
7
  };
@@ -128,6 +128,10 @@ pageflow.Audio.MultiPlayer = function(pool, options) {
128
128
  that.listenTo(player, 'ended', function() {
129
129
  that.trigger('ended', {audioFileId: id});
130
130
  });
131
+
132
+ that.listenTo(player, 'playfailed', function() {
133
+ that.trigger('playfailed', {audioFileId: id});
134
+ });
131
135
  }
132
136
 
133
137
  function stopEventPropagation(player) {
@@ -40,7 +40,7 @@ pageflow.AudioPlayer = function(sources, options) {
40
40
  swf_path: pageflow.assetUrls.audioSwf,
41
41
  throw_errors: false,
42
42
  format_time: false,
43
- codecs: ['vorbis', 'mp4', 'mp3'],
43
+ codecs: options.codecs || ['vorbis', 'mp4', 'mp3'],
44
44
  ready: ready.resolve,
45
45
  loop: options.loop
46
46
  });
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Mute feature settings for background media (ATMO and background videos)
3
+ *
4
+ * @since 12.3
5
+ */
6
+ pageflow.backgroundMedia = {
7
+ muted: false,
8
+
9
+ unmute: function() {
10
+ if (this.muted) {
11
+ this.muted = false;
12
+ pageflow.events.trigger('background_media:unmute');
13
+ }
14
+ },
15
+
16
+ mute: function() {
17
+ if (!this.muted) {
18
+ this.muted = true;
19
+ pageflow.events.trigger('background_media:mute');
20
+ }
21
+ }
22
+ };
@@ -10,9 +10,11 @@
10
10
  //= require_self
11
11
 
12
12
  //= require ./object
13
+ //= require ./background_media
13
14
  //= require ./entry_data
14
15
  //= require ./seed_entry_data
15
16
  //= require ./cookies
17
+ //= require ./cookie_notice
16
18
  //= require ./events
17
19
  //= require ./page_type
18
20
  //= require ./page_transitions
@@ -2,83 +2,97 @@
2
2
  * Detect browser via user agent. Use only if feature detection is not
3
3
  * an option.
4
4
  */
5
- pageflow.browser.agent = {
6
- matchesSilk: function() {
7
- return navigator.userAgent.match(/\bSilk\b/);
8
- },
9
-
10
- matchesDesktopSafari9: function() {
11
- return this.matchesSafari9() && !this.matchesMobilePlatform();
12
- },
13
-
14
- matchesDesktopSafari10: function() {
15
- return this.matchesSafari10() && !this.matchesMobilePlatform();
16
- },
17
-
18
- matchesSafari9: function() {
19
- return this.matchesSafari() &&
20
- this._matches(/Version\/9/i);
21
- },
22
-
23
- matchesSafari10: function() {
24
- return this.matchesSafari() &&
25
- this._matches(/Version\/10/i);
26
- },
27
-
28
- matchesSafari11: function() {
29
- return this.matchesSafari() &&
30
- this._matches(/Version\/11/i);
31
- },
32
-
33
- matchesSafari: function() {
34
- // - Chrome also reports to be a Safari
35
- // - Safari does not report to be a Chrome
36
- // - Edge also reports to be a Safari, but also reports to be Chrome
37
- return this._matches(/Safari\//i) &&
38
- !this._matches(/Chrome/i);
39
- },
40
-
41
- /**
42
- * Returns true on iOS Safari.
43
- * @return {boolean}
44
- */
45
- matchesMobileSafari: function() {
46
- var matchers = [/iPod/i, /iPad/i, /iPhone/i];
47
-
48
- return _.any(matchers, function(matcher) {
49
- return navigator.userAgent.match(matcher);
50
- });
51
- },
52
-
53
- /**
54
- * Returns true on iOS or Android.
55
- * @return {boolean}
56
- */
57
- matchesMobilePlatform: function() {
58
- var matchers = [/iPod/i, /iPad/i, /iPhone/i, /Android/i, /Silk/i, /IEMobile/i];
59
-
60
- return _.any(matchers, function(matcher) {
61
- return navigator.userAgent.match(matcher);
62
- });
63
- },
64
-
65
- /**
66
- * Returns true on Internet Explorser version 9, 10 and 11.
67
- * @return {boolean}
68
- */
69
- matchesIEUpTo11: function() {
70
- return navigator.userAgent.match(/Trident\//);
71
- },
72
-
73
- /**
74
- * Returns true in InApp browser of Facebook app.
75
- * @return {boolean}
76
- */
77
- matchesFacebookInAppBrowser: function() {
78
- return navigator.userAgent.match(/FBAN/) && navigator.userAgent.match(/FBAV/);
79
- },
80
-
81
- _matches: function(exp) {
82
- return navigator.userAgent.match(exp);
5
+ pageflow.browser.Agent = function(userAgent) {
6
+ return {
7
+ matchesSilk: function() {
8
+ return matches(/\bSilk\b/);
9
+ },
10
+
11
+ matchesDesktopSafari9: function() {
12
+ return this.matchesSafari9() && !this.matchesMobilePlatform();
13
+ },
14
+
15
+ matchesDesktopSafari10: function() {
16
+ return this.matchesSafari10() && !this.matchesMobilePlatform();
17
+ },
18
+
19
+ matchesSafari9: function() {
20
+ return this.matchesSafari() &&
21
+ matches(/Version\/9/i);
22
+ },
23
+
24
+ matchesSafari10: function() {
25
+ return this.matchesSafari() &&
26
+ matches(/Version\/10/i);
27
+ },
28
+
29
+ matchesSafari11: function() {
30
+ return this.matchesSafari() &&
31
+ matches(/Version\/11/i);
32
+ },
33
+
34
+ matchesSafari11AndAbove: function() {
35
+ return this.matchesSafari() &&
36
+ captureGroupGreaterOrEqual(/Version\/(\d+)/i, 11);
37
+ },
38
+
39
+ matchesSafari: function() {
40
+ // - Chrome also reports to be a Safari
41
+ // - Safari does not report to be a Chrome
42
+ // - Edge also reports to be a Safari, but also reports to be Chrome
43
+ return matches(/Safari\//i) &&
44
+ !matches(/Chrome/i);
45
+ },
46
+
47
+ /**
48
+ * Returns true on iOS Safari.
49
+ * @return {boolean}
50
+ */
51
+ matchesMobileSafari: function() {
52
+ var matchers = [/iPod/i, /iPad/i, /iPhone/i];
53
+
54
+ return _.any(matchers, function(matcher) {
55
+ return userAgent.match(matcher);
56
+ });
57
+ },
58
+
59
+ /**
60
+ * Returns true on iOS or Android.
61
+ * @return {boolean}
62
+ */
63
+ matchesMobilePlatform: function() {
64
+ var matchers = [/iPod/i, /iPad/i, /iPhone/i, /Android/i, /Silk/i, /IEMobile/i];
65
+
66
+ return _.any(matchers, function(matcher) {
67
+ return userAgent.match(matcher);
68
+ });
69
+ },
70
+
71
+ /**
72
+ * Returns true on Internet Explorser version 9, 10 and 11.
73
+ * @return {boolean}
74
+ */
75
+ matchesIEUpTo11: function() {
76
+ return userAgent.match(/Trident\//);
77
+ },
78
+
79
+ /**
80
+ * Returns true in InApp browser of Facebook app.
81
+ * @return {boolean}
82
+ */
83
+ matchesFacebookInAppBrowser: function() {
84
+ return userAgent.match(/FBAN/) && userAgent.match(/FBAV/);
85
+ }
86
+ };
87
+
88
+ function matches(exp) {
89
+ return !!userAgent.match(exp);
90
+ }
91
+
92
+ function captureGroupGreaterOrEqual(exp, version) {
93
+ var match = userAgent.match(exp);
94
+ return match && match[1] && parseInt(match[1], 10) >= version;
83
95
  }
84
96
  };
97
+
98
+ pageflow.browser.agent = new pageflow.browser.Agent(navigator.userAgent);
@@ -1,4 +1,4 @@
1
1
  pageflow.browser.feature('autoplay support', function(has) {
2
- return !pageflow.browser.agent.matchesSafari11() &&
3
- !pageflow.browser.agent.matchesMobilePlatform();
2
+ return !pageflow.browser.agent.matchesSafari11AndAbove() &&
3
+ !pageflow.browser.agent.matchesMobilePlatform();
4
4
  });
@@ -0,0 +1,7 @@
1
+ pageflow.cookieNotice = {
2
+ request: function() {
3
+ pageflow.ready.then(function() {
4
+ pageflow.events.trigger('cookie_notice:request');
5
+ });
6
+ },
7
+ };
@@ -8901,19 +8901,19 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
8901
8901
 
8902
8902
  var _media = __webpack_require__(494);
8903
8903
 
8904
- var _interactivePageBackground = __webpack_require__(532);
8904
+ var _interactivePageBackground = __webpack_require__(535);
8905
8905
 
8906
8906
  var _pages = __webpack_require__(348);
8907
8907
 
8908
- var _registerPageType = __webpack_require__(537);
8908
+ var _registerPageType = __webpack_require__(540);
8909
8909
 
8910
8910
  var _registerPageType2 = _interopRequireDefault(_registerPageType);
8911
8911
 
8912
- var _registerPageTypeWithDefaultBackground = __webpack_require__(539);
8912
+ var _registerPageTypeWithDefaultBackground = __webpack_require__(542);
8913
8913
 
8914
8914
  var _registerPageTypeWithDefaultBackground2 = _interopRequireDefault(_registerPageTypeWithDefaultBackground);
8915
8915
 
8916
- var _registerWidgetType = __webpack_require__(540);
8916
+ var _registerWidgetType = __webpack_require__(543);
8917
8917
 
8918
8918
  var _registerWidgetType2 = _interopRequireDefault(_registerWidgetType);
8919
8919
 
@@ -8935,17 +8935,21 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
8935
8935
 
8936
8936
  var _utils = __webpack_require__(339);
8937
8937
 
8938
- var _ServerSidePage = __webpack_require__(541);
8938
+ var _ServerSidePage = __webpack_require__(544);
8939
8939
 
8940
8940
  var _ServerSidePage2 = _interopRequireDefault(_ServerSidePage);
8941
8941
 
8942
- var _builtInPageTypes = __webpack_require__(571);
8942
+ var _builtInPageTypes = __webpack_require__(586);
8943
8943
 
8944
- var _pageflow = __webpack_require__(577);
8944
+ var _backgroundMedia = __webpack_require__(548);
8945
+
8946
+ var _cookieNotice = __webpack_require__(551);
8947
+
8948
+ var _pageflow = __webpack_require__(592);
8945
8949
 
8946
8950
  var _pageflow2 = _interopRequireDefault(_pageflow);
8947
8951
 
8948
- var _boot = __webpack_require__(542);
8952
+ var _boot = __webpack_require__(545);
8949
8953
 
8950
8954
  var _boot2 = _interopRequireDefault(_boot);
8951
8955
 
@@ -8954,6 +8958,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
8954
8958
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
8955
8959
 
8956
8960
  (0, _builtInPageTypes.register)();
8961
+ (0, _cookieNotice.registerWidgetTypes)();
8962
+ (0, _backgroundMedia.registerWidgetTypes)();
8957
8963
 
8958
8964
  if (_pageflow2.default.events) {
8959
8965
  _pageflow2.default.events.on('seed:loaded', function () {
@@ -9766,7 +9772,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
9766
9772
  Object.defineProperty(exports, "__esModule", {
9767
9773
  value: true
9768
9774
  });
9769
- exports.preloadBackgroundImage = exports.has = exports.memoizedSelector = exports.combineSelectors = exports.combine = exports.isBlank = exports.camelize = undefined;
9775
+ exports.preloadBackgroundImage = exports.preloadImage = exports.has = exports.memoizedSelector = exports.combineSelectors = exports.combine = exports.isBlank = exports.camelize = undefined;
9770
9776
 
9771
9777
  var _isBlank = __webpack_require__(340);
9772
9778
 
@@ -9788,9 +9794,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
9788
9794
 
9789
9795
  var _has2 = _interopRequireDefault(_has);
9790
9796
 
9791
- var _preloadBackgroundImage = __webpack_require__(347);
9792
-
9793
- var _preloadBackgroundImage2 = _interopRequireDefault(_preloadBackgroundImage);
9797
+ var _preload = __webpack_require__(347);
9794
9798
 
9795
9799
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9796
9800
 
@@ -9800,7 +9804,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
9800
9804
  exports.combineSelectors = _memoizedSelector.combine;
9801
9805
  exports.memoizedSelector = _memoizedSelector2.default;
9802
9806
  exports.has = _has2.default;
9803
- exports.preloadBackgroundImage = _preloadBackgroundImage2.default;
9807
+ exports.preloadImage = _preload.preloadImage;
9808
+ exports.preloadBackgroundImage = _preload.preloadBackgroundImage;
9804
9809
 
9805
9810
  /***/ }),
9806
9811
  /* 340 */
@@ -10389,15 +10394,28 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
10389
10394
  Object.defineProperty(exports, "__esModule", {
10390
10395
  value: true
10391
10396
  });
10392
- exports.default = preloadBackgroundImage;
10397
+ exports.preloadBackgroundImage = preloadBackgroundImage;
10398
+ exports.preloadImage = preloadImage;
10393
10399
  function preloadBackgroundImage(element) {
10394
10400
  var propertyValue = window.getComputedStyle(element).getPropertyValue('background-image');
10395
10401
 
10396
10402
  if (propertyValue.match(/^url/)) {
10397
- new Image().src = propertyValue.replace(/^url\(['"]?/, '').replace(/['"]?\)$/, '');
10403
+ var url = propertyValue.replace(/^url\(['"]?/, '').replace(/['"]?\)$/, '');
10404
+ return preloadImage(url);
10398
10405
  }
10399
10406
  }
10400
10407
 
10408
+ function preloadImage(url) {
10409
+ return new Promise(function (resolve) {
10410
+ var image = new Image();
10411
+
10412
+ image.onload = resolve;
10413
+ image.onerror = resolve;
10414
+
10415
+ image.src = url;
10416
+ });
10417
+ }
10418
+
10401
10419
  /***/ }),
10402
10420
  /* 348 */
10403
10421
  /***/ (function(module, exports, __webpack_require__) {
@@ -23486,7 +23504,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23486
23504
  Object.defineProperty(exports, "__esModule", {
23487
23505
  value: true
23488
23506
  });
23489
- exports.widgetAttributes = exports.prop = exports.file = exports.setting = exports.t = exports.currentParentChapterAttributes = exports.currentParentPageAttributes = exports.pageIsPrepared = exports.pageIsActive = exports.pageAttributes = exports.pageAttribute = undefined;
23507
+ exports.editingWidget = exports.widgetAttributes = exports.prop = exports.file = exports.setting = exports.t = exports.currentParentChapterAttributes = exports.currentParentPageAttributes = exports.pageIsPrepared = exports.pageIsActive = exports.pageAttributes = exports.pageAttribute = undefined;
23490
23508
 
23491
23509
  var _selectors = __webpack_require__(375);
23492
23510
 
@@ -23513,6 +23531,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23513
23531
  exports.file = _selectors5.file;
23514
23532
  exports.prop = _selectors6.prop;
23515
23533
  exports.widgetAttributes = _selectors7.widgetAttributes;
23534
+ exports.editingWidget = _selectors7.editingWidget;
23516
23535
 
23517
23536
  /***/ }),
23518
23537
  /* 489 */
@@ -23642,6 +23661,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23642
23661
  value: true
23643
23662
  });
23644
23663
  exports.widgetAttributes = widgetAttributes;
23664
+ exports.editingWidget = editingWidget;
23645
23665
 
23646
23666
  var _collections = __webpack_require__(376);
23647
23667
 
@@ -23657,6 +23677,14 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23657
23677
  });
23658
23678
  }
23659
23679
 
23680
+ function editingWidget(_ref2) {
23681
+ var role = _ref2.role;
23682
+
23683
+ return (0, _utils.memoizedSelector)(selector({ id: role }), function (widget) {
23684
+ return !!widget.editing;
23685
+ });
23686
+ }
23687
+
23660
23688
  /***/ }),
23661
23689
  /* 494 */
23662
23690
  /***/ (function(module, exports, __webpack_require__) {
@@ -23673,46 +23701,50 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23673
23701
 
23674
23702
  var _Page2 = _interopRequireDefault(_Page);
23675
23703
 
23676
- var _PageVideoPlayer = __webpack_require__(502);
23704
+ var _PageVideoPlayer = __webpack_require__(503);
23677
23705
 
23678
23706
  var _PageVideoPlayer2 = _interopRequireDefault(_PageVideoPlayer);
23679
23707
 
23680
- var _MobilePageVideoPoster = __webpack_require__(516);
23708
+ var _MobilePageVideoPoster = __webpack_require__(517);
23681
23709
 
23682
23710
  var _MobilePageVideoPoster2 = _interopRequireDefault(_MobilePageVideoPoster);
23683
23711
 
23684
- var _PageBackgroundVideo = __webpack_require__(517);
23712
+ var _PageBackgroundVideo = __webpack_require__(518);
23685
23713
 
23686
23714
  var _PageBackgroundVideo2 = _interopRequireDefault(_PageBackgroundVideo);
23687
23715
 
23688
- var _PageBackgroundAsset = __webpack_require__(518);
23716
+ var _PageBackgroundAsset = __webpack_require__(519);
23689
23717
 
23690
23718
  var _PageBackgroundAsset2 = _interopRequireDefault(_PageBackgroundAsset);
23691
23719
 
23692
- var _PageBackground = __webpack_require__(519);
23720
+ var _PageBackground = __webpack_require__(520);
23693
23721
 
23694
23722
  var _PageBackground2 = _interopRequireDefault(_PageBackground);
23695
23723
 
23696
- var _PagePrintImage = __webpack_require__(520);
23724
+ var _PagePrintImage = __webpack_require__(521);
23697
23725
 
23698
23726
  var _PagePrintImage2 = _interopRequireDefault(_PagePrintImage);
23699
23727
 
23700
- var _createReducer = __webpack_require__(521);
23728
+ var _createReducer = __webpack_require__(522);
23701
23729
 
23702
23730
  var _createReducer2 = _interopRequireDefault(_createReducer);
23703
23731
 
23704
- var _sagas = __webpack_require__(523);
23732
+ var _sagas = __webpack_require__(524);
23705
23733
 
23706
23734
  var _sagas2 = _interopRequireDefault(_sagas);
23707
23735
 
23708
- var _fadeInWhenPageWillActivate = __webpack_require__(531);
23736
+ var _fadeInWhenPageWillActivate = __webpack_require__(534);
23709
23737
 
23710
23738
  var _fadeInWhenPageWillActivate2 = _interopRequireDefault(_fadeInWhenPageWillActivate);
23711
23739
 
23712
- var _fadeOutWhenPageWillDeactivate = __webpack_require__(529);
23740
+ var _fadeOutWhenPageWillDeactivate = __webpack_require__(532);
23713
23741
 
23714
23742
  var _fadeOutWhenPageWillDeactivate2 = _interopRequireDefault(_fadeOutWhenPageWillDeactivate);
23715
23743
 
23744
+ var _muteBackgroundMediaOnPlayFailed = __webpack_require__(526);
23745
+
23746
+ var _muteBackgroundMediaOnPlayFailed2 = _interopRequireDefault(_muteBackgroundMediaOnPlayFailed);
23747
+
23716
23748
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23717
23749
 
23718
23750
  function reduxModule(options) {
@@ -23750,7 +23782,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23750
23782
  switch (_context2.prev = _context2.next) {
23751
23783
  case 0:
23752
23784
  _context2.next = 2;
23753
- return [(0, _fadeInWhenPageWillActivate2.default)({ scope: 'background' }), (0, _fadeOutWhenPageWillDeactivate2.default)({ scope: 'background' })];
23785
+ return [(0, _fadeInWhenPageWillActivate2.default)({ scope: 'background' }), (0, _fadeOutWhenPageWillDeactivate2.default)({ scope: 'background' }), (0, _muteBackgroundMediaOnPlayFailed2.default)()];
23754
23786
 
23755
23787
  case 2:
23756
23788
  case 'end':
@@ -23788,7 +23820,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23788
23820
 
23789
23821
  var _PlayerControls2 = _interopRequireDefault(_PlayerControls);
23790
23822
 
23791
- var _NonJsLinks = __webpack_require__(500);
23823
+ var _NonJsLinks = __webpack_require__(501);
23792
23824
 
23793
23825
  var _NonJsLinks2 = _interopRequireDefault(_NonJsLinks);
23794
23826
 
@@ -23861,12 +23893,16 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23861
23893
  file: (0, _selectors.prop)('file'),
23862
23894
  defaultTextTrackFileId: (0, _selectors.prop)('page.defaultTextTrackFileId')
23863
23895
  }),
23864
- hasAutoplaySupport: (0, _selectors.has)('autoplay support')
23896
+ hasAutoplaySupport: (0, _selectors.has)('autoplay support'),
23897
+ shouldAutoplay: (0, _selectors2.pageShouldAutoplay)({
23898
+ id: (0, _selectors.prop)('page.permaId'),
23899
+ autoplayWhenBackgroundMediaMuted: (0, _selectors.prop)('autoplayWhenBackgroundMediaMuted')
23900
+ })
23865
23901
  }))(MediaPage);
23866
23902
 
23867
23903
 
23868
23904
  function willAutoplay(props) {
23869
- return props.page.autoplay !== false && props.hasAutoplaySupport;
23905
+ return props.shouldAutoplay && props.hasAutoplaySupport && !props.playerState.playFailed;
23870
23906
  }
23871
23907
 
23872
23908
  function pageWraperClassName(className, autoplay, textTracks, playerState) {
@@ -23877,6 +23913,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
23877
23913
  'is_control_bar_hovered': playerState.userHoveringControls,
23878
23914
  'is_control_bar_hidden': playerState.controlsHidden,
23879
23915
  'unplayed': playerState.unplayed && !autoplay,
23916
+ 'should_play': playerState.shouldPlay,
23880
23917
  'has_played': playerState.hasPlayed
23881
23918
  });
23882
23919
  }
@@ -24116,6 +24153,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24116
24153
  exports.playerActions = playerActions;
24117
24154
  exports.textTracks = textTracks;
24118
24155
  exports.videoQualitySetting = videoQualitySetting;
24156
+ exports.pageShouldAutoplay = pageShouldAutoplay;
24157
+ exports.pageHasAutoplayOption = pageHasAutoplayOption;
24119
24158
 
24120
24159
  var _actions = __webpack_require__(499);
24121
24160
 
@@ -24127,6 +24166,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24127
24166
 
24128
24167
  var _selectors4 = __webpack_require__(486);
24129
24168
 
24169
+ var _selectors5 = __webpack_require__(500);
24170
+
24130
24171
  var _utils = __webpack_require__(339);
24131
24172
 
24132
24173
  var _redux = __webpack_require__(351);
@@ -24223,6 +24264,21 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24223
24264
  return (0, _selectors3.setting)({ property: 'videoQuality' });
24224
24265
  }
24225
24266
 
24267
+ function pageShouldAutoplay(_ref4) {
24268
+ var autoplayWhenBackgroundMediaMuted = _ref4.autoplayWhenBackgroundMediaMuted,
24269
+ id = _ref4.id;
24270
+
24271
+ return (0, _utils.memoizedSelector)(autoplayWhenBackgroundMediaMuted, pageHasAutoplayOption({ id: id }), _selectors5.muted, function (autoplayWhenBackgroundMediaMuted, autoplayOption, isBackgroudMediaMuted) {
24272
+ return autoplayOption && (!isBackgroudMediaMuted || autoplayWhenBackgroundMediaMuted);
24273
+ });
24274
+ }
24275
+
24276
+ function pageHasAutoplayOption(options) {
24277
+ return (0, _utils.memoizedSelector)((0, _selectors2.pageAttribute)('autoplay', options), function (autoplayOption) {
24278
+ return autoplayOption !== false;
24279
+ });
24280
+ }
24281
+
24226
24282
  /***/ }),
24227
24283
  /* 499 */
24228
24284
  /***/ (function(module, exports, __webpack_require__) {
@@ -24232,7 +24288,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24232
24288
  Object.defineProperty(exports, "__esModule", {
24233
24289
  value: true
24234
24290
  });
24235
- exports.TOGGLE_INFO_BOX_DURING_PLAYBACK = exports.HIDE_INFO_BOX_DURING_PLAYBACK = exports.SHOW_INFO_BOX_DURING_PLAYBACK = exports.CONTROLS_HIDDEN = exports.FOCUS_LEFT_CONTROLS = exports.FOCUS_ENTERED_CONTROLS = exports.CONTROLS_LEFT = exports.CONTROLS_ENTERED = exports.USER_IDLE = exports.USER_INTERACTION = exports.HAS_NOT_BEEN_PLAYING_FOR_A_MOMENT = exports.WAITING = exports.SEEKED = exports.SEEKING = exports.ENDED = exports.TIME_UPDATE = exports.PAUSED = exports.PLAYING = exports.PROGRESS = exports.META_DATA_LOADED = exports.BUFFER_UNDERRUN_CONTINUE = exports.BUFFER_UNDERRUN = exports.ABORT_PREBUFFERING = exports.PREBUFFERED = exports.PREBUFFER = exports.SEEK_TO = exports.SCRUB_TO = exports.FADE_OUT_AND_PAUSE = exports.PAUSE = exports.PLAY_AND_FADE_IN = exports.PLAY = exports.TOGGLE_PLAYING = undefined;
24291
+ exports.TOGGLE_INFO_BOX_DURING_PLAYBACK = exports.HIDE_INFO_BOX_DURING_PLAYBACK = exports.SHOW_INFO_BOX_DURING_PLAYBACK = exports.CONTROLS_HIDDEN = exports.FOCUS_LEFT_CONTROLS = exports.FOCUS_ENTERED_CONTROLS = exports.CONTROLS_LEFT = exports.CONTROLS_ENTERED = exports.USER_IDLE = exports.USER_INTERACTION = exports.HAS_NOT_BEEN_PLAYING_FOR_A_MOMENT = exports.WAITING = exports.SEEKED = exports.SEEKING = exports.ENDED = exports.TIME_UPDATE = exports.PAUSED = exports.PLAYING = exports.PROGRESS = exports.META_DATA_LOADED = exports.BUFFER_UNDERRUN_CONTINUE = exports.BUFFER_UNDERRUN = exports.ABORT_PREBUFFERING = exports.PREBUFFERED = exports.PREBUFFER = exports.SEEK_TO = exports.SCRUB_TO = exports.PLAY_MUTED = exports.PLAY_FAILED = exports.FADE_OUT_AND_PAUSE = exports.PAUSE = exports.PLAY_AND_FADE_IN = exports.PLAY = exports.TOGGLE_PLAYING = undefined;
24236
24292
  exports.actionCreators = actionCreators;
24237
24293
  exports.updateTextTrackSettings = updateTextTrackSettings;
24238
24294
  exports.updateVideoQualitySetting = updateVideoQualitySetting;
@@ -24244,6 +24300,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24244
24300
  var PLAY_AND_FADE_IN = exports.PLAY_AND_FADE_IN = 'MEDIA_PLAY_AND_FADE_IN';
24245
24301
  var PAUSE = exports.PAUSE = 'MEDIA_PAUSE';
24246
24302
  var FADE_OUT_AND_PAUSE = exports.FADE_OUT_AND_PAUSE = 'MEDIA_FADE_OUT_AND_PAUSE';
24303
+ var PLAY_FAILED = exports.PLAY_FAILED = 'MEDIA_PLAY_FAILED';
24304
+ var PLAY_MUTED = exports.PLAY_MUTED = 'MEDIA_PLAY_MUTED';
24247
24305
 
24248
24306
  var SCRUB_TO = exports.SCRUB_TO = 'MEDIA_SCRUB_TO';
24249
24307
  var SEEK_TO = exports.SEEK_TO = 'MEDIA_SEEK_TO';
@@ -24311,6 +24369,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24311
24369
  fadeDuration: fadeDuration
24312
24370
  });
24313
24371
  },
24372
+ playFailed: function playFailed() {
24373
+ return pageAction(PLAY_FAILED);
24374
+ },
24375
+ playMuted: function playMuted() {
24376
+ return pageAction(PLAY_MUTED);
24377
+ },
24314
24378
  scrubTo: function scrubTo(time) {
24315
24379
  return pageAction(SCRUB_TO, {
24316
24380
  time: time
@@ -24447,6 +24511,20 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24447
24511
 
24448
24512
  /***/ }),
24449
24513
  /* 500 */
24514
+ /***/ (function(module, exports) {
24515
+
24516
+ "use strict";
24517
+
24518
+ Object.defineProperty(exports, "__esModule", {
24519
+ value: true
24520
+ });
24521
+ exports.muted = muted;
24522
+ function muted(state) {
24523
+ return state.backgroundMedia.muted;
24524
+ }
24525
+
24526
+ /***/ }),
24527
+ /* 501 */
24450
24528
  /***/ (function(module, exports, __webpack_require__) {
24451
24529
 
24452
24530
  'use strict';
@@ -24460,7 +24538,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24460
24538
 
24461
24539
  var _selectors = __webpack_require__(486);
24462
24540
 
24463
- var _selectors2 = __webpack_require__(501);
24541
+ var _selectors2 = __webpack_require__(502);
24464
24542
 
24465
24543
  var _reactRedux = __webpack_require__(397);
24466
24544
 
@@ -24502,7 +24580,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24502
24580
  }))(NonJsLinks);
24503
24581
 
24504
24582
  /***/ }),
24505
- /* 501 */
24583
+ /* 502 */
24506
24584
  /***/ (function(module, exports) {
24507
24585
 
24508
24586
  "use strict";
@@ -24518,7 +24596,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24518
24596
  }
24519
24597
 
24520
24598
  /***/ }),
24521
- /* 502 */
24599
+ /* 503 */
24522
24600
  /***/ (function(module, exports, __webpack_require__) {
24523
24601
 
24524
24602
  'use strict';
@@ -24527,19 +24605,24 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24527
24605
  value: true
24528
24606
  });
24529
24607
  exports.VideoPlayer = undefined;
24608
+
24609
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
24610
+
24530
24611
  exports.default = PageVideoPlayer;
24531
24612
 
24532
- var _VideoFilePlayer = __webpack_require__(503);
24613
+ var _VideoFilePlayer = __webpack_require__(504);
24533
24614
 
24534
24615
  var _VideoFilePlayer2 = _interopRequireDefault(_VideoFilePlayer);
24535
24616
 
24536
- var _createPageFilePlayer = __webpack_require__(515);
24617
+ var _PageFilePlayer = __webpack_require__(516);
24537
24618
 
24538
- var _createPageFilePlayer2 = _interopRequireDefault(_createPageFilePlayer);
24619
+ var _PageFilePlayer2 = _interopRequireDefault(_PageFilePlayer);
24539
24620
 
24540
- var _selectors = __webpack_require__(442);
24621
+ var _selectors = __webpack_require__(500);
24541
24622
 
24542
- var _selectors2 = __webpack_require__(488);
24623
+ var _selectors2 = __webpack_require__(442);
24624
+
24625
+ var _selectors3 = __webpack_require__(488);
24543
24626
 
24544
24627
  var _utils = __webpack_require__(339);
24545
24628
 
@@ -24547,10 +24630,21 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24547
24630
 
24548
24631
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24549
24632
 
24633
+ function PageVideoFilePlayer(props) {
24634
+ return React.createElement(_PageFilePlayer2.default, _extends({}, props, {
24635
+ playerComponent: _VideoFilePlayer2.default,
24636
+ preloadComponent: _VideoFilePlayer.VideoFilePlayerPreload }));
24637
+ }
24638
+
24550
24639
  var VideoPlayer = exports.VideoPlayer = (0, _reactRedux.connect)((0, _utils.combineSelectors)({
24551
- file: (0, _selectors.file)('videoFiles', { id: (0, _selectors2.prop)('videoFileId') }),
24552
- posterImageFile: (0, _selectors.file)('imageFiles', { id: (0, _selectors2.prop)('posterImageFileId') })
24553
- }))((0, _createPageFilePlayer2.default)(_VideoFilePlayer2.default));
24640
+ file: (0, _selectors2.file)('videoFiles', { id: (0, _selectors3.prop)('videoFileId') }),
24641
+ posterImageFile: (0, _selectors2.file)('imageFiles', { id: (0, _selectors3.prop)('posterImageFileId') }),
24642
+ muted: muted
24643
+ }))(PageVideoFilePlayer);
24644
+
24645
+ function muted(state, props) {
24646
+ return props.muted || (0, _selectors.muted)(state);
24647
+ }
24554
24648
 
24555
24649
  function PageVideoPlayer(props) {
24556
24650
  var page = props.page;
@@ -24577,7 +24671,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24577
24671
  };
24578
24672
 
24579
24673
  /***/ }),
24580
- /* 503 */
24674
+ /* 504 */
24581
24675
  /***/ (function(module, exports, __webpack_require__) {
24582
24676
 
24583
24677
  'use strict';
@@ -24585,12 +24679,49 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24585
24679
  Object.defineProperty(exports, "__esModule", {
24586
24680
  value: true
24587
24681
  });
24682
+ exports.VideoFilePlayerPreload = undefined;
24588
24683
 
24589
- exports.default = function (props) {
24590
- return React.createElement(
24684
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
24685
+
24686
+ exports.default = VideoFilePlayer;
24687
+
24688
+ var _react = __webpack_require__(333);
24689
+
24690
+ var _react2 = _interopRequireDefault(_react);
24691
+
24692
+ var _createFilePlayer = __webpack_require__(505);
24693
+
24694
+ var _createFilePlayer2 = _interopRequireDefault(_createFilePlayer);
24695
+
24696
+ var _Positioner = __webpack_require__(512);
24697
+
24698
+ var _Positioner2 = _interopRequireDefault(_Positioner);
24699
+
24700
+ var _sources = __webpack_require__(515);
24701
+
24702
+ var _sources2 = _interopRequireDefault(_sources);
24703
+
24704
+ var _utils = __webpack_require__(339);
24705
+
24706
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24707
+
24708
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
24709
+
24710
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
24711
+
24712
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
24713
+
24714
+ var FilePlayer = (0, _createFilePlayer2.default)({
24715
+ tagName: 'video',
24716
+ sources: _sources2.default,
24717
+ poster: poster
24718
+ });
24719
+
24720
+ function VideoFilePlayer(props) {
24721
+ return _react2.default.createElement(
24591
24722
  _Positioner2.default,
24592
24723
  { videoFile: props.file, fit: props.fit, position: props.position },
24593
- React.createElement(VideoFilePlayer, { file: props.file,
24724
+ _react2.default.createElement(FilePlayer, { file: props.file,
24594
24725
  posterImageFile: props.posterImageFile,
24595
24726
  playerState: props.playerState,
24596
24727
  playerActions: props.playerActions,
@@ -24601,35 +24732,52 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24601
24732
  muted: props.muted,
24602
24733
  playsInline: props.playsInline })
24603
24734
  );
24604
- };
24735
+ }
24605
24736
 
24606
- var _createFilePlayer = __webpack_require__(504);
24737
+ var VideoFilePlayerPreload = exports.VideoFilePlayerPreload = function (_React$Component) {
24738
+ _inherits(VideoFilePlayerPreload, _React$Component);
24607
24739
 
24608
- var _createFilePlayer2 = _interopRequireDefault(_createFilePlayer);
24740
+ function VideoFilePlayerPreload() {
24741
+ _classCallCheck(this, VideoFilePlayerPreload);
24609
24742
 
24610
- var _Positioner = __webpack_require__(511);
24743
+ return _possibleConstructorReturn(this, (VideoFilePlayerPreload.__proto__ || Object.getPrototypeOf(VideoFilePlayerPreload)).apply(this, arguments));
24744
+ }
24611
24745
 
24612
- var _Positioner2 = _interopRequireDefault(_Positioner);
24746
+ _createClass(VideoFilePlayerPreload, [{
24747
+ key: 'componentDidMount',
24748
+ value: function componentDidMount() {
24749
+ var _props = this.props,
24750
+ file = _props.file,
24751
+ posterImageFile = _props.posterImageFile,
24752
+ preloadImage = _props.preloadImage;
24613
24753
 
24614
- var _sources = __webpack_require__(514);
24754
+ var posterUrl = poster(file, posterImageFile);
24615
24755
 
24616
- var _sources2 = _interopRequireDefault(_sources);
24756
+ if (posterUrl) {
24757
+ preloadImage(posterUrl);
24758
+ }
24759
+ }
24760
+ }, {
24761
+ key: 'render',
24762
+ value: function render() {
24763
+ return null;
24764
+ }
24765
+ }]);
24617
24766
 
24618
- var _utils = __webpack_require__(339);
24767
+ return VideoFilePlayerPreload;
24768
+ }(_react2.default.Component);
24619
24769
 
24620
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24770
+ VideoFilePlayerPreload.defaultProps = {
24771
+ preloadImage: _utils.preloadImage
24772
+ };
24621
24773
 
24622
- var VideoFilePlayer = (0, _createFilePlayer2.default)({
24623
- tagName: 'video',
24624
- sources: _sources2.default,
24625
- poster: function poster(videoFile, posterImageFile) {
24626
- var style = (0, _utils.has)('mobile platform') ? 'medium' : 'large';
24627
- return posterImageFile ? posterImageFile.urls[style] : videoFile.urls['poster_' + style];
24628
- }
24629
- });
24774
+ function poster(videoFile, posterImageFile) {
24775
+ var style = (0, _utils.has)('mobile platform') ? 'medium' : 'large';
24776
+ return posterImageFile ? posterImageFile.urls[style] : videoFile.urls['poster_' + style];
24777
+ }
24630
24778
 
24631
24779
  /***/ }),
24632
- /* 504 */
24780
+ /* 505 */
24633
24781
  /***/ (function(module, exports, __webpack_require__) {
24634
24782
 
24635
24783
  'use strict';
@@ -24660,6 +24808,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24660
24808
 
24661
24809
  _this.displaysTextTracksInNativePlayer = _this.props.hasNativeVideoPlayer && tagName == 'video';
24662
24810
 
24811
+ _this.initiallyMuted = _this.props.muted;
24812
+
24663
24813
  _this.updateAtmoSettings();
24664
24814
 
24665
24815
  _this.setupMediaTag = function (element) {
@@ -24703,7 +24853,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24703
24853
  return;
24704
24854
  }
24705
24855
 
24706
- (0, _handlePlayerState.updatePlayer)(this.player, prevProps.playerState, this.props.playerState, this.props.playerActions, this.props.playsInline);
24856
+ updatePlayerMuted(this.player, prevProps.muted, this.props.muted);
24857
+
24858
+ (0, _handlePlayerState.updatePlayer)(this.player, prevProps.playerState, this.props.playerState, this.props.playerActions);
24707
24859
 
24708
24860
  if (!this.displaysTextTracksInNativePlayer) {
24709
24861
  (0, _textTracks.updateTextTracks)(this.player, prevProps.textTracks.activeFileId, this.props.textTracks.activeFileId, this.props.textTrackPosition);
@@ -24726,7 +24878,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24726
24878
  tracks: (0, _textTracks.textTracksFromFiles)(this.props.textTracks.files, this.props.textTracksEnabled),
24727
24879
  poster: poster(this.props.file, this.props.posterImageFile),
24728
24880
  loop: this.props.loop,
24729
- muted: this.props.muted,
24881
+ muted: this.initiallyMuted,
24730
24882
  playsInline: this.props.playsInline,
24731
24883
  alt: this.props.file.alt,
24732
24884
 
@@ -24771,23 +24923,23 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24771
24923
  return result;
24772
24924
  };
24773
24925
 
24774
- var _MediaTag = __webpack_require__(505);
24926
+ var _MediaTag = __webpack_require__(506);
24775
24927
 
24776
24928
  var _MediaTag2 = _interopRequireDefault(_MediaTag);
24777
24929
 
24778
- var _createPageflowPlayer = __webpack_require__(506);
24930
+ var _createPageflowPlayer = __webpack_require__(507);
24779
24931
 
24780
24932
  var _createPageflowPlayer2 = _interopRequireDefault(_createPageflowPlayer);
24781
24933
 
24782
- var _watchPlayer = __webpack_require__(507);
24934
+ var _watchPlayer = __webpack_require__(508);
24783
24935
 
24784
24936
  var _watchPlayer2 = _interopRequireDefault(_watchPlayer);
24785
24937
 
24786
24938
  var _actions = __webpack_require__(499);
24787
24939
 
24788
- var _handlePlayerState = __webpack_require__(508);
24940
+ var _handlePlayerState = __webpack_require__(509);
24789
24941
 
24790
- var _textTracks = __webpack_require__(509);
24942
+ var _textTracks = __webpack_require__(510);
24791
24943
 
24792
24944
  var _selectors = __webpack_require__(498);
24793
24945
 
@@ -24797,7 +24949,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24797
24949
 
24798
24950
  var _selectors4 = __webpack_require__(439);
24799
24951
 
24800
- var _selectors5 = __webpack_require__(510);
24952
+ var _selectors5 = __webpack_require__(511);
24801
24953
 
24802
24954
  var _react = __webpack_require__(333);
24803
24955
 
@@ -24832,8 +24984,14 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
24832
24984
  }
24833
24985
  }
24834
24986
 
24987
+ function updatePlayerMuted(player, prevMuted, muted) {
24988
+ if (prevMuted !== muted) {
24989
+ player.muted(muted);
24990
+ }
24991
+ }
24992
+
24835
24993
  /***/ }),
24836
- /* 505 */
24994
+ /* 506 */
24837
24995
  /***/ (function(module, exports, __webpack_require__) {
24838
24996
 
24839
24997
  'use strict';
@@ -25023,7 +25181,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25023
25181
  }
25024
25182
 
25025
25183
  /***/ }),
25026
- /* 506 */
25184
+ /* 507 */
25027
25185
  /***/ (function(module, exports) {
25028
25186
 
25029
25187
  'use strict';
@@ -25056,6 +25214,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25056
25214
  bufferUnderrunWaiting: true,
25057
25215
  useSlimPlayerControlsDuringPhonePlayback: !playsInline && !isAudio,
25058
25216
  fullscreenDuringPhonePlayback: !playsInline && !isAudio,
25217
+ fallbackToMutedAutoplay: !isAudio,
25059
25218
 
25060
25219
  volumeFading: true,
25061
25220
  hooks: pageflow.atmo.createMediaPlayerHooks(atmoSettings),
@@ -25077,7 +25236,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25077
25236
  }
25078
25237
 
25079
25238
  /***/ }),
25080
- /* 507 */
25239
+ /* 508 */
25081
25240
  /***/ (function(module, exports) {
25082
25241
 
25083
25242
  'use strict';
@@ -25101,6 +25260,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25101
25260
  });
25102
25261
 
25103
25262
  player.on('play', actions.playing);
25263
+ player.on('playfailed', actions.playFailed);
25264
+ player.on('playmuted', actions.playMuted);
25104
25265
  player.on('pause', actions.paused);
25105
25266
  player.on('waiting', actions.waiting);
25106
25267
  player.on('seeking', actions.seeking);
@@ -25119,7 +25280,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25119
25280
  };
25120
25281
 
25121
25282
  /***/ }),
25122
- /* 508 */
25283
+ /* 509 */
25123
25284
  /***/ (function(module, exports) {
25124
25285
 
25125
25286
  'use strict';
@@ -25153,7 +25314,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25153
25314
  });
25154
25315
  }
25155
25316
 
25156
- function updatePlayer(player, playerState, nextPlayerState, playerActions, playsInline) {
25317
+ function updatePlayer(player, playerState, nextPlayerState, playerActions) {
25157
25318
  if (!playerState.shouldPrebuffer && nextPlayerState.shouldPrebuffer) {
25158
25319
  player.prebuffer().then(playerActions.prebuffered);
25159
25320
  }
@@ -25178,7 +25339,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25178
25339
  }
25179
25340
 
25180
25341
  /***/ }),
25181
- /* 509 */
25342
+ /* 510 */
25182
25343
  /***/ (function(module, exports) {
25183
25344
 
25184
25345
  'use strict';
@@ -25249,7 +25410,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25249
25410
  }
25250
25411
 
25251
25412
  /***/ }),
25252
- /* 510 */
25413
+ /* 511 */
25253
25414
  /***/ (function(module, exports) {
25254
25415
 
25255
25416
  "use strict";
@@ -25265,7 +25426,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25265
25426
  }
25266
25427
 
25267
25428
  /***/ }),
25268
- /* 511 */
25429
+ /* 512 */
25269
25430
  /***/ (function(module, exports, __webpack_require__) {
25270
25431
 
25271
25432
  'use strict';
@@ -25278,11 +25439,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25278
25439
 
25279
25440
  exports.default = Positioner;
25280
25441
 
25281
- var _getDimensions = __webpack_require__(512);
25442
+ var _getDimensions = __webpack_require__(513);
25282
25443
 
25283
25444
  var _getDimensions2 = _interopRequireDefault(_getDimensions);
25284
25445
 
25285
- var _getCueOffsetClassName = __webpack_require__(513);
25446
+ var _getCueOffsetClassName = __webpack_require__(514);
25286
25447
 
25287
25448
  var _getCueOffsetClassName2 = _interopRequireDefault(_getCueOffsetClassName);
25288
25449
 
@@ -25333,7 +25494,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25333
25494
  }
25334
25495
 
25335
25496
  /***/ }),
25336
- /* 512 */
25497
+ /* 513 */
25337
25498
  /***/ (function(module, exports) {
25338
25499
 
25339
25500
  'use strict';
@@ -25387,7 +25548,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25387
25548
  };
25388
25549
 
25389
25550
  /***/ }),
25390
- /* 513 */
25551
+ /* 514 */
25391
25552
  /***/ (function(module, exports) {
25392
25553
 
25393
25554
  'use strict';
@@ -25410,7 +25571,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25410
25571
  }
25411
25572
 
25412
25573
  /***/ }),
25413
- /* 514 */
25574
+ /* 515 */
25414
25575
  /***/ (function(module, exports) {
25415
25576
 
25416
25577
  'use strict';
@@ -25457,7 +25618,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25457
25618
  };
25458
25619
 
25459
25620
  /***/ }),
25460
- /* 515 */
25621
+ /* 516 */
25461
25622
  /***/ (function(module, exports, __webpack_require__) {
25462
25623
 
25463
25624
  'use strict';
@@ -25465,33 +25626,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25465
25626
  Object.defineProperty(exports, "__esModule", {
25466
25627
  value: true
25467
25628
  });
25468
-
25469
- exports.default = function (FilePlayer) {
25470
- function PageFilePlayer(props) {
25471
- if (props.file && props.file.isReady && props.pageIsPrepared) {
25472
- return React.createElement(FilePlayer, { file: props.file,
25473
- posterImageFile: props.posterImageFile,
25474
- playerState: props.playerState,
25475
- playerActions: props.playerActions,
25476
- atmoDuringPlayback: props.atmoDuringPlayback,
25477
- fit: props.fit,
25478
- position: props.position,
25479
- loop: props.loop,
25480
- muted: props.muted,
25481
- playsInline: props.playsInline,
25482
- defaultTextTrackFileId: props.defaultTextTrackFileId,
25483
- textTracksEnabled: props.textTracksEnabled });
25484
- } else {
25485
- return null;
25486
- }
25487
- }
25488
-
25489
- return (0, _pages.connectInPage)((0, _utils.combineSelectors)({
25490
- pageIsPrepared: (0, _selectors.pageIsPrepared)(),
25491
- atmoDuringPlayback: (0, _selectors.pageAttribute)('atmoDuringPlayback'),
25492
- defaultTextTrackFileId: (0, _selectors.pageAttribute)('defaultTextTrackFileId')
25493
- }))(PageFilePlayer);
25494
- };
25629
+ exports.PageFilePlayer = PageFilePlayer;
25495
25630
 
25496
25631
  var _pages = __webpack_require__(348);
25497
25632
 
@@ -25499,8 +25634,43 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25499
25634
 
25500
25635
  var _utils = __webpack_require__(339);
25501
25636
 
25637
+ function PageFilePlayer(props) {
25638
+ var fileReady = props.file && props.file.isReady;
25639
+
25640
+ if (fileReady && props.pageIsPrepared) {
25641
+ var FilePlayer = props.playerComponent;
25642
+
25643
+ return React.createElement(FilePlayer, { file: props.file,
25644
+ posterImageFile: props.posterImageFile,
25645
+ playerState: props.playerState,
25646
+ playerActions: props.playerActions,
25647
+ atmoDuringPlayback: props.atmoDuringPlayback,
25648
+ fit: props.fit,
25649
+ position: props.position,
25650
+ loop: props.loop,
25651
+ muted: props.muted,
25652
+ playsInline: props.playsInline,
25653
+ defaultTextTrackFileId: props.defaultTextTrackFileId,
25654
+ textTracksEnabled: props.textTracksEnabled });
25655
+ } else if (props.preloadComponent && fileReady && props.pageIsPreloaded) {
25656
+ var Preload = props.preloadComponent;
25657
+
25658
+ return React.createElement(Preload, { file: props.file,
25659
+ posterImageFile: props.posterImageFile });
25660
+ } else {
25661
+ return React.createElement('noscript', null);
25662
+ }
25663
+ }
25664
+
25665
+ exports.default = (0, _pages.connectInPage)((0, _utils.combineSelectors)({
25666
+ pageIsPrepared: (0, _selectors.pageIsPrepared)(),
25667
+ pageIsPreloaded: (0, _selectors.pageIsPreloaded)(),
25668
+ atmoDuringPlayback: (0, _selectors.pageAttribute)('atmoDuringPlayback'),
25669
+ defaultTextTrackFileId: (0, _selectors.pageAttribute)('defaultTextTrackFileId')
25670
+ }))(PageFilePlayer);
25671
+
25502
25672
  /***/ }),
25503
- /* 516 */
25673
+ /* 517 */
25504
25674
  /***/ (function(module, exports, __webpack_require__) {
25505
25675
 
25506
25676
  'use strict';
@@ -25554,7 +25724,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25554
25724
  }))(MobilePageVideoPoster);
25555
25725
 
25556
25726
  /***/ }),
25557
- /* 517 */
25727
+ /* 518 */
25558
25728
  /***/ (function(module, exports, __webpack_require__) {
25559
25729
 
25560
25730
  'use strict';
@@ -25567,11 +25737,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25567
25737
 
25568
25738
  exports.PageBackgroundVideo = PageBackgroundVideo;
25569
25739
 
25570
- var _PageVideoPlayer = __webpack_require__(502);
25740
+ var _PageVideoPlayer = __webpack_require__(503);
25571
25741
 
25572
25742
  var _PageVideoPlayer2 = _interopRequireDefault(_PageVideoPlayer);
25573
25743
 
25574
- var _MobilePageVideoPoster = __webpack_require__(516);
25744
+ var _MobilePageVideoPoster = __webpack_require__(517);
25575
25745
 
25576
25746
  var _MobilePageVideoPoster2 = _interopRequireDefault(_MobilePageVideoPoster);
25577
25747
 
@@ -25611,7 +25781,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25611
25781
  }))(PageBackgroundVideo);
25612
25782
 
25613
25783
  /***/ }),
25614
- /* 518 */
25784
+ /* 519 */
25615
25785
  /***/ (function(module, exports, __webpack_require__) {
25616
25786
 
25617
25787
  'use strict';
@@ -25623,7 +25793,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25623
25793
 
25624
25794
  var _components = __webpack_require__(331);
25625
25795
 
25626
- var _PageBackgroundVideo = __webpack_require__(517);
25796
+ var _PageBackgroundVideo = __webpack_require__(518);
25627
25797
 
25628
25798
  var _PageBackgroundVideo2 = _interopRequireDefault(_PageBackgroundVideo);
25629
25799
 
@@ -25665,7 +25835,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25665
25835
  }))(PageBackgroundAsset);
25666
25836
 
25667
25837
  /***/ }),
25668
- /* 519 */
25838
+ /* 520 */
25669
25839
  /***/ (function(module, exports, __webpack_require__) {
25670
25840
 
25671
25841
  'use strict';
@@ -25677,7 +25847,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25677
25847
 
25678
25848
  var _components = __webpack_require__(331);
25679
25849
 
25680
- var _PageBackgroundAsset = __webpack_require__(518);
25850
+ var _PageBackgroundAsset = __webpack_require__(519);
25681
25851
 
25682
25852
  var _PageBackgroundAsset2 = _interopRequireDefault(_PageBackgroundAsset);
25683
25853
 
@@ -25693,7 +25863,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25693
25863
  }
25694
25864
 
25695
25865
  /***/ }),
25696
- /* 520 */
25866
+ /* 521 */
25697
25867
  /***/ (function(module, exports, __webpack_require__) {
25698
25868
 
25699
25869
  'use strict';
@@ -25761,7 +25931,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25761
25931
  }
25762
25932
 
25763
25933
  /***/ }),
25764
- /* 521 */
25934
+ /* 522 */
25765
25935
  /***/ (function(module, exports, __webpack_require__) {
25766
25936
 
25767
25937
  'use strict';
@@ -25801,6 +25971,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25801
25971
  case _actions.PLAY:
25802
25972
  return _extends({}, state, {
25803
25973
  shouldPlay: true,
25974
+ playFailed: false,
25804
25975
  hasBeenPlayingJustNow: true,
25805
25976
  unplayed: false,
25806
25977
  fadeDuration: null,
@@ -25810,6 +25981,15 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25810
25981
  return _extends({}, state, {
25811
25982
  isPlaying: true
25812
25983
  });
25984
+ case _actions.PLAY_FAILED:
25985
+ return _extends({}, state, {
25986
+ shouldPlay: false,
25987
+ playFailed: true,
25988
+ hasBeenPlayingJustNow: false,
25989
+ unplayed: true,
25990
+ fadeDuration: null,
25991
+ isLoading: false
25992
+ });
25813
25993
  case _actions.PLAY_AND_FADE_IN:
25814
25994
  return _extends({}, state, {
25815
25995
  shouldPlay: true,
@@ -25967,12 +26147,12 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
25967
26147
 
25968
26148
  var _actions = __webpack_require__(499);
25969
26149
 
25970
- var _actions2 = __webpack_require__(522);
26150
+ var _actions2 = __webpack_require__(523);
25971
26151
 
25972
26152
  var _actions3 = __webpack_require__(329);
25973
26153
 
25974
26154
  /***/ }),
25975
- /* 522 */
26155
+ /* 523 */
25976
26156
  /***/ (function(module, exports, __webpack_require__) {
25977
26157
 
25978
26158
  'use strict';
@@ -26002,7 +26182,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26002
26182
  }
26003
26183
 
26004
26184
  /***/ }),
26005
- /* 523 */
26185
+ /* 524 */
26006
26186
  /***/ (function(module, exports, __webpack_require__) {
26007
26187
 
26008
26188
  'use strict';
@@ -26010,33 +26190,40 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26010
26190
  Object.defineProperty(exports, "__esModule", {
26011
26191
  value: true
26012
26192
  });
26193
+
26194
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
26195
+
26013
26196
  exports.default = _callee;
26014
26197
 
26015
- var _togglePlaying = __webpack_require__(524);
26198
+ var _togglePlaying = __webpack_require__(525);
26016
26199
 
26017
26200
  var _togglePlaying2 = _interopRequireDefault(_togglePlaying);
26018
26201
 
26019
- var _handlePageDidActivate = __webpack_require__(525);
26202
+ var _muteBackgroundMediaOnPlayFailed = __webpack_require__(526);
26203
+
26204
+ var _muteBackgroundMediaOnPlayFailed2 = _interopRequireDefault(_muteBackgroundMediaOnPlayFailed);
26205
+
26206
+ var _handlePageDidActivate = __webpack_require__(527);
26020
26207
 
26021
26208
  var _handlePageDidActivate2 = _interopRequireDefault(_handlePageDidActivate);
26022
26209
 
26023
- var _disableScrollIndicatorDuringPlayback = __webpack_require__(526);
26210
+ var _disableScrollIndicatorDuringPlayback = __webpack_require__(529);
26024
26211
 
26025
26212
  var _disableScrollIndicatorDuringPlayback2 = _interopRequireDefault(_disableScrollIndicatorDuringPlayback);
26026
26213
 
26027
- var _hasNotBeenPlayingForAMoment = __webpack_require__(527);
26214
+ var _hasNotBeenPlayingForAMoment = __webpack_require__(530);
26028
26215
 
26029
26216
  var _hasNotBeenPlayingForAMoment2 = _interopRequireDefault(_hasNotBeenPlayingForAMoment);
26030
26217
 
26031
- var _idling = __webpack_require__(528);
26218
+ var _idling = __webpack_require__(531);
26032
26219
 
26033
26220
  var _idling2 = _interopRequireDefault(_idling);
26034
26221
 
26035
- var _fadeOutWhenPageWillDeactivate = __webpack_require__(529);
26222
+ var _fadeOutWhenPageWillDeactivate = __webpack_require__(532);
26036
26223
 
26037
26224
  var _fadeOutWhenPageWillDeactivate2 = _interopRequireDefault(_fadeOutWhenPageWillDeactivate);
26038
26225
 
26039
- var _goToNextPageOnEnd = __webpack_require__(530);
26226
+ var _goToNextPageOnEnd = __webpack_require__(533);
26040
26227
 
26041
26228
  var _goToNextPageOnEnd2 = _interopRequireDefault(_goToNextPageOnEnd);
26042
26229
 
@@ -26053,7 +26240,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26053
26240
  while (1) {
26054
26241
  switch (_context.prev = _context.next) {
26055
26242
  case 0:
26056
- sagas = [(0, _togglePlaying2.default)()];
26243
+ sagas = [(0, _togglePlaying2.default)(), (0, _muteBackgroundMediaOnPlayFailed2.default)()];
26057
26244
 
26058
26245
 
26059
26246
  if (!options.playsInNativePlayer || !options.playsInNativePlayer()) {
@@ -26061,7 +26248,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26061
26248
  }
26062
26249
 
26063
26250
  if (!(0, _utils.has)('mobile platform')) {
26064
- sagas.push([(0, _handlePageDidActivate2.default)()]);
26251
+ sagas.push([(0, _handlePageDidActivate2.default)(_extends({}, options, {
26252
+ canAutoplay: (0, _utils.has)('autoplay support')
26253
+ }))]);
26065
26254
  }
26066
26255
 
26067
26256
  if (options.hideControls) {
@@ -26080,7 +26269,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26080
26269
  }
26081
26270
 
26082
26271
  /***/ }),
26083
- /* 524 */
26272
+ /* 525 */
26084
26273
  /***/ (function(module, exports, __webpack_require__) {
26085
26274
 
26086
26275
  'use strict';
@@ -26092,7 +26281,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26092
26281
 
26093
26282
  var _actions = __webpack_require__(499);
26094
26283
 
26095
- var _actions2 = __webpack_require__(522);
26284
+ var _actions2 = __webpack_require__(523);
26096
26285
 
26097
26286
  var _selectors = __webpack_require__(498);
26098
26287
 
@@ -26142,14 +26331,20 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26142
26331
  return (0, _effects.put)(pause());
26143
26332
 
26144
26333
  case 6:
26145
- _context2.next = 10;
26334
+ _context2.next = 12;
26146
26335
  break;
26147
26336
 
26148
26337
  case 8:
26149
26338
  _context2.next = 10;
26150
- return (0, _effects.put)(play());
26339
+ return (0, _effects.call)(function () {
26340
+ return pageflow.backgroundMedia.unmute();
26341
+ });
26151
26342
 
26152
26343
  case 10:
26344
+ _context2.next = 12;
26345
+ return (0, _effects.put)(play());
26346
+
26347
+ case 12:
26153
26348
  case 'end':
26154
26349
  return _context2.stop();
26155
26350
  }
@@ -26158,7 +26353,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26158
26353
  }
26159
26354
 
26160
26355
  /***/ }),
26161
- /* 525 */
26356
+ /* 526 */
26162
26357
  /***/ (function(module, exports, __webpack_require__) {
26163
26358
 
26164
26359
  'use strict';
@@ -26166,106 +26361,271 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26166
26361
  Object.defineProperty(exports, "__esModule", {
26167
26362
  value: true
26168
26363
  });
26169
- exports.default = _callee2;
26364
+ exports.default = _callee;
26365
+
26366
+ var _actions = __webpack_require__(499);
26170
26367
 
26171
26368
  var _reduxSaga = __webpack_require__(387);
26172
26369
 
26173
26370
  var _effects = __webpack_require__(383);
26174
26371
 
26175
- var _actions = __webpack_require__(329);
26176
-
26177
- var _actions2 = __webpack_require__(499);
26178
-
26179
- var _selectors = __webpack_require__(375);
26372
+ var _marked = /*#__PURE__*/regeneratorRuntime.mark(_callee),
26373
+ _marked2 = /*#__PURE__*/regeneratorRuntime.mark(muteBackgoundAudio);
26180
26374
 
26181
- var _marked = /*#__PURE__*/regeneratorRuntime.mark(_callee2),
26182
- _marked2 = /*#__PURE__*/regeneratorRuntime.mark(prebufferAndPlay);
26375
+ function _callee() {
26376
+ return regeneratorRuntime.wrap(function _callee$(_context) {
26377
+ while (1) {
26378
+ switch (_context.prev = _context.next) {
26379
+ case 0:
26380
+ _context.next = 2;
26381
+ return (0, _reduxSaga.takeEvery)([_actions.PLAY_FAILED, _actions.PLAY_MUTED], muteBackgoundAudio);
26183
26382
 
26184
- var _actionCreators = (0, _actions2.actionCreators)(),
26185
- play = _actionCreators.play,
26186
- prebuffer = _actionCreators.prebuffer,
26187
- waiting = _actionCreators.waiting;
26383
+ case 2:
26384
+ case 'end':
26385
+ return _context.stop();
26386
+ }
26387
+ }
26388
+ }, _marked, this);
26389
+ }
26188
26390
 
26189
- function _callee2() {
26190
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
26391
+ function muteBackgoundAudio() {
26392
+ return regeneratorRuntime.wrap(function muteBackgoundAudio$(_context2) {
26191
26393
  while (1) {
26192
26394
  switch (_context2.prev = _context2.next) {
26193
26395
  case 0:
26194
26396
  _context2.next = 2;
26195
- return (0, _reduxSaga.takeEvery)(_actions.PAGE_DID_ACTIVATE, /*#__PURE__*/regeneratorRuntime.mark(function _callee(action) {
26196
- return regeneratorRuntime.wrap(function _callee$(_context) {
26197
- while (1) {
26198
- switch (_context.prev = _context.next) {
26199
- case 0:
26200
- _context.next = 2;
26201
- return (0, _effects.race)({
26202
- task: (0, _effects.call)(prebufferAndPlay),
26203
- cancel: (0, _effects.take)(_actions.PAGE_WILL_DEACTIVATE)
26204
- });
26205
-
26206
- case 2:
26207
- case 'end':
26208
- return _context.stop();
26209
- }
26210
- }
26211
- }, _callee, this);
26212
- }));
26397
+ return (0, _effects.call)(function () {
26398
+ return pageflow.backgroundMedia.mute();
26399
+ });
26213
26400
 
26214
26401
  case 2:
26215
26402
  case 'end':
26216
26403
  return _context2.stop();
26217
26404
  }
26218
26405
  }
26219
- }, _marked, this);
26406
+ }, _marked2, this);
26220
26407
  }
26221
26408
 
26222
- function prebufferAndPlay() {
26223
- var autoplay;
26224
- return regeneratorRuntime.wrap(function prebufferAndPlay$(_context3) {
26409
+ /***/ }),
26410
+ /* 527 */
26411
+ /***/ (function(module, exports, __webpack_require__) {
26412
+
26413
+ 'use strict';
26414
+
26415
+ Object.defineProperty(exports, "__esModule", {
26416
+ value: true
26417
+ });
26418
+ exports.default = _callee2;
26419
+
26420
+ var _reduxSaga = __webpack_require__(387);
26421
+
26422
+ var _effects = __webpack_require__(383);
26423
+
26424
+ var _actions = __webpack_require__(329);
26425
+
26426
+ var _actions2 = __webpack_require__(499);
26427
+
26428
+ var _actions3 = __webpack_require__(528);
26429
+
26430
+ var _selectors = __webpack_require__(498);
26431
+
26432
+ var _marked = /*#__PURE__*/regeneratorRuntime.mark(_callee2),
26433
+ _marked2 = /*#__PURE__*/regeneratorRuntime.mark(prebufferAndPlayOnUnmute),
26434
+ _marked3 = /*#__PURE__*/regeneratorRuntime.mark(prebufferAndPlay),
26435
+ _marked4 = /*#__PURE__*/regeneratorRuntime.mark(autoplayPage);
26436
+
26437
+ var _actionCreators = (0, _actions2.actionCreators)(),
26438
+ play = _actionCreators.play,
26439
+ prebuffer = _actionCreators.prebuffer,
26440
+ waiting = _actionCreators.waiting;
26441
+
26442
+ function _callee2(options) {
26443
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
26225
26444
  while (1) {
26226
- switch (_context3.prev = _context3.next) {
26445
+ switch (_context2.prev = _context2.next) {
26227
26446
  case 0:
26228
- _context3.next = 2;
26229
- return (0, _effects.select)((0, _selectors.pageAttribute)('autoplay'));
26447
+ _context2.next = 2;
26448
+ return (0, _reduxSaga.takeEvery)(_actions.PAGE_DID_ACTIVATE, /*#__PURE__*/regeneratorRuntime.mark(function _callee(action) {
26449
+ return regeneratorRuntime.wrap(function _callee$(_context) {
26450
+ while (1) {
26451
+ switch (_context.prev = _context.next) {
26452
+ case 0:
26453
+ _context.next = 2;
26454
+ return [(0, _effects.race)({
26455
+ task: (0, _effects.call)(prebufferAndPlay, options),
26456
+ cancel: (0, _effects.take)(_actions.PAGE_WILL_DEACTIVATE)
26457
+ }), (0, _effects.race)({
26458
+ task: (0, _effects.call)(prebufferAndPlayOnUnmute, options),
26459
+ cancel: (0, _effects.take)(_actions.PAGE_WILL_DEACTIVATE)
26460
+ })];
26461
+
26462
+ case 2:
26463
+ case 'end':
26464
+ return _context.stop();
26465
+ }
26466
+ }
26467
+ }, _callee, this);
26468
+ }));
26230
26469
 
26231
26470
  case 2:
26232
- autoplay = _context3.sent;
26471
+ case 'end':
26472
+ return _context2.stop();
26473
+ }
26474
+ }
26475
+ }, _marked, this);
26476
+ }
26477
+
26478
+ function prebufferAndPlayOnUnmute(options) {
26479
+ var _ref, unmute;
26480
+
26481
+ return regeneratorRuntime.wrap(function prebufferAndPlayOnUnmute$(_context3) {
26482
+ while (1) {
26483
+ switch (_context3.prev = _context3.next) {
26484
+ case 0:
26485
+ _context3.t0 = options.retryOnUnmute;
26233
26486
 
26234
- if (!(autoplay !== false)) {
26235
- _context3.next = 6;
26487
+ if (!_context3.t0) {
26488
+ _context3.next = 5;
26236
26489
  break;
26237
26490
  }
26238
26491
 
26239
- _context3.next = 6;
26240
- return (0, _effects.put)(waiting());
26492
+ _context3.next = 4;
26493
+ return (0, _effects.select)((0, _selectors.pageHasAutoplayOption)());
26494
+
26495
+ case 4:
26496
+ _context3.t0 = _context3.sent;
26497
+
26498
+ case 5:
26499
+ if (!_context3.t0) {
26500
+ _context3.next = 12;
26501
+ break;
26502
+ }
26241
26503
 
26242
- case 6:
26243
26504
  _context3.next = 8;
26244
- return [(0, _effects.take)(_actions2.PREBUFFERED), (0, _effects.put)(prebuffer())];
26505
+ return (0, _effects.race)({
26506
+ unmute: (0, _effects.take)(_actions3.UNMUTE),
26507
+ cancel: (0, _effects.take)(_actions.PAGE_WILL_DEACTIVATE)
26508
+ });
26245
26509
 
26246
26510
  case 8:
26247
- if (!(autoplay !== false)) {
26248
- _context3.next = 13;
26511
+ _ref = _context3.sent;
26512
+ unmute = _ref.unmute;
26513
+
26514
+ if (!unmute) {
26515
+ _context3.next = 12;
26516
+ break;
26517
+ }
26518
+
26519
+ return _context3.delegateYield(prebufferAndPlay(options), 't1', 12);
26520
+
26521
+ case 12:
26522
+ case 'end':
26523
+ return _context3.stop();
26524
+ }
26525
+ }
26526
+ }, _marked2, this);
26527
+ }
26528
+
26529
+ function prebufferAndPlay(options) {
26530
+ var autoplay;
26531
+ return regeneratorRuntime.wrap(function prebufferAndPlay$(_context4) {
26532
+ while (1) {
26533
+ switch (_context4.prev = _context4.next) {
26534
+ case 0:
26535
+ return _context4.delegateYield(autoplayPage(options), 't0', 1);
26536
+
26537
+ case 1:
26538
+ autoplay = _context4.t0;
26539
+
26540
+ if (!autoplay) {
26541
+ _context4.next = 5;
26542
+ break;
26543
+ }
26544
+
26545
+ _context4.next = 5;
26546
+ return (0, _effects.put)(waiting());
26547
+
26548
+ case 5:
26549
+ _context4.next = 7;
26550
+ return [(0, _effects.take)(_actions2.PREBUFFERED), (0, _effects.put)(prebuffer())];
26551
+
26552
+ case 7:
26553
+ if (!autoplay) {
26554
+ _context4.next = 12;
26249
26555
  break;
26250
26556
  }
26251
26557
 
26252
- _context3.next = 11;
26558
+ _context4.next = 10;
26253
26559
  return (0, _effects.call)(_reduxSaga.delay, 1000);
26254
26560
 
26255
- case 11:
26256
- _context3.next = 13;
26561
+ case 10:
26562
+ _context4.next = 12;
26257
26563
  return (0, _effects.put)(play());
26258
26564
 
26259
- case 13:
26565
+ case 12:
26260
26566
  case 'end':
26261
- return _context3.stop();
26567
+ return _context4.stop();
26262
26568
  }
26263
26569
  }
26264
- }, _marked2, this);
26570
+ }, _marked3, this);
26571
+ }
26572
+
26573
+ function autoplayPage(_ref2) {
26574
+ var canAutoplay = _ref2.canAutoplay,
26575
+ _autoplayWhenBackgroundMediaMuted = _ref2.autoplayWhenBackgroundMediaMuted;
26576
+ var shouldAutoplay;
26577
+ return regeneratorRuntime.wrap(function autoplayPage$(_context5) {
26578
+ while (1) {
26579
+ switch (_context5.prev = _context5.next) {
26580
+ case 0:
26581
+ _context5.next = 2;
26582
+ return (0, _effects.select)((0, _selectors.pageShouldAutoplay)({
26583
+ autoplayWhenBackgroundMediaMuted: function autoplayWhenBackgroundMediaMuted() {
26584
+ return _autoplayWhenBackgroundMediaMuted;
26585
+ }
26586
+ }));
26587
+
26588
+ case 2:
26589
+ shouldAutoplay = _context5.sent;
26590
+ return _context5.abrupt('return', shouldAutoplay && canAutoplay);
26591
+
26592
+ case 4:
26593
+ case 'end':
26594
+ return _context5.stop();
26595
+ }
26596
+ }
26597
+ }, _marked4, this);
26265
26598
  }
26266
26599
 
26267
26600
  /***/ }),
26268
- /* 526 */
26601
+ /* 528 */
26602
+ /***/ (function(module, exports) {
26603
+
26604
+ 'use strict';
26605
+
26606
+ Object.defineProperty(exports, "__esModule", {
26607
+ value: true
26608
+ });
26609
+ exports.mute = mute;
26610
+ exports.unmute = unmute;
26611
+ var MUTE = exports.MUTE = 'BACKGROUND_MEDIA_MUTE';
26612
+
26613
+ var UNMUTE = exports.UNMUTE = 'BACKGROUND_MEDIA_UNMUTE';
26614
+
26615
+ function mute() {
26616
+ return {
26617
+ type: MUTE
26618
+ };
26619
+ }
26620
+
26621
+ function unmute() {
26622
+ return {
26623
+ type: UNMUTE
26624
+ };
26625
+ }
26626
+
26627
+ /***/ }),
26628
+ /* 529 */
26269
26629
  /***/ (function(module, exports, __webpack_require__) {
26270
26630
 
26271
26631
  'use strict';
@@ -26360,7 +26720,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26360
26720
  }
26361
26721
 
26362
26722
  /***/ }),
26363
- /* 527 */
26723
+ /* 530 */
26364
26724
  /***/ (function(module, exports, __webpack_require__) {
26365
26725
 
26366
26726
  'use strict';
@@ -26433,7 +26793,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26433
26793
  }
26434
26794
 
26435
26795
  /***/ }),
26436
- /* 528 */
26796
+ /* 531 */
26437
26797
  /***/ (function(module, exports, __webpack_require__) {
26438
26798
 
26439
26799
  'use strict';
@@ -26449,7 +26809,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26449
26809
 
26450
26810
  var _actions = __webpack_require__(499);
26451
26811
 
26452
- var _actions2 = __webpack_require__(522);
26812
+ var _actions2 = __webpack_require__(523);
26453
26813
 
26454
26814
  var _marked = /*#__PURE__*/regeneratorRuntime.mark(_callee),
26455
26815
  _marked2 = /*#__PURE__*/regeneratorRuntime.mark(putAfterDelay);
@@ -26494,7 +26854,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26494
26854
  }
26495
26855
 
26496
26856
  /***/ }),
26497
- /* 529 */
26857
+ /* 532 */
26498
26858
  /***/ (function(module, exports, __webpack_require__) {
26499
26859
 
26500
26860
  'use strict';
@@ -26551,7 +26911,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26551
26911
  }
26552
26912
 
26553
26913
  /***/ }),
26554
- /* 530 */
26914
+ /* 533 */
26555
26915
  /***/ (function(module, exports, __webpack_require__) {
26556
26916
 
26557
26917
  'use strict';
@@ -26623,7 +26983,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26623
26983
  }
26624
26984
 
26625
26985
  /***/ }),
26626
- /* 531 */
26986
+ /* 534 */
26627
26987
  /***/ (function(module, exports, __webpack_require__) {
26628
26988
 
26629
26989
  'use strict';
@@ -26705,7 +27065,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26705
27065
  }
26706
27066
 
26707
27067
  /***/ }),
26708
- /* 532 */
27068
+ /* 535 */
26709
27069
  /***/ (function(module, exports, __webpack_require__) {
26710
27070
 
26711
27071
  'use strict';
@@ -26715,11 +27075,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26715
27075
  });
26716
27076
  exports.Page = exports.reduxModule = undefined;
26717
27077
 
26718
- var _Page = __webpack_require__(533);
27078
+ var _Page = __webpack_require__(536);
26719
27079
 
26720
27080
  var _Page2 = _interopRequireDefault(_Page);
26721
27081
 
26722
- var _reenableScrollIndicator = __webpack_require__(535);
27082
+ var _reenableScrollIndicator = __webpack_require__(538);
26723
27083
 
26724
27084
  var _reenableScrollIndicator2 = _interopRequireDefault(_reenableScrollIndicator);
26725
27085
 
@@ -26734,7 +27094,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26734
27094
  exports.Page = _Page2.default;
26735
27095
 
26736
27096
  /***/ }),
26737
- /* 533 */
27097
+ /* 536 */
26738
27098
  /***/ (function(module, exports, __webpack_require__) {
26739
27099
 
26740
27100
  'use strict';
@@ -26755,7 +27115,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26755
27115
 
26756
27116
  var _components = __webpack_require__(331);
26757
27117
 
26758
- var _selectors = __webpack_require__(534);
27118
+ var _selectors = __webpack_require__(537);
26759
27119
 
26760
27120
  var _pages = __webpack_require__(348);
26761
27121
 
@@ -26874,7 +27234,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26874
27234
  }))(PageWithInteractiveBackground);
26875
27235
 
26876
27236
  /***/ }),
26877
- /* 534 */
27237
+ /* 537 */
26878
27238
  /***/ (function(module, exports) {
26879
27239
 
26880
27240
  "use strict";
@@ -26893,7 +27253,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26893
27253
  }
26894
27254
 
26895
27255
  /***/ }),
26896
- /* 535 */
27256
+ /* 538 */
26897
27257
  /***/ (function(module, exports, __webpack_require__) {
26898
27258
 
26899
27259
  'use strict';
@@ -26907,7 +27267,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26907
27267
 
26908
27268
  var _effects = __webpack_require__(383);
26909
27269
 
26910
- var _actions = __webpack_require__(536);
27270
+ var _actions = __webpack_require__(539);
26911
27271
 
26912
27272
  var _selectors = __webpack_require__(375);
26913
27273
 
@@ -26957,7 +27317,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26957
27317
  }
26958
27318
 
26959
27319
  /***/ }),
26960
- /* 536 */
27320
+ /* 539 */
26961
27321
  /***/ (function(module, exports) {
26962
27322
 
26963
27323
  'use strict';
@@ -26983,7 +27343,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26983
27343
  }
26984
27344
 
26985
27345
  /***/ }),
26986
- /* 537 */
27346
+ /* 540 */
26987
27347
  /***/ (function(module, exports, __webpack_require__) {
26988
27348
 
26989
27349
  'use strict';
@@ -26993,7 +27353,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
26993
27353
  });
26994
27354
  exports.registry = undefined;
26995
27355
 
26996
- var _PageTypeRegistry = __webpack_require__(538);
27356
+ var _PageTypeRegistry = __webpack_require__(541);
26997
27357
 
26998
27358
  var _PageTypeRegistry2 = _interopRequireDefault(_PageTypeRegistry);
26999
27359
 
@@ -27004,7 +27364,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27004
27364
  exports.default = registry.register;
27005
27365
 
27006
27366
  /***/ }),
27007
- /* 538 */
27367
+ /* 541 */
27008
27368
  /***/ (function(module, exports, __webpack_require__) {
27009
27369
 
27010
27370
  'use strict';
@@ -27106,7 +27466,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27106
27466
  }
27107
27467
 
27108
27468
  /***/ }),
27109
- /* 539 */
27469
+ /* 542 */
27110
27470
  /***/ (function(module, exports, __webpack_require__) {
27111
27471
 
27112
27472
  'use strict';
@@ -27134,7 +27494,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27134
27494
  });
27135
27495
  };
27136
27496
 
27137
- var _registerPageType = __webpack_require__(537);
27497
+ var _registerPageType = __webpack_require__(540);
27138
27498
 
27139
27499
  var _registerPageType2 = _interopRequireDefault(_registerPageType);
27140
27500
 
@@ -27143,7 +27503,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27143
27503
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27144
27504
 
27145
27505
  /***/ }),
27146
- /* 540 */
27506
+ /* 543 */
27147
27507
  /***/ (function(module, exports) {
27148
27508
 
27149
27509
  "use strict";
@@ -27164,7 +27524,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27164
27524
  var registry = exports.registry = [];
27165
27525
 
27166
27526
  /***/ }),
27167
- /* 541 */
27527
+ /* 544 */
27168
27528
  /***/ (function(module, exports, __webpack_require__) {
27169
27529
 
27170
27530
  'use strict';
@@ -27177,9 +27537,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27177
27537
 
27178
27538
  var _collections = __webpack_require__(376);
27179
27539
 
27180
- var _registerPageType = __webpack_require__(537);
27540
+ var _registerPageType = __webpack_require__(540);
27181
27541
 
27182
- var _boot = __webpack_require__(542);
27542
+ var _boot = __webpack_require__(545);
27183
27543
 
27184
27544
  var _boot2 = _interopRequireDefault(_boot);
27185
27545
 
@@ -27237,7 +27597,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27237
27597
  exports.default = _class;
27238
27598
 
27239
27599
  /***/ }),
27240
- /* 542 */
27600
+ /* 545 */
27241
27601
  /***/ (function(module, exports, __webpack_require__) {
27242
27602
 
27243
27603
  'use strict';
@@ -27267,21 +27627,24 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27267
27627
 
27268
27628
  pageTypes: _registerPageType.registry,
27269
27629
 
27630
+ theming: seed.theming,
27270
27631
  files: collections.files || {},
27271
27632
  storylines: collections.storylines,
27272
27633
  chapters: collections.chapters,
27273
27634
  pages: collections.pages,
27274
27635
  widgets: isEditor ? pageflow.entry.widgets : seed.widgets,
27275
27636
 
27637
+ cookies: pageflow.cookies,
27276
27638
  hideText: pageflow.hideText,
27277
27639
  events: pageflow.events,
27278
27640
  settings: pageflow.settings,
27279
27641
  widgetsApi: pageflow.widgets,
27642
+ backgroundMedia: pageflow.backgroundMedia,
27280
27643
 
27281
27644
  window: isServerSide ? null : window
27282
27645
  };
27283
27646
 
27284
- var store = (0, _createStore2.default)([_i18n2.default, _entry2.default, _current2.default, _storylines2.default, _chapters2.default, _pages2.default, _files2.default, _settings2.default, _hideText2.default, _widgets2.default, _widgetPresence2.default, _pageTypes2.default, _hotkeys2.default], options);
27647
+ var store = (0, _createStore2.default)([_backgroundMedia2.default, _cookieNotice2.default, _i18n2.default, _theming2.default, _entry2.default, _current2.default, _storylines2.default, _chapters2.default, _pages2.default, _files2.default, _settings2.default, _hideText2.default, _widgets2.default, _widgetPresence2.default, _pageTypes2.default, _hotkeys2.default], options);
27285
27648
 
27286
27649
  if (!isServerSide) {
27287
27650
  _registerPageType.registry.forEach(function (options) {
@@ -27301,19 +27664,31 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27301
27664
  return store;
27302
27665
  };
27303
27666
 
27304
- var _registerPageType = __webpack_require__(537);
27667
+ var _registerPageType = __webpack_require__(540);
27305
27668
 
27306
- var _registerWidgetType = __webpack_require__(540);
27669
+ var _registerWidgetType = __webpack_require__(543);
27307
27670
 
27308
- var _createStore = __webpack_require__(543);
27671
+ var _createStore = __webpack_require__(546);
27309
27672
 
27310
27673
  var _createStore2 = _interopRequireDefault(_createStore);
27311
27674
 
27312
- var _storylines = __webpack_require__(545);
27675
+ var _backgroundMedia = __webpack_require__(548);
27676
+
27677
+ var _backgroundMedia2 = _interopRequireDefault(_backgroundMedia);
27678
+
27679
+ var _cookieNotice = __webpack_require__(551);
27680
+
27681
+ var _cookieNotice2 = _interopRequireDefault(_cookieNotice);
27682
+
27683
+ var _theming = __webpack_require__(557);
27684
+
27685
+ var _theming2 = _interopRequireDefault(_theming);
27686
+
27687
+ var _storylines = __webpack_require__(560);
27313
27688
 
27314
27689
  var _storylines2 = _interopRequireDefault(_storylines);
27315
27690
 
27316
- var _chapters = __webpack_require__(546);
27691
+ var _chapters = __webpack_require__(561);
27317
27692
 
27318
27693
  var _chapters2 = _interopRequireDefault(_chapters);
27319
27694
 
@@ -27321,50 +27696,50 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27321
27696
 
27322
27697
  var _pages2 = _interopRequireDefault(_pages);
27323
27698
 
27324
- var _pageTypes = __webpack_require__(547);
27699
+ var _pageTypes = __webpack_require__(562);
27325
27700
 
27326
27701
  var _pageTypes2 = _interopRequireDefault(_pageTypes);
27327
27702
 
27328
- var _current = __webpack_require__(550);
27703
+ var _current = __webpack_require__(565);
27329
27704
 
27330
27705
  var _current2 = _interopRequireDefault(_current);
27331
27706
 
27332
- var _files = __webpack_require__(554);
27707
+ var _files = __webpack_require__(569);
27333
27708
 
27334
27709
  var _files2 = _interopRequireDefault(_files);
27335
27710
 
27336
- var _settings = __webpack_require__(555);
27711
+ var _settings = __webpack_require__(570);
27337
27712
 
27338
27713
  var _settings2 = _interopRequireDefault(_settings);
27339
27714
 
27340
- var _i18n = __webpack_require__(557);
27715
+ var _i18n = __webpack_require__(572);
27341
27716
 
27342
27717
  var _i18n2 = _interopRequireDefault(_i18n);
27343
27718
 
27344
- var _entry = __webpack_require__(560);
27719
+ var _entry = __webpack_require__(575);
27345
27720
 
27346
27721
  var _entry2 = _interopRequireDefault(_entry);
27347
27722
 
27348
- var _hotkeys = __webpack_require__(563);
27723
+ var _hotkeys = __webpack_require__(578);
27349
27724
 
27350
27725
  var _hotkeys2 = _interopRequireDefault(_hotkeys);
27351
27726
 
27352
- var _hideText = __webpack_require__(564);
27727
+ var _hideText = __webpack_require__(579);
27353
27728
 
27354
27729
  var _hideText2 = _interopRequireDefault(_hideText);
27355
27730
 
27356
- var _widgets = __webpack_require__(567);
27731
+ var _widgets = __webpack_require__(582);
27357
27732
 
27358
27733
  var _widgets2 = _interopRequireDefault(_widgets);
27359
27734
 
27360
- var _widgetPresence = __webpack_require__(568);
27735
+ var _widgetPresence = __webpack_require__(583);
27361
27736
 
27362
27737
  var _widgetPresence2 = _interopRequireDefault(_widgetPresence);
27363
27738
 
27364
27739
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27365
27740
 
27366
27741
  /***/ }),
27367
- /* 543 */
27742
+ /* 546 */
27368
27743
  /***/ (function(module, exports, __webpack_require__) {
27369
27744
 
27370
27745
  /* WEBPACK VAR INJECTION */(function(process) {'use strict';
@@ -27410,6 +27785,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27410
27785
  return store;
27411
27786
  };
27412
27787
 
27788
+ exports.createReducer = createReducer;
27789
+
27413
27790
  var _redux = __webpack_require__(351);
27414
27791
 
27415
27792
  var _reduxSaga = __webpack_require__(387);
@@ -27471,10 +27848,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27471
27848
  return enhancer;
27472
27849
  }
27473
27850
  }
27474
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(544)))
27851
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(547)))
27475
27852
 
27476
27853
  /***/ }),
27477
- /* 544 */
27854
+ /* 547 */
27478
27855
  /***/ (function(module, exports) {
27479
27856
 
27480
27857
  // shim for using process in browser
@@ -27664,7 +28041,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27664
28041
 
27665
28042
 
27666
28043
  /***/ }),
27667
- /* 545 */
28044
+ /* 548 */
27668
28045
  /***/ (function(module, exports, __webpack_require__) {
27669
28046
 
27670
28047
  'use strict';
@@ -27672,32 +28049,86 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27672
28049
  Object.defineProperty(exports, "__esModule", {
27673
28050
  value: true
27674
28051
  });
28052
+ exports.registerWidgetTypes = registerWidgetTypes;
27675
28053
 
27676
- var _collections = __webpack_require__(376);
28054
+ var _reducer = __webpack_require__(549);
28055
+
28056
+ var _reducer2 = _interopRequireDefault(_reducer);
28057
+
28058
+ var _actions = __webpack_require__(528);
28059
+
28060
+ var _UnmuteButton = __webpack_require__(550);
28061
+
28062
+ var _reduxSaga = __webpack_require__(387);
28063
+
28064
+ var _effects = __webpack_require__(383);
28065
+
28066
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27677
28067
 
27678
28068
  exports.default = {
27679
28069
  init: function init(_ref) {
27680
- var storylines = _ref.storylines,
28070
+ var isServerSide = _ref.isServerSide,
28071
+ events = _ref.events,
27681
28072
  dispatch = _ref.dispatch;
27682
28073
 
27683
- (0, _collections.watch)({
27684
- collection: storylines,
27685
- collectionName: 'storylines',
27686
- dispatch: dispatch,
28074
+ if (!isServerSide) {
28075
+ events.on('background_media:mute', function (page) {
28076
+ return dispatch((0, _actions.mute)());
28077
+ });
27687
28078
 
27688
- attributes: ['id'],
27689
- includeConfiguration: true
27690
- });
28079
+ events.on('background_media:unmute', function (page) {
28080
+ return dispatch((0, _actions.unmute)());
28081
+ });
28082
+ }
27691
28083
  },
27692
28084
  createReducers: function createReducers() {
27693
- return {
27694
- storylines: (0, _collections.createReducer)('storylines')
27695
- };
28085
+ return { backgroundMedia: _reducer2.default };
28086
+ },
28087
+
28088
+
28089
+ createSaga: function createSaga(_ref2) {
28090
+ var backgroundMedia = _ref2.backgroundMedia;
28091
+
28092
+ return (/*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
28093
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
28094
+ while (1) {
28095
+ switch (_context2.prev = _context2.next) {
28096
+ case 0:
28097
+ _context2.next = 2;
28098
+ return (0, _reduxSaga.takeEvery)(_actions.UNMUTE, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
28099
+ return regeneratorRuntime.wrap(function _callee$(_context) {
28100
+ while (1) {
28101
+ switch (_context.prev = _context.next) {
28102
+ case 0:
28103
+ _context.next = 2;
28104
+ return (0, _effects.call)(function () {
28105
+ return backgroundMedia.unmute();
28106
+ });
28107
+
28108
+ case 2:
28109
+ case 'end':
28110
+ return _context.stop();
28111
+ }
28112
+ }
28113
+ }, _callee, this);
28114
+ }));
28115
+
28116
+ case 2:
28117
+ case 'end':
28118
+ return _context2.stop();
28119
+ }
28120
+ }
28121
+ }, _callee2, this);
28122
+ })
28123
+ );
27696
28124
  }
27697
28125
  };
28126
+ function registerWidgetTypes() {
28127
+ (0, _UnmuteButton.register)();
28128
+ }
27698
28129
 
27699
28130
  /***/ }),
27700
- /* 546 */
28131
+ /* 549 */
27701
28132
  /***/ (function(module, exports, __webpack_require__) {
27702
28133
 
27703
28134
  'use strict';
@@ -27706,12 +28137,553 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27706
28137
  value: true
27707
28138
  });
27708
28139
 
27709
- var _collections = __webpack_require__(376);
27710
-
27711
- exports.default = {
27712
- init: function init(_ref) {
27713
- var chapters = _ref.chapters,
27714
- dispatch = _ref.dispatch;
28140
+ exports.default = function () {
28141
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
28142
+ var action = arguments[1];
28143
+
28144
+ switch (action.type) {
28145
+ case _actions.MUTE:
28146
+ return {
28147
+ muted: true
28148
+ };
28149
+ case _actions.UNMUTE:
28150
+ return {
28151
+ muted: false
28152
+ };
28153
+ default:
28154
+ return state;
28155
+ }
28156
+ };
28157
+
28158
+ var _actions = __webpack_require__(528);
28159
+
28160
+ var initialState = {
28161
+ muted: false
28162
+ };
28163
+
28164
+ /***/ }),
28165
+ /* 550 */
28166
+ /***/ (function(module, exports, __webpack_require__) {
28167
+
28168
+ 'use strict';
28169
+
28170
+ Object.defineProperty(exports, "__esModule", {
28171
+ value: true
28172
+ });
28173
+ exports.register = register;
28174
+
28175
+ var _registerWidgetType = __webpack_require__(543);
28176
+
28177
+ var _registerWidgetType2 = _interopRequireDefault(_registerWidgetType);
28178
+
28179
+ var _selectors = __webpack_require__(500);
28180
+
28181
+ var _selectors2 = __webpack_require__(486);
28182
+
28183
+ var _actions = __webpack_require__(528);
28184
+
28185
+ var _utils = __webpack_require__(339);
28186
+
28187
+ var _react = __webpack_require__(333);
28188
+
28189
+ var _react2 = _interopRequireDefault(_react);
28190
+
28191
+ var _reactRedux = __webpack_require__(397);
28192
+
28193
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28194
+
28195
+ function UnmuteButton(props) {
28196
+ var t = props.t,
28197
+ muted = props.muted,
28198
+ unmute = props.unmute;
28199
+
28200
+
28201
+ if (muted) {
28202
+ return _react2.default.createElement(
28203
+ 'div',
28204
+ { className: 'background_media_unmute_button' },
28205
+ _react2.default.createElement('a', { title: t('pageflow.public.mute_off'),
28206
+ onClick: function onClick() {
28207
+ playUnmuteSound();unmute();
28208
+ },
28209
+ href: '#' })
28210
+ );
28211
+ } else {
28212
+ return null;
28213
+ }
28214
+ }
28215
+
28216
+ function playUnmuteSound() {
28217
+ new pageflow.AudioPlayer([{ src: pageflow.assetUrls.unmuteSound, type: 'audio/mpeg' }], { codecs: ['mp3'] }).play();
28218
+ }
28219
+
28220
+ function register() {
28221
+ (0, _registerWidgetType2.default)('unmute_button', {
28222
+ component: (0, _reactRedux.connect)((0, _utils.combineSelectors)({
28223
+ t: _selectors2.t,
28224
+ muted: _selectors.muted
28225
+ }), {
28226
+ unmute: _actions.unmute
28227
+ })(UnmuteButton)
28228
+ });
28229
+ }
28230
+
28231
+ /***/ }),
28232
+ /* 551 */
28233
+ /***/ (function(module, exports, __webpack_require__) {
28234
+
28235
+ 'use strict';
28236
+
28237
+ Object.defineProperty(exports, "__esModule", {
28238
+ value: true
28239
+ });
28240
+ exports.registerWidgetTypes = registerWidgetTypes;
28241
+
28242
+ var _CookieNoticeBar = __webpack_require__(552);
28243
+
28244
+ var _actions = __webpack_require__(555);
28245
+
28246
+ var _selectors = __webpack_require__(553);
28247
+
28248
+ var _createReducer = __webpack_require__(556);
28249
+
28250
+ var _createReducer2 = _interopRequireDefault(_createReducer);
28251
+
28252
+ var _reduxSaga = __webpack_require__(387);
28253
+
28254
+ var _effects = __webpack_require__(383);
28255
+
28256
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28257
+
28258
+ var COOKIE_KEY = 'cookie_notice_dismissed';
28259
+
28260
+ exports.default = {
28261
+ init: function init(_ref) {
28262
+ var isServerSide = _ref.isServerSide,
28263
+ events = _ref.events,
28264
+ dispatch = _ref.dispatch;
28265
+
28266
+ if (!isServerSide) {
28267
+ events.on('cookie_notice:request', function () {
28268
+ return dispatch((0, _actions.request)());
28269
+ });
28270
+ }
28271
+ },
28272
+ createReducers: function createReducers(_ref2) {
28273
+ var cookies = _ref2.cookies;
28274
+
28275
+ return {
28276
+ cookieNotice: (0, _createReducer2.default)({
28277
+ hasBeenDismissed: cookies && cookies.hasItem(COOKIE_KEY)
28278
+ })
28279
+ };
28280
+ },
28281
+
28282
+
28283
+ createSaga: function createSaga(_ref3) {
28284
+ var widgetsApi = _ref3.widgetsApi,
28285
+ cookies = _ref3.cookies;
28286
+
28287
+ return (/*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
28288
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
28289
+ while (1) {
28290
+ switch (_context3.prev = _context3.next) {
28291
+ case 0:
28292
+ _context3.next = 2;
28293
+ return (0, _reduxSaga.takeEvery)(_actions.REQUEST, /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
28294
+ var resetWidgetMargin;
28295
+ return regeneratorRuntime.wrap(function _callee$(_context) {
28296
+ while (1) {
28297
+ switch (_context.prev = _context.next) {
28298
+ case 0:
28299
+ _context.next = 2;
28300
+ return (0, _effects.select)(_selectors.isCookieNoticeVisible);
28301
+
28302
+ case 2:
28303
+ if (!_context.sent) {
28304
+ _context.next = 10;
28305
+ break;
28306
+ }
28307
+
28308
+ _context.next = 5;
28309
+ return (0, _effects.cps)(ensureWidgetMarginBottom, widgetsApi);
28310
+
28311
+ case 5:
28312
+ resetWidgetMargin = _context.sent;
28313
+ _context.next = 8;
28314
+ return (0, _effects.take)(_actions.DISMISS);
28315
+
28316
+ case 8:
28317
+ _context.next = 10;
28318
+ return (0, _effects.call)(resetWidgetMargin);
28319
+
28320
+ case 10:
28321
+ case 'end':
28322
+ return _context.stop();
28323
+ }
28324
+ }
28325
+ }, _callee, this);
28326
+ }));
28327
+
28328
+ case 2:
28329
+ _context3.next = 4;
28330
+ return (0, _reduxSaga.takeEvery)(_actions.DISMISS, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
28331
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
28332
+ while (1) {
28333
+ switch (_context2.prev = _context2.next) {
28334
+ case 0:
28335
+ _context2.next = 2;
28336
+ return (0, _effects.call)(function () {
28337
+ cookies.setItem(COOKIE_KEY, true);
28338
+ });
28339
+
28340
+ case 2:
28341
+ case 'end':
28342
+ return _context2.stop();
28343
+ }
28344
+ }
28345
+ }, _callee2, this);
28346
+ }));
28347
+
28348
+ case 4:
28349
+ case 'end':
28350
+ return _context3.stop();
28351
+ }
28352
+ }
28353
+ }, _callee3, this);
28354
+ })
28355
+ );
28356
+ }
28357
+ };
28358
+
28359
+
28360
+ function ensureWidgetMarginBottom(widgetsApi, callback) {
28361
+ widgetsApi.use({
28362
+ name: 'cookie_notice_bar_visible',
28363
+ insteadOf: 'cookie_notice_bar'
28364
+ }, function (reset) {
28365
+ return callback(null, reset);
28366
+ });
28367
+ }
28368
+
28369
+ function registerWidgetTypes() {
28370
+ (0, _CookieNoticeBar.register)();
28371
+ }
28372
+
28373
+ /***/ }),
28374
+ /* 552 */
28375
+ /***/ (function(module, exports, __webpack_require__) {
28376
+
28377
+ 'use strict';
28378
+
28379
+ Object.defineProperty(exports, "__esModule", {
28380
+ value: true
28381
+ });
28382
+ exports.register = register;
28383
+
28384
+ var _registerWidgetType = __webpack_require__(543);
28385
+
28386
+ var _registerWidgetType2 = _interopRequireDefault(_registerWidgetType);
28387
+
28388
+ var _selectors = __webpack_require__(553);
28389
+
28390
+ var _selectors2 = __webpack_require__(554);
28391
+
28392
+ var _selectors3 = __webpack_require__(493);
28393
+
28394
+ var _selectors4 = __webpack_require__(486);
28395
+
28396
+ var _actions = __webpack_require__(555);
28397
+
28398
+ var _utils = __webpack_require__(339);
28399
+
28400
+ var _react = __webpack_require__(333);
28401
+
28402
+ var _react2 = _interopRequireDefault(_react);
28403
+
28404
+ var _reactRedux = __webpack_require__(397);
28405
+
28406
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28407
+
28408
+ function CookieNoticeBar(props) {
28409
+ var isCookieNoticeVisible = props.isCookieNoticeVisible,
28410
+ editing = props.editing,
28411
+ t = props.t,
28412
+ dismiss = props.dismiss;
28413
+
28414
+
28415
+ if (isCookieNoticeVisible || editing) {
28416
+ return _react2.default.createElement(
28417
+ 'div',
28418
+ { className: 'cookie_notice_bar' },
28419
+ _react2.default.createElement(
28420
+ 'div',
28421
+ { className: 'cookie_notice_bar-content' },
28422
+ renderText(props),
28423
+ _react2.default.createElement(
28424
+ 'a',
28425
+ { className: 'cookie_notice_bar-dismiss', onClick: dismiss },
28426
+ t('pageflow.public.dismiss_cookie_notice')
28427
+ )
28428
+ )
28429
+ );
28430
+ } else {
28431
+ return _react2.default.createElement('noscript', null);
28432
+ }
28433
+ }
28434
+
28435
+ function renderText(_ref) {
28436
+ var privacyLinkUrl = _ref.privacyLinkUrl,
28437
+ t = _ref.t,
28438
+ locale = _ref.locale;
28439
+
28440
+ var text = t('pageflow.public.cookie_notice_html', {
28441
+ privacyLinkUrl: privacyLinkUrl + '?lang=' + locale
28442
+ });
28443
+
28444
+ return _react2.default.createElement('span', { className: 'cookie_notice_bar-text', dangerouslySetInnerHTML: {
28445
+ __html: text
28446
+ } });
28447
+ }
28448
+
28449
+ function register() {
28450
+ (0, _registerWidgetType2.default)('cookie_notice_bar', {
28451
+ component: (0, _reactRedux.connect)((0, _utils.combineSelectors)({
28452
+ isCookieNoticeVisible: _selectors.isCookieNoticeVisible,
28453
+ privacyLinkUrl: _selectors2.privacyLinkUrl,
28454
+ editing: (0, _selectors3.editingWidget)({ role: 'cookie_notice' }),
28455
+ t: _selectors4.t,
28456
+ locale: _selectors4.locale
28457
+ }), {
28458
+ dismiss: _actions.dismiss
28459
+ })(CookieNoticeBar)
28460
+ });
28461
+ }
28462
+
28463
+ /***/ }),
28464
+ /* 553 */
28465
+ /***/ (function(module, exports) {
28466
+
28467
+ "use strict";
28468
+
28469
+ Object.defineProperty(exports, "__esModule", {
28470
+ value: true
28471
+ });
28472
+ exports.isCookieNoticeVisible = isCookieNoticeVisible;
28473
+ function isCookieNoticeVisible(state) {
28474
+ return state.cookieNotice.visible;
28475
+ }
28476
+
28477
+ /***/ }),
28478
+ /* 554 */
28479
+ /***/ (function(module, exports) {
28480
+
28481
+ "use strict";
28482
+
28483
+ Object.defineProperty(exports, "__esModule", {
28484
+ value: true
28485
+ });
28486
+ exports.privacyLinkUrl = privacyLinkUrl;
28487
+ function privacyLinkUrl(state) {
28488
+ return state.theming.privacy_link_url;
28489
+ }
28490
+
28491
+ /***/ }),
28492
+ /* 555 */
28493
+ /***/ (function(module, exports) {
28494
+
28495
+ 'use strict';
28496
+
28497
+ Object.defineProperty(exports, "__esModule", {
28498
+ value: true
28499
+ });
28500
+ exports.request = request;
28501
+ exports.dismiss = dismiss;
28502
+ var REQUEST = exports.REQUEST = 'COOKIE_NOTICE_REQUEST';
28503
+ var DISMISS = exports.DISMISS = 'COOKIE_NOTICE_DISMISS';
28504
+
28505
+ function request() {
28506
+ return {
28507
+ type: REQUEST
28508
+ };
28509
+ }
28510
+
28511
+ function dismiss() {
28512
+ return {
28513
+ type: DISMISS
28514
+ };
28515
+ }
28516
+
28517
+ /***/ }),
28518
+ /* 556 */
28519
+ /***/ (function(module, exports, __webpack_require__) {
28520
+
28521
+ 'use strict';
28522
+
28523
+ Object.defineProperty(exports, "__esModule", {
28524
+ value: true
28525
+ });
28526
+
28527
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
28528
+
28529
+ exports.default = function (_ref) {
28530
+ var hasBeenDismissed = _ref.hasBeenDismissed;
28531
+
28532
+ var initialState = {
28533
+ dismissed: hasBeenDismissed,
28534
+ visible: false
28535
+ };
28536
+
28537
+ return function () {
28538
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
28539
+ var action = arguments[1];
28540
+
28541
+ switch (action.type) {
28542
+ case _actions.REQUEST:
28543
+ if (!state.dismissed) {
28544
+ return _extends({}, state, {
28545
+ visible: true
28546
+ });
28547
+ }
28548
+
28549
+ return state;
28550
+ case _actions.DISMISS:
28551
+ return {
28552
+ dismissed: true,
28553
+ visible: false
28554
+ };
28555
+ default:
28556
+ return state;
28557
+ }
28558
+ };
28559
+ };
28560
+
28561
+ var _actions = __webpack_require__(555);
28562
+
28563
+ /***/ }),
28564
+ /* 557 */
28565
+ /***/ (function(module, exports, __webpack_require__) {
28566
+
28567
+ 'use strict';
28568
+
28569
+ Object.defineProperty(exports, "__esModule", {
28570
+ value: true
28571
+ });
28572
+
28573
+ var _actions = __webpack_require__(558);
28574
+
28575
+ var _reducer = __webpack_require__(559);
28576
+
28577
+ var _reducer2 = _interopRequireDefault(_reducer);
28578
+
28579
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28580
+
28581
+ exports.default = {
28582
+ init: function init(_ref) {
28583
+ var theming = _ref.theming,
28584
+ dispatch = _ref.dispatch;
28585
+
28586
+ dispatch((0, _actions.init)(theming));
28587
+ },
28588
+ createReducers: function createReducers() {
28589
+ return { theming: _reducer2.default };
28590
+ }
28591
+ };
28592
+
28593
+ /***/ }),
28594
+ /* 558 */
28595
+ /***/ (function(module, exports) {
28596
+
28597
+ 'use strict';
28598
+
28599
+ Object.defineProperty(exports, "__esModule", {
28600
+ value: true
28601
+ });
28602
+ exports.init = init;
28603
+ var INIT = exports.INIT = 'THEMING_INIT';
28604
+
28605
+ function init(theming) {
28606
+ return {
28607
+ type: INIT,
28608
+ payload: {
28609
+ theming: theming
28610
+ }
28611
+ };
28612
+ }
28613
+
28614
+ /***/ }),
28615
+ /* 559 */
28616
+ /***/ (function(module, exports, __webpack_require__) {
28617
+
28618
+ 'use strict';
28619
+
28620
+ Object.defineProperty(exports, "__esModule", {
28621
+ value: true
28622
+ });
28623
+
28624
+ exports.default = function () {
28625
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28626
+ var action = arguments[1];
28627
+
28628
+ switch (action.type) {
28629
+ case _actions.INIT:
28630
+ return action.payload.theming;
28631
+ default:
28632
+ return state;
28633
+ }
28634
+ };
28635
+
28636
+ var _actions = __webpack_require__(558);
28637
+
28638
+ /***/ }),
28639
+ /* 560 */
28640
+ /***/ (function(module, exports, __webpack_require__) {
28641
+
28642
+ 'use strict';
28643
+
28644
+ Object.defineProperty(exports, "__esModule", {
28645
+ value: true
28646
+ });
28647
+
28648
+ var _collections = __webpack_require__(376);
28649
+
28650
+ exports.default = {
28651
+ init: function init(_ref) {
28652
+ var storylines = _ref.storylines,
28653
+ dispatch = _ref.dispatch;
28654
+
28655
+ (0, _collections.watch)({
28656
+ collection: storylines,
28657
+ collectionName: 'storylines',
28658
+ dispatch: dispatch,
28659
+
28660
+ attributes: ['id'],
28661
+ includeConfiguration: true
28662
+ });
28663
+ },
28664
+ createReducers: function createReducers() {
28665
+ return {
28666
+ storylines: (0, _collections.createReducer)('storylines')
28667
+ };
28668
+ }
28669
+ };
28670
+
28671
+ /***/ }),
28672
+ /* 561 */
28673
+ /***/ (function(module, exports, __webpack_require__) {
28674
+
28675
+ 'use strict';
28676
+
28677
+ Object.defineProperty(exports, "__esModule", {
28678
+ value: true
28679
+ });
28680
+
28681
+ var _collections = __webpack_require__(376);
28682
+
28683
+ exports.default = {
28684
+ init: function init(_ref) {
28685
+ var chapters = _ref.chapters,
28686
+ dispatch = _ref.dispatch;
27715
28687
 
27716
28688
  (0, _collections.watch)({
27717
28689
  collection: chapters,
@@ -27729,7 +28701,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27729
28701
  };
27730
28702
 
27731
28703
  /***/ }),
27732
- /* 547 */
28704
+ /* 562 */
27733
28705
  /***/ (function(module, exports, __webpack_require__) {
27734
28706
 
27735
28707
  'use strict';
@@ -27738,9 +28710,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27738
28710
  value: true
27739
28711
  });
27740
28712
 
27741
- var _actions = __webpack_require__(548);
28713
+ var _actions = __webpack_require__(563);
27742
28714
 
27743
- var _reducer = __webpack_require__(549);
28715
+ var _reducer = __webpack_require__(564);
27744
28716
 
27745
28717
  var _reducer2 = _interopRequireDefault(_reducer);
27746
28718
 
@@ -27761,7 +28733,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27761
28733
  };
27762
28734
 
27763
28735
  /***/ }),
27764
- /* 548 */
28736
+ /* 563 */
27765
28737
  /***/ (function(module, exports) {
27766
28738
 
27767
28739
  'use strict';
@@ -27784,7 +28756,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27784
28756
  }
27785
28757
 
27786
28758
  /***/ }),
27787
- /* 549 */
28759
+ /* 564 */
27788
28760
  /***/ (function(module, exports, __webpack_require__) {
27789
28761
 
27790
28762
  'use strict';
@@ -27805,10 +28777,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27805
28777
  }
27806
28778
  };
27807
28779
 
27808
- var _actions = __webpack_require__(548);
28780
+ var _actions = __webpack_require__(563);
27809
28781
 
27810
28782
  /***/ }),
27811
- /* 550 */
28783
+ /* 565 */
27812
28784
  /***/ (function(module, exports, __webpack_require__) {
27813
28785
 
27814
28786
  'use strict';
@@ -27818,11 +28790,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27818
28790
  });
27819
28791
  exports.watch = exports.reducers = undefined;
27820
28792
 
27821
- var _reducer = __webpack_require__(551);
28793
+ var _reducer = __webpack_require__(566);
27822
28794
 
27823
28795
  var _reducer2 = _interopRequireDefault(_reducer);
27824
28796
 
27825
- var _watch = __webpack_require__(553);
28797
+ var _watch = __webpack_require__(568);
27826
28798
 
27827
28799
  var _watch2 = _interopRequireDefault(_watch);
27828
28800
 
@@ -27847,7 +28819,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27847
28819
  exports.watch = _watch2.default;
27848
28820
 
27849
28821
  /***/ }),
27850
- /* 551 */
28822
+ /* 566 */
27851
28823
  /***/ (function(module, exports, __webpack_require__) {
27852
28824
 
27853
28825
  'use strict';
@@ -27868,10 +28840,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27868
28840
  }
27869
28841
  };
27870
28842
 
27871
- var _actions = __webpack_require__(552);
28843
+ var _actions = __webpack_require__(567);
27872
28844
 
27873
28845
  /***/ }),
27874
- /* 552 */
28846
+ /* 567 */
27875
28847
  /***/ (function(module, exports) {
27876
28848
 
27877
28849
  'use strict';
@@ -27894,7 +28866,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27894
28866
  }
27895
28867
 
27896
28868
  /***/ }),
27897
- /* 553 */
28869
+ /* 568 */
27898
28870
  /***/ (function(module, exports, __webpack_require__) {
27899
28871
 
27900
28872
  'use strict';
@@ -27909,10 +28881,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27909
28881
  });
27910
28882
  };
27911
28883
 
27912
- var _actions = __webpack_require__(552);
28884
+ var _actions = __webpack_require__(567);
27913
28885
 
27914
28886
  /***/ }),
27915
- /* 554 */
28887
+ /* 569 */
27916
28888
  /***/ (function(module, exports, __webpack_require__) {
27917
28889
 
27918
28890
  'use strict';
@@ -27971,7 +28943,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27971
28943
  };
27972
28944
 
27973
28945
  /***/ }),
27974
- /* 555 */
28946
+ /* 570 */
27975
28947
  /***/ (function(module, exports, __webpack_require__) {
27976
28948
 
27977
28949
  'use strict';
@@ -27983,7 +28955,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
27983
28955
  exports.createSaga = createSaga;
27984
28956
  exports.watch = watch;
27985
28957
 
27986
- var _reducer = __webpack_require__(556);
28958
+ var _reducer = __webpack_require__(571);
27987
28959
 
27988
28960
  var _reducer2 = _interopRequireDefault(_reducer);
27989
28961
 
@@ -28089,7 +29061,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28089
29061
  }
28090
29062
 
28091
29063
  /***/ }),
28092
- /* 556 */
29064
+ /* 571 */
28093
29065
  /***/ (function(module, exports, __webpack_require__) {
28094
29066
 
28095
29067
  'use strict';
@@ -28114,7 +29086,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28114
29086
  var _actions = __webpack_require__(330);
28115
29087
 
28116
29088
  /***/ }),
28117
- /* 557 */
29089
+ /* 572 */
28118
29090
  /***/ (function(module, exports, __webpack_require__) {
28119
29091
 
28120
29092
  'use strict';
@@ -28123,9 +29095,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28123
29095
  value: true
28124
29096
  });
28125
29097
 
28126
- var _actions = __webpack_require__(558);
29098
+ var _actions = __webpack_require__(573);
28127
29099
 
28128
- var _reducer = __webpack_require__(559);
29100
+ var _reducer = __webpack_require__(574);
28129
29101
 
28130
29102
  var _reducer2 = _interopRequireDefault(_reducer);
28131
29103
 
@@ -28144,7 +29116,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28144
29116
  };
28145
29117
 
28146
29118
  /***/ }),
28147
- /* 558 */
29119
+ /* 573 */
28148
29120
  /***/ (function(module, exports) {
28149
29121
 
28150
29122
  'use strict';
@@ -28167,7 +29139,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28167
29139
  }
28168
29140
 
28169
29141
  /***/ }),
28170
- /* 559 */
29142
+ /* 574 */
28171
29143
  /***/ (function(module, exports, __webpack_require__) {
28172
29144
 
28173
29145
  'use strict';
@@ -28188,10 +29160,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28188
29160
  }
28189
29161
  };
28190
29162
 
28191
- var _actions = __webpack_require__(558);
29163
+ var _actions = __webpack_require__(573);
28192
29164
 
28193
29165
  /***/ }),
28194
- /* 560 */
29166
+ /* 575 */
28195
29167
  /***/ (function(module, exports, __webpack_require__) {
28196
29168
 
28197
29169
  'use strict';
@@ -28200,9 +29172,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28200
29172
  value: true
28201
29173
  });
28202
29174
 
28203
- var _actions = __webpack_require__(561);
29175
+ var _actions = __webpack_require__(576);
28204
29176
 
28205
- var _reducer = __webpack_require__(562);
29177
+ var _reducer = __webpack_require__(577);
28206
29178
 
28207
29179
  var _reducer2 = _interopRequireDefault(_reducer);
28208
29180
 
@@ -28221,7 +29193,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28221
29193
  };
28222
29194
 
28223
29195
  /***/ }),
28224
- /* 561 */
29196
+ /* 576 */
28225
29197
  /***/ (function(module, exports) {
28226
29198
 
28227
29199
  'use strict';
@@ -28244,7 +29216,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28244
29216
  }
28245
29217
 
28246
29218
  /***/ }),
28247
- /* 562 */
29219
+ /* 577 */
28248
29220
  /***/ (function(module, exports, __webpack_require__) {
28249
29221
 
28250
29222
  'use strict';
@@ -28265,10 +29237,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28265
29237
  }
28266
29238
  };
28267
29239
 
28268
- var _actions = __webpack_require__(561);
29240
+ var _actions = __webpack_require__(576);
28269
29241
 
28270
29242
  /***/ }),
28271
- /* 563 */
29243
+ /* 578 */
28272
29244
  /***/ (function(module, exports, __webpack_require__) {
28273
29245
 
28274
29246
  'use strict';
@@ -28279,7 +29251,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28279
29251
 
28280
29252
  var _keyCodes = __webpack_require__(479);
28281
29253
 
28282
- var _actions = __webpack_require__(522);
29254
+ var _actions = __webpack_require__(523);
28283
29255
 
28284
29256
  exports.default = {
28285
29257
  init: function init(_ref) {
@@ -28305,7 +29277,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28305
29277
  };
28306
29278
 
28307
29279
  /***/ }),
28308
- /* 564 */
29280
+ /* 579 */
28309
29281
  /***/ (function(module, exports, __webpack_require__) {
28310
29282
 
28311
29283
  'use strict';
@@ -28315,11 +29287,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28315
29287
  });
28316
29288
  exports.watch = exports.reducers = undefined;
28317
29289
 
28318
- var _watch = __webpack_require__(565);
29290
+ var _watch = __webpack_require__(580);
28319
29291
 
28320
29292
  var _watch2 = _interopRequireDefault(_watch);
28321
29293
 
28322
- var _reducer = __webpack_require__(566);
29294
+ var _reducer = __webpack_require__(581);
28323
29295
 
28324
29296
  var _reducer2 = _interopRequireDefault(_reducer);
28325
29297
 
@@ -28346,7 +29318,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28346
29318
  exports.watch = _watch2.default;
28347
29319
 
28348
29320
  /***/ }),
28349
- /* 565 */
29321
+ /* 580 */
28350
29322
  /***/ (function(module, exports, __webpack_require__) {
28351
29323
 
28352
29324
  'use strict';
@@ -28365,10 +29337,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28365
29337
  });
28366
29338
  };
28367
29339
 
28368
- var _actions = __webpack_require__(536);
29340
+ var _actions = __webpack_require__(539);
28369
29341
 
28370
29342
  /***/ }),
28371
- /* 566 */
29343
+ /* 581 */
28372
29344
  /***/ (function(module, exports, __webpack_require__) {
28373
29345
 
28374
29346
  'use strict';
@@ -28402,9 +29374,9 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28402
29374
  }
28403
29375
  };
28404
29376
 
28405
- var _actions = __webpack_require__(536);
29377
+ var _actions = __webpack_require__(539);
28406
29378
 
28407
- var _actions2 = __webpack_require__(552);
29379
+ var _actions2 = __webpack_require__(567);
28408
29380
 
28409
29381
  var initialState = {
28410
29382
  isActive: false,
@@ -28412,7 +29384,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28412
29384
  };
28413
29385
 
28414
29386
  /***/ }),
28415
- /* 567 */
29387
+ /* 582 */
28416
29388
  /***/ (function(module, exports, __webpack_require__) {
28417
29389
 
28418
29390
  'use strict';
@@ -28442,7 +29414,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28442
29414
  collectionName: 'widgets',
28443
29415
  dispatch: dispatch,
28444
29416
 
28445
- attributes: ['role', 'type_name'],
29417
+ attributes: ['role', 'type_name', 'editing'],
28446
29418
  includeConfiguration: true
28447
29419
  });
28448
29420
  },
@@ -28467,7 +29439,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28467
29439
  }
28468
29440
 
28469
29441
  /***/ }),
28470
- /* 568 */
29442
+ /* 583 */
28471
29443
  /***/ (function(module, exports, __webpack_require__) {
28472
29444
 
28473
29445
  'use strict';
@@ -28476,11 +29448,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28476
29448
  value: true
28477
29449
  });
28478
29450
 
28479
- var _reducer = __webpack_require__(569);
29451
+ var _reducer = __webpack_require__(584);
28480
29452
 
28481
29453
  var _reducer2 = _interopRequireDefault(_reducer);
28482
29454
 
28483
- var _actions = __webpack_require__(570);
29455
+ var _actions = __webpack_require__(585);
28484
29456
 
28485
29457
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28486
29458
 
@@ -28511,7 +29483,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28511
29483
  };
28512
29484
 
28513
29485
  /***/ }),
28514
- /* 569 */
29486
+ /* 584 */
28515
29487
  /***/ (function(module, exports, __webpack_require__) {
28516
29488
 
28517
29489
  'use strict';
@@ -28533,10 +29505,10 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28533
29505
  }
28534
29506
  };
28535
29507
 
28536
- var _actions = __webpack_require__(570);
29508
+ var _actions = __webpack_require__(585);
28537
29509
 
28538
29510
  /***/ }),
28539
- /* 570 */
29511
+ /* 585 */
28540
29512
  /***/ (function(module, exports) {
28541
29513
 
28542
29514
  'use strict';
@@ -28559,7 +29531,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28559
29531
  }
28560
29532
 
28561
29533
  /***/ }),
28562
- /* 571 */
29534
+ /* 586 */
28563
29535
  /***/ (function(module, exports, __webpack_require__) {
28564
29536
 
28565
29537
  'use strict';
@@ -28569,11 +29541,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28569
29541
  });
28570
29542
  exports.register = register;
28571
29543
 
28572
- var _audio = __webpack_require__(572);
29544
+ var _audio = __webpack_require__(587);
28573
29545
 
28574
- var _plain = __webpack_require__(575);
29546
+ var _plain = __webpack_require__(590);
28575
29547
 
28576
- var _video = __webpack_require__(576);
29548
+ var _video = __webpack_require__(591);
28577
29549
 
28578
29550
  function register() {
28579
29551
  (0, _plain.register)();
@@ -28582,7 +29554,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28582
29554
  }
28583
29555
 
28584
29556
  /***/ }),
28585
- /* 572 */
29557
+ /* 587 */
28586
29558
  /***/ (function(module, exports, __webpack_require__) {
28587
29559
 
28588
29560
  'use strict';
@@ -28594,11 +29566,11 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28594
29566
 
28595
29567
  var _media = __webpack_require__(494);
28596
29568
 
28597
- var _PageAudioFilePlayer = __webpack_require__(573);
29569
+ var _PageAudioFilePlayer = __webpack_require__(588);
28598
29570
 
28599
29571
  var _PageAudioFilePlayer2 = _interopRequireDefault(_PageAudioFilePlayer);
28600
29572
 
28601
- var _registerPageType = __webpack_require__(537);
29573
+ var _registerPageType = __webpack_require__(540);
28602
29574
 
28603
29575
  var _registerPageType2 = _interopRequireDefault(_registerPageType);
28604
29576
 
@@ -28624,7 +29596,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28624
29596
  file: props.audioFile,
28625
29597
  playerState: props.playerState,
28626
29598
  playerActions: props.playerActions,
28627
- controlBarText: props.t('pageflow.public.start_audio') },
29599
+ controlBarText: props.t('pageflow.public.start_audio'),
29600
+ autoplayWhenBackgroundMediaMuted: false },
28628
29601
  React.createElement(_media.PageBackgroundAsset, null),
28629
29602
  React.createElement(_PageAudioFilePlayer2.default, { file: props.audioFile,
28630
29603
  playerState: props.playerState,
@@ -28644,12 +29617,14 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28644
29617
  playerActions: (0, _selectors.playerActions)()
28645
29618
  }))(AudioPage),
28646
29619
 
28647
- reduxModules: [(0, _media.reduxModule)(), _media.pageBackgroundReduxModule]
29620
+ reduxModules: [(0, _media.reduxModule)({
29621
+ retryOnUnmute: true
29622
+ }), _media.pageBackgroundReduxModule]
28648
29623
  });
28649
29624
  }
28650
29625
 
28651
29626
  /***/ }),
28652
- /* 573 */
29627
+ /* 588 */
28653
29628
  /***/ (function(module, exports, __webpack_require__) {
28654
29629
 
28655
29630
  'use strict';
@@ -28658,20 +29633,26 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28658
29633
  value: true
28659
29634
  });
28660
29635
 
28661
- var _createPageFilePlayer = __webpack_require__(515);
29636
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
29637
+
29638
+ exports.default = PageAudioFilePlayer;
29639
+
29640
+ var _PageFilePlayer = __webpack_require__(516);
28662
29641
 
28663
- var _createPageFilePlayer2 = _interopRequireDefault(_createPageFilePlayer);
29642
+ var _PageFilePlayer2 = _interopRequireDefault(_PageFilePlayer);
28664
29643
 
28665
- var _AudioFilePlayer = __webpack_require__(574);
29644
+ var _AudioFilePlayer = __webpack_require__(589);
28666
29645
 
28667
29646
  var _AudioFilePlayer2 = _interopRequireDefault(_AudioFilePlayer);
28668
29647
 
28669
29648
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
28670
29649
 
28671
- exports.default = (0, _createPageFilePlayer2.default)(_AudioFilePlayer2.default);
29650
+ function PageAudioFilePlayer(props) {
29651
+ return React.createElement(_PageFilePlayer2.default, _extends({}, props, { playerComponent: _AudioFilePlayer2.default }));
29652
+ }
28672
29653
 
28673
29654
  /***/ }),
28674
- /* 574 */
29655
+ /* 589 */
28675
29656
  /***/ (function(module, exports, __webpack_require__) {
28676
29657
 
28677
29658
  'use strict';
@@ -28680,7 +29661,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28680
29661
  value: true
28681
29662
  });
28682
29663
 
28683
- var _createFilePlayer = __webpack_require__(504);
29664
+ var _createFilePlayer = __webpack_require__(505);
28684
29665
 
28685
29666
  var _createFilePlayer2 = _interopRequireDefault(_createFilePlayer);
28686
29667
 
@@ -28697,7 +29678,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28697
29678
  });
28698
29679
 
28699
29680
  /***/ }),
28700
- /* 575 */
29681
+ /* 590 */
28701
29682
  /***/ (function(module, exports, __webpack_require__) {
28702
29683
 
28703
29684
  'use strict';
@@ -28711,7 +29692,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28711
29692
 
28712
29693
  var _media = __webpack_require__(494);
28713
29694
 
28714
- var _registerPageType = __webpack_require__(537);
29695
+ var _registerPageType = __webpack_require__(540);
28715
29696
 
28716
29697
  var _registerPageType2 = _interopRequireDefault(_registerPageType);
28717
29698
 
@@ -28755,7 +29736,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28755
29736
  }
28756
29737
 
28757
29738
  /***/ }),
28758
- /* 576 */
29739
+ /* 591 */
28759
29740
  /***/ (function(module, exports, __webpack_require__) {
28760
29741
 
28761
29742
  'use strict';
@@ -28767,7 +29748,7 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28767
29748
 
28768
29749
  var _media = __webpack_require__(494);
28769
29750
 
28770
- var _registerPageType = __webpack_require__(537);
29751
+ var _registerPageType = __webpack_require__(540);
28771
29752
 
28772
29753
  var _registerPageType2 = _interopRequireDefault(_registerPageType);
28773
29754
 
@@ -28798,7 +29779,8 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28798
29779
  qualities: qualities,
28799
29780
  playerState: props.playerState,
28800
29781
  playerActions: props.playerActions,
28801
- controlBarText: props.t('pageflow.public.start_video') },
29782
+ controlBarText: props.t('pageflow.public.start_video'),
29783
+ autoplayWhenBackgroundMediaMuted: true },
28802
29784
  React.createElement(_media.PageVideoPlayer, { page: props.page,
28803
29785
  playerState: props.playerState,
28804
29786
  playerActions: props.playerActions }),
@@ -28820,13 +29802,14 @@ pageflow = typeof pageflow === "object" ? pageflow : {}; pageflow["react"] =
28820
29802
 
28821
29803
  reduxModules: [(0, _media.reduxModule)({
28822
29804
  hideControls: true,
29805
+ autoplayWhenBackgroundMediaMuted: true,
28823
29806
  playsInNativePlayer: (0, _selectors5.has)('native video player')
28824
29807
  })]
28825
29808
  });
28826
29809
  }
28827
29810
 
28828
29811
  /***/ }),
28829
- /* 577 */
29812
+ /* 592 */
28830
29813
  /***/ (function(module, exports) {
28831
29814
 
28832
29815
  module.exports = pageflow;