pageflow 16.1.0 → 17.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -221
  3. data/README.md +6 -5
  4. data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
  5. data/app/assets/javascripts/pageflow/dist/ui.js +1 -0
  6. data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
  7. data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
  8. data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
  9. data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
  10. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +55 -6
  11. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
  12. data/app/assets/stylesheets/pageflow/ui/forms.scss +3 -3
  13. data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
  14. data/app/assets/stylesheets/pageflow/ui.scss +1 -0
  15. data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
  16. data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
  17. data/app/controllers/pageflow/entries_controller.rb +2 -2
  18. data/app/helpers/pageflow/entries_helper.rb +2 -0
  19. data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
  20. data/app/helpers/pageflow/page_types_helper.rb +4 -4
  21. data/app/helpers/pageflow/revision_file_helper.rb +3 -3
  22. data/app/helpers/pageflow/social_share_helper.rb +2 -2
  23. data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
  24. data/app/models/concerns/pageflow/feature_target.rb +1 -1
  25. data/app/models/concerns/pageflow/output_source.rb +1 -1
  26. data/app/models/concerns/pageflow/serialized_configuration.rb +1 -1
  27. data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
  28. data/app/models/pageflow/account.rb +2 -2
  29. data/app/models/pageflow/entry.rb +7 -5
  30. data/app/models/pageflow/entry_at_revision.rb +2 -0
  31. data/app/models/pageflow/entry_template.rb +4 -1
  32. data/app/models/pageflow/image_file.rb +20 -5
  33. data/app/models/pageflow/image_file_url_templates.rb +7 -1
  34. data/app/models/pageflow/revision.rb +7 -5
  35. data/app/models/pageflow/site.rb +2 -2
  36. data/app/models/pageflow/sitemaps.rb +1 -0
  37. data/app/models/pageflow/theme_customization.rb +2 -2
  38. data/app/models/pageflow/used_file.rb +8 -0
  39. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +1 -7
  40. data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
  41. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -0
  42. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
  43. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
  44. data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
  45. data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
  46. data/config/initializers/features.rb +2 -0
  47. data/config/initializers/paperclip.rb +4 -0
  48. data/config/locales/de.yml +50 -0
  49. data/config/locales/en.yml +49 -0
  50. data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
  51. data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
  52. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +266 -151
  53. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +8 -2
  54. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
  55. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  56. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -1
  57. data/entry_types/paged/lib/pageflow_paged/engine.rb +7 -11
  58. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +9 -3
  59. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +6 -6
  60. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +21 -37
  61. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -3
  62. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -6
  63. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +17 -18
  64. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +4 -0
  65. data/entry_types/scrolled/config/locales/de.yml +47 -11
  66. data/entry_types/scrolled/config/locales/en.yml +42 -10
  67. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +22 -89
  68. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
  69. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +8 -12
  70. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +6 -0
  71. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
  72. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
  73. data/entry_types/scrolled/package/config/webpack.js +26 -0
  74. data/entry_types/scrolled/package/contentElements-editor.js +36 -23
  75. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  76. data/entry_types/scrolled/package/contentElements-frontend.js +250 -94
  77. data/entry_types/scrolled/package/editor.js +331 -147
  78. data/entry_types/scrolled/package/frontend/{EditableInlineText.module-fa9e3aff.js → EditableInlineText.module-6ee0e024.js} +463 -275
  79. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-10a1d600.js → PhonePlatformContext-b28d991a.js} +1 -1
  80. data/entry_types/scrolled/package/frontend/{ToggleFullscreenCornerButton-727cce0d.js → ToggleFullscreenCornerButton-8242f213.js} +1 -1
  81. data/entry_types/scrolled/package/frontend/{Viewer-169e14ca.js → Viewer-32cd1ac1.js} +4 -4
  82. data/entry_types/scrolled/package/frontend/{Viewer-ee1aa590.js → Viewer-6e4d14ed.js} +4 -4
  83. data/entry_types/scrolled/package/frontend/{arrowRight-92a34ccc.js → arrowRight-e42e6011.js} +2 -2
  84. data/entry_types/scrolled/package/frontend/{components-4a09bfa3.js → components-24363f97.js} +7 -6
  85. data/entry_types/scrolled/package/frontend/{i18n-ddd92820.js → i18n-71c39823.js} +84 -46
  86. data/entry_types/scrolled/package/frontend/{index-02378634.js → index-fc4b13e6.js} +3 -3
  87. data/entry_types/scrolled/package/frontend/index.css +1 -1
  88. data/entry_types/scrolled/package/frontend/index.js +90 -66
  89. data/entry_types/scrolled/package/frontend/{useContentElementEditorState-63045393.js → useContentElementEditorState-245f1986.js} +1 -1
  90. data/entry_types/scrolled/package/package.json +4 -3
  91. data/entry_types/scrolled/package/testHelpers.js +4 -2
  92. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  93. data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
  94. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
  95. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
  96. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
  97. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
  98. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  99. data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
  100. data/lib/generators/pageflow/routes/routes_generator.rb +4 -3
  101. data/lib/pageflow/configuration.rb +8 -1
  102. data/lib/pageflow/engine.rb +15 -58
  103. data/lib/pageflow/page_type.rb +1 -1
  104. data/lib/pageflow/paperclip_processors/webp.rb +63 -0
  105. data/lib/pageflow/rails_version.rb +2 -2
  106. data/lib/pageflow/user_mixin.rb +1 -1
  107. data/lib/pageflow/version.rb +1 -1
  108. data/package/config/jest/index.js +3 -1
  109. data/package/editor.js +272 -154
  110. data/package/frontend.js +8 -2
  111. data/package/ui.js +1 -0
  112. data/spec/factories/entries.rb +17 -0
  113. metadata +78 -56
@@ -1,14 +1,15 @@
1
1
  import regeneratorRuntime from 'regenerator-runtime';
2
2
  import { events, browser, documentHiddenState, PlayerSourceIDMap, media, MultiPlayer, settings, features, consent } from 'pageflow/frontend';
3
3
  import React, { useState, useRef, useEffect, createContext, useContext, useMemo, useReducer, useCallback, useLayoutEffect } from 'react';
4
- import { _ as _slicedToArray, a as _objectSpread2, b as _defineProperty, u as useI18n, c as useEntryMetadata, d as useNestedFiles, e as _objectWithoutProperties, f as useFile, g as useTheme, h as useSectionContentElements, i as useAdditionalSeedData, j as useSectionsWithChapter, k as useContentElementConsentVendor, l as _toConsumableArray, E as EntryStateProvider, L as LocaleProvider, m as useChapter, n as useEntryStateDispatch, o as useSection } from './i18n-ddd92820.js';
4
+ import { _ as _slicedToArray, a as _objectSpread2, b as _defineProperty, u as useI18n, c as useEntryMetadata, d as useNestedFiles, e as _objectWithoutProperties, f as useWidget, g as useTheme, h as useFileWithInlineRights, i as useFile, j as useSectionContentElements, k as useAdditionalSeedData, l as useSectionsWithChapter, m as useContentElementConsentVendor, n as _toConsumableArray, E as EntryStateProvider, L as LocaleProvider, o as useChapter, p as useEntryStateDispatch, q as useSection } from './i18n-71c39823.js';
5
5
  import classNames from 'classnames';
6
- import { u as useDelayedBoolean, a as useContentElementEditorState } from './useContentElementEditorState-63045393.js';
6
+ import { u as useDelayedBoolean, a as useContentElementEditorState } from './useContentElementEditorState-245f1986.js';
7
7
  import { _ as _createClass, a as _classCallCheck, b as _inherits, c as _createSuper } from './createSuper-d0f30da3.js';
8
8
  import BackboneEvents from 'backbone-events-standalone';
9
9
  import I18n from 'i18n-js';
10
- import { u as useBrowserFeature, P as PhonePlatformContext, B as BrowserFeaturesProvider } from './PhonePlatformContext-10a1d600.js';
10
+ import stripTags from 'striptags';
11
11
  import Measure from 'react-measure';
12
+ import { u as useBrowserFeature, P as PhonePlatformContext, B as BrowserFeaturesProvider } from './PhonePlatformContext-b28d991a.js';
12
13
 
13
14
  var regenerator = regeneratorRuntime;
14
15
 
@@ -1633,11 +1634,8 @@ function processSources(audioFile) {
1633
1634
  return sources;
1634
1635
  }
1635
1636
 
1636
- function SectionAtmo(props) {
1637
- var audioFile = useFile({
1638
- collectionName: 'audioFiles',
1639
- permaId: props.audioFilePermaId
1640
- });
1637
+ function SectionAtmo(_ref) {
1638
+ var audioFile = _ref.audioFile;
1641
1639
  var lastAudioFile = usePrevious(audioFile);
1642
1640
  var atmo = useAtmo();
1643
1641
  var processAtmo = useCallback(function () {
@@ -1650,10 +1648,10 @@ function SectionAtmo(props) {
1650
1648
  if (atmo) {
1651
1649
  atmo.updateAtmo({
1652
1650
  sources: sources,
1653
- audioFilePermaId: props.audioFilePermaId
1651
+ audioFilePermaId: audioFile === null || audioFile === void 0 ? void 0 : audioFile.permaId
1654
1652
  });
1655
1653
  }
1656
- }, [atmo, audioFile, props.audioFilePermaId]);
1654
+ }, [atmo, audioFile]);
1657
1655
  useSectionLifecycle({
1658
1656
  onActivate: function onActivate() {
1659
1657
  processAtmo();
@@ -1684,6 +1682,18 @@ function className(props, forcePadding) {
1684
1682
  return classNames(styles$3.Foreground, props.transitionStyles.foreground, props.transitionStyles["foreground-".concat(props.state)], _defineProperty({}, styles$3.paddingBottom, props.paddingBottom || forcePadding), styles$3["".concat(props.heightMode, "Height")]);
1685
1683
  }
1686
1684
 
1685
+ function isBlank(html) {
1686
+ return !!stripTags(html).match(/^\s*$/);
1687
+ }
1688
+ function presence(html) {
1689
+ return isBlank(html) ? null : html;
1690
+ }
1691
+ function isBlankEditableTextValue(value) {
1692
+ var _value$0$children$;
1693
+
1694
+ return !value || value.length === 0 || value.length === 1 && value[0].children.length <= 1 && !((_value$0$children$ = value[0].children[0]) === null || _value$0$children$ === void 0 ? void 0 : _value$0$children$.text);
1695
+ }
1696
+
1687
1697
  /**
1688
1698
  * Register new types of content elements.
1689
1699
  * @name frontend_contentElementTypes
@@ -1821,6 +1831,117 @@ var api = {
1821
1831
  widgetTypes: new WidgetTypeRegistry()
1822
1832
  };
1823
1833
 
1834
+ function Widget(_ref) {
1835
+ var role = _ref.role,
1836
+ props = _ref.props,
1837
+ children = _ref.children;
1838
+ var widget = useWidget({
1839
+ role: role
1840
+ });
1841
+
1842
+ if (!widget) {
1843
+ return null;
1844
+ }
1845
+
1846
+ var Component = api.widgetTypes.getComponent(widget.typeName);
1847
+ return /*#__PURE__*/React.createElement(Component, Object.assign({
1848
+ configuration: widget.configuration
1849
+ }, props, {
1850
+ children: children
1851
+ }));
1852
+ }
1853
+
1854
+ var styles$4 = {"list":"InlineFileRights-module_list__2OuO5"};
1855
+
1856
+ function InlineFileRights(_ref) {
1857
+ var _ref$items = _ref.items,
1858
+ items = _ref$items === void 0 ? [] : _ref$items,
1859
+ _ref$context = _ref.context,
1860
+ context = _ref$context === void 0 ? 'standAlone' : _ref$context,
1861
+ playerControlsTransparent = _ref.playerControlsTransparent,
1862
+ playerControlsStandAlone = _ref.playerControlsStandAlone;
1863
+
1864
+ var _useI18n = useI18n(),
1865
+ t = _useI18n.t;
1866
+
1867
+ var filteredItems = items.filter(function (item) {
1868
+ return item.file && item.file.inlineRights && !isBlank(item.file.rights);
1869
+ });
1870
+
1871
+ if (!filteredItems.length) {
1872
+ return null;
1873
+ }
1874
+
1875
+ return /*#__PURE__*/React.createElement(Widget, {
1876
+ role: "inlineFileRights",
1877
+ props: {
1878
+ context: context,
1879
+ playerControlsTransparent: playerControlsTransparent,
1880
+ playerControlsStandAlone: playerControlsStandAlone
1881
+ }
1882
+ }, /*#__PURE__*/React.createElement("ul", {
1883
+ className: styles$4.list
1884
+ }, filteredItems.map(function (_ref2) {
1885
+ var label = _ref2.label,
1886
+ file = _ref2.file;
1887
+ return /*#__PURE__*/React.createElement("li", {
1888
+ key: "".concat(label, "-").concat(file.id)
1889
+ }, label && /*#__PURE__*/React.createElement("span", null, t(label, {
1890
+ scope: 'pageflow_scrolled.public.inline_file_rights_labels'
1891
+ }), ": "), renderRights(file), renderLicense(file));
1892
+ })));
1893
+ }
1894
+
1895
+ function renderRights(file) {
1896
+ if (isBlank(file.configuration.source_url)) {
1897
+ return file.rights;
1898
+ } else {
1899
+ return /*#__PURE__*/React.createElement("a", {
1900
+ href: file.configuration.source_url,
1901
+ target: "_blank",
1902
+ rel: "noopener noreferrer"
1903
+ }, file.rights);
1904
+ }
1905
+ }
1906
+
1907
+ function renderLicense(file) {
1908
+ if (!file.license) {
1909
+ return null;
1910
+ }
1911
+
1912
+ return /*#__PURE__*/React.createElement(React.Fragment, null, ' ', "(", /*#__PURE__*/React.createElement("a", {
1913
+ href: file.license.url,
1914
+ target: "_blank",
1915
+ rel: "noopener noreferrer"
1916
+ }, file.license.name), ")");
1917
+ }
1918
+
1919
+ var styles$5 = {"fade-duration":"0.5s","wrapper":"SectionInlineFileRights-module_wrapper__1l6rr","fade":"SectionInlineFileRights-module_fade__1Snfk","inactive":"SectionInlineFileRights-module_inactive__1VpQh"};
1920
+
1921
+ function SectionInlineFileRights(_ref) {
1922
+ var _section$nextSection, _section$nextSection$, _classNames;
1923
+
1924
+ var section = _ref.section,
1925
+ state = _ref.state,
1926
+ backdrop = _ref.backdrop,
1927
+ atmoAudioFile = _ref.atmoAudioFile;
1928
+ return /*#__PURE__*/React.createElement("div", {
1929
+ className: classNames(styles$5.wrapper, (_classNames = {}, _defineProperty(_classNames, styles$5.fade, (_section$nextSection = section.nextSection) === null || _section$nextSection === void 0 ? void 0 : (_section$nextSection$ = _section$nextSection.transition) === null || _section$nextSection$ === void 0 ? void 0 : _section$nextSection$.startsWith('fade')), _defineProperty(_classNames, styles$5.inactive, state !== 'active'), _classNames))
1930
+ }, /*#__PURE__*/React.createElement(InlineFileRights, {
1931
+ context: "section",
1932
+ items: [{
1933
+ label: 'image',
1934
+ file: backdrop.image
1935
+ }, {
1936
+ label: 'video',
1937
+ file: backdrop.video
1938
+ }, {
1939
+ label: 'atmo',
1940
+ file: atmoAudioFile
1941
+ }]
1942
+ }));
1943
+ }
1944
+
1824
1945
  // For reasons that are beyond me, Storybook's Webpack build fails
1825
1946
  // with a "JavaScript heap out of memory" error if this import
1826
1947
  // expression lives in inlineEditing/index.js directly. I originally
@@ -1829,7 +1950,7 @@ var api = {
1829
1950
  // file with an empty one, but found out that extracting the import
1830
1951
  // to a separate file apparently is enough.
1831
1952
  function importComponents() {
1832
- return import('./components-4a09bfa3.js');
1953
+ return import('./components-24363f97.js');
1833
1954
  }
1834
1955
 
1835
1956
  var components = {};
@@ -1947,7 +2068,7 @@ function widthName(width) {
1947
2068
  return Object.keys(widths)[(width || 0) + 3];
1948
2069
  }
1949
2070
 
1950
- var styles$4 = {"wrapper":"ContentElementMargin-module_wrapper__20kIk"};
2071
+ var styles$6 = {"wrapper":"ContentElementMargin-module_wrapper__20kIk"};
1951
2072
 
1952
2073
  function ContentElementMargin(_ref) {
1953
2074
  var width = _ref.width,
@@ -1958,11 +2079,11 @@ function ContentElementMargin(_ref) {
1958
2079
  }
1959
2080
 
1960
2081
  return /*#__PURE__*/React.createElement("div", {
1961
- className: styles$4.wrapper
2082
+ className: styles$6.wrapper
1962
2083
  }, children);
1963
2084
  }
1964
2085
 
1965
- var styles$5 = {"missing":"ContentElement-module_missing__2_1j9"};
2086
+ var styles$7 = {"missing":"ContentElement-module_missing__2_1j9"};
1966
2087
 
1967
2088
  var ContentElementErrorBoundary = /*#__PURE__*/function (_React$Component) {
1968
2089
  _inherits(ContentElementErrorBoundary, _React$Component);
@@ -1986,7 +2107,7 @@ var ContentElementErrorBoundary = /*#__PURE__*/function (_React$Component) {
1986
2107
  value: function render() {
1987
2108
  if (this.state.hasError) {
1988
2109
  return /*#__PURE__*/React.createElement("div", {
1989
- className: styles$5.missing
2110
+ className: styles$7.missing
1990
2111
  }, "Error rendering element of type \"", this.props.type, "\"");
1991
2112
  }
1992
2113
 
@@ -2026,7 +2147,7 @@ var ContentElement = withInlineEditingDecorator('ContentElementDecorator', funct
2026
2147
  })))));
2027
2148
  } else {
2028
2149
  return /*#__PURE__*/React.createElement("div", {
2029
- className: styles$5.missing
2150
+ className: styles$7.missing
2030
2151
  }, "Element of unknown type \"", props.type, "\"");
2031
2152
  }
2032
2153
  });
@@ -2034,9 +2155,30 @@ ContentElement.defaultProps = {
2034
2155
  itemProps: {}
2035
2156
  };
2036
2157
 
2158
+ var styles$8 = {"wrapper":"ContentElementScrollSpace-module_wrapper__2ZBwZ","inner":"ContentElementScrollSpace-module_inner__1FBgh"};
2159
+
2160
+ function ContentElementScrollSpace(_ref) {
2161
+ var children = _ref.children;
2162
+ return /*#__PURE__*/React.createElement("div", {
2163
+ className: styles$8.wrapper
2164
+ }, /*#__PURE__*/React.createElement(Measure, {
2165
+ bounds: true
2166
+ }, function (_ref2) {
2167
+ var measureRef = _ref2.measureRef,
2168
+ contentRect = _ref2.contentRect;
2169
+ return /*#__PURE__*/React.createElement("div", {
2170
+ ref: measureRef,
2171
+ className: styles$8.inner,
2172
+ style: {
2173
+ '--height': contentRect.bounds.height / 2
2174
+ }
2175
+ }, children);
2176
+ }));
2177
+ }
2178
+
2037
2179
  function ContentElements(props) {
2038
2180
  return /*#__PURE__*/React.createElement(React.Fragment, null, props.items.map(function (item, index) {
2039
- return props.children(item, /*#__PURE__*/React.createElement(MemoizedContentElement, {
2181
+ return props.children(item, renderScrollSpace(item, /*#__PURE__*/React.createElement(MemoizedContentElement, {
2040
2182
  key: item.id,
2041
2183
  id: item.id,
2042
2184
  permaId: item.permaId,
@@ -2047,7 +2189,7 @@ function ContentElements(props) {
2047
2189
  itemProps: item.props,
2048
2190
  customMargin: props.customMargin,
2049
2191
  sectionProps: props.sectionProps
2050
- }), index);
2192
+ })), index);
2051
2193
  }));
2052
2194
  }
2053
2195
  var MemoizedContentElement = React.memo(ContentElement, function (prevProps, nextProps) {
@@ -2059,50 +2201,59 @@ ContentElements.defaultProps = {
2059
2201
  }
2060
2202
  };
2061
2203
 
2204
+ function renderScrollSpace(item, children) {
2205
+ if (!item.standAlone) {
2206
+ return children;
2207
+ }
2208
+
2209
+ return /*#__PURE__*/React.createElement(ContentElementScrollSpace, {
2210
+ key: item.id,
2211
+ children: children
2212
+ });
2213
+ }
2214
+
2062
2215
  function useMediaQuery(query) {
2216
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
2217
+ active: true
2218
+ },
2219
+ active = _ref.active;
2220
+
2063
2221
  var _useState = useState(false),
2064
2222
  _useState2 = _slicedToArray(_useState, 2),
2065
2223
  doesMatch = _useState2[0],
2066
- onSetDoesMatch = _useState2[1];
2224
+ setDoesMatch = _useState2[1];
2067
2225
 
2068
2226
  useEffect(function () {
2069
- var onUpdateMatch = function onUpdateMatch(_ref) {
2070
- var matches = _ref.matches;
2071
- onSetDoesMatch(matches);
2227
+ if (!active) {
2228
+ return;
2229
+ }
2230
+
2231
+ var onUpdateMatch = function onUpdateMatch(_ref2) {
2232
+ var matches = _ref2.matches;
2233
+ setDoesMatch(matches);
2072
2234
  };
2073
2235
 
2074
2236
  var matcher = window.matchMedia(query);
2075
- var isModern = ('addEventListener' in matcher);
2076
-
2077
- if (isModern) {
2078
- matcher.addEventListener('change', onUpdateMatch);
2079
- } else {
2080
- matcher.addListener(onUpdateMatch);
2081
- }
2082
-
2237
+ matcher.addEventListener('change', onUpdateMatch);
2083
2238
  onUpdateMatch(matcher);
2084
2239
  return function () {
2085
- if (isModern) {
2086
- matcher.removeEventListener('change', onUpdateMatch);
2087
- } else {
2088
- matcher.removeListener(onUpdateMatch);
2089
- }
2240
+ matcher.removeEventListener('change', onUpdateMatch);
2090
2241
  };
2091
- }, [query, onSetDoesMatch]);
2092
- return doesMatch;
2242
+ }, [query, setDoesMatch, active]);
2243
+ return active && doesMatch;
2093
2244
  }
2094
2245
 
2095
- var styles$6 = {"root":"TwoColumn-module_root__37EqL","group":"TwoColumn-module_group__3Hg2y","group-full":"TwoColumn-module_group-full__2OT4o","box":"TwoColumn-module_box__1Nils","inline":"TwoColumn-module_inline__1fPfM","width-lg":"TwoColumn-module_width-lg__2MD35","width-xl":"TwoColumn-module_width-xl__3Bxet","width-full":"TwoColumn-module_width-full__1QWYO","restrict-xxs":"TwoColumn-module_restrict-xxs__6il-H","restrict-xs":"TwoColumn-module_restrict-xs__AOezq","restrict-sm":"TwoColumn-module_restrict-sm__2rKty","customMargin":"TwoColumn-module_customMargin__o0uxH","right":"TwoColumn-module_right__Fr52a","sticky":"TwoColumn-module_sticky__4LCDO"};
2246
+ var styles$9 = {"root":"TwoColumn-module_root__37EqL","group":"TwoColumn-module_group__3Hg2y","group-full":"TwoColumn-module_group-full__2OT4o","box":"TwoColumn-module_box__1Nils","inline":"TwoColumn-module_inline__1fPfM","width-lg":"TwoColumn-module_width-lg__2MD35","width-xl":"TwoColumn-module_width-xl__3Bxet","width-full":"TwoColumn-module_width-full__1QWYO","restrict-xxs":"TwoColumn-module_restrict-xxs__6il-H","restrict-xs":"TwoColumn-module_restrict-xs__AOezq","restrict-sm":"TwoColumn-module_restrict-sm__2rKty","customMargin":"TwoColumn-module_customMargin__o0uxH","right":"TwoColumn-module_right__Fr52a","sticky":"TwoColumn-module_sticky__4LCDO"};
2096
2247
 
2097
2248
  function TwoColumn(props) {
2098
2249
  var shouldInline = useShouldInlineSticky();
2099
2250
  return /*#__PURE__*/React.createElement("div", {
2100
- className: classNames(styles$6.root, styles$6[props.align])
2251
+ className: classNames(styles$9.root, styles$9[props.align])
2101
2252
  }, /*#__PURE__*/React.createElement("div", {
2102
- className: classNames(styles$6.group),
2253
+ className: classNames(styles$9.group),
2103
2254
  key: props.align
2104
2255
  }, /*#__PURE__*/React.createElement("div", {
2105
- className: classNames(styles$6.box, styles$6.inline),
2256
+ className: classNames(styles$9.box, styles$9.inline),
2106
2257
  ref: props.contentAreaRef
2107
2258
  })), renderItems(props, shouldInline), renderPlaceholder(props.placeholder));
2108
2259
  }
@@ -2128,7 +2279,7 @@ function renderItems(props, shouldInline) {
2128
2279
  return groupItemsByPosition(props.items, shouldInline).map(function (group, index) {
2129
2280
  return /*#__PURE__*/React.createElement(TwoColumn.GroupComponent, {
2130
2281
  key: index,
2131
- className: classNames(styles$6.group, styles$6["group-".concat(widthName(group.width))])
2282
+ className: classNames(styles$9.group, styles$9["group-".concat(widthName(group.width))])
2132
2283
  }, group.boxes.map(function (box, index) {
2133
2284
  return renderItemGroup(props, box, index);
2134
2285
  }));
@@ -2139,7 +2290,7 @@ function renderItemGroup(props, box, key) {
2139
2290
  if (box.items.length) {
2140
2291
  return /*#__PURE__*/React.createElement("div", {
2141
2292
  key: key,
2142
- className: classNames(styles$6.box, styles$6[box.position], styles$6["width-".concat(widthName(box.width))], _defineProperty({}, styles$6.customMargin, box.customMargin))
2293
+ className: classNames(styles$9.box, styles$9[box.position], styles$9["width-".concat(widthName(box.width))], _defineProperty({}, styles$9.customMargin, box.customMargin))
2143
2294
  }, props.children( /*#__PURE__*/React.createElement(RestrictWidth, {
2144
2295
  width: box.width
2145
2296
  }, /*#__PURE__*/React.createElement(ContentElements, {
@@ -2164,7 +2315,7 @@ function RestrictWidth(_ref) {
2164
2315
  return children;
2165
2316
  } else {
2166
2317
  return /*#__PURE__*/React.createElement("div", {
2167
- className: styles$6["restrict-".concat(widthName(width))]
2318
+ className: styles$9["restrict-".concat(widthName(width))]
2168
2319
  }, children);
2169
2320
  }
2170
2321
  }
@@ -2231,18 +2382,18 @@ function renderPlaceholder(placeholder) {
2231
2382
  }
2232
2383
 
2233
2384
  return /*#__PURE__*/React.createElement("div", {
2234
- className: classNames(styles$6.group)
2385
+ className: classNames(styles$9.group)
2235
2386
  }, /*#__PURE__*/React.createElement("div", {
2236
- className: classNames(styles$6.box, styles$6.inline)
2387
+ className: classNames(styles$9.box, styles$9.inline)
2237
2388
  }, placeholder));
2238
2389
  }
2239
2390
 
2240
- var styles$7 = {"outer":"Center-module_outer__3Rr0H","customMargin":"Center-module_customMargin__1es3t","outer-full":"Center-module_outer-full__3dknO","item":"Center-module_item__1KSs3","item-inline-lg":"Center-module_item-inline-lg__DGjXl","item-inline-xl":"Center-module_item-inline-xl__2McfB","item-inline-full":"Center-module_item-inline-full__l-6kG","clear":"Center-module_clear__jJEap","inner-xxs":"Center-module_inner-xxs__1oroz","inner-xs":"Center-module_inner-xs__3FRT8","inner-sm":"Center-module_inner-sm__-oQ0E","inner-left":"Center-module_inner-left__2z9Ea","inner-right":"Center-module_inner-right__KBkVt","sideBySide":"Center-module_sideBySide__-YsP0","inner-md":"Center-module_inner-md__3dLC3","inner-lg":"Center-module_inner-lg__2GQbs","inner-xl":"Center-module_inner-xl__3dOME"};
2391
+ var styles$a = {"outer":"Center-module_outer__3Rr0H","customMargin":"Center-module_customMargin__1es3t","outer-full":"Center-module_outer-full__3dknO","item":"Center-module_item__1KSs3","item-inline-lg":"Center-module_item-inline-lg__DGjXl","item-inline-xl":"Center-module_item-inline-xl__2McfB","item-inline-full":"Center-module_item-inline-full__l-6kG","clear":"Center-module_clear__jJEap","inner-xxs":"Center-module_inner-xxs__1oroz","inner-xs":"Center-module_inner-xs__3FRT8","inner-sm":"Center-module_inner-sm__-oQ0E","inner-left":"Center-module_inner-left__2z9Ea","inner-right":"Center-module_inner-right__KBkVt","sideBySide":"Center-module_sideBySide__-YsP0","inner-md":"Center-module_inner-md__3dLC3","inner-lg":"Center-module_inner-lg__2GQbs","inner-xl":"Center-module_inner-xl__3dOME"};
2241
2392
 
2242
2393
  var floatedPositions = ['left', 'right'];
2243
2394
  function Center(props) {
2244
2395
  return /*#__PURE__*/React.createElement("div", {
2245
- className: classNames(styles$7.root)
2396
+ className: classNames(styles$a.root)
2246
2397
  }, /*#__PURE__*/React.createElement("div", {
2247
2398
  ref: props.contentAreaRef
2248
2399
  }), props.items.map(function (item, index) {
@@ -2259,9 +2410,9 @@ function Center(props) {
2259
2410
  key: item.id,
2260
2411
  className: outerClassName(props.items, index)
2261
2412
  }, /*#__PURE__*/React.createElement("div", {
2262
- className: classNames(styles$7.item, styles$7["item-".concat(position, "-").concat(width)])
2413
+ className: classNames(styles$a.item, styles$a["item-".concat(position, "-").concat(width)])
2263
2414
  }, props.children( /*#__PURE__*/React.createElement("div", {
2264
- className: classNames(styles$7["inner-".concat(item.position)], styles$7["inner-".concat(width)], _defineProperty({}, styles$7["sideBySide"], sideBySideFloat(props.items, index)))
2415
+ className: classNames(styles$a["inner-".concat(item.position)], styles$a["inner-".concat(width)], _defineProperty({}, styles$a["sideBySide"], sideBySideFloat(props.items, index)))
2265
2416
  }, child), boxProps(props.items, item, index))));
2266
2417
  });
2267
2418
  }), renderPlaceholder$1(props.placeholder));
@@ -2269,7 +2420,7 @@ function Center(props) {
2269
2420
 
2270
2421
  function outerClassName(items, index) {
2271
2422
  var item = items[index];
2272
- return classNames(styles$7.outer, styles$7["outer-".concat(widthName(getWidth(item)))], _defineProperty({}, styles$7.customMargin, hasCustomMargin(item)), _defineProperty({}, styles$7.clear, clearItem(items, index)));
2423
+ return classNames(styles$a.outer, styles$a["outer-".concat(widthName(getWidth(item)))], _defineProperty({}, styles$a.customMargin, hasCustomMargin(item)), _defineProperty({}, styles$a.clear, clearItem(items, index)));
2273
2424
  }
2274
2425
 
2275
2426
  function boxProps(items, item, index) {
@@ -2354,9 +2505,9 @@ function renderPlaceholder$1(placeholder) {
2354
2505
  }
2355
2506
 
2356
2507
  return /*#__PURE__*/React.createElement("div", {
2357
- className: classNames(styles$7.outer)
2508
+ className: classNames(styles$a.outer)
2358
2509
  }, /*#__PURE__*/React.createElement("div", {
2359
- className: classNames(styles$7.item)
2510
+ className: classNames(styles$a.item)
2360
2511
  }, placeholder));
2361
2512
  }
2362
2513
 
@@ -2389,6 +2540,44 @@ function useScrollTarget(ref, isScrollTarget) {
2389
2540
  }, [ref, isScrollTarget]);
2390
2541
  }
2391
2542
 
2543
+ var SectionViewTimelineContext = React.createContext();
2544
+ function SectionViewTimelineProvider(_ref) {
2545
+ var _backdrop$effects;
2546
+
2547
+ var backdrop = _ref.backdrop,
2548
+ children = _ref.children;
2549
+
2550
+ var _useState = useState(),
2551
+ _useState2 = _slicedToArray(_useState, 2),
2552
+ timeline = _useState2[0],
2553
+ setTimeline = _useState2[1];
2554
+
2555
+ var ref = useRef();
2556
+ var isNeeded = backdrop === null || backdrop === void 0 ? void 0 : (_backdrop$effects = backdrop.effects) === null || _backdrop$effects === void 0 ? void 0 : _backdrop$effects.some(function (effect) {
2557
+ return effect.name === 'scrollParallax';
2558
+ });
2559
+ useEffect(function () {
2560
+ if (!isNeeded || !window.ViewTimeline) {
2561
+ return;
2562
+ }
2563
+
2564
+ setTimeline(new window.ViewTimeline({
2565
+ subject: ref.current
2566
+ }));
2567
+ return function () {
2568
+ return setTimeline(null);
2569
+ };
2570
+ }, [isNeeded]);
2571
+ return /*#__PURE__*/React.createElement("div", {
2572
+ ref: ref
2573
+ }, /*#__PURE__*/React.createElement(SectionViewTimelineContext.Provider, {
2574
+ value: timeline
2575
+ }, children));
2576
+ }
2577
+ function useSectionViewTimeline() {
2578
+ return useContext(SectionViewTimelineContext);
2579
+ }
2580
+
2392
2581
  var DarkBackgroundContext = createContext(true);
2393
2582
  function BackgroundColorProvider(_ref) {
2394
2583
  var dark = _ref.dark,
@@ -2483,7 +2672,7 @@ function useDimension() {
2483
2672
  return [componentSize, measuredRef];
2484
2673
  }
2485
2674
 
2486
- var styles$8 = {"root":"Fullscreen-module_root__1N3CI"};
2675
+ var styles$b = {"root":"Fullscreen-module_root__1N3CI"};
2487
2676
 
2488
2677
  var DimensionContext = React.createContext({});
2489
2678
  function useFullscreenDimensions() {
@@ -2509,18 +2698,18 @@ var Fullscreen = React.forwardRef(function Fullscreen(props, ref) {
2509
2698
 
2510
2699
  return /*#__PURE__*/React.createElement("div", {
2511
2700
  ref: ref,
2512
- className: styles$8.root,
2701
+ className: styles$b.root,
2513
2702
  style: {
2514
2703
  height: height
2515
2704
  }
2516
2705
  }, props.children);
2517
2706
  });
2518
2707
 
2519
- var styles$9 = {"FillColor":"FillColor-module_FillColor__S1uEG"};
2708
+ var styles$c = {"FillColor":"FillColor-module_FillColor__S1uEG"};
2520
2709
 
2521
2710
  function FillColor(props) {
2522
2711
  return /*#__PURE__*/React.createElement("div", {
2523
- className: styles$9.FillColor,
2712
+ className: styles$c.FillColor,
2524
2713
  style: {
2525
2714
  backgroundColor: props.color
2526
2715
  }
@@ -2790,7 +2979,7 @@ VideoPlayer.defaultProps = {
2790
2979
  controls: true
2791
2980
  };
2792
2981
 
2793
- var styles$a = {"root":"MotifArea-module_root__1_ACd","visible":"MotifArea-module_visible__18Kln"};
2982
+ var styles$d = {"root":"MotifArea-module_root__1_ACd","visible":"MotifArea-module_visible__18Kln"};
2794
2983
 
2795
2984
  var MotifAreaVisibilityContext = React.createContext(false);
2796
2985
  function MotifAreaVisibilityProvider(_ref) {
@@ -2827,7 +3016,7 @@ var MotifArea = function MotifArea(props) {
2827
3016
 
2828
3017
  return /*#__PURE__*/React.createElement("div", {
2829
3018
  ref: setElementRef,
2830
- className: classNames(styles$a.root, _defineProperty({}, styles$a.visible, visible)),
3019
+ className: classNames(styles$d.root, _defineProperty({}, styles$d.visible, visible)),
2831
3020
  style: position,
2832
3021
  onMouseEnter: props.onMouseEnter,
2833
3022
  onMouseLeave: props.onMouseLeave
@@ -2846,18 +3035,72 @@ function getPosition(props) {
2846
3035
  };
2847
3036
  }
2848
3037
 
2849
- var styles$b = {"Backdrop":"Backdrop-module_Backdrop__1w4UZ","noCompositionLayer":"Backdrop-module_noCompositionLayer__33IlH","defaultBackground":"Backdrop-module_defaultBackground__1YQQL","effects":"Backdrop-module_effects__lCEXd"};
3038
+ var styles$e = {"Backdrop":"Backdrop-module_Backdrop__1w4UZ","noCompositionLayer":"Backdrop-module_noCompositionLayer__33IlH","defaultBackground":"Backdrop-module_defaultBackground__1YQQL","effects":"Backdrop-module_effects__lCEXd"};
2850
3039
 
2851
3040
  function Effects(_ref) {
2852
3041
  var file = _ref.file,
2853
3042
  children = _ref.children;
3043
+ var ref = useRef();
3044
+ var sectionViewTimeline = useSectionViewTimeline();
3045
+ var isStaticPreview = useIsStaticPreview();
3046
+
3047
+ var _useSectionLifecycle = useSectionLifecycle(),
3048
+ isVisible = _useSectionLifecycle.isVisible;
3049
+
3050
+ var scrollParallaxValue = getEffectValue(file, 'scrollParallax');
3051
+ var autoZoomValue = getEffectValue(file, 'autoZoom');
3052
+ useIsomorphicLayoutEffect(function () {
3053
+ if (scrollParallaxValue && !isStaticPreview && sectionViewTimeline) {
3054
+ var max = 20 * scrollParallaxValue / 100;
3055
+ var scale = 100 + 2 * max;
3056
+ var animation = ref.current.animate({
3057
+ transform: ["scale(".concat(scale, "%) translateY(").concat(max, "%)"), "scale(".concat(scale, "%) translateY(").concat(-max, "%)")]
3058
+ }, {
3059
+ fill: 'forwards',
3060
+ timeline: sectionViewTimeline,
3061
+ rangeStart: 'cover 0%',
3062
+ rangeEnd: 'cover 100%'
3063
+ });
3064
+ return function () {
3065
+ return animation.cancel();
3066
+ };
3067
+ }
3068
+ }, [sectionViewTimeline, scrollParallaxValue, isStaticPreview]);
3069
+ var x = (file === null || file === void 0 ? void 0 : file.motifArea) ? 50 - (file.motifArea.left + file.motifArea.width / 2) : 0;
3070
+ var y = (file === null || file === void 0 ? void 0 : file.motifArea) ? 50 - (file.motifArea.top + file.motifArea.height / 2) : 0;
3071
+ useIsomorphicLayoutEffect(function () {
3072
+ if (autoZoomValue && isVisible) {
3073
+ var animation = ref.current.animate({
3074
+ transform: ["translate(".concat(-x, "%, ").concat(-y, "%) scale(1) translate(").concat(x, "%, ").concat(y, "%)"), "translate(".concat(-x, "%, ").concat(-y, "%) scale(1.2) translate(").concat(x, "%, ").concat(y, "%)")]
3075
+ }, {
3076
+ iterations: 1,
3077
+ fill: 'forwards',
3078
+ duration: 1000 * (autoZoomValue / 100) + 40000 * (1 - autoZoomValue / 100),
3079
+ composite: 'add',
3080
+ easing: 'ease'
3081
+ });
3082
+ return function () {
3083
+ return animation.cancel();
3084
+ };
3085
+ }
3086
+ }, [autoZoomValue, isVisible, x, y]);
2854
3087
  return /*#__PURE__*/React.createElement("div", {
2855
- className: styles$b.effects,
3088
+ ref: ref,
3089
+ className: styles$e.effects,
2856
3090
  style: {
2857
3091
  filter: getFilter((file === null || file === void 0 ? void 0 : file.effects) || [])
2858
3092
  }
2859
3093
  }, children);
2860
3094
  }
3095
+
3096
+ function getEffectValue(file, name) {
3097
+ var _find;
3098
+
3099
+ return (_find = ((file === null || file === void 0 ? void 0 : file.effects) || []).find(function (effect) {
3100
+ return effect.name === name;
3101
+ })) === null || _find === void 0 ? void 0 : _find.value;
3102
+ }
3103
+
2861
3104
  function getFilter(effects) {
2862
3105
  return effects.map(function (effect) {
2863
3106
  if (effect.name === 'blur') {
@@ -2865,10 +3108,10 @@ function getFilter(effects) {
2865
3108
  } else if (['brightness', 'contrast', 'saturate'].includes(effect.name)) {
2866
3109
  var value = Math.round(effect.value < 0 ? 100 + effect.value * 0.6 : 100 + effect.value);
2867
3110
  return "".concat(effect.name, "(").concat(value, "%)");
2868
- } else {
3111
+ } else if (['grayscale', 'sepia'].includes(effect.name)) {
2869
3112
  return "".concat(effect.name, "(").concat(effect.value, "%)");
2870
3113
  }
2871
- }).join(' ');
3114
+ }).filter(Boolean).join(' ');
2872
3115
  }
2873
3116
 
2874
3117
  function BackgroundVideo(_ref) {
@@ -2934,16 +3177,7 @@ function BackgroundVideo(_ref) {
2934
3177
  }));
2935
3178
  }
2936
3179
 
2937
- /**
2938
- * Returns boolean indicating whether viewport orientation is currently
2939
- * portrait.
2940
- */
2941
-
2942
- function usePortraitOrientation() {
2943
- return useMediaQuery('(orientation: portrait)');
2944
- }
2945
-
2946
- var styles$c = {"fill":"Image-module_fill__1D1wH"};
3180
+ var styles$f = {"fill":"Image-module_fill__1D1wH"};
2947
3181
 
2948
3182
  function ImageStructuredData(_ref) {
2949
3183
  var file = _ref.file;
@@ -2995,7 +3229,7 @@ function renderImageTag(props, imageFile) {
2995
3229
  var cropPositionX = imageFile.cropPosition ? imageFile.cropPosition.x : 50;
2996
3230
  var cropPositionY = imageFile.cropPosition ? imageFile.cropPosition.y : 50;
2997
3231
  return /*#__PURE__*/React.createElement("img", {
2998
- className: classNames(_defineProperty({}, styles$c.fill, props.fill)),
3232
+ className: classNames(_defineProperty({}, styles$f.fill, props.fill)),
2999
3233
  src: imageUrl(imageFile, props),
3000
3234
  alt: imageFile.configuration.alt ? imageFile.configuration.alt : '',
3001
3235
  style: {
@@ -3053,157 +3287,37 @@ function BackgroundImage(_ref) {
3053
3287
  }));
3054
3288
  }
3055
3289
 
3056
- function OrientationAwareBackgroundImage(_ref) {
3057
- var image = _ref.image,
3058
- onMotifAreaUpdate = _ref.onMotifAreaUpdate,
3059
- imageMobile = _ref.imageMobile,
3060
- containerDimension = _ref.containerDimension;
3061
- var mobile = usePortraitOrientation();
3062
-
3063
- if (mobile) {
3064
- return /*#__PURE__*/React.createElement(BackgroundImage, {
3065
- image: imageMobile,
3066
- onMotifAreaUpdate: onMotifAreaUpdate,
3067
- containerDimension: containerDimension
3068
- });
3069
- } else {
3070
- return /*#__PURE__*/React.createElement(BackgroundImage, {
3071
- image: image,
3072
- onMotifAreaUpdate: onMotifAreaUpdate,
3073
- containerDimension: containerDimension
3074
- });
3075
- }
3076
- }
3077
-
3078
- function OrientationAwareBackgroundVideo(_ref) {
3079
- var video = _ref.video,
3080
- onMotifAreaUpdate = _ref.onMotifAreaUpdate,
3081
- videoMobile = _ref.videoMobile,
3082
- containerDimension = _ref.containerDimension;
3083
- var mobile = usePortraitOrientation();
3084
-
3085
- if (mobile) {
3086
- return /*#__PURE__*/React.createElement(BackgroundVideo, {
3087
- video: videoMobile,
3088
- onMotifAreaUpdate: onMotifAreaUpdate,
3089
- containerDimension: containerDimension
3090
- });
3091
- } else {
3092
- return /*#__PURE__*/React.createElement(BackgroundVideo, {
3093
- video: video,
3094
- onMotifAreaUpdate: onMotifAreaUpdate,
3095
- containerDimension: containerDimension
3096
- });
3097
- }
3098
- }
3099
-
3100
3290
  function BackgroundAsset(props) {
3101
- var video = useBackgroundFile({
3102
- file: useFile({
3103
- collectionName: 'videoFiles',
3104
- permaId: props.video
3105
- }),
3106
- motifArea: props.videoMotifArea,
3107
- containerDimension: props.containerDimension,
3108
- effects: props.effects
3109
- });
3110
- var videoMobile = useBackgroundFile({
3111
- file: useFile({
3112
- collectionName: 'videoFiles',
3113
- permaId: props.videoMobile
3114
- }),
3115
- motifArea: props.videoMobileMotifArea,
3116
- containerDimension: props.containerDimension,
3117
- effects: props.effectsMobile
3118
- });
3119
- var image = useBackgroundFile({
3120
- file: useFile({
3121
- collectionName: 'imageFiles',
3122
- permaId: props.image
3123
- }),
3124
- motifArea: props.imageMotifArea,
3125
- containerDimension: props.containerDimension,
3126
- effects: props.effects
3127
- });
3128
- var imageMobile = useBackgroundFile({
3129
- file: useFile({
3130
- collectionName: 'imageFiles',
3131
- permaId: props.imageMobile
3132
- }),
3133
- motifArea: props.imageMobileMotifArea,
3134
- containerDimension: props.containerDimension,
3135
- effects: props.effectsMobile
3291
+ var backgroundFile = useBackgroundFile({
3292
+ file: props.backdrop.video || props.backdrop.image,
3293
+ motifArea: props.backdrop.motifArea,
3294
+ effects: props.backdrop.effects,
3295
+ containerDimension: props.containerDimension
3136
3296
  });
3137
3297
 
3138
- if (video || videoMobile) {
3298
+ if (props.backdrop.video) {
3139
3299
  return /*#__PURE__*/React.createElement(Fullscreen, {
3140
3300
  ref: props.setContainerRef
3141
- }, renderBackgroundVideo({
3142
- video: video,
3143
- videoMobile: videoMobile,
3301
+ }, /*#__PURE__*/React.createElement(BackgroundVideo, {
3302
+ video: backgroundFile,
3144
3303
  onMotifAreaUpdate: props.onMotifAreaUpdate,
3145
3304
  containerDimension: props.containerDimension
3146
3305
  }));
3147
- } else if (props.color || props.image && props.image.toString().startsWith('#')) {
3306
+ } else if (props.backdrop.color) {
3148
3307
  return /*#__PURE__*/React.createElement(FillColor, {
3149
- color: props.color || props.image
3308
+ color: props.backdrop.color
3150
3309
  });
3151
3310
  } else {
3152
3311
  return /*#__PURE__*/React.createElement(Fullscreen, {
3153
3312
  ref: props.setContainerRef
3154
- }, renderBackgroundImage({
3155
- image: image,
3156
- imageMobile: imageMobile,
3313
+ }, /*#__PURE__*/React.createElement(BackgroundImage, {
3314
+ image: backgroundFile,
3157
3315
  onMotifAreaUpdate: props.onMotifAreaUpdate,
3158
3316
  containerDimension: props.containerDimension
3159
3317
  }));
3160
3318
  }
3161
3319
  }
3162
3320
 
3163
- function renderBackgroundVideo(_ref) {
3164
- var video = _ref.video,
3165
- videoMobile = _ref.videoMobile,
3166
- onMotifAreaUpdate = _ref.onMotifAreaUpdate,
3167
- containerDimension = _ref.containerDimension;
3168
-
3169
- if (video && videoMobile) {
3170
- return /*#__PURE__*/React.createElement(OrientationAwareBackgroundVideo, {
3171
- video: video,
3172
- videoMobile: videoMobile,
3173
- onMotifAreaUpdate: onMotifAreaUpdate,
3174
- containerDimension: containerDimension
3175
- });
3176
- } else {
3177
- return /*#__PURE__*/React.createElement(BackgroundVideo, {
3178
- video: video || videoMobile,
3179
- onMotifAreaUpdate: onMotifAreaUpdate,
3180
- containerDimension: containerDimension
3181
- });
3182
- }
3183
- }
3184
-
3185
- function renderBackgroundImage(_ref2) {
3186
- var image = _ref2.image,
3187
- imageMobile = _ref2.imageMobile,
3188
- onMotifAreaUpdate = _ref2.onMotifAreaUpdate,
3189
- containerDimension = _ref2.containerDimension;
3190
-
3191
- if (image && imageMobile) {
3192
- return /*#__PURE__*/React.createElement(OrientationAwareBackgroundImage, {
3193
- image: image,
3194
- imageMobile: imageMobile,
3195
- onMotifAreaUpdate: onMotifAreaUpdate,
3196
- containerDimension: containerDimension
3197
- });
3198
- } else {
3199
- return /*#__PURE__*/React.createElement(BackgroundImage, {
3200
- image: image || imageMobile,
3201
- onMotifAreaUpdate: onMotifAreaUpdate,
3202
- containerDimension: containerDimension
3203
- });
3204
- }
3205
- }
3206
-
3207
3321
  function Backdrop(props) {
3208
3322
  var _useDimension = useDimension(),
3209
3323
  _useDimension2 = _slicedToArray(_useDimension, 2),
@@ -3214,11 +3328,11 @@ function Backdrop(props) {
3214
3328
  shouldLoad = _useSectionLifecycle.shouldLoad;
3215
3329
 
3216
3330
  return /*#__PURE__*/React.createElement("div", {
3217
- className: classNames(styles$b.Backdrop, _defineProperty({}, styles$b.noCompositionLayer, !shouldLoad && !props.eagerLoad), props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)])
3331
+ className: classNames(styles$e.Backdrop, _defineProperty({}, styles$e.noCompositionLayer, !shouldLoad && !props.eagerLoad), props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)])
3218
3332
  }, /*#__PURE__*/React.createElement("div", {
3219
3333
  className: props.transitionStyles.backdropInner
3220
3334
  }, /*#__PURE__*/React.createElement("div", {
3221
- className: classNames(styles$b.defaultBackground, props.transitionStyles.backdropInner2)
3335
+ className: classNames(styles$e.defaultBackground, props.transitionStyles.backdropInner2)
3222
3336
  }, props.children( /*#__PURE__*/React.createElement(BackgroundAsset, Object.assign({}, props, {
3223
3337
  containerDimension: containerDimension,
3224
3338
  setContainerRef: setContainerRef
@@ -3462,29 +3576,91 @@ function getIntersectionRatioY(isContentPadded, motifAreaRect, contentAreaRect)
3462
3576
  return isContentPadded ? motifAreaOverlap / motifAreaRect.height : 0;
3463
3577
  }
3464
3578
 
3465
- function useBackdrop() {}
3579
+ /**
3580
+ * Returns boolean indicating whether viewport orientation is currently
3581
+ * portrait.
3582
+ */
3583
+
3584
+ function usePortraitOrientation(options) {
3585
+ return useMediaQuery('(orientation: portrait)', options);
3586
+ }
3587
+
3588
+ function useBackdrop(section) {
3589
+ var _section$backdrop, _section$backdrop2;
3590
+
3591
+ var videoBackdrop = useFileBackdrop({
3592
+ section: section,
3593
+ collectionName: 'videoFiles',
3594
+ propertyName: 'video'
3595
+ });
3596
+ var imageBackdrop = useFileBackdrop({
3597
+ section: section,
3598
+ collectionName: 'imageFiles',
3599
+ propertyName: 'image'
3600
+ });
3601
+
3602
+ if (((_section$backdrop = section.backdrop) === null || _section$backdrop === void 0 ? void 0 : _section$backdrop.color) || ((_section$backdrop2 = section.backdrop) === null || _section$backdrop2 === void 0 ? void 0 : _section$backdrop2.image) && section.backdrop.image.toString().startsWith('#')) {
3603
+ return {
3604
+ color: section.backdrop.color || section.backdrop.image
3605
+ };
3606
+ } else {
3607
+ return videoBackdrop || imageBackdrop || {};
3608
+ }
3609
+ }
3610
+
3611
+ function useFileBackdrop(_ref) {
3612
+ var section = _ref.section,
3613
+ collectionName = _ref.collectionName,
3614
+ propertyName = _ref.propertyName;
3615
+ var file = useFileWithInlineRights({
3616
+ configuration: section.backdrop || {},
3617
+ collectionName: collectionName,
3618
+ propertyName: propertyName
3619
+ });
3620
+ var mobileFile = useFileWithInlineRights({
3621
+ configuration: section.backdrop || {},
3622
+ collectionName: collectionName,
3623
+ propertyName: "".concat(propertyName, "Mobile")
3624
+ });
3625
+ var mobile = usePortraitOrientation({
3626
+ active: file && mobileFile
3627
+ });
3628
+
3629
+ if (mobileFile && (mobile || !file)) {
3630
+ var _ref2;
3631
+
3632
+ return _ref2 = {}, _defineProperty(_ref2, propertyName, mobileFile), _defineProperty(_ref2, "motifArea", section.backdrop["".concat(propertyName, "MobileMotifArea")]), _defineProperty(_ref2, "effects", section.backdropEffectsMobile), _ref2;
3633
+ } else if (file) {
3634
+ var _ref3;
3635
+
3636
+ return _ref3 = {}, _defineProperty(_ref3, propertyName, file), _defineProperty(_ref3, "motifArea", section.backdrop["".concat(propertyName, "MotifArea")]), _defineProperty(_ref3, "effects", section.backdropEffects), _ref3;
3637
+ } else {
3638
+ return null;
3639
+ }
3640
+ }
3641
+
3466
3642
  function useBackdropSectionCustomProperties() {}
3467
3643
  function useBackdropSectionClassNames() {}
3468
3644
 
3469
3645
  var v1 = /*#__PURE__*/Object.freeze({
3470
3646
  __proto__: null,
3471
- useBackdrop: useBackdrop,
3472
3647
  useBackdropSectionCustomProperties: useBackdropSectionCustomProperties,
3473
3648
  useBackdropSectionClassNames: useBackdropSectionClassNames,
3474
3649
  Backdrop: Backdrop,
3475
- useMotifAreaState: useMotifAreaState
3650
+ useMotifAreaState: useMotifAreaState,
3651
+ useBackdrop: useBackdrop
3476
3652
  });
3477
3653
 
3478
- var styles$d = {"wrapper":"Positioner-module_wrapper__3iFSg"};
3654
+ var styles$g = {"wrapper":"Positioner-module_wrapper__3iFSg"};
3479
3655
 
3480
3656
  function Positioner(_ref) {
3481
3657
  var children = _ref.children;
3482
3658
  return /*#__PURE__*/React.createElement("div", {
3483
- className: styles$d.wrapper
3659
+ className: styles$g.wrapper
3484
3660
  }, children);
3485
3661
  }
3486
3662
 
3487
- var styles$e = {"root":"Picture-module_root__1BCCg"};
3663
+ var styles$h = {"root":"Picture-module_root__1BCCg"};
3488
3664
 
3489
3665
  function Picture(_ref) {
3490
3666
  var imageFile = _ref.imageFile,
@@ -3522,7 +3698,7 @@ function renderTag(_ref2) {
3522
3698
  }),
3523
3699
  media: "(orientation: portrait)"
3524
3700
  }), /*#__PURE__*/React.createElement("img", {
3525
- className: classNames(styles$e.root),
3701
+ className: classNames(styles$h.root),
3526
3702
  src: imageUrl$1({
3527
3703
  imageFile: imageFile,
3528
3704
  variant: variant,
@@ -3566,18 +3742,18 @@ var MotifArea$1 = function MotifArea(props) {
3566
3742
  var visible = useContext(MotifAreaVisibilityContext);
3567
3743
  return /*#__PURE__*/React.createElement("div", {
3568
3744
  ref: props.onUpdate,
3569
- className: classNames(styles$a.root, v2Styles.root, _defineProperty({}, styles$a.visible, visible))
3745
+ className: classNames(styles$d.root, v2Styles.root, _defineProperty({}, styles$d.visible, visible))
3570
3746
  });
3571
3747
  };
3572
3748
 
3573
- var styles$f = {"effects":"Effects-module_effects__MDZRR"};
3749
+ var styles$i = {"effects":"Effects-module_effects__MDZRR"};
3574
3750
 
3575
3751
  function Effects$1(_ref) {
3576
3752
  var file = _ref.file,
3577
3753
  mobileFile = _ref.mobileFile,
3578
3754
  children = _ref.children;
3579
3755
  return /*#__PURE__*/React.createElement("div", {
3580
- className: styles$f.effects,
3756
+ className: styles$i.effects,
3581
3757
  style: {
3582
3758
  '--filter': getFilter$1((file === null || file === void 0 ? void 0 : file.effects) || []),
3583
3759
  '--mobile-filter': getFilter$1((mobileFile === null || mobileFile === void 0 ? void 0 : mobileFile.effects) || [])
@@ -3713,11 +3889,11 @@ BackgroundAsset$1.defaultProps = {
3713
3889
 
3714
3890
  function Backdrop$1(props) {
3715
3891
  return /*#__PURE__*/React.createElement("div", {
3716
- className: classNames(styles$b.Backdrop, props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)])
3892
+ className: classNames(styles$e.Backdrop, props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)])
3717
3893
  }, /*#__PURE__*/React.createElement("div", {
3718
3894
  className: props.transitionStyles.backdropInner
3719
3895
  }, /*#__PURE__*/React.createElement("div", {
3720
- className: classNames(styles$b.defaultBackground, props.transitionStyles.backdropInner2)
3896
+ className: classNames(styles$e.defaultBackground, props.transitionStyles.backdropInner2)
3721
3897
  }, props.children( /*#__PURE__*/React.createElement(BackgroundAsset$1, props)))));
3722
3898
  }
3723
3899
  Backdrop$1.defaultProps = {
@@ -3910,7 +4086,7 @@ function motifAreaCustomProperties(motifArea, prefix) {
3910
4086
  return motifArea ? (_ref = {}, _defineProperty(_ref, "--".concat(prefix, "motif-t"), motifArea.top), _defineProperty(_ref, "--".concat(prefix, "motif-l"), motifArea.left), _defineProperty(_ref, "--".concat(prefix, "motif-w"), motifArea.width), _defineProperty(_ref, "--".concat(prefix, "motif-h"), motifArea.height), _ref) : {};
3911
4087
  }
3912
4088
 
3913
- var styles$g = {"section":"Section-module_section__7UvMm","orientation":"Section-module_orientation__3-m2N","exposeMotifArea":"Section-module_exposeMotifArea__2rsq_","layout-left":"Section-module_layout-left__2IqOD","layout-right":"Section-module_layout-right__3al0b"};
4089
+ var styles$j = {"section":"Section-module_section__7UvMm","orientation":"Section-module_orientation__3-m2N","exposeMotifArea":"Section-module_exposeMotifArea__2rsq_","layout-left":"Section-module_layout-left__2IqOD","layout-right":"Section-module_layout-right__3al0b"};
3914
4090
 
3915
4091
  function useBackdropSectionClassNames$1(backdrop) {
3916
4092
  var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
@@ -3919,7 +4095,7 @@ function useBackdropSectionClassNames$1(backdrop) {
3919
4095
  empty = _ref.empty;
3920
4096
 
3921
4097
  var fullscreenDimensions = useFullscreenDimensions();
3922
- return [styles$g.section, !fullscreenDimensions.height && styles$g.orientation, styles$g["layout-".concat(layout || 'left')], exposeMotifArea && !empty && styles$g.exposeMotifArea, useAspectRatioClassName(backdrop.file, fullscreenDimensions), useAspectRatioClassName(backdrop.mobileFile, fullscreenDimensions, {
4098
+ return [styles$j.section, !fullscreenDimensions.height && styles$j.orientation, styles$j["layout-".concat(layout || 'left')], exposeMotifArea && !empty && styles$j.exposeMotifArea, useAspectRatioClassName(backdrop.file, fullscreenDimensions), useAspectRatioClassName(backdrop.mobileFile, fullscreenDimensions, {
3923
4099
  mobile: true
3924
4100
  })].filter(Boolean);
3925
4101
  }
@@ -4006,7 +4182,7 @@ var v2 = /*#__PURE__*/Object.freeze({
4006
4182
  useBackdropSectionClassNames: useBackdropSectionClassNames$1
4007
4183
  });
4008
4184
 
4009
- var styles$h = {"darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","darkContentLinkColor":"var(--theme-dark-content-link-color, var(--theme-content-link-color, currentColor))","lightContentLinkColor":"var(--theme-light-content-link-color, var(--theme-content-link-color, currentColor))","Section":"Section-module_Section__Yo58b","first":"Section-module_first__1vLBH","narrow":"Section-module_narrow__3Dawu","invert":"Section-module_invert__3_p7F"};
4185
+ var styles$k = {"darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","darkContentLinkColor":"var(--theme-dark-content-link-color, var(--theme-content-link-color, currentColor))","lightContentLinkColor":"var(--theme-light-content-link-color, var(--theme-content-link-color, currentColor))","Section":"Section-module_Section__Yo58b","first":"Section-module_first__1vLBH","narrow":"Section-module_narrow__3Dawu","invert":"Section-module_invert__3_p7F"};
4010
4186
 
4011
4187
  var fadeInBgConceal = {"fade-duration":"0.5s","backdrop":"fadeInBgConceal-module_backdrop__11JGO","backdropInner":"fadeInBgConceal-module_backdropInner__1IAYD","backdrop-below":"fadeInBgConceal-module_backdrop-below__3E6Uk"};
4012
4188
 
@@ -4040,7 +4216,7 @@ var scrollInFadeOutBg = {"fade-duration":"0.5s","backdrop":"scrollInFadeOutBg-mo
4040
4216
 
4041
4217
  var scrollInScrollOut = {"backdrop":"scrollInScrollOut-module_backdrop__XzCge","foreground":"scrollInScrollOut-module_foreground__1yyY8"};
4042
4218
 
4043
- var styles$i = {
4219
+ var styles$l = {
4044
4220
  fadeInBgConceal: fadeInBgConceal,
4045
4221
  fadeInBgFadeOut: fadeInBgFadeOut,
4046
4222
  fadeInBgFadeOutBg: fadeInBgFadeOutBg,
@@ -4089,11 +4265,11 @@ function getAvailableTransitionNames(section, previousSection) {
4089
4265
  function getTransitionStyles(section, previousSection, nextSection) {
4090
4266
  var name = getTransitionStylesName(section, previousSection, nextSection);
4091
4267
 
4092
- if (!styles$i[name]) {
4268
+ if (!styles$l[name]) {
4093
4269
  throw new Error("Unknown transition ".concat(name));
4094
4270
  }
4095
4271
 
4096
- return styles$i[name];
4272
+ return styles$l[name];
4097
4273
  }
4098
4274
  function getEnterAndExitTransitions(section, previousSection, nextSection) {
4099
4275
  return [enterTransitions[getTransitionName(previousSection, section)], exitTransitions[getTransitionName(section, nextSection)]];
@@ -4127,7 +4303,7 @@ function NoOpShadow(props) {
4127
4303
  return /*#__PURE__*/React.createElement("div", null, props.children);
4128
4304
  }
4129
4305
 
4130
- var styles$j = {"static":"GradientShadow-module_static__rXNpZ","dynamic":"GradientShadow-module_dynamic__2v2JU","align-right":"GradientShadow-module_align-right__3iXZs","dark":"GradientShadow-module_dark__1YuV5","align-left":"GradientShadow-module_align-left__3qcNM","align-center":"GradientShadow-module_align-center__2C7cl","align-centerRagged":"GradientShadow-module_align-centerRagged__2-iv8","light":"GradientShadow-module_light__Vn92v","shadow":"GradientShadow-module_shadow__2UiDH"};
4306
+ var styles$m = {"static":"GradientShadow-module_static__rXNpZ","dynamic":"GradientShadow-module_dynamic__2v2JU","align-right":"GradientShadow-module_align-right__3iXZs","dark":"GradientShadow-module_dark__1YuV5","align-left":"GradientShadow-module_align-left__3qcNM","align-center":"GradientShadow-module_align-center__2C7cl","align-centerRagged":"GradientShadow-module_align-centerRagged__2-iv8","light":"GradientShadow-module_light__Vn92v","shadow":"GradientShadow-module_shadow__2UiDH"};
4131
4307
 
4132
4308
  function GradientShadow(props) {
4133
4309
  // Hide static shadow if motif area intersects with content area.
@@ -4139,14 +4315,14 @@ function GradientShadow(props) {
4139
4315
  // up half way across the motif area.
4140
4316
  roundToFirstDecimalPlace(Math.min(1, props.motifAreaState.intersectionRatioY * 2));
4141
4317
  return /*#__PURE__*/React.createElement("div", {
4142
- className: classNames(styles$j["align-".concat(props.align)], props.inverted ? styles$j.light : styles$j.dark)
4318
+ className: classNames(styles$m["align-".concat(props.align)], props.inverted ? styles$m.light : styles$m.dark)
4143
4319
  }, /*#__PURE__*/React.createElement("div", {
4144
- className: styles$j.dynamic,
4320
+ className: styles$m.dynamic,
4145
4321
  style: {
4146
4322
  opacity: props.dynamicShadowOpacity * opacityFactor
4147
4323
  }
4148
4324
  }, /*#__PURE__*/React.createElement(Fullscreen, null)), /*#__PURE__*/React.createElement("div", {
4149
- className: styles$j["static"],
4325
+ className: styles$m["static"],
4150
4326
  style: {
4151
4327
  opacity: staticShadowOpacity
4152
4328
  }
@@ -4161,7 +4337,7 @@ function roundToFirstDecimalPlace(value) {
4161
4337
  return Math.round(value * 10) / 10;
4162
4338
  }
4163
4339
 
4164
- var styles$k = {"start":"InvisibleBoxWrapper-module_start__F1nZ7","end":"InvisibleBoxWrapper-module_end__nphD-"};
4340
+ var styles$n = {"start":"InvisibleBoxWrapper-module_start__F1nZ7","end":"InvisibleBoxWrapper-module_end__nphD-"};
4165
4341
 
4166
4342
  function InvisibleBoxWrapper(_ref) {
4167
4343
  var _classNames;
@@ -4173,47 +4349,47 @@ function InvisibleBoxWrapper(_ref) {
4173
4349
  children = _ref.children;
4174
4350
  var full = width === widths.full;
4175
4351
  return /*#__PURE__*/React.createElement("div", {
4176
- className: classNames((_classNames = {}, _defineProperty(_classNames, styles$k.start, !openStart && !full), _defineProperty(_classNames, styles$k.end, !openEnd && !full), _classNames))
4352
+ className: classNames((_classNames = {}, _defineProperty(_classNames, styles$n.start, !openStart && !full), _defineProperty(_classNames, styles$n.end, !openEnd && !full), _classNames))
4177
4353
  }, children);
4178
4354
  }
4179
4355
 
4180
- var styles$l = {"wrapper":"GradientBox-module_wrapper__1Jj7N","content":"GradientBox-module_content__96lDk","shadow":"GradientBox-module_shadow__2XilX","gradient":"GradientBox-module_gradient__31tJ-","long":"GradientBox-module_long__10s6v","root":"GradientBox-module_root__8Xn9W","withShadow":"GradientBox-module_withShadow__3mhPR","shadowDark":"GradientBox-module_shadowDark__3Tv0L","shadowLight":"GradientBox-module_shadowLight__Bieg6"};
4356
+ var styles$o = {"wrapper":"GradientBox-module_wrapper__1Jj7N","content":"GradientBox-module_content__96lDk","shadow":"GradientBox-module_shadow__2XilX","gradient":"GradientBox-module_gradient__31tJ-","long":"GradientBox-module_long__10s6v","root":"GradientBox-module_root__8Xn9W","withShadow":"GradientBox-module_withShadow__3mhPR","shadowDark":"GradientBox-module_shadowDark__3Tv0L","shadowLight":"GradientBox-module_shadowLight__Bieg6"};
4181
4357
 
4182
4358
  function GradientBox(props) {
4183
4359
  var _classNames;
4184
4360
 
4185
4361
  return /*#__PURE__*/React.createElement("div", {
4186
- className: classNames(styles$l.root, (_classNames = {}, _defineProperty(_classNames, styles$l.gradient, props.motifAreaState.isContentPadded), _defineProperty(_classNames, styles$l["long"], props.coverInvisibleNextSection), _classNames)),
4362
+ className: classNames(styles$o.root, (_classNames = {}, _defineProperty(_classNames, styles$o.gradient, props.motifAreaState.isContentPadded), _defineProperty(_classNames, styles$o["long"], props.coverInvisibleNextSection), _classNames)),
4187
4363
  style: {
4188
4364
  paddingTop: props.motifAreaState.paddingTop
4189
4365
  }
4190
4366
  }, /*#__PURE__*/React.createElement("div", {
4191
- className: styles$l.wrapper
4367
+ className: styles$o.wrapper
4192
4368
  }, /*#__PURE__*/React.createElement("div", {
4193
- className: classNames(styles$l.shadow, props.inverted ? styles$l.shadowLight : styles$l.shadowDark, props.transitionStyles.boxShadow, props.transitionStyles["boxShadow-".concat(props.state)]),
4369
+ className: classNames(styles$o.shadow, props.inverted ? styles$o.shadowLight : styles$o.shadowDark, props.transitionStyles.boxShadow, props.transitionStyles["boxShadow-".concat(props.state)]),
4194
4370
  style: {
4195
4371
  top: props.motifAreaState.paddingTop,
4196
4372
  opacity: props.staticShadowOpacity
4197
4373
  }
4198
4374
  }), /*#__PURE__*/React.createElement("div", {
4199
- className: styles$l.content
4375
+ className: styles$o.content
4200
4376
  }, props.children)));
4201
4377
  }
4202
4378
 
4203
- var styles$m = {"content":"CardBox-module_content__36v7J","wrapper":"CardBox-module_wrapper__3vnaH"};
4379
+ var styles$p = {"content":"CardBox-module_content__36v7J","wrapper":"CardBox-module_wrapper__3vnaH"};
4204
4380
 
4205
4381
  function CardBox(props) {
4206
4382
  return /*#__PURE__*/React.createElement("div", {
4207
- className: styles$m.wrapper,
4383
+ className: styles$p.wrapper,
4208
4384
  style: {
4209
4385
  paddingTop: props.motifAreaState.paddingTop
4210
4386
  }
4211
4387
  }, /*#__PURE__*/React.createElement("div", {
4212
- className: styles$m.content
4388
+ className: styles$p.content
4213
4389
  }, props.children));
4214
4390
  }
4215
4391
 
4216
- var styles$n = {"darkContentSurfaceColor":"var(--theme-dark-content-surface-color, #101010)","lightContentSurfaceColor":"var(--theme-light-content-surface-color, #fff)","darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","darkContentLinkColor":"var(--theme-dark-content-link-color, var(--theme-content-link-color, currentColor))","lightContentLinkColor":"var(--theme-light-content-link-color, var(--theme-content-link-color, currentColor))","card":"CardBoxWrapper-module_card__hvRUa scope-cardsAppearance","selfClear-left":"CardBoxWrapper-module_selfClear-left__2Dd26","selfClear-right":"CardBoxWrapper-module_selfClear-right__9kgvN","selfClear-both":"CardBoxWrapper-module_selfClear-both__2hwB7","cardStart":"CardBoxWrapper-module_cardStart__2NywG","cardEnd":"CardBoxWrapper-module_cardEnd__x4Ye6","cardBgWhite":"CardBoxWrapper-module_cardBgWhite__xXhg7","cardBgBlack":"CardBoxWrapper-module_cardBgBlack__Ahp3s"};
4392
+ var styles$q = {"darkContentSurfaceColor":"var(--theme-dark-content-surface-color, #101010)","lightContentSurfaceColor":"var(--theme-light-content-surface-color, #fff)","darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","darkContentLinkColor":"var(--theme-dark-content-link-color, var(--theme-content-link-color, currentColor))","lightContentLinkColor":"var(--theme-light-content-link-color, var(--theme-content-link-color, currentColor))","card":"CardBoxWrapper-module_card__hvRUa scope-cardsAppearance","selfClear-left":"CardBoxWrapper-module_selfClear-left__2Dd26","selfClear-right":"CardBoxWrapper-module_selfClear-right__9kgvN","selfClear-both":"CardBoxWrapper-module_selfClear-both__2hwB7","cardStart":"CardBoxWrapper-module_cardStart__2NywG","cardEnd":"CardBoxWrapper-module_cardEnd__x4Ye6","cardBgWhite":"CardBoxWrapper-module_cardBgWhite__xXhg7","cardBgBlack":"CardBoxWrapper-module_cardBgBlack__Ahp3s"};
4217
4393
 
4218
4394
  function CardBoxWrapper(props) {
4219
4395
  if (outsideBox(props)) {
@@ -4232,7 +4408,7 @@ function outsideBox(props) {
4232
4408
  }
4233
4409
 
4234
4410
  function className$1(props) {
4235
- return classNames(styles$n.card, props.inverted ? styles$n.cardBgBlack : styles$n.cardBgWhite, styles$n["selfClear-".concat(props.selfClear)], _defineProperty({}, styles$n.cardStart, !props.openStart), _defineProperty({}, styles$n.cardEnd, !props.openEnd));
4411
+ return classNames(styles$q.card, props.inverted ? styles$q.cardBgBlack : styles$q.cardBgWhite, styles$q["selfClear-".concat(props.selfClear)], _defineProperty({}, styles$q.cardStart, !props.openStart), _defineProperty({}, styles$q.cardEnd, !props.openEnd));
4236
4412
  }
4237
4413
 
4238
4414
  var components$1 = {
@@ -4280,23 +4456,35 @@ var Section = withInlineEditingDecorator('SectionDecorator', function Section(_r
4280
4456
  exposeMotifArea: section.exposeMotifArea,
4281
4457
  empty: !contentElements.length
4282
4458
  });
4459
+ var atmoAudioFile = useFileWithInlineRights({
4460
+ configuration: section,
4461
+ collectionName: 'audioFiles',
4462
+ propertyName: 'atmoAudioFileId'
4463
+ });
4283
4464
  return /*#__PURE__*/React.createElement("section", {
4284
4465
  id: "".concat(domIdPrefix, "-").concat(section.permaId),
4285
4466
  ref: ref,
4286
- className: classNames(styles$h.Section, transitionStyles.section, backdropSectionClassNames, _defineProperty({}, styles$h.first, section.sectionIndex === 0), _defineProperty({}, styles$h.narrow, section.width === 'narrow'), _defineProperty({}, styles$h.invert, section.invert)),
4467
+ className: classNames(styles$k.Section, transitionStyles.section, backdropSectionClassNames, _defineProperty({}, styles$k.first, section.sectionIndex === 0), _defineProperty({}, styles$k.narrow, section.width === 'narrow'), _defineProperty({}, styles$k.invert, section.invert)),
4287
4468
  style: useBackdropSectionCustomProperties(backdrop)
4288
4469
  }, /*#__PURE__*/React.createElement(SectionLifecycleProvider, {
4289
4470
  onActivate: onActivate,
4290
4471
  entersWithFadeTransition: (_section$transition = section.transition) === null || _section$transition === void 0 ? void 0 : _section$transition.startsWith('fade')
4472
+ }, /*#__PURE__*/React.createElement(SectionViewTimelineProvider, {
4473
+ backdrop: backdrop
4291
4474
  }, /*#__PURE__*/React.createElement(SectionAtmo, {
4292
- audioFilePermaId: section.atmoAudioFileId
4475
+ audioFile: atmoAudioFile
4293
4476
  }), /*#__PURE__*/React.createElement(SectionContents, {
4294
4477
  section: section,
4295
4478
  backdrop: backdrop,
4296
4479
  contentElements: contentElements,
4297
4480
  state: state,
4298
4481
  transitionStyles: transitionStyles
4299
- })));
4482
+ }), /*#__PURE__*/React.createElement(SectionInlineFileRights, {
4483
+ section: section,
4484
+ backdrop: backdrop,
4485
+ atmoAudioFile: atmoAudioFile,
4486
+ state: state
4487
+ }))));
4300
4488
  });
4301
4489
  Section.defaultProps = {
4302
4490
  domIdPrefix: 'section'
@@ -4352,15 +4540,13 @@ function SectionContents(_ref3) {
4352
4540
  var dynamicShadowOpacity = percentToFraction(section.dynamicShadowOpacity, {
4353
4541
  defaultValue: 0.7
4354
4542
  });
4355
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Backdrop, Object.assign({}, section.backdrop, {
4356
- effects: section.backdropEffects,
4357
- effectsMobile: section.backdropEffectsMobile,
4543
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Backdrop, {
4358
4544
  backdrop: backdrop,
4359
4545
  eagerLoad: section.sectionIndex === 0,
4360
4546
  onMotifAreaUpdate: setMotifAreaRef,
4361
4547
  state: state,
4362
4548
  transitionStyles: transitionStyles
4363
- }), function (children) {
4549
+ }, function (children) {
4364
4550
  return /*#__PURE__*/React.createElement(Shadow, {
4365
4551
  align: section.layout,
4366
4552
  inverted: section.invert,
@@ -4492,7 +4678,7 @@ function usePostMessageListener(receiveData) {
4492
4678
 
4493
4679
  var contentStyles = {"Content":"Content-module_Content__m7urk"};
4494
4680
 
4495
- var styles$o = {"focusOutlineDisabled":"focusOutline-module_focusOutlineDisabled__KV7d-"};
4681
+ var styles$r = {"focusOutlineDisabled":"focusOutline-module_focusOutlineDisabled__KV7d-"};
4496
4682
 
4497
4683
  var FocusVisibleContext = createContext();
4498
4684
  function useFocusOutlineVisible() {
@@ -4516,12 +4702,12 @@ function FocusOutlineProvider(_ref) {
4516
4702
  };
4517
4703
 
4518
4704
  function enable() {
4519
- document.body.classList.remove(styles$o.focusOutlineDisabled);
4705
+ document.body.classList.remove(styles$r.focusOutlineDisabled);
4520
4706
  setValue(true);
4521
4707
  }
4522
4708
 
4523
4709
  function disable() {
4524
- document.body.classList.add(styles$o.focusOutlineDisabled);
4710
+ document.body.classList.add(styles$r.focusOutlineDisabled);
4525
4711
  setValue(false);
4526
4712
  }
4527
4713
  }, []);
@@ -4719,7 +4905,7 @@ function useConsentGiven(vendorName) {
4719
4905
  return [consentGiven, giveConsent];
4720
4906
  }
4721
4907
 
4722
- var styles$p = {"optIn":"OptIn-module_optIn__3nHo1","optInIcon":"OptIn-module_optInIcon__3-81I","optInMessage":"OptIn-module_optInMessage__1OfTR","optInButton":"OptIn-module_optInButton__1LhtX"};
4908
+ var styles$s = {"optIn":"OptIn-module_optIn__3nHo1","optInIcon":"OptIn-module_optInIcon__3-81I","optInMessage":"OptIn-module_optInMessage__1OfTR","optInButton":"OptIn-module_optInButton__1LhtX"};
4723
4909
 
4724
4910
  function _extends() {
4725
4911
  _extends = Object.assign || function (target) {
@@ -4809,13 +4995,13 @@ function OptIn(_ref) {
4809
4995
  }
4810
4996
 
4811
4997
  return wrapper( /*#__PURE__*/React.createElement("div", {
4812
- className: styles$p.optIn
4998
+ className: styles$s.optIn
4813
4999
  }, icon && /*#__PURE__*/React.createElement("div", {
4814
- className: styles$p.optInIcon
5000
+ className: styles$s.optInIcon
4815
5001
  }, /*#__PURE__*/React.createElement(OptInIcon, null)), /*#__PURE__*/React.createElement("div", {
4816
- className: styles$p.optInMessage
5002
+ className: styles$s.optInMessage
4817
5003
  }, cookieMessage), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
4818
- className: styles$p.optInButton,
5004
+ className: styles$s.optInButton,
4819
5005
  onClick: accept
4820
5006
  }, t('pageflow_scrolled.public.third_party_consent.confirm')))));
4821
5007
  }
@@ -4826,7 +5012,7 @@ OptIn.defaultProps = {
4826
5012
  }
4827
5013
  };
4828
5014
 
4829
- var styles$q = {"optOut":"OptOutInfo-module_optOut__2Q3d5","tooltip":"OptOutInfo-module_tooltip__2bpU0","icon":"OptOutInfo-module_icon__1kL6Q utils-module_unstyledButton__3rgne","full":"OptOutInfo-module_full__s_Ono"};
5015
+ var styles$t = {"optOut":"OptOutInfo-module_optOut__2Q3d5","tooltip":"OptOutInfo-module_tooltip__2bpU0","icon":"OptOutInfo-module_icon__1kL6Q utils-module_unstyledButton__3rgne","full":"OptOutInfo-module_full__s_Ono"};
4830
5016
 
4831
5017
  function _extends$1() {
4832
5018
  _extends$1 = Object.assign || function (target) {
@@ -4907,15 +5093,15 @@ function OptOutInfo(_ref) {
4907
5093
  link: linkHtml
4908
5094
  });
4909
5095
  return /*#__PURE__*/React.createElement("div", {
4910
- className: classNames(styles$q.optOut, _defineProperty({}, styles$q.full, width === widths.full)),
5096
+ className: classNames(styles$t.optOut, _defineProperty({}, styles$t.full, width === widths.full)),
4911
5097
  style: hide ? {
4912
5098
  opacity: 0,
4913
5099
  visibility: 'hidden'
4914
5100
  } : undefined
4915
5101
  }, /*#__PURE__*/React.createElement("button", {
4916
- className: styles$q.icon
5102
+ className: styles$t.icon
4917
5103
  }, /*#__PURE__*/React.createElement(information, null)), /*#__PURE__*/React.createElement("div", {
4918
- className: styles$q.tooltip
5104
+ className: styles$t.tooltip
4919
5105
  }, /*#__PURE__*/React.createElement("div", {
4920
5106
  dangerouslySetInnerHTML: {
4921
5107
  __html: html
@@ -4981,18 +5167,20 @@ function paletteColor(value) {
4981
5167
  return !value || value[0] === '#' ? value : "var(--theme-palette-color-".concat(value, ")");
4982
5168
  }
4983
5169
 
4984
- var textStyles = {"text-s":"20px","text-base":"22px","text-md":"33px","text-l":"40px","text-2l":"50px","text-xl":"66px","text-2xl":"88px","text-3xl":"110px","text-4xl":"200px","text-5xl":"350px","heading-lg":"Text-module_heading-lg__FKxzu typography-headingLg typography-heading","heading-md":"Text-module_heading-md__1q5Ss typography-headingMd typography-heading","heading-sm":"Text-module_heading-sm__2awaz typography-headingSm typography-heading","heading-xs":"Text-module_heading-xs__21nHy typography-headingXs typography-heading","body":"Text-module_body__4oWD- typography-body","caption":"Text-module_caption__3_6Au typography-caption","question":"Text-module_question__ByVAq typography-question","quoteText-lg":"Text-module_quoteText-lg__3ZnZi typography-quoteText","quoteText-md":"Text-module_quoteText-md__2eooO typography-quoteText","quoteText-sm":"Text-module_quoteText-sm__5nKex typography-quoteText","quoteText-xs":"Text-module_quoteText-xs__2p5on typography-quoteText","quoteAttribution":"Text-module_quoteAttribution__VBqLw typography-quoteAttribution","counterNumber-lg":"Text-module_counterNumber-lg__2myJg typography-counterNumber","counterNumber-md":"Text-module_counterNumber-md__1NC3q typography-counterNumber","counterNumber-sm":"Text-module_counterNumber-sm__2SwHQ typography-counterNumber","counterNumber-xs":"Text-module_counterNumber-xs__1D-YR typography-counterNumber","counterDescription":"Text-module_counterDescription__34NjQ typography-counterDescription"};
5170
+ var textStyles = {"text-s":"20px","text-base":"22px","text-md":"33px","text-l":"40px","text-2l":"50px","text-xl":"66px","text-2xl":"88px","text-3xl":"110px","text-4xl":"200px","text-5xl":"350px","heading-lg":"Text-module_heading-lg__FKxzu typography-headingLg typography-heading","heading-md":"Text-module_heading-md__1q5Ss typography-headingMd typography-heading","heading-sm":"Text-module_heading-sm__2awaz typography-headingSm typography-heading","heading-xs":"Text-module_heading-xs__21nHy typography-headingXs typography-heading","headingTagline-lg":"Text-module_headingTagline-lg__1O2TQ typography-headingTagline","headingTagline-md":"Text-module_headingTagline-md__2hrVS typography-headingTagline","headingTagline-sm":"Text-module_headingTagline-sm__1Fw2J typography-headingTagline","headingSubtitle-lg":"Text-module_headingSubtitle-lg__15kj0 typography-headingSubtitle","headingSubtitle-md":"Text-module_headingSubtitle-md__2_qtz typography-headingSubtitle","headingSubtitle-sm":"Text-module_headingSubtitle-sm__MOc_6 typography-headingSubtitle","body":"Text-module_body__4oWD- typography-body","caption":"Text-module_caption__3_6Au typography-caption","question":"Text-module_question__ByVAq typography-question","quoteText-lg":"Text-module_quoteText-lg__3ZnZi typography-quoteText","quoteText-md":"Text-module_quoteText-md__2eooO typography-quoteText","quoteText-sm":"Text-module_quoteText-sm__5nKex typography-quoteText","quoteText-xs":"Text-module_quoteText-xs__2p5on typography-quoteText","quoteAttribution":"Text-module_quoteAttribution__VBqLw typography-quoteAttribution","counterNumber-lg":"Text-module_counterNumber-lg__2myJg typography-counterNumber","counterNumber-md":"Text-module_counterNumber-md__1NC3q typography-counterNumber","counterNumber-sm":"Text-module_counterNumber-sm__2SwHQ typography-counterNumber","counterNumber-xs":"Text-module_counterNumber-xs__1D-YR typography-counterNumber","counterDescription":"Text-module_counterDescription__34NjQ typography-counterDescription"};
4985
5171
 
4986
5172
  /**
4987
5173
  * Render some text using the default typography scale.
4988
5174
  *
4989
5175
  * @param {Object} props
4990
5176
  * @param {string} props.scaleCategory -
4991
- * One of the styles `'heading-lg'`, `'heading-md'`, `'heading-sm'`,
4992
- * `'heading-xs'`, `'body'`, `'caption'`, `'question'`,
4993
- * `'quoteText-lg`', `'quoteText-md`', `'quoteText-sm`', `'quoteText-xs`', `'quoteAttribution`',
4994
- * `'counterNumber-lg`', `'counterNumber-md`', `'counterNumber-sm`',
4995
- * `'counterNumber-xs`', `'counterDescription`'.
5177
+ * One of the styles `'heading-lg'`, `'heading-md'`, `'heading-sm'`,`'heading-xs'`,
5178
+ * `'headingTagline-lg'`, `'headingTagline-md'`, `'headingTagline-sm'`,
5179
+ * `'headingSubtitle-lg'`, `'headingSubtitle-md'`, `'headingSubtitle-sm'`,
5180
+ * `'body'`, `'caption'`, `'question'`,
5181
+ * `'quoteText-lg'`, `'quoteText-md'`, `'quoteText-sm'`, `'quoteText-xs'`, `'quoteAttribution'`,
5182
+ * `'counterNumber-lg'`, `'counterNumber-md'`, `'counterNumber-sm'`,
5183
+ * `'counterNumber-xs'`, `'counterDescription`'.
4996
5184
  * @param {string} [props.inline] - Render a span instread of a div.
4997
5185
  * @param {string} props.children - Nodes to render with specified typography.
4998
5186
  */
@@ -5006,7 +5194,7 @@ function Text(_ref) {
5006
5194
  }, children);
5007
5195
  }
5008
5196
 
5009
- var styles$r = {"darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","root":"EditableText-module_root__2v1tU","light":"EditableText-module_light__2c29h","dark":"EditableText-module_dark__2ym90"};
5197
+ var styles$u = {"darkContentTextColor":"var(--theme-dark-content-text-color, #222)","lightContentTextColor":"var(--theme-light-content-text-color, #fff)","root":"EditableText-module_root__2v1tU","light":"EditableText-module_light__2c29h","dark":"EditableText-module_dark__2ym90"};
5010
5198
 
5011
5199
  var defaultValue = [{
5012
5200
  type: 'paragraph',
@@ -5020,7 +5208,7 @@ var EditableText = withInlineEditingAlternative('EditableText', function Editabl
5020
5208
  _ref$scaleCategory = _ref.scaleCategory,
5021
5209
  scaleCategory = _ref$scaleCategory === void 0 ? 'body' : _ref$scaleCategory;
5022
5210
  return /*#__PURE__*/React.createElement("div", {
5023
- className: classNames(styles$r.root, className)
5211
+ className: classNames(styles$u.root, className)
5024
5212
  }, /*#__PURE__*/React.createElement(Text, {
5025
5213
  scaleCategory: scaleCategory
5026
5214
  }, render(value || defaultValue)));
@@ -5112,7 +5300,7 @@ function Heading(_ref3) {
5112
5300
  children = _ref3.children;
5113
5301
  var darkBackground = useDarkBackground();
5114
5302
  return /*#__PURE__*/React.createElement("h2", Object.assign({}, attributes, {
5115
- className: classNames(variantClassName, darkBackground ? styles$r.light : styles$r.dark, 'scope-headings', textStyles['heading-xs']),
5303
+ className: classNames(variantClassName, darkBackground ? styles$u.light : styles$u.dark, 'scope-headings', textStyles['heading-xs']),
5116
5304
  style: inlineStyles
5117
5305
  }), children);
5118
5306
  }
@@ -5212,7 +5400,7 @@ function useContentElementConfigurationUpdate() {
5212
5400
  return useContext(ContentElementConfigurationUpdateContext);
5213
5401
  }
5214
5402
 
5215
- var styles$s = {"crop":"SectionThumbnail-module_crop__Q1nZj","scale":"SectionThumbnail-module_scale__2tKDG"};
5403
+ var styles$v = {"crop":"SectionThumbnail-module_crop__Q1nZj","scale":"SectionThumbnail-module_scale__2tKDG"};
5216
5404
 
5217
5405
  function StandaloneSectionThumbnail(_ref) {
5218
5406
  var seed = _ref.seed,
@@ -5245,10 +5433,10 @@ function SectionThumbnail(_ref2) {
5245
5433
  contentRect = _ref3.contentRect;
5246
5434
  return /*#__PURE__*/React.createElement(FullscreenDimensionProvider, clientDimensions(contentRect, scaleFactor), /*#__PURE__*/React.createElement("div", {
5247
5435
  ref: measureRef,
5248
- className: styles$s.crop,
5436
+ className: styles$v.crop,
5249
5437
  inert: ""
5250
5438
  }, /*#__PURE__*/React.createElement("div", {
5251
- className: classNames(_defineProperty({}, styles$s.scale, scale))
5439
+ className: classNames(_defineProperty({}, styles$v.scale, scale))
5252
5440
  }, /*#__PURE__*/React.createElement("div", {
5253
5441
  className: contentStyles.Content,
5254
5442
  style: viewportUnitCustomProperties(clientDimensions(contentRect, scaleFactor))
@@ -5262,7 +5450,7 @@ function SectionThumbnail(_ref2) {
5262
5450
  }));
5263
5451
  } else {
5264
5452
  return /*#__PURE__*/React.createElement("div", {
5265
- className: styles$s.root
5453
+ className: styles$v.root
5266
5454
  }, "Not found.");
5267
5455
  }
5268
5456
  }
@@ -5306,4 +5494,4 @@ function useContentElementEditorCommandSubscription(callback) {
5306
5494
 
5307
5495
  var frontendStyles = {"root":"EditableInlineText-module_root__3eA-J","hyphens-manual":"EditableInlineText-module_hyphens-manual__3Lj4H","hyphens-none":"EditableInlineText-module_hyphens-none__1UvNH"};
5308
5496
 
5309
- export { usePlayerState as $, AtmoProvider as A, useAudioFocus as B, ConnectedSection as C, useContentElementEditorCommandSubscription as D, EventContextDataProvider as E, useContentElementLifecycle as F, useCurrentChapter as G, useIsStaticPreview as H, useOnUnmuteMedia as I, usePortraitOrientation as J, PhonePlatformProvider as K, OptOutInfo as L, useConsentRequested as M, getTransitionNames as N, OptIn as O, PlayerEventContextDataProvider as P, getAvailableTransitionNames as Q, RootProviders as R, ScrollToSectionContext as S, paletteColor as T, widthName as U, Image as V, Text as W, MediaPlayer as X, getInitialPlayerState as Y, playerStateReducer as Z, _asyncToGenerator as _, useCurrentSectionIndexState as a, VideoPlayer as a0, AudioPlayer as a1, processSources as a2, Atmo as a3, AtmoContext as a4, useAtmo as a5, useOnScreen as a6, StandaloneSectionThumbnail as a7, SectionThumbnail as a8, ContentElementEditorCommandEmitterContext as a9, MotifAreaVisibilityProvider as aa, ForcePaddingContext as ab, ContentElementConfigurationUpdateContext as ac, LayoutWithoutInlineEditing as ad, renderElement as ae, renderLeaf as af, usePostMessageListener as b, contentStyles as c, api as d, regenerator as e, withInlineEditingAlternative as f, getEventObject as g, useDarkBackground as h, EditableText as i, useContentElementConfigurationUpdate as j, useContentElementAttributes as k, widths as l, useTextTracks as m, useMediaMuted as n, useFocusOutlineVisible as o, useVideoQualitySetting as p, useIsomorphicLayoutEffect as q, frontendStyles as r, useFullscreenDimensions as s, information as t, usePrevious as u, camelize as v, withInlineEditingDecorator as w, styles$l as x, registerVendors as y, loadInlineEditingComponents as z };
5497
+ export { Image as $, AtmoProvider as A, registerVendors as B, ConnectedSection as C, api as D, EventContextDataProvider as E, loadInlineEditingComponents as F, useAudioFocus as G, useContentElementEditorCommandSubscription as H, InlineFileRights as I, useContentElementLifecycle as J, useCurrentChapter as K, useIsStaticPreview as L, useOnUnmuteMedia as M, usePortraitOrientation as N, PhonePlatformProvider as O, PlayerEventContextDataProvider as P, OptIn as Q, RootProviders as R, ScrollToSectionContext as S, OptOutInfo as T, useConsentRequested as U, getTransitionNames as V, Widget as W, getAvailableTransitionNames as X, paletteColor as Y, widthName as Z, _asyncToGenerator as _, useCurrentSectionIndexState as a, Text as a0, MediaPlayer as a1, getInitialPlayerState as a2, playerStateReducer as a3, usePlayerState as a4, VideoPlayer as a5, AudioPlayer as a6, processSources as a7, Atmo as a8, AtmoContext as a9, useAtmo as aa, useOnScreen as ab, StandaloneSectionThumbnail as ac, SectionThumbnail as ad, ContentElementEditorCommandEmitterContext as ae, MotifAreaVisibilityProvider as af, ForcePaddingContext as ag, ContentElementConfigurationUpdateContext as ah, LayoutWithoutInlineEditing as ai, renderElement as aj, renderLeaf as ak, usePostMessageListener as b, contentStyles as c, regenerator as d, withInlineEditingAlternative as e, useDarkBackground as f, getEventObject as g, EditableText as h, isBlankEditableTextValue as i, useContentElementConfigurationUpdate as j, useContentElementAttributes as k, widths as l, useTextTracks as m, useMediaMuted as n, useFocusOutlineVisible as o, useVideoQualitySetting as p, useIsomorphicLayoutEffect as q, frontendStyles as r, useFullscreenDimensions as s, information as t, usePrevious as u, camelize as v, withInlineEditingDecorator as w, isBlank as x, presence as y, styles$o as z };