pageflow 16.0.0 → 16.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (188) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +86 -33
  3. data/README.md +6 -6
  4. data/Rakefile +1 -1
  5. data/admins/pageflow/entry.rb +0 -1
  6. data/admins/pageflow/sites.rb +3 -0
  7. data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
  8. data/app/assets/javascripts/pageflow/dist/ui.js +299 -72
  9. data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
  10. data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
  11. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +10 -0
  12. data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
  13. data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
  14. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +61 -7
  15. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
  16. data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +4 -0
  17. data/app/assets/stylesheets/pageflow/editor/help.scss +3 -3
  18. data/app/assets/stylesheets/pageflow/editor/info_box.scss +7 -0
  19. data/app/assets/stylesheets/pageflow/editor/inputs/file_input.scss +0 -5
  20. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -4
  21. data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
  22. data/app/assets/stylesheets/pageflow/ui.scss +1 -0
  23. data/app/controllers/pageflow/chapters_controller.rb +2 -2
  24. data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
  25. data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
  26. data/app/controllers/pageflow/editor/files_controller.rb +1 -1
  27. data/app/controllers/pageflow/entries_controller.rb +12 -2
  28. data/app/controllers/pageflow/feeds_controller.rb +18 -0
  29. data/app/controllers/pageflow/pages_controller.rb +2 -2
  30. data/app/controllers/pageflow/sitemaps_controller.rb +15 -0
  31. data/app/controllers/pageflow/storylines_controller.rb +2 -2
  32. data/app/helpers/pageflow/entries_helper.rb +4 -1
  33. data/app/helpers/pageflow/feeds_helper.rb +66 -0
  34. data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
  35. data/app/helpers/pageflow/page_types_helper.rb +10 -10
  36. data/app/helpers/pageflow/revision_file_helper.rb +3 -3
  37. data/app/helpers/pageflow/social_share_helper.rb +2 -2
  38. data/app/inputs/pageflow_permalink_input.rb +15 -3
  39. data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
  40. data/app/models/concerns/pageflow/reusable_file.rb +3 -3
  41. data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
  42. data/app/models/pageflow/account.rb +8 -0
  43. data/app/models/pageflow/audio_file_url_templates.rb +2 -1
  44. data/app/models/pageflow/draft_entry.rb +1 -1
  45. data/app/models/pageflow/entries_feed.rb +32 -0
  46. data/app/models/pageflow/entry.rb +7 -5
  47. data/app/models/pageflow/entry_at_revision.rb +2 -0
  48. data/app/models/pageflow/image_file.rb +34 -8
  49. data/app/models/pageflow/image_file_url_templates.rb +7 -1
  50. data/app/models/pageflow/membership.rb +3 -2
  51. data/app/models/pageflow/other_file.rb +5 -0
  52. data/app/models/pageflow/other_file_url_templates.rb +16 -0
  53. data/app/models/pageflow/published_entry.rb +6 -0
  54. data/app/models/pageflow/revision.rb +6 -0
  55. data/app/models/pageflow/site.rb +8 -0
  56. data/app/models/pageflow/sitemaps.rb +14 -0
  57. data/app/models/pageflow/used_file.rb +10 -2
  58. data/app/models/pageflow/video_file_url_templates.rb +3 -1
  59. data/app/models/pageflow/widget.rb +9 -1
  60. data/app/views/admin/entries/_permalink_inputs.html.erb +1 -2
  61. data/app/views/admin/sites/_attributes_table.html.arb +3 -0
  62. data/app/views/admin/sites/_fields.html.erb +6 -0
  63. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +2 -2
  64. data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
  65. data/app/views/components/pageflow/admin/sites_tab.rb +3 -0
  66. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +2 -0
  67. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
  68. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
  69. data/app/views/pageflow/feeds/index.atom.builder +20 -0
  70. data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
  71. data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
  72. data/app/views/pageflow/sitemaps/index.xml.builder +9 -0
  73. data/config/initializers/features.rb +3 -0
  74. data/config/initializers/paperclip.rb +8 -0
  75. data/config/locales/de.yml +77 -6
  76. data/config/locales/en.yml +79 -4
  77. data/config/routes.rb +3 -0
  78. data/config/spring.rb +1 -1
  79. data/db/migrate/20230120092923_create_other_files.rb +23 -0
  80. data/db/migrate/20230323115745_add_feeds_enabled_to_sites.rb +5 -0
  81. data/db/migrate/20230323154323_add_sitemap_enabled_to_sites.rb +5 -0
  82. data/db/migrate/20230331103823_add_title_to_sites.rb +5 -0
  83. data/db/migrate/20230405103612_add_custom_feed_url_to_sites.rb +5 -0
  84. data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
  85. data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
  86. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +710 -259
  87. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +34 -5
  88. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
  89. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
  90. data/entry_types/paged/app/controllers/pageflow_paged/editor/entries_controller.rb +0 -2
  91. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +2 -1
  92. data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
  93. data/entry_types/paged/config/initializers/features.rb +0 -1
  94. data/entry_types/paged/lib/pageflow_paged/engine.rb +13 -1
  95. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +2 -2
  96. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +3 -4
  97. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +13 -6
  98. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +11 -3
  99. data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +11 -0
  100. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +42 -0
  101. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +8 -5
  102. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +17 -12
  103. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +9 -1
  104. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -1
  105. data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +23 -0
  106. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -1
  107. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder +1 -5
  108. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +10 -0
  109. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +44 -41
  110. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_consent_vendors.json.jbuilder +16 -0
  111. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +7 -0
  112. data/entry_types/scrolled/config/initializers/features.rb +5 -0
  113. data/entry_types/scrolled/config/locales/consent_widget.de.yml +4 -0
  114. data/entry_types/scrolled/config/locales/consent_widget.en.yml +4 -0
  115. data/entry_types/scrolled/config/locales/de.yml +225 -8
  116. data/entry_types/scrolled/config/locales/en.yml +239 -2
  117. data/entry_types/scrolled/config/routes.rb +4 -0
  118. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +69 -44
  119. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
  120. data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +1 -1
  121. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +96 -0
  122. data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +38 -0
  123. data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +13 -1
  124. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +30 -0
  125. data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +6 -1
  126. data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
  127. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
  128. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +1 -2
  129. data/entry_types/scrolled/package/config/webpack.js +26 -0
  130. data/entry_types/scrolled/package/contentElements-editor.js +330 -32
  131. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  132. data/entry_types/scrolled/package/contentElements-frontend.js +920 -145
  133. data/entry_types/scrolled/package/editor.js +819 -239
  134. data/entry_types/scrolled/package/frontend/{EditableInlineText.module-14c7b097.js → EditableInlineText.module-6ee0e024.js} +1975 -1792
  135. data/entry_types/scrolled/package/frontend/PhonePlatformContext-b28d991a.js +32 -0
  136. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-8242f213.js +107 -0
  137. data/entry_types/scrolled/package/frontend/Viewer-32cd1ac1.js +154 -0
  138. data/entry_types/scrolled/package/frontend/{Viewer-b6becc57.js → Viewer-6e4d14ed.js} +32 -161
  139. data/entry_types/scrolled/package/frontend/arrowRight-e42e6011.js +77 -0
  140. data/entry_types/scrolled/package/frontend/{components-b3160dd7.js → components-24363f97.js} +188 -47
  141. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-f6093cc6.js → i18n-71c39823.js} +191 -111
  142. data/entry_types/scrolled/package/frontend/index-fc4b13e6.js +118 -0
  143. data/entry_types/scrolled/package/frontend/index.css +1 -1
  144. data/entry_types/scrolled/package/frontend/index.js +252 -76
  145. data/entry_types/scrolled/package/frontend/useContentElementEditorState-245f1986.js +52 -0
  146. data/entry_types/scrolled/package/package.json +6 -4
  147. data/entry_types/scrolled/package/testHelpers.js +11 -2
  148. data/entry_types/scrolled/package/values/colors.module.css +15 -0
  149. data/entry_types/scrolled/package/widgets/consentBar.css +1 -0
  150. data/entry_types/scrolled/package/widgets/consentBar.js +426 -0
  151. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  152. data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
  153. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
  154. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
  155. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
  156. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
  157. data/lib/generators/pageflow/resque/resque_generator.rb +1 -1
  158. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  159. data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
  160. data/lib/generators/pageflow/routes/routes_generator.rb +1 -1
  161. data/lib/pageflow/ability_mixin.rb +5 -5
  162. data/lib/pageflow/active_admin_can_can_fix.rb +2 -2
  163. data/lib/pageflow/built_in_file_type.rb +7 -0
  164. data/lib/pageflow/configuration.rb +29 -1
  165. data/lib/pageflow/engine.rb +18 -40
  166. data/lib/pageflow/entry_export_import/revision_serialization.rb +1 -1
  167. data/lib/pageflow/file_type.rb +2 -2
  168. data/lib/pageflow/global_config_api.rb +2 -2
  169. data/lib/pageflow/nested_revision_component.rb +23 -5
  170. data/lib/pageflow/page_type.rb +1 -1
  171. data/lib/pageflow/paperclip_processors/webp.rb +63 -0
  172. data/lib/pageflow/rails_version.rb +19 -0
  173. data/lib/pageflow/seeds.rb +10 -7
  174. data/lib/pageflow/user_mixin.rb +1 -1
  175. data/lib/pageflow/version.rb +1 -1
  176. data/lib/pageflow/widget_types.rb +4 -0
  177. data/package/config/jest/index.js +3 -1
  178. data/package/config/webpack5.js +14 -0
  179. data/package/editor.js +410 -181
  180. data/package/frontend.js +34 -4
  181. data/package/testHelpers.js +1 -1
  182. data/package/ui.js +297 -71
  183. data/spec/factories/entries.rb +34 -3
  184. data/spec/factories/sites.rb +3 -0
  185. data/vendor/assets/javascripts/iscroll.js +4 -7
  186. metadata +118 -80
  187. data/app/helpers/pageflow/admin/permalinks_helper.rb +0 -15
  188. data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +0 -42
@@ -1,6 +1,6 @@
1
1
  import 'regenerator-runtime';
2
- import { E as EventContextDataProvider, C as ConnectedSection, u as usePrevious, g as getEventObject, w as withInlineEditingDecorator, a as useCurrentSectionIndexState, b as usePostMessageListener, c as contentStyles, A as AtmoProvider, S as ScrollToSectionContext, d as api, B as Bar, _ as _asyncToGenerator, e as _regeneratorRuntime, f as useDarkBackground, T as Text, h as useTextTracks, i as useMediaMuted, j as useFocusOutlineVisible, k as useVideoQualitySetting, l as useIsomorphicLayoutEffect, m as withInlineEditingAlternative, n as frontendStyles, o as useFullscreenDimensions, p as information, q as camelize, s as styles$a, R as RootProviders, r as registerVendors, t as loadInlineEditingComponents } from './EditableInlineText.module-14c7b097.js';
3
- export { a0 as Atmo, a1 as AtmoContext, A as AtmoProvider, Z as AudioPlayer, J as EditableText, Q as Image, U as MediaPlayer, K as PhonePlatformProvider, P as PlayerEventContextDataProvider, R as RootProviders, a5 as SectionThumbnail, a4 as StandaloneSectionThumbnail, T as Text, O as ThirdPartyOptIn, L as ThirdPartyOptOutInfo, Y as VideoPlayer, d as frontend, N as getAvailableTransitionNames, V as getInitialPlayerState, M as getTransitionNames, W as playerStateReducer, $ as processSources, r as registerConsentVendors, a2 as useAtmo, v as useAudioFocus, x as useContentElementConfigurationUpdate, y as useContentElementEditorCommandSubscription, z as useContentElementEditorState, D as useContentElementLifecycle, F as useCurrentChapter, f as useDarkBackground, G as useIsStaticPreview, i as useMediaMuted, a3 as useOnScreen, H as useOnUnmuteMedia, X as usePlayerState, I as usePortraitOrientation } from './EditableInlineText.module-14c7b097.js';
2
+ import { E as EventContextDataProvider, C as ConnectedSection, u as usePrevious, g as getEventObject, w as withInlineEditingDecorator, a as useCurrentSectionIndexState, b as usePostMessageListener, c as contentStyles, A as AtmoProvider, S as ScrollToSectionContext, W as Widget, _ as _asyncToGenerator, d as _regeneratorRuntime, e as withInlineEditingAlternative, f as useDarkBackground, i as isBlankEditableTextValue, h as EditableText, j as useContentElementConfigurationUpdate, k as useContentElementAttributes, l as widths, I as InlineFileRights, m as useTextTracks, n as useMediaMuted, o as useFocusOutlineVisible, p as useVideoQualitySetting, q as useIsomorphicLayoutEffect, r as frontendStyles, s as useFullscreenDimensions, t as information, v as camelize, x as isBlank, y as presence, z as styles$a, R as RootProviders, B as registerVendors, D as api, F as loadInlineEditingComponents } from './EditableInlineText.module-6ee0e024.js';
3
+ export { a8 as Atmo, a9 as AtmoContext, A as AtmoProvider, a6 as AudioPlayer, h as EditableText, $ as Image, I as InlineFileRights, a1 as MediaPlayer, O as PhonePlatformProvider, P as PlayerEventContextDataProvider, R as RootProviders, ad as SectionThumbnail, ac as StandaloneSectionThumbnail, a0 as Text, Q as ThirdPartyOptIn, T as ThirdPartyOptOutInfo, a5 as VideoPlayer, W as Widget, Z as contentElementWidthName, l as contentElementWidths, D as frontend, X as getAvailableTransitionNames, a2 as getInitialPlayerState, V as getTransitionNames, Y as paletteColor, a3 as playerStateReducer, a7 as processSources, B as registerConsentVendors, aa as useAtmo, G as useAudioFocus, U as useConsentRequested, j as useContentElementConfigurationUpdate, H as useContentElementEditorCommandSubscription, J as useContentElementLifecycle, K as useCurrentChapter, f as useDarkBackground, L as useIsStaticPreview, n as useMediaMuted, ab as useOnScreen, M as useOnUnmuteMedia, a4 as usePlayerState, N as usePortraitOrientation } from './EditableInlineText.module-6ee0e024.js';
4
4
  import 'core-js/modules/es.symbol';
5
5
  import 'core-js/modules/es.symbol.description';
6
6
  import 'core-js/modules/es.symbol.async-iterator';
@@ -74,23 +74,28 @@ import 'core-js/modules/esnext.symbol.pattern-match';
74
74
  import 'core-js/modules/web.dom-collections.iterator';
75
75
  import 'regenerator-runtime/runtime.js';
76
76
  import { browser, events, consent, features } from 'pageflow/frontend';
77
- import React, { useRef, useState, useEffect, useCallback, Suspense, useContext } from 'react';
77
+ import React, { useRef, useState, useEffect, useCallback, useMemo, Suspense, useContext } from 'react';
78
78
  import ReactDOM from 'react-dom';
79
- import { c as _slicedToArray, m as useSectionsWithChapter, r as useEntryStructure, s as useWidget, t as getFileUrlTemplateHost, b as _defineProperty, a as _objectSpread2, _ as _objectWithoutProperties, u as useI18n, f as useTheme, j as _toConsumableArray, v as useAvailableQualities, w as setupI18n } from './PhonePlatformContext-f6093cc6.js';
80
- export { L as LocaleProvider, w as setupI18n, l as useAdditionalSeedData, x as useChapters, y as useCredits, o as useEntryStateDispatch, i as useFile, z as useFileRights, u as useI18n, e as useLegalInfo, d as useLocale, A as useShareProviders, C as useShareUrl, f as useTheme } from './PhonePlatformContext-f6093cc6.js';
81
- import 'i18n-js';
82
- import 'use-context-selector';
83
- import 'reselect';
84
- import 'slugify';
79
+ import { _ as _slicedToArray, l as useSectionsWithChapter, r as useEntryStructure, s as getFileUrlTemplateHost, u as useI18n, b as _defineProperty, a as _objectSpread2, e as _objectWithoutProperties, g as useTheme, n as _toConsumableArray, t as useAvailableQualities, v as setupI18n } from './i18n-71c39823.js';
80
+ export { L as LocaleProvider, v as setupI18n, k as useAdditionalSeedData, w as useChapters, x as useCredits, p as useEntryStateDispatch, i as useFile, y as useFileRights, h as useFileWithInlineRights, u as useI18n, z as useLegalInfo, C as useLocale, A as useShareProviders, B as useShareUrl, g as useTheme } from './i18n-71c39823.js';
85
81
  import classNames from 'classnames';
82
+ import { a as useContentElementEditorState } from './useContentElementEditorState-245f1986.js';
83
+ export { a as useContentElementEditorState } from './useContentElementEditorState-245f1986.js';
86
84
  import './createSuper-d0f30da3.js';
87
85
  import 'backbone-events-standalone';
86
+ import 'use-context-selector';
87
+ import 'reselect';
88
+ import 'slugify';
89
+ import 'i18n-js';
90
+ import 'striptags';
88
91
  import Measure from 'react-measure';
92
+ import './PhonePlatformContext-b28d991a.js';
89
93
  import { DraggableCore } from 'react-draggable';
90
- import { A as ArrowRightIcon } from './arrowRight-78a7cee4.js';
91
- export { u as usePhonePlatform } from './arrowRight-78a7cee4.js';
94
+ export { T as ToggleFullscreenCornerButton } from './ToggleFullscreenCornerButton-8242f213.js';
95
+ export { F as FullscreenViewer } from './index-fc4b13e6.js';
96
+ import { A as ArrowRightIcon, a as ArrowLeftIcon } from './arrowRight-e42e6011.js';
97
+ export { u as usePhonePlatform } from './arrowRight-e42e6011.js';
92
98
  import invert from 'invert-color';
93
- import stripTags from 'striptags';
94
99
 
95
100
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
96
101
 
@@ -114,6 +119,8 @@ require('intersection-observer'); // Make sure we're in a Browser-like environme
114
119
 
115
120
  if (typeof window !== 'undefined') {
116
121
  require('whatwg-fetch');
122
+
123
+ require('scroll-timeline');
117
124
  }
118
125
 
119
126
  function Chapter(props) {
@@ -308,25 +315,10 @@ function renderChapters(entryStructure, currentSectionIndex, setCurrentSection,
308
315
  });
309
316
  }
310
317
 
311
- function Widget(_ref) {
312
- var role = _ref.role,
313
- props = _ref.props;
314
- var widget = useWidget({
315
- role: role
316
- });
317
-
318
- if (!widget) {
319
- return null;
320
- }
321
-
322
- var Component = api.widgetTypes.getComponent(widget.typeName);
323
- return /*#__PURE__*/React.createElement(Component, Object.assign({
324
- configuration: widget.configuration
325
- }, props));
326
- }
327
-
328
318
  function Entry() {
329
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Bar, null), /*#__PURE__*/React.createElement(Widget, {
319
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Widget, {
320
+ role: "consent"
321
+ }), /*#__PURE__*/React.createElement(Widget, {
330
322
  role: "header"
331
323
  }), /*#__PURE__*/React.createElement(Content, null), /*#__PURE__*/React.createElement(Widget, {
332
324
  role: "footer"
@@ -374,27 +366,80 @@ function hlsHostSupportedByAndroid(seed) {
374
366
  return getFileUrlTemplateHost(seed, 'videoFiles', 'hls-playlist').indexOf('_') < 0;
375
367
  }
376
368
 
377
- var styles = {"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)","root":"Figure-module_root__3FC-x","invert":"Figure-module_invert___0BJP"};
369
+ var ActionButton = withInlineEditingAlternative('ActionButton', function ActionButton() {
370
+ return null;
371
+ });
372
+
373
+ var styles = {"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)","contentColorScope":"colors-module_contentColorScope__2Zizr","contentLinkColor":"var(--content-link-color)","root":"Figure-module_root__3FC-x colors-module_contentColorScope__2Zizr","invert":"Figure-module_invert___0BJP"};
378
374
 
379
375
  /**
380
376
  * Render a figure with a caption text attached.
381
377
  *
382
378
  * @param {Object} props
383
379
  * @param {string} props.children - Content of figure.
384
- * @param {string} props.text - The text to be displayed.
380
+ * @param {Object[]|string} props.caption - Formatted text data as provided by onCaptionChange.
381
+ * @param {Function} props.onCaptionChange - Receives updated value when it changes.
382
+ * @param {boolean} [props.addCaptionButtonVisible=true] - Control visiblility of action button.
383
+ * @param {string} [props.captionButtonPosition='outside'] - Position of action button.
385
384
  */
386
385
 
387
386
  function Figure(_ref) {
388
387
  var children = _ref.children,
389
- caption = _ref.caption;
388
+ caption = _ref.caption,
389
+ onCaptionChange = _ref.onCaptionChange,
390
+ _ref$addCaptionButton = _ref.addCaptionButtonVisible,
391
+ addCaptionButtonVisible = _ref$addCaptionButton === void 0 ? true : _ref$addCaptionButton,
392
+ _ref$addCaptionButton2 = _ref.addCaptionButtonPosition,
393
+ addCaptionButtonPosition = _ref$addCaptionButton2 === void 0 ? 'outside' : _ref$addCaptionButton2;
390
394
  var darkBackground = useDarkBackground();
391
395
 
392
- if (caption) {
396
+ var _useContentElementEdi = useContentElementEditorState(),
397
+ isSelected = _useContentElementEdi.isSelected,
398
+ isEditable = _useContentElementEdi.isEditable;
399
+
400
+ var _useState = useState(false),
401
+ _useState2 = _slicedToArray(_useState, 2),
402
+ isEditingCaption = _useState2[0],
403
+ setIsEditingCaption = _useState2[1];
404
+
405
+ var _useI18n = useI18n({
406
+ locale: 'ui'
407
+ }),
408
+ t = _useI18n.t;
409
+
410
+ caption = useMemo(function () {
411
+ return typeof caption === 'string' ? [{
412
+ type: 'paragraph',
413
+ children: [{
414
+ text: caption
415
+ }]
416
+ }] : caption;
417
+ }, [caption]);
418
+
419
+ if (!isBlankEditableTextValue(caption) || isEditable) {
393
420
  return /*#__PURE__*/React.createElement("figure", {
394
421
  className: classNames(styles.root, _defineProperty({}, styles.invert, !darkBackground))
395
- }, children, /*#__PURE__*/React.createElement("figcaption", null, /*#__PURE__*/React.createElement(Text, {
396
- scaleCategory: "caption"
397
- }, caption)));
422
+ }, children, isBlankEditableTextValue(caption) && isSelected && !isEditingCaption && addCaptionButtonVisible && /*#__PURE__*/React.createElement(ActionButton, {
423
+ position: addCaptionButtonPosition,
424
+ icon: "pencil",
425
+ text: t('pageflow_scrolled.inline_editing.add_caption'),
426
+ onClick: function onClick() {
427
+ return setIsEditingCaption(true);
428
+ }
429
+ }), (!isBlankEditableTextValue(caption) || isEditingCaption) && /*#__PURE__*/React.createElement("figcaption", {
430
+ onBlur: function onBlur() {
431
+ return setIsEditingCaption(false);
432
+ }
433
+ }, /*#__PURE__*/React.createElement(EditableText, {
434
+ autoFocus: isEditingCaption,
435
+ value: caption,
436
+ scaleCategory: "caption",
437
+ onChange: onCaptionChange,
438
+ onlyParagraphs: true,
439
+ hyphens: "none",
440
+ floatingControlsPosition: "above",
441
+ placeholder: t('pageflow_scrolled.inline_editing.type_text')
442
+ })));
398
443
  } else {
399
444
  return children;
400
445
  }
@@ -417,6 +462,31 @@ function ContentElementBox(_ref) {
417
462
  }, children);
418
463
  }
419
464
 
465
+ /**
466
+ * @param {Object} props
467
+ * @param {Object} props.configuration - Configuration of the content element.
468
+ * @param {string} props.children - Content of box.
469
+ */
470
+
471
+ function ContentElementFigure(_ref) {
472
+ var configuration = _ref.configuration,
473
+ children = _ref.children;
474
+ var updateConfiguration = useContentElementConfigurationUpdate();
475
+
476
+ var _useContentElementAtt = useContentElementAttributes(),
477
+ width = _useContentElementAtt.width;
478
+
479
+ return /*#__PURE__*/React.createElement(Figure, {
480
+ caption: configuration.caption,
481
+ onCaptionChange: function onCaptionChange(caption) {
482
+ return updateConfiguration({
483
+ caption: caption
484
+ });
485
+ },
486
+ addCaptionButtonPosition: width === widths.full ? 'outsideIndented' : 'outside'
487
+ }, children);
488
+ }
489
+
420
490
  function MediaInteractionTracking(_ref) {
421
491
  var playerState = _ref.playerState,
422
492
  playerActions = _ref.playerActions,
@@ -489,7 +559,7 @@ function RemotePeakData(_ref) {
489
559
  }
490
560
  }
491
561
 
492
- var styles$2 = {"container":"Waveform-module_container__1Dxdv","clickMask":"Waveform-module_clickMask__3LYAT","menuBar":"Waveform-module_menuBar__342n-","timeDisplay":"Waveform-module_timeDisplay__1v4Tl","playControl":"Waveform-module_playControl__QWTsJ","waveWrapper":"Waveform-module_waveWrapper__3gamc"};
562
+ var styles$2 = {"container":"Waveform-module_container__1Dxdv","clickMask":"Waveform-module_clickMask__3LYAT","menuBar":"Waveform-module_menuBar__342n-","menuBarInner":"Waveform-module_menuBarInner__3wjQs","timeDisplay":"Waveform-module_timeDisplay__1v4Tl","playControl":"Waveform-module_playControl__QWTsJ","waveWrapper":"Waveform-module_waveWrapper__3gamc"};
493
563
 
494
564
  var waveColor = '#828282ed';
495
565
  var waveColorInverted = 'rgba(0, 0, 0, 0.5)';
@@ -586,7 +656,7 @@ function TimeDisplay(props) {
586
656
  }, formatTime(props.duration)));
587
657
  }
588
658
 
589
- var styles$4 = {"button":"MenuBarButton-module_button__2sY0F ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne","icon":"MenuBarButton-module_icon__2h8__","subMenuItemAnnotation":"MenuBarButton-module_subMenuItemAnnotation__32Quc","subMenu":"MenuBarButton-module_subMenu__f-E-X","subMenuExpanded":"MenuBarButton-module_subMenuExpanded__2UvkJ","subMenuItem":"MenuBarButton-module_subMenuItem__1pyn_","subMenuItemIcon":"MenuBarButton-module_subMenuItemIcon__3iaB-","subMenuItemButton":"MenuBarButton-module_subMenuItemButton__2QnUz utils-module_unstyledButton__3rgne"};
659
+ var styles$4 = {"wrapper":"MenuBarButton-module_wrapper__2lFoI","button":"MenuBarButton-module_button__2sY0F ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne","icon":"MenuBarButton-module_icon__2h8__","subMenuItemAnnotation":"MenuBarButton-module_subMenuItemAnnotation__32Quc","subMenu":"MenuBarButton-module_subMenu__f-E-X","subMenuExpanded":"MenuBarButton-module_subMenuExpanded__2UvkJ","subMenuItem":"MenuBarButton-module_subMenuItem__1pyn_","subMenuItemIcon":"MenuBarButton-module_subMenuItemIcon__3iaB-","subMenuItemButton":"MenuBarButton-module_subMenuItemButton__2QnUz utils-module_unstyledButton__3rgne"};
590
660
 
591
661
  function _extends() {
592
662
  _extends = Object.assign || function (target) {
@@ -775,7 +845,7 @@ TextTracksMenu.defaultProps = {
775
845
  items: []
776
846
  };
777
847
 
778
- var styles$5 = {"container":"ControlBar-module_container__1GH64","transparent":"ControlBar-module_transparent__eS4af","lightBackground":"ControlBar-module_lightBackground__3-tGf","darkBackground":"ControlBar-module_darkBackground__31Wv7","controlBarContainer":"ControlBar-module_controlBarContainer__1cxRO","inset":"ControlBar-module_inset__JvBh9","button":"ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne","playControl":"ControlBar-module_playControl__Vg5et ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne"};
848
+ var styles$5 = {"container":"ControlBar-module_container__1GH64","lightBackground":"ControlBar-module_lightBackground__3-tGf","darkBackground":"ControlBar-module_darkBackground__31Wv7","controlBarContainer":"ControlBar-module_controlBarContainer__1cxRO","inset":"ControlBar-module_inset__JvBh9","controlBarInner":"ControlBar-module_controlBarInner__39fE9","transparent":"ControlBar-module_transparent__eS4af","button":"ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne","playControl":"ControlBar-module_playControl__Vg5et ControlBar-module_button___4aXE utils-module_unstyledButton__3rgne"};
779
849
 
780
850
  function _extends$2() {
781
851
  _extends$2 = Object.assign || function (target) {
@@ -897,12 +967,19 @@ function WaveformPlayerControls(props) {
897
967
  pause: props.pause
898
968
  })), /*#__PURE__*/React.createElement("div", {
899
969
  className: classNames(styles$2.menuBar, darkBackground ? styles$5.darkBackground : styles$5.lightBackground, _defineProperty({}, styles$5.inset, !props.standAlone))
970
+ }, /*#__PURE__*/React.createElement("div", {
971
+ className: styles$2.menuBarInner
900
972
  }, /*#__PURE__*/React.createElement(TimeDisplay, {
901
973
  currentTime: props.currentTime,
902
974
  duration: props.duration
903
975
  }), /*#__PURE__*/React.createElement(TextTracksMenu, {
904
976
  items: props.textTracksMenuItems,
905
977
  onItemClick: props.onTextTracksMenuItemClick
978
+ })), /*#__PURE__*/React.createElement(InlineFileRights, {
979
+ items: props.inlineFileRightsItems,
980
+ context: "playerControls",
981
+ playerControlsTransparent: false,
982
+ playerControlsStandAlone: props.standAlone
906
983
  })));
907
984
  }
908
985
 
@@ -1104,6 +1181,8 @@ function renderControlBar(props, darkBackground, transparent) {
1104
1181
  onMouseEnter: props.onMouseEnter,
1105
1182
  onMouseLeave: props.onMouseLeave,
1106
1183
  className: classNames(styles$5.controlBarContainer, darkBackground ? styles$5.darkBackground : styles$5.lightBackground, (_classNames = {}, _defineProperty(_classNames, styles$5.inset, !props.standAlone), _defineProperty(_classNames, styles$5.transparent, transparent), _classNames))
1184
+ }, /*#__PURE__*/React.createElement("div", {
1185
+ className: styles$5.controlBarInner
1107
1186
  }, /*#__PURE__*/React.createElement(PlayPauseButton, {
1108
1187
  isPlaying: props.isPlaying,
1109
1188
  play: props.play,
@@ -1124,6 +1203,11 @@ function renderControlBar(props, darkBackground, transparent) {
1124
1203
  items: props.qualityMenuItems,
1125
1204
  onItemClick: props.onQualityMenuItemClick,
1126
1205
  subMenuExpanded: props.qualityMenuExpanded
1206
+ })), /*#__PURE__*/React.createElement(InlineFileRights, {
1207
+ items: props.inlineFileRightsItems,
1208
+ context: "playerControls",
1209
+ playerControlsTransparent: transparent,
1210
+ playerControlsStandAlone: props.standAlone
1127
1211
  }));
1128
1212
  }
1129
1213
 
@@ -1185,8 +1269,7 @@ function MediaPlayerControls(props) {
1185
1269
  }, props));
1186
1270
  }
1187
1271
  MediaPlayerControls.defaultProps = {
1188
- configuration: {},
1189
- sectionProps: {}
1272
+ configuration: {}
1190
1273
  };
1191
1274
 
1192
1275
  function getTextTracksMenuItems(textTracks, t) {
@@ -1256,7 +1339,7 @@ function AudioPlayerControls(_ref) {
1256
1339
  }
1257
1340
 
1258
1341
  var Viewer = React.lazy(function () {
1259
- return import('./Viewer-b6becc57.js');
1342
+ return import('./Viewer-6e4d14ed.js');
1260
1343
  });
1261
1344
  function Panorama(props) {
1262
1345
  return /*#__PURE__*/React.createElement(Suspense, {
@@ -1264,6 +1347,22 @@ function Panorama(props) {
1264
1347
  }, /*#__PURE__*/React.createElement(Viewer, props));
1265
1348
  }
1266
1349
 
1350
+ var Viewer$1 = React.lazy(function () {
1351
+ return import('./Viewer-32cd1ac1.js');
1352
+ });
1353
+ function ExpandableImage(_ref) {
1354
+ var enabled = _ref.enabled,
1355
+ props = _objectWithoutProperties(_ref, ["enabled"]);
1356
+
1357
+ if (!enabled) {
1358
+ return props.children;
1359
+ }
1360
+
1361
+ return /*#__PURE__*/React.createElement(Suspense, {
1362
+ fallback: /*#__PURE__*/React.createElement("div", null)
1363
+ }, /*#__PURE__*/React.createElement(Viewer$1, props));
1364
+ }
1365
+
1267
1366
  // from https://github.com/n8tb1t/use-scroll-position
1268
1367
  var isBrowser = typeof window !== "undefined";
1269
1368
 
@@ -1370,6 +1469,7 @@ var AspectRatioContext = React.createContext();
1370
1469
  * @param {Object} props
1371
1470
  * @param {number} [props.aspectRatio] - Aspect ratio of div.
1372
1471
  * @param {Object} [props.file] - Use width/height of file to calculate aspect ratio.
1472
+ * @param {number} [props.scale] - Only take up fraction of the viewport height supplied as value between 0 and 1.
1373
1473
  * @param {Object} [props.opaque] - Render black background behind content.
1374
1474
  */
1375
1475
 
@@ -1377,7 +1477,9 @@ function FitViewport(_ref) {
1377
1477
  var file = _ref.file,
1378
1478
  aspectRatio = _ref.aspectRatio,
1379
1479
  opaque = _ref.opaque,
1380
- children = _ref.children;
1480
+ children = _ref.children,
1481
+ _ref$scale = _ref.scale,
1482
+ scale = _ref$scale === void 0 ? 1 : _ref$scale;
1381
1483
 
1382
1484
  var _useFullscreenDimensi = useFullscreenDimensions(),
1383
1485
  height = _useFullscreenDimensi.height;
@@ -1388,10 +1490,10 @@ function FitViewport(_ref) {
1388
1490
 
1389
1491
  if (height) {
1390
1492
  // thumbnail view/fixed size: calculate absolute width in px
1391
- maxWidthCSS = height / aspectRatio + 'px';
1493
+ maxWidthCSS = height / aspectRatio * scale + 'px';
1392
1494
  } else {
1393
1495
  // published view: set max width to specific aspect ratio depending on viewport height
1394
- maxWidthCSS = 100 / aspectRatio + 'vh';
1496
+ maxWidthCSS = 100 / aspectRatio * scale + 'vh';
1395
1497
  }
1396
1498
 
1397
1499
  return /*#__PURE__*/React.createElement("div", {
@@ -1615,15 +1717,15 @@ function _extends$8() {
1615
1717
 
1616
1718
  return _extends$8.apply(this, arguments);
1617
1719
  }
1618
- var email = (function (_ref) {
1720
+ var gear = (function (_ref) {
1619
1721
  var _ref$styles = _ref.styles,
1620
1722
  props = _objectWithoutProperties(_ref, ["styles"]);
1621
1723
 
1622
1724
  return /*#__PURE__*/React.createElement("svg", _extends$8({
1623
1725
  xmlns: "http://www.w3.org/2000/svg",
1624
- viewBox: "0 0 612 612"
1726
+ viewBox: "-3 -3 30 30"
1625
1727
  }, props), /*#__PURE__*/React.createElement("path", {
1626
- d: "M573.75 57.375H38.25C17.136 57.375 0 74.511 0 95.625v420.75c0 21.133 17.136 38.25 38.25 38.25h535.5c21.133 0 38.25-17.117 38.25-38.25V95.625c0-21.114-17.117-38.25-38.25-38.25zM554.625 497.25H57.375V204.657l224.03 187.999c7.134 5.967 15.874 8.97 24.595 8.97 8.74 0 17.461-3.003 24.595-8.97l224.03-187.999V497.25zm0-367.487L306 338.379 57.375 129.763V114.75h497.25v15.013z"
1728
+ d: "M19.43 12.98c.04-.32.07-.64.07-.98s-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65A.488.488 0 0014 2h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"
1627
1729
  }));
1628
1730
  });
1629
1731
 
@@ -1644,15 +1746,22 @@ function _extends$9() {
1644
1746
 
1645
1747
  return _extends$9.apply(this, arguments);
1646
1748
  }
1647
- var facebook = (function (_ref) {
1749
+ var copyright = (function (_ref) {
1648
1750
  var _ref$styles = _ref.styles,
1649
1751
  props = _objectWithoutProperties(_ref, ["styles"]);
1650
1752
 
1651
1753
  return /*#__PURE__*/React.createElement("svg", _extends$9({
1652
1754
  xmlns: "http://www.w3.org/2000/svg",
1653
- viewBox: "0 0 430.113 430.114"
1755
+ width: "800",
1756
+ height: "800",
1757
+ viewBox: "0 0 24 24",
1758
+ fill: "none"
1654
1759
  }, props), /*#__PURE__*/React.createElement("path", {
1655
- d: "M158.081 83.3v59.218h-43.385v72.412h43.385v215.183h89.122V214.936h59.805s5.601-34.721 8.316-72.685H247.54V92.74c0-7.4 9.717-17.354 19.321-17.354h48.557V.001h-66.021C155.878-.004 158.081 72.48 158.081 83.3z"
1760
+ d: "M14 9c-.48-.6-1.07-1-2-1-1.923 0-3 1.143-3 4s1.077 4 3 4c.93 0 1.52-.4 2-1m-2 6a9 9 0 100-18 9 9 0 000 18z",
1761
+ stroke: "currentColor",
1762
+ strokeWidth: "2",
1763
+ strokeLinecap: "round",
1764
+ strokeLinejoin: "round"
1656
1765
  }));
1657
1766
  });
1658
1767
 
@@ -1673,15 +1782,15 @@ function _extends$a() {
1673
1782
 
1674
1783
  return _extends$a.apply(this, arguments);
1675
1784
  }
1676
- var linkedIn = (function (_ref) {
1785
+ var email = (function (_ref) {
1677
1786
  var _ref$styles = _ref.styles,
1678
1787
  props = _objectWithoutProperties(_ref, ["styles"]);
1679
1788
 
1680
1789
  return /*#__PURE__*/React.createElement("svg", _extends$a({
1681
1790
  xmlns: "http://www.w3.org/2000/svg",
1682
- viewBox: "0 0 430.117 430.117"
1791
+ viewBox: "0 0 612 612"
1683
1792
  }, props), /*#__PURE__*/React.createElement("path", {
1684
- d: "M430.117 261.543V420.56h-92.188V272.193c0-37.271-13.334-62.707-46.703-62.707-25.473 0-40.632 17.142-47.301 33.724-2.432 5.928-3.058 14.179-3.058 22.477V420.56h-92.219s1.242-251.285 0-277.32h92.21v39.309c-.187.294-.43.611-.606.896h.606v-.896c12.251-18.869 34.13-45.824 83.102-45.824 60.673-.001 106.157 39.636 106.157 124.818zM52.183 9.558C20.635 9.558 0 30.251 0 57.463c0 26.619 20.038 47.94 50.959 47.94h.616c32.159 0 52.159-21.317 52.159-47.94-.606-27.212-20-47.905-51.551-47.905zM5.477 420.56h92.184V143.24H5.477v277.32z"
1793
+ d: "M573.75 57.375H38.25C17.136 57.375 0 74.511 0 95.625v420.75c0 21.133 17.136 38.25 38.25 38.25h535.5c21.133 0 38.25-17.117 38.25-38.25V95.625c0-21.114-17.117-38.25-38.25-38.25zM554.625 497.25H57.375V204.657l224.03 187.999c7.134 5.967 15.874 8.97 24.595 8.97 8.74 0 17.461-3.003 24.595-8.97l224.03-187.999V497.25zm0-367.487L306 338.379 57.375 129.763V114.75h497.25v15.013z"
1685
1794
  }));
1686
1795
  });
1687
1796
 
@@ -1702,15 +1811,15 @@ function _extends$b() {
1702
1811
 
1703
1812
  return _extends$b.apply(this, arguments);
1704
1813
  }
1705
- var telegram = (function (_ref) {
1814
+ var facebook = (function (_ref) {
1706
1815
  var _ref$styles = _ref.styles,
1707
1816
  props = _objectWithoutProperties(_ref, ["styles"]);
1708
1817
 
1709
1818
  return /*#__PURE__*/React.createElement("svg", _extends$b({
1710
1819
  xmlns: "http://www.w3.org/2000/svg",
1711
- viewBox: "0 0 512.004 512.004"
1820
+ viewBox: "0 0 430.113 430.114"
1712
1821
  }, props), /*#__PURE__*/React.createElement("path", {
1713
- d: "M508.194 20.517c-4.43-4.96-11.42-6.29-17.21-3.76l-482 211a15.01 15.01 0 00-8.98 13.41 15.005 15.005 0 008.38 13.79l115.09 56.6 28.68 172.06c.93 6.53 6.06 11.78 12.74 12.73 4.8.69 9.57-1 12.87-4.4l90.86-90.86 129.66 92.62a15.02 15.02 0 0014.24 1.74 15.01 15.01 0 009.19-11.01l90-451c.89-4.47-.26-9.26-3.52-12.92zm-372.84 263.45l-84.75-41.68 334.82-146.57-250.07 188.25zm46.94 44.59l-13.95 69.75-15.05-90.3 183.97-138.49-150.88 151.39c-2.12 2.12-3.53 4.88-4.09 7.65zm9.13 107.3l15.74-78.67 36.71 26.22-52.45 52.45zm205.41 19.94l-176.73-126.23 252.47-253.31-75.74 379.54z"
1822
+ d: "M158.081 83.3v59.218h-43.385v72.412h43.385v215.183h89.122V214.936h59.805s5.601-34.721 8.316-72.685H247.54V92.74c0-7.4 9.717-17.354 19.321-17.354h48.557V.001h-66.021C155.878-.004 158.081 72.48 158.081 83.3z"
1714
1823
  }));
1715
1824
  });
1716
1825
 
@@ -1731,15 +1840,15 @@ function _extends$c() {
1731
1840
 
1732
1841
  return _extends$c.apply(this, arguments);
1733
1842
  }
1734
- var twitter = (function (_ref) {
1843
+ var linkedIn = (function (_ref) {
1735
1844
  var _ref$styles = _ref.styles,
1736
1845
  props = _objectWithoutProperties(_ref, ["styles"]);
1737
1846
 
1738
1847
  return /*#__PURE__*/React.createElement("svg", _extends$c({
1739
1848
  xmlns: "http://www.w3.org/2000/svg",
1740
- viewBox: "0 0 612 612"
1849
+ viewBox: "0 0 430.117 430.117"
1741
1850
  }, props), /*#__PURE__*/React.createElement("path", {
1742
- d: "M612 116.258a250.714 250.714 0 01-72.088 19.772c25.929-15.527 45.777-40.155 55.184-69.411-24.322 14.379-51.169 24.82-79.775 30.48-22.907-24.437-55.49-39.658-91.63-39.658-69.334 0-125.551 56.217-125.551 125.513 0 9.828 1.109 19.427 3.251 28.606-104.326-5.24-196.835-55.223-258.75-131.174-10.823 18.51-16.98 40.078-16.98 63.101 0 43.559 22.181 81.993 55.835 104.479a125.556 125.556 0 01-56.867-15.756v1.568c0 60.806 43.291 111.554 100.693 123.104-10.517 2.83-21.607 4.398-33.08 4.398-8.107 0-15.947-.803-23.634-2.333 15.985 49.907 62.336 86.199 117.253 87.194-42.947 33.654-97.099 53.655-155.916 53.655-10.134 0-20.116-.612-29.944-1.721 55.567 35.681 121.536 56.485 192.438 56.485 230.948 0 357.188-191.291 357.188-357.188l-.421-16.253c24.666-17.593 46.005-39.697 62.794-64.861z"
1851
+ d: "M430.117 261.543V420.56h-92.188V272.193c0-37.271-13.334-62.707-46.703-62.707-25.473 0-40.632 17.142-47.301 33.724-2.432 5.928-3.058 14.179-3.058 22.477V420.56h-92.219s1.242-251.285 0-277.32h92.21v39.309c-.187.294-.43.611-.606.896h.606v-.896c12.251-18.869 34.13-45.824 83.102-45.824 60.673-.001 106.157 39.636 106.157 124.818zM52.183 9.558C20.635 9.558 0 30.251 0 57.463c0 26.619 20.038 47.94 50.959 47.94h.616c32.159 0 52.159-21.317 52.159-47.94-.606-27.212-20-47.905-51.551-47.905zM5.477 420.56h92.184V143.24H5.477v277.32z"
1743
1852
  }));
1744
1853
  });
1745
1854
 
@@ -1760,11 +1869,69 @@ function _extends$d() {
1760
1869
 
1761
1870
  return _extends$d.apply(this, arguments);
1762
1871
  }
1763
- var whatsApp = (function (_ref) {
1872
+ var telegram = (function (_ref) {
1764
1873
  var _ref$styles = _ref.styles,
1765
1874
  props = _objectWithoutProperties(_ref, ["styles"]);
1766
1875
 
1767
1876
  return /*#__PURE__*/React.createElement("svg", _extends$d({
1877
+ xmlns: "http://www.w3.org/2000/svg",
1878
+ viewBox: "0 0 512.004 512.004"
1879
+ }, props), /*#__PURE__*/React.createElement("path", {
1880
+ d: "M508.194 20.517c-4.43-4.96-11.42-6.29-17.21-3.76l-482 211a15.01 15.01 0 00-8.98 13.41 15.005 15.005 0 008.38 13.79l115.09 56.6 28.68 172.06c.93 6.53 6.06 11.78 12.74 12.73 4.8.69 9.57-1 12.87-4.4l90.86-90.86 129.66 92.62a15.02 15.02 0 0014.24 1.74 15.01 15.01 0 009.19-11.01l90-451c.89-4.47-.26-9.26-3.52-12.92zm-372.84 263.45l-84.75-41.68 334.82-146.57-250.07 188.25zm46.94 44.59l-13.95 69.75-15.05-90.3 183.97-138.49-150.88 151.39c-2.12 2.12-3.53 4.88-4.09 7.65zm9.13 107.3l15.74-78.67 36.71 26.22-52.45 52.45zm205.41 19.94l-176.73-126.23 252.47-253.31-75.74 379.54z"
1881
+ }));
1882
+ });
1883
+
1884
+ function _extends$e() {
1885
+ _extends$e = Object.assign || function (target) {
1886
+ for (var i = 1; i < arguments.length; i++) {
1887
+ var source = arguments[i];
1888
+
1889
+ for (var key in source) {
1890
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1891
+ target[key] = source[key];
1892
+ }
1893
+ }
1894
+ }
1895
+
1896
+ return target;
1897
+ };
1898
+
1899
+ return _extends$e.apply(this, arguments);
1900
+ }
1901
+ var twitter = (function (_ref) {
1902
+ var _ref$styles = _ref.styles,
1903
+ props = _objectWithoutProperties(_ref, ["styles"]);
1904
+
1905
+ return /*#__PURE__*/React.createElement("svg", _extends$e({
1906
+ xmlns: "http://www.w3.org/2000/svg",
1907
+ viewBox: "0 0 612 612"
1908
+ }, props), /*#__PURE__*/React.createElement("path", {
1909
+ d: "M612 116.258a250.714 250.714 0 01-72.088 19.772c25.929-15.527 45.777-40.155 55.184-69.411-24.322 14.379-51.169 24.82-79.775 30.48-22.907-24.437-55.49-39.658-91.63-39.658-69.334 0-125.551 56.217-125.551 125.513 0 9.828 1.109 19.427 3.251 28.606-104.326-5.24-196.835-55.223-258.75-131.174-10.823 18.51-16.98 40.078-16.98 63.101 0 43.559 22.181 81.993 55.835 104.479a125.556 125.556 0 01-56.867-15.756v1.568c0 60.806 43.291 111.554 100.693 123.104-10.517 2.83-21.607 4.398-33.08 4.398-8.107 0-15.947-.803-23.634-2.333 15.985 49.907 62.336 86.199 117.253 87.194-42.947 33.654-97.099 53.655-155.916 53.655-10.134 0-20.116-.612-29.944-1.721 55.567 35.681 121.536 56.485 192.438 56.485 230.948 0 357.188-191.291 357.188-357.188l-.421-16.253c24.666-17.593 46.005-39.697 62.794-64.861z"
1910
+ }));
1911
+ });
1912
+
1913
+ function _extends$f() {
1914
+ _extends$f = Object.assign || function (target) {
1915
+ for (var i = 1; i < arguments.length; i++) {
1916
+ var source = arguments[i];
1917
+
1918
+ for (var key in source) {
1919
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
1920
+ target[key] = source[key];
1921
+ }
1922
+ }
1923
+ }
1924
+
1925
+ return target;
1926
+ };
1927
+
1928
+ return _extends$f.apply(this, arguments);
1929
+ }
1930
+ var whatsApp = (function (_ref) {
1931
+ var _ref$styles = _ref.styles,
1932
+ props = _objectWithoutProperties(_ref, ["styles"]);
1933
+
1934
+ return /*#__PURE__*/React.createElement("svg", _extends$f({
1768
1935
  xmlns: "http://www.w3.org/2000/svg",
1769
1936
  viewBox: "0 0 90 90"
1770
1937
  }, props), /*#__PURE__*/React.createElement("path", {
@@ -1778,24 +1945,33 @@ var icons = {
1778
1945
  muted: muted,
1779
1946
  share: share,
1780
1947
  unmuted: unmuted,
1948
+ gear: gear,
1949
+ copyright: copyright,
1781
1950
  email: email,
1782
1951
  facebook: facebook,
1783
1952
  linkedIn: linkedIn,
1784
1953
  telegram: telegram,
1785
1954
  twitter: twitter,
1786
- whatsApp: whatsApp
1955
+ whatsApp: whatsApp,
1956
+ arrowLeft: ArrowLeftIcon,
1957
+ arrowRight: ArrowRightIcon
1787
1958
  };
1788
1959
  /**
1789
1960
  * Render an SVG icon that can be customized in themes.
1790
1961
  *
1791
1962
  * @param {Object} props
1792
1963
  * @param {string} props.name -
1793
- * Either: expand, information, muted, share, unmuted,
1794
- * email, facebook, linkedIn, telegram, twitter, whatsApp.
1964
+ * Either: copyright, expand, gear, information, muted, share, unmuted,
1965
+ * email, facebook, linkedIn, telegram, twitter, whatsApp,
1966
+ * arrowLeft, arrowRight,
1967
+ * @params {number} [props.width] - Image width.
1968
+ * @params {number} [props.height] - Image height.
1795
1969
  */
1796
1970
 
1797
1971
  function ThemeIcon(_ref) {
1798
- var name = _ref.name;
1972
+ var name = _ref.name,
1973
+ width = _ref.width,
1974
+ height = _ref.height;
1799
1975
  var theme = useTheme();
1800
1976
  var FallbackIcon = icons[name];
1801
1977
  var themeAsset = theme.assets.icons[name];
@@ -1805,11 +1981,17 @@ function ThemeIcon(_ref) {
1805
1981
  }
1806
1982
 
1807
1983
  if (themeAsset) {
1808
- return /*#__PURE__*/React.createElement("svg", null, /*#__PURE__*/React.createElement("use", {
1984
+ return /*#__PURE__*/React.createElement("svg", {
1985
+ width: width,
1986
+ height: height
1987
+ }, /*#__PURE__*/React.createElement("use", {
1809
1988
  xlinkHref: "".concat(themeAsset, "#icon")
1810
1989
  }));
1811
1990
  } else {
1812
- return /*#__PURE__*/React.createElement(FallbackIcon, null);
1991
+ return /*#__PURE__*/React.createElement(FallbackIcon, {
1992
+ width: width,
1993
+ height: height
1994
+ });
1813
1995
  }
1814
1996
  }
1815
1997
 
@@ -1822,16 +2004,10 @@ function registerTemplateWidgetType (typeName, callback) {
1822
2004
  callback(element);
1823
2005
  }
1824
2006
 
1825
- function isBlank(html) {
1826
- return !!stripTags(html).match(/^\s*$/);
1827
- }
1828
- function presence(html) {
1829
- return isBlank(html) ? null : html;
1830
- }
1831
-
1832
2007
  var utils = {
1833
2008
  camelize: camelize,
1834
2009
  isBlank: isBlank,
2010
+ isBlankEditableTextValue: isBlankEditableTextValue,
1835
2011
  presence: presence
1836
2012
  };
1837
2013
 
@@ -1922,4 +2098,4 @@ function Root(_ref2) {
1922
2098
  }, /*#__PURE__*/React.createElement(Entry, null));
1923
2099
  }
1924
2100
 
1925
- export { AudioPlayerControls, ClassicPlayerControls, ContentElementBox, EditableInlineText, Entry, Figure, FitViewport, MediaInteractionTracking, MediaPlayerControls, Panorama, PlayerControls, Root, ThemeIcon, Tooltip, VideoPlayerControls, WaveformPlayerControls, Widget, registerTemplateWidgetType, textColorForBackgroundColor, useScrollPosition, utils, withShadowClassName };
2101
+ export { AudioPlayerControls, ClassicPlayerControls, ContentElementBox, ContentElementFigure, EditableInlineText, Entry, ExpandableImage, Figure, FitViewport, MediaInteractionTracking, MediaPlayerControls, Panorama, PlayerControls, Root, ThemeIcon, Tooltip, VideoPlayerControls, WaveformPlayerControls, registerTemplateWidgetType, textColorForBackgroundColor, useScrollPosition, utils, withShadowClassName };