pageflow 17.0.5 → 17.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +362 -35
  3. data/README.md +0 -1
  4. data/admins/pageflow/accounts.rb +16 -14
  5. data/admins/pageflow/entry.rb +68 -20
  6. data/admins/pageflow/entry_templates.rb +10 -9
  7. data/admins/pageflow/folder.rb +1 -1
  8. data/admins/pageflow/membership.rb +4 -4
  9. data/admins/pageflow/revisions.rb +5 -5
  10. data/admins/pageflow/site_root_entry.rb +64 -0
  11. data/admins/pageflow/sites.rb +12 -3
  12. data/admins/pageflow/translations.rb +75 -0
  13. data/admins/pageflow/user.rb +21 -35
  14. data/app/assets/javascripts/pageflow/admin/entries.js +30 -5
  15. data/app/assets/javascripts/pageflow/dist/ui.js +2865 -257
  16. data/app/assets/stylesheets/pageflow/admin/entries/index_table.scss +2 -1
  17. data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +2 -1
  18. data/app/assets/stylesheets/pageflow/editor/background_positioning.scss +6 -0
  19. data/app/assets/stylesheets/pageflow/editor/base.scss +2 -0
  20. data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +7 -1
  21. data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +5 -1
  22. data/app/assets/stylesheets/pageflow/editor/files.scss +28 -16
  23. data/app/assets/stylesheets/pageflow/editor/filtered_files.scss +24 -0
  24. data/app/assets/stylesheets/pageflow/editor/info_box.scss +11 -3
  25. data/app/assets/stylesheets/pageflow/editor/list.scss +6 -4
  26. data/app/assets/stylesheets/pageflow/editor/list_search_field.scss +52 -0
  27. data/app/assets/stylesheets/pageflow/editor/outline.scss +0 -13
  28. data/app/assets/stylesheets/pageflow/editor/select_button.scss +1 -1
  29. data/app/assets/stylesheets/pageflow/editor/sortable.scss +12 -0
  30. data/app/assets/stylesheets/pageflow/mixins/buttons.scss +4 -4
  31. data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -0
  32. data/app/assets/stylesheets/pageflow/ui/input/color_input.scss +8 -0
  33. data/app/assets/stylesheets/pageflow/ui/input/file_name_input.scss +37 -0
  34. data/app/assets/stylesheets/pageflow/ui/properties.scss +5 -0
  35. data/app/assets/stylesheets/pageflow/ui.scss +1 -0
  36. data/app/controllers/concerns/pageflow/controller_delegation.rb +1 -1
  37. data/app/controllers/concerns/pageflow/edit_locking.rb +17 -10
  38. data/app/controllers/concerns/pageflow/entry_password_protection.rb +1 -0
  39. data/app/controllers/concerns/pageflow/public_https_mode.rb +2 -1
  40. data/app/controllers/concerns/pageflow/quota_verification.rb +5 -4
  41. data/app/controllers/pageflow/admin/initial_passwords_controller.rb +1 -0
  42. data/app/controllers/pageflow/application_controller.rb +19 -19
  43. data/app/controllers/pageflow/chapters_controller.rb +3 -2
  44. data/app/controllers/pageflow/edit_locks_controller.rb +3 -2
  45. data/app/controllers/pageflow/editor/encoding_confirmations_controller.rb +1 -0
  46. data/app/controllers/pageflow/editor/entries_controller.rb +2 -1
  47. data/app/controllers/pageflow/editor/entry_publications_controller.rb +1 -0
  48. data/app/controllers/pageflow/editor/file_import_controller.rb +3 -3
  49. data/app/controllers/pageflow/editor/files_controller.rb +7 -6
  50. data/app/controllers/pageflow/editor/widgets_controller.rb +1 -0
  51. data/app/controllers/pageflow/entries_controller.rb +77 -17
  52. data/app/controllers/pageflow/feeds_controller.rb +1 -1
  53. data/app/controllers/pageflow/files_controller.rb +1 -0
  54. data/app/controllers/pageflow/pages_controller.rb +4 -2
  55. data/app/controllers/pageflow/revisions_controller.rb +2 -1
  56. data/app/controllers/pageflow/sitemaps_controller.rb +1 -1
  57. data/app/controllers/pageflow/storylines_controller.rb +1 -0
  58. data/app/helpers/pageflow/admin/cutoff_modes_helper.rb +12 -0
  59. data/app/helpers/pageflow/admin/entries_helper.rb +1 -1
  60. data/app/helpers/pageflow/admin/entry_translations_helper.rb +18 -0
  61. data/app/helpers/pageflow/admin/features_helper.rb +1 -1
  62. data/app/helpers/pageflow/admin/form_helper.rb +3 -3
  63. data/app/helpers/pageflow/admin/locales_helper.rb +10 -2
  64. data/app/helpers/pageflow/admin/memberships_helper.rb +32 -32
  65. data/app/helpers/pageflow/admin/revisions_helper.rb +1 -1
  66. data/app/helpers/pageflow/admin/sites_helper.rb +22 -0
  67. data/app/helpers/pageflow/admin/users_helper.rb +7 -5
  68. data/app/helpers/pageflow/admin/widgets_helper.rb +3 -3
  69. data/app/helpers/pageflow/asset_urls_helper.rb +1 -1
  70. data/app/helpers/pageflow/audio_files_helper.rb +5 -2
  71. data/app/helpers/pageflow/background_image_helper.rb +7 -6
  72. data/app/helpers/pageflow/common_entry_seed_helper.rb +2 -4
  73. data/app/helpers/pageflow/editor/config_helper.rb +1 -1
  74. data/app/helpers/pageflow/editor/files_helper.rb +1 -1
  75. data/app/helpers/pageflow/embed_code_helper.rb +3 -3
  76. data/app/helpers/pageflow/entries_helper.rb +58 -34
  77. data/app/helpers/pageflow/entry_json_seed_helper.rb +3 -2
  78. data/app/helpers/pageflow/feeds_helper.rb +2 -2
  79. data/app/helpers/pageflow/file_background_images_helper.rb +2 -2
  80. data/app/helpers/pageflow/file_thumbnails_helper.rb +4 -3
  81. data/app/helpers/pageflow/files_helper.rb +5 -4
  82. data/app/helpers/pageflow/folders_helper.rb +8 -5
  83. data/app/helpers/pageflow/help_entries_helper.rb +2 -2
  84. data/app/helpers/pageflow/hreflang_links_helper.rb +37 -0
  85. data/app/helpers/pageflow/info_box_helper.rb +7 -11
  86. data/app/helpers/pageflow/media_query_helper.rb +3 -3
  87. data/app/helpers/pageflow/navigation_bar_helper.rb +1 -1
  88. data/app/helpers/pageflow/overview_helper.rb +1 -1
  89. data/app/helpers/pageflow/page_types_helper.rb +5 -5
  90. data/app/helpers/pageflow/pages_helper.rb +29 -15
  91. data/app/helpers/pageflow/public_i18n_helper.rb +1 -1
  92. data/app/helpers/pageflow/quota_helper.rb +4 -4
  93. data/app/helpers/pageflow/render_json_helper.rb +6 -3
  94. data/app/helpers/pageflow/revision_file_helper.rb +2 -1
  95. data/app/helpers/pageflow/sites_helper.rb +3 -3
  96. data/app/helpers/pageflow/social_share_helper.rb +24 -10
  97. data/app/helpers/pageflow/social_share_links_helper.rb +12 -9
  98. data/app/helpers/pageflow/structured_data_helper.rb +1 -1
  99. data/app/helpers/pageflow/stub_page_configuration.rb +7 -3
  100. data/app/helpers/pageflow/text_direction_helper.rb +1 -1
  101. data/app/helpers/pageflow/themes_helper.rb +1 -1
  102. data/app/helpers/pageflow/video_files_helper.rb +29 -13
  103. data/app/helpers/pageflow/widgets_helper.rb +7 -6
  104. data/app/inputs/pageflow_permalink_input.rb +3 -2
  105. data/app/jobs/pageflow/application_job.rb +1 -0
  106. data/app/jobs/pageflow/entry_export_import/upload_and_publish_file_job.rb +1 -1
  107. data/app/jobs/pageflow/poll_meta_data_from_zencoder_job.rb +1 -0
  108. data/app/jobs/pageflow/poll_zencoder_job.rb +3 -2
  109. data/app/jobs/pageflow/process_image_or_text_track_job.rb +1 -0
  110. data/app/jobs/pageflow/prune_auto_snapshots_job.rb +1 -0
  111. data/app/jobs/pageflow/request_meta_data_from_zencoder_job.rb +1 -0
  112. data/app/jobs/pageflow/submit_file_to_zencoder_job.rb +1 -0
  113. data/app/mailers/pageflow/user_mailer.rb +1 -0
  114. data/app/models/concerns/pageflow/auto_generated_perma_id.rb +13 -1
  115. data/app/models/concerns/pageflow/entry_publication_states.rb +7 -3
  116. data/app/models/concerns/pageflow/feature_target.rb +8 -4
  117. data/app/models/concerns/pageflow/output_source.rb +3 -3
  118. data/app/models/concerns/pageflow/permalinkable.rb +2 -1
  119. data/app/models/concerns/pageflow/reusable_file.rb +23 -23
  120. data/app/models/concerns/pageflow/serialization_blacklist.rb +1 -1
  121. data/app/models/concerns/pageflow/suspendable.rb +5 -3
  122. data/app/models/concerns/pageflow/theme_referencer.rb +1 -1
  123. data/app/models/concerns/pageflow/translatable.rb +62 -0
  124. data/app/models/concerns/pageflow/uploadable_file.rb +6 -6
  125. data/app/models/pageflow/account.rb +6 -5
  126. data/app/models/pageflow/account_member_query.rb +1 -1
  127. data/app/models/pageflow/account_role_query.rb +1 -1
  128. data/app/models/pageflow/application_query.rb +1 -1
  129. data/app/models/pageflow/application_record.rb +1 -1
  130. data/app/models/pageflow/audio_file.rb +4 -4
  131. data/app/models/pageflow/audio_file_url_templates.rb +1 -1
  132. data/app/models/pageflow/authentication_token.rb +2 -2
  133. data/app/models/pageflow/chapter.rb +6 -1
  134. data/app/models/pageflow/chapter_scaffold.rb +2 -4
  135. data/app/models/pageflow/cname_site_request_scope.rb +1 -1
  136. data/app/models/pageflow/customized_theme.rb +6 -6
  137. data/app/models/pageflow/draft_entry.rb +37 -9
  138. data/app/models/pageflow/edit_lock.rb +19 -21
  139. data/app/models/pageflow/encoding_confirmation.rb +2 -2
  140. data/app/models/pageflow/entries_feed.rb +2 -2
  141. data/app/models/pageflow/entry.rb +44 -30
  142. data/app/models/pageflow/entry_at_revision.rb +5 -1
  143. data/app/models/pageflow/entry_duplicate.rb +8 -5
  144. data/app/models/pageflow/entry_publication.rb +2 -2
  145. data/app/models/pageflow/entry_role_query.rb +4 -4
  146. data/app/models/pageflow/entry_template.rb +4 -4
  147. data/app/models/pageflow/entry_title_or_account_name_query.rb +2 -2
  148. data/app/models/pageflow/entry_translation_group.rb +42 -0
  149. data/app/models/pageflow/file_reuse.rb +2 -2
  150. data/app/models/pageflow/file_usage.rb +10 -3
  151. data/app/models/pageflow/folder.rb +2 -2
  152. data/app/models/pageflow/home_button.rb +7 -7
  153. data/app/models/pageflow/image_file.rb +20 -5
  154. data/app/models/pageflow/image_file_url_templates.rb +1 -1
  155. data/app/models/pageflow/invitation_form.rb +2 -1
  156. data/app/models/pageflow/managed_user_query.rb +1 -1
  157. data/app/models/pageflow/membership.rb +5 -5
  158. data/app/models/pageflow/nested_revision_component_copy.rb +263 -0
  159. data/app/models/pageflow/null_user.rb +1 -1
  160. data/app/models/pageflow/overview_button.rb +1 -1
  161. data/app/models/pageflow/page.rb +7 -3
  162. data/app/models/pageflow/permalink.rb +23 -2
  163. data/app/models/pageflow/permalink_directory.rb +7 -0
  164. data/app/models/pageflow/permalink_redirect.rb +7 -0
  165. data/app/models/pageflow/positioned_file.rb +5 -5
  166. data/app/models/pageflow/potential_entry_translations.rb +55 -0
  167. data/app/models/pageflow/potential_memberships.rb +5 -4
  168. data/app/models/pageflow/published_entry.rb +62 -11
  169. data/app/models/pageflow/revision.rb +24 -15
  170. data/app/models/pageflow/roles.rb +14 -18
  171. data/app/models/pageflow/site.rb +36 -3
  172. data/app/models/pageflow/site_root_entry_form.rb +27 -0
  173. data/app/models/pageflow/sitemaps.rb +10 -1
  174. data/app/models/pageflow/storyline.rb +5 -2
  175. data/app/models/pageflow/storyline_scaffold.rb +1 -1
  176. data/app/models/pageflow/text_track_file.rb +1 -1
  177. data/app/models/pageflow/text_track_file_url_templates.rb +1 -1
  178. data/app/models/pageflow/theme_customization_file.rb +3 -2
  179. data/app/models/pageflow/thumbnail_file_resolver.rb +1 -1
  180. data/app/models/pageflow/url_template.rb +1 -1
  181. data/app/models/pageflow/used_file.rb +7 -3
  182. data/app/models/pageflow/user_name_query.rb +2 -2
  183. data/app/models/pageflow/video_file.rb +22 -15
  184. data/app/models/pageflow/video_file_url_templates.rb +6 -4
  185. data/app/models/pageflow/widget.rb +4 -3
  186. data/app/models/pageflow/with_file_usage_extension.rb +1 -1
  187. data/app/models/pageflow/zencoder_attachment.rb +8 -8
  188. data/app/policies/pageflow/account_policy.rb +3 -1
  189. data/app/policies/pageflow/admin/admin_only_tab_policy.rb +1 -0
  190. data/app/policies/pageflow/admin/entry_tab_policy.rb +1 -0
  191. data/app/policies/pageflow/application_policy.rb +2 -0
  192. data/app/policies/pageflow/entry_policy.rb +7 -1
  193. data/app/policies/pageflow/entry_template_policy.rb +2 -1
  194. data/app/policies/pageflow/file_policy.rb +4 -7
  195. data/app/policies/pageflow/folder_policy.rb +18 -8
  196. data/app/policies/pageflow/membership_policy.rb +6 -4
  197. data/app/policies/pageflow/site_policy.rb +10 -3
  198. data/app/policies/pageflow/user_policy.rb +6 -4
  199. data/app/state_machines/pageflow/image_and_text_track_processing_state_machine.rb +3 -2
  200. data/app/state_machines/pageflow/media_encoding_state_machine.rb +5 -4
  201. data/app/views/admin/accounts/_entry_template_details.html.arb +2 -2
  202. data/app/views/admin/entries/_attributes_table.html.arb +6 -5
  203. data/app/views/admin/entries/_form.html.erb +2 -1
  204. data/app/views/admin/entries/_permalink_inputs.html.erb +9 -2
  205. data/app/views/admin/entry_templates/_form.html.erb +1 -3
  206. data/app/views/admin/site_root_entry/choose.html.erb +19 -0
  207. data/app/views/admin/sites/_fields.html.erb +14 -1
  208. data/app/views/admin/translations/_form.html.erb +31 -0
  209. data/app/views/admin/users/_attributes_table.html.arb +13 -0
  210. data/app/views/components/pageflow/admin/add_membership_button.rb +13 -12
  211. data/app/views/components/pageflow/admin/custom_scopes_renderer.rb +1 -0
  212. data/app/views/components/pageflow/admin/embed_code_field.rb +1 -0
  213. data/app/views/components/pageflow/admin/embedded_index_table.rb +9 -10
  214. data/app/views/components/pageflow/admin/entries_tab.rb +1 -0
  215. data/app/views/components/pageflow/admin/entry_publication_state_indicator.rb +6 -5
  216. data/app/views/components/pageflow/admin/entry_templates_tab.rb +2 -1
  217. data/app/views/components/pageflow/admin/entry_translations_tab.rb +102 -0
  218. data/app/views/components/pageflow/admin/entry_user_badge_list.rb +1 -0
  219. data/app/views/components/pageflow/admin/extensible_attributes_table.rb +9 -8
  220. data/app/views/components/pageflow/admin/features_tab.rb +1 -0
  221. data/app/views/components/pageflow/admin/grouped_folder_list.rb +1 -0
  222. data/app/views/components/pageflow/admin/icon_link_to.rb +1 -0
  223. data/app/views/components/pageflow/admin/members_tab.rb +4 -3
  224. data/app/views/components/pageflow/admin/membership_role_with_tooltip.rb +3 -2
  225. data/app/views/components/pageflow/admin/revisions_tab.rb +14 -10
  226. data/app/views/components/pageflow/admin/sites_tab.rb +1 -0
  227. data/app/views/components/pageflow/admin/tabs_view.rb +1 -0
  228. data/app/views/components/pageflow/admin/timestamp.rb +6 -5
  229. data/app/views/components/pageflow/admin/user_account_badge_list.rb +2 -3
  230. data/app/views/components/pageflow/admin/user_accounts_tab.rb +1 -0
  231. data/app/views/components/pageflow/admin/user_entries_tab.rb +1 -0
  232. data/app/views/components/pageflow/admin/users_tab.rb +1 -0
  233. data/app/views/pageflow/editor/config/_seeds.json.jbuilder +1 -1
  234. data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
  235. data/app/views/pageflow/editor/entries/show.json.jbuilder +1 -1
  236. data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +2 -2
  237. data/app/views/pageflow/editor/files/_file.json.jbuilder +5 -13
  238. data/app/views/pageflow/editor/files/create.json.jbuilder +1 -1
  239. data/app/views/pageflow/editor/files/index.json.jbuilder +1 -1
  240. data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
  241. data/app/views/pageflow/editor/video_files/_video_file.json.jbuilder +1 -3
  242. data/app/views/pageflow/entries/share_menu/_bluesky_link.html.erb +8 -0
  243. data/app/views/pageflow/entries/share_menu/_threads_link.html.erb +8 -0
  244. data/app/views/pageflow/files/_file.json.jbuilder +3 -3
  245. data/app/views/pageflow/sitemaps/index.xml.builder +9 -1
  246. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  247. data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
  248. data/config/initializers/active_admin_patches.rb +3 -6
  249. data/config/initializers/admin_resource_tabs.rb +3 -0
  250. data/config/initializers/paperclip.rb +1 -0
  251. data/config/initializers/symmetric_encryption.rb +1 -1
  252. data/config/initializers/zencoder.rb +24 -13
  253. data/config/locales/de.yml +110 -4
  254. data/config/locales/en.yml +109 -7
  255. data/config/routes.rb +15 -13
  256. data/config/spring.rb +2 -1
  257. data/db/migrate/20140418225525_setup_schema.rb +2 -2
  258. data/db/migrate/20190306161431_copy_file_attributes_of_failed_uploads.rb +2 -2
  259. data/db/migrate/20190820152900_drop_accounts_themes.rb +2 -1
  260. data/db/migrate/20191202145757_create_pageflow_scrolled_sections.rb +11 -11
  261. data/db/migrate/20191202150657_create_pageflow_scrolled_chapters.rb +1 -1
  262. data/db/migrate/20191202154723_create_pageflow_scrolled_content_elements.rb +9 -9
  263. data/db/migrate/20191219143450_add_position_to_content_elements.rb +2 -1
  264. data/db/migrate/20200117133200_change_revision_appearance_option_default_and_null.rb +2 -1
  265. data/db/migrate/20200122115400_create_pageflow_entry_templates.rb +25 -25
  266. data/db/migrate/20200206134400_convert_legacy_scrolled_content_element_types.rb +3 -3
  267. data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +2 -2
  268. data/db/migrate/20230120092923_create_other_files.rb +2 -1
  269. data/db/migrate/20230419083307_create_pageflow_entry_translation_group.rb +9 -0
  270. data/db/migrate/20240612110434_add_cutoff_mode_name_to_sites.rb +5 -0
  271. data/db/migrate/20240918084059_create_pageflow_permalink_redirects.rb +14 -0
  272. data/db/migrate/20250508172234_ensure_scrolled_entries_have_main_storyline.rb +14 -0
  273. data/db/migrate/20250617090048_add_custom404_entry_to_sites.rb +5 -0
  274. data/db/migrate/20250617100000_add_perma_id_counter_to_entries.rb +28 -0
  275. data/db/migrate/20250722174123_add_perma_id_to_chapters.rb +10 -0
  276. data/db/migrate/20250725080603_add_perma_id_indexes_to_revision_components.rb +13 -0
  277. data/db/migrate/20250726000000_add_display_name_to_file_usages.rb +5 -0
  278. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +3912 -1486
  279. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +468 -1161
  280. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +28125 -22
  281. data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +26589 -19
  282. data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +1 -0
  283. data/entry_types/paged/app/helpers/pageflow_paged/page_background_asset_helper.rb +1 -1
  284. data/entry_types/paged/app/helpers/pageflow_paged/third_party_embed_consent_helper.rb +7 -7
  285. data/entry_types/paged/app/views/pageflow_paged/editor/entries/_seed.json.jbuilder +1 -0
  286. data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
  287. data/entry_types/paged/lib/pageflow_paged/plugin.rb +4 -0
  288. data/entry_types/paged/lib/pageflow_paged/react/page_type.rb +1 -1
  289. data/entry_types/paged/lib/pageflow_paged/react/widget_type.rb +3 -3
  290. data/entry_types/paged/lib/pageflow_paged.rb +1 -1
  291. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +5 -3
  292. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +2 -2
  293. data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +2 -2
  294. data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +2 -1
  295. data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +2 -2
  296. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +1 -0
  297. data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +2 -1
  298. data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +60 -6
  299. data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +16 -2
  300. data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +21 -23
  301. data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +16 -1
  302. data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +15 -14
  303. data/entry_types/scrolled/app/models/pageflow_scrolled/content_element.rb +12 -0
  304. data/entry_types/scrolled/app/models/pageflow_scrolled/section.rb +12 -1
  305. data/entry_types/scrolled/app/models/pageflow_scrolled/storyline.rb +19 -1
  306. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -0
  307. data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +2 -2
  308. data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +2 -0
  309. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +17 -9
  310. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry_translations.json.jbuilder +14 -0
  311. data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_theme.json.jbuilder +25 -5
  312. data/entry_types/scrolled/app/views/pageflow_scrolled/storylines/_storyline.json.jbuilder +7 -0
  313. data/entry_types/scrolled/config/locales/de.yml +614 -45
  314. data/entry_types/scrolled/config/locales/en.yml +586 -47
  315. data/entry_types/scrolled/config/routes.rb +18 -8
  316. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +11 -11
  317. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantDesktop.svg +56 -0
  318. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/logoDarkVariantMobile.svg +22 -0
  319. data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/themes_plugin.rb.tt +26 -11
  320. data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +27 -8
  321. data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +1 -1
  322. data/entry_types/scrolled/lib/pageflow_scrolled/additional_theme_assets.rb +27 -0
  323. data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +16 -4
  324. data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +1 -1
  325. data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +24 -4
  326. data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +24 -22
  327. data/entry_types/scrolled/lib/pageflow_scrolled.rb +1 -1
  328. data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +6 -5
  329. data/entry_types/scrolled/package/config/webpack.js +22 -0
  330. data/entry_types/scrolled/package/contentElements/hotspots-frontend.css +1 -0
  331. data/entry_types/scrolled/package/contentElements/hotspots-frontend.js +1529 -0
  332. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.css +1 -0
  333. data/entry_types/scrolled/package/contentElements/tikTokEmbed-frontend.js +59 -0
  334. data/entry_types/scrolled/package/contentElements-editor.js +2075 -321
  335. data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
  336. data/entry_types/scrolled/package/contentElements-frontend.js +1019 -643
  337. data/entry_types/scrolled/package/editor.js +2086 -1091
  338. data/entry_types/scrolled/package/frontend/{EditableInlineText.module-ebd22921.js → FloatingPortalRootProvider-51914be7.js} +1200 -1258
  339. data/entry_types/scrolled/package/frontend/{PhonePlatformContext-4ec6b2de.js → PhonePlatformContext-9f76033e.js} +7 -8
  340. data/entry_types/scrolled/package/frontend/ThemeIcon-81f2f066.js +1932 -0
  341. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-788e9cdb.js +39 -0
  342. data/entry_types/scrolled/package/frontend/{Viewer-1bb5597c.js → Viewer-0345ce57.js} +36 -63
  343. data/entry_types/scrolled/package/frontend/{Viewer-1ecf3375.js → Viewer-cdc549cc.js} +15 -22
  344. data/entry_types/scrolled/package/frontend/{Wavesurfer-7d9cf1b7.js → Wavesurfer-1cdc3925.js} +54 -74
  345. data/entry_types/scrolled/package/frontend/{components-024a9893.js → components-96660ffd.js} +1791 -841
  346. data/entry_types/scrolled/package/frontend/{index-11f32f10.js → index-eb670c2f.js} +11 -18
  347. data/entry_types/scrolled/package/frontend/index.css +1 -1
  348. data/entry_types/scrolled/package/frontend/index.js +517 -903
  349. data/entry_types/scrolled/package/frontend/{createSuper-d0f30da3.js → inherits-539844a6.js} +40 -56
  350. data/entry_types/scrolled/package/frontend/{useContentElementEditorState-4f4c3cf6.js → useContentElementEditorState-77fe6c79.js} +7 -8
  351. data/entry_types/scrolled/package/frontend/usePhonePlatform-c2ba875d.js +8 -0
  352. data/entry_types/scrolled/package/frontend-server.js +0 -1
  353. data/entry_types/scrolled/package/package.json +18 -10
  354. data/entry_types/scrolled/package/testHelpers.js +306 -70
  355. data/entry_types/scrolled/package/values/widgets.module.css +18 -0
  356. data/entry_types/scrolled/package/widgets/consentBar.css +1 -1
  357. data/entry_types/scrolled/package/widgets/consentBar.js +47 -66
  358. data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
  359. data/entry_types/scrolled/package/widgets/defaultNavigation.js +177 -207
  360. data/entry_types/scrolled/package/widgets/excursionDialog.css +1 -0
  361. data/entry_types/scrolled/package/widgets/excursionDialog.js +109 -0
  362. data/entry_types/scrolled/package/widgets/excursionSheet.css +1 -0
  363. data/entry_types/scrolled/package/widgets/excursionSheet.js +262 -0
  364. data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -1
  365. data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +6 -9
  366. data/entry_types/scrolled/package/widgets/iconScrollIndicator.css +1 -0
  367. data/entry_types/scrolled/package/widgets/iconScrollIndicator.js +48 -0
  368. data/entry_types/scrolled/package/widgets/mainStorylineSheet.css +1 -0
  369. data/entry_types/scrolled/package/widgets/mainStorylineSheet.js +144 -0
  370. data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -1
  371. data/entry_types/scrolled/package/widgets/textInlineFileRights.js +26 -9
  372. data/entry_types/scrolled/package/widgets-server.js +1 -0
  373. data/entry_types/scrolled/spec/factories/chapters.rb +14 -1
  374. data/entry_types/scrolled/spec/factories/content_elements.rb +1 -1
  375. data/lib/generators/pageflow/active_admin_initializer/active_admin_initializer_generator.rb +5 -3
  376. data/lib/generators/pageflow/assets/assets_generator.rb +7 -5
  377. data/lib/generators/pageflow/cancan/cancan_generator.rb +2 -1
  378. data/lib/generators/pageflow/cancan/templates/ability.rb +1 -1
  379. data/lib/generators/pageflow/error_pages/error_pages_generator.rb +2 -1
  380. data/lib/generators/pageflow/initializer/initializer_generator.rb +3 -2
  381. data/lib/generators/pageflow/install/install_generator.rb +2 -2
  382. data/lib/generators/pageflow/procfile/procfile_generator.rb +2 -1
  383. data/lib/generators/pageflow/resque/resque_generator.rb +6 -4
  384. data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
  385. data/lib/generators/pageflow/routes/routes_generator.rb +4 -2
  386. data/lib/generators/pageflow/seeds/seeds_generator.rb +3 -2
  387. data/lib/generators/pageflow/seeds/templates/seeds.rb +6 -6
  388. data/lib/generators/pageflow/theme/theme_generator.rb +2 -1
  389. data/lib/generators/pageflow/user/user_generator.rb +2 -1
  390. data/lib/pageflow/ability_mixin.rb +25 -15
  391. data/lib/pageflow/active_admin_patches/views/attributes_table.rb +1 -0
  392. data/lib/pageflow/active_admin_patches/views/pages/base.rb +3 -2
  393. data/lib/pageflow/active_admin_patches/views/table_for.rb +1 -0
  394. data/lib/pageflow/additional_headers.rb +27 -0
  395. data/lib/pageflow/admin/attributes_table_rows.rb +3 -3
  396. data/lib/pageflow/admin/tabs.rb +1 -1
  397. data/lib/pageflow/built_in_file_type.rb +1 -1
  398. data/lib/pageflow/built_in_page_types_plugin.rb +1 -1
  399. data/lib/pageflow/built_in_widget_type.rb +2 -2
  400. data/lib/pageflow/built_in_widget_types_plugin.rb +2 -1
  401. data/lib/pageflow/configuration.rb +141 -18
  402. data/lib/pageflow/cutoff_modes.rb +39 -0
  403. data/lib/pageflow/editor_controller.rb +6 -10
  404. data/lib/pageflow/engine.rb +4 -5
  405. data/lib/pageflow/entry_export_import/attachment_files.rb +1 -1
  406. data/lib/pageflow/entry_export_import/entry_serialization.rb +5 -4
  407. data/lib/pageflow/entry_export_import/file_mappings.rb +1 -0
  408. data/lib/pageflow/entry_export_import/revision_serialization/import.rb +1 -1
  409. data/lib/pageflow/entry_export_import.rb +3 -3
  410. data/lib/pageflow/entry_types.rb +2 -2
  411. data/lib/pageflow/feature.rb +1 -1
  412. data/lib/pageflow/features.rb +4 -6
  413. data/lib/pageflow/file_importers.rb +4 -4
  414. data/lib/pageflow/file_type.rb +3 -3
  415. data/lib/pageflow/file_types.rb +3 -3
  416. data/lib/pageflow/global_config_api.rb +5 -6
  417. data/lib/pageflow/help_entries.rb +7 -7
  418. data/lib/pageflow/help_entry.rb +1 -1
  419. data/lib/pageflow/hooks.rb +1 -1
  420. data/lib/pageflow/nested_revision_component.rb +9 -27
  421. data/lib/pageflow/news_item_api.rb +1 -1
  422. data/lib/pageflow/page_type.rb +2 -3
  423. data/lib/pageflow/page_types.rb +3 -3
  424. data/lib/pageflow/paperclip_interpolations/support.rb +1 -1
  425. data/lib/pageflow/paperclip_processors/vtt.rb +1 -0
  426. data/lib/pageflow/paperclip_processors/webp.rb +2 -2
  427. data/lib/pageflow/partial_editor_fragment_renderer.rb +2 -2
  428. data/lib/pageflow/plugin.rb +1 -2
  429. data/lib/pageflow/quota.rb +9 -5
  430. data/lib/pageflow/quotas.rb +1 -1
  431. data/lib/pageflow/rails_version.rb +1 -0
  432. data/lib/pageflow/react.rb +1 -1
  433. data/lib/pageflow/revision_component.rb +8 -40
  434. data/lib/pageflow/revision_components.rb +16 -6
  435. data/lib/pageflow/seeds.rb +12 -16
  436. data/lib/pageflow/theme.rb +1 -1
  437. data/lib/pageflow/theme_customizations.rb +10 -10
  438. data/lib/pageflow/themes.rb +3 -3
  439. data/lib/pageflow/user_mixin.rb +6 -6
  440. data/lib/pageflow/version.rb +1 -1
  441. data/lib/pageflow/widget_type.rb +4 -4
  442. data/lib/pageflow/widget_types.rb +9 -9
  443. data/lib/pageflow/zencoder_api.rb +32 -42
  444. data/lib/pageflow/zencoder_audio_output_definition.rb +14 -13
  445. data/lib/pageflow/zencoder_meta_data_output_definition.rb +3 -2
  446. data/lib/pageflow/zencoder_output_definition.rb +16 -14
  447. data/lib/pageflow/zencoder_video_output_definition.rb +140 -88
  448. data/lib/pageflow.rb +7 -2
  449. data/lib/tasks/pageflow_tasks.rake +1 -1
  450. data/package/editor.js +954 -868
  451. data/package/frontend.js +113 -387
  452. data/package/package.json +2 -1
  453. data/package/testHelpers.js +10 -56
  454. data/package/ui.js +209 -251
  455. data/spec/factories/accounts.rb +37 -22
  456. data/spec/factories/audio_files.rb +2 -2
  457. data/spec/factories/authentication_tokens.rb +4 -4
  458. data/spec/factories/chapters.rb +4 -4
  459. data/spec/factories/draft_entries.rb +14 -6
  460. data/spec/factories/edit_locks.rb +1 -1
  461. data/spec/factories/entries.rb +28 -19
  462. data/spec/factories/entry_translation_groups.rb +6 -0
  463. data/spec/factories/file_usages.rb +2 -1
  464. data/spec/factories/folders.rb +1 -1
  465. data/spec/factories/image_files.rb +2 -2
  466. data/spec/factories/pages.rb +3 -3
  467. data/spec/factories/published_entries.rb +26 -8
  468. data/spec/factories/revisions.rb +1 -1
  469. data/spec/factories/sites.rb +6 -0
  470. data/spec/factories/test_multi_attachment_files.rb +1 -1
  471. data/spec/factories/text_track_files.rb +1 -1
  472. data/spec/factories/uploadable_files.rb +1 -1
  473. data/spec/factories/users.rb +6 -6
  474. data/spec/factories/video_files.rb +2 -2
  475. data/spec/factories/widgets.rb +1 -1
  476. data/spec/fixtures/7x15_rotated.jpg +0 -0
  477. data/vendor/assets/javascripts/wysihtml-toolbar.js +19288 -0
  478. metadata +98 -45
  479. data/config/initializers/revision_components.rb +0 -5
  480. data/config/locales/twitter_to_x.de.yml +0 -6
  481. data/config/locales/twitter_to_x.en.yml +0 -6
  482. data/entry_types/scrolled/config/locales/twitter_to_x.de.yml +0 -12
  483. data/entry_types/scrolled/config/locales/twitter_to_x.en.yml +0 -12
  484. data/entry_types/scrolled/config/locales/vr_image_projection.de.yml +0 -24
  485. data/entry_types/scrolled/config/locales/vr_image_projection.en.yml +0 -24
  486. data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-b79159cc.js +0 -107
  487. data/entry_types/scrolled/package/frontend/arrowRight-62998af9.js +0 -77
  488. data/entry_types/scrolled/package/frontend/i18n-ce13a8bf.js +0 -1129
@@ -37,6 +37,25 @@ en:
37
37
  label: Hide share button
38
38
  hideToggleMuteButton:
39
39
  label: Hide unmute button
40
+ accentColor:
41
+ label: "Accent color"
42
+ iconScrollIndicator:
43
+ animation:
44
+ label: Animation
45
+ values:
46
+ none: None
47
+ smallBounce: Subtle
48
+ largeBounce: Obvious
49
+ alignment:
50
+ label: Alignment
51
+ values:
52
+ centerContent: Center with content
53
+ centerViewport: Center with viewport
54
+ size:
55
+ label: Size
56
+ values:
57
+ large: Large
58
+ small: Small
40
59
  frontend_v2:
41
60
  feature_name: Frontend v2
42
61
  hls_instead_of_dash:
@@ -53,9 +72,50 @@ en:
53
72
  configuration_editor:
54
73
  tabs:
55
74
  defaultNavigation: Default navigation
75
+ iconScrollIndicator: Icon Scroll Indicator
56
76
  widgets:
57
77
  roles:
58
78
  inlineFileRights: Inline file rights
79
+ scrollIndicator: Scroll indicator
80
+ backdrop_content_elements:
81
+ feature_name: "Backdrop content elements"
82
+ backdrop_size:
83
+ feature_name: Backdrop size option
84
+ custom_palette_colors:
85
+ feature_name: "Custom Palette Colors"
86
+ entry_types:
87
+ scrolled:
88
+ editor:
89
+ entry_metadata_configuration_attributes:
90
+ darkWidgets:
91
+ label: "Use dark theme variant"
92
+ files:
93
+ attributes:
94
+ image_files:
95
+ projection:
96
+ cell_text:
97
+ blank: "(none)"
98
+ equirectangular_mono: Equirectangular (mono)
99
+ equirectangular_stereo: Equirectangular (stereo)
100
+ column_header: Projection
101
+ inline_help: Determine whether this image is a mono- or stereoscopic 360° image. It can be chosen as poster image for 360° videos.
102
+ label: 360° projection
103
+ values:
104
+ equirectangular_mono: Equirectangular (mono)
105
+ equirectangular_stereo: Equirectangular (stereo)
106
+ filters:
107
+ image_files:
108
+ with_projection:
109
+ blank_slate: Choose a projection in the file settings, to mark it as a 360° image.
110
+ name: 360° images
111
+ decoration_effects:
112
+ feature_name: Decoration Effects
113
+ content_element_margins:
114
+ feature_name: "Element Margins"
115
+ icon_scroll_indicator:
116
+ feature_name: Icon Scroll Indicator
117
+ iconScrollIndicator:
118
+ widget_type_name: Icon at bottom of viewport
59
119
  pageflow_scrolled:
60
120
  editor:
61
121
  backdrop_effects:
@@ -75,6 +135,12 @@ en:
75
135
  label: Scroll Parallax
76
136
  sepia:
77
137
  label: Sepia
138
+ frame:
139
+ label: 'Frame'
140
+ crop:
141
+ label: Crop
142
+ rounded:
143
+ label: Rounded corners
78
144
  blank_entry:
79
145
  create_chapter: Click <em>New chapter</em> to create your first chapter.
80
146
  create_content_element: Use the <em>Plus buttons</em> inside the preview to add text blocks and other elements.
@@ -89,12 +155,16 @@ en:
89
155
  add_section: New section
90
156
  drag_hint: Drag to move chapter
91
157
  save_error: There was an error while saving this chapter.
158
+ chapter: Chapter
159
+ unnamed: Untitled
160
+ hidden_in_navigation: Hidden in navigation bar
92
161
  common_content_element_attributes:
93
162
  caption:
94
163
  inline_help: The caption of the element will be displayed directly underneath the element.
95
164
  label: Caption
96
165
  palette_color:
97
166
  blank: "(Auto)"
167
+ custom: Custom
98
168
  position:
99
169
  inline_help: |-
100
170
  Control the position of the element in relation to
@@ -110,11 +180,16 @@ en:
110
180
  scrolling. This gives the reader a stable position to
111
181
  fully view the element. Smaller elements can be given
112
182
  more weight that way.
183
+ backdrop: ''
113
184
  sticky: |-
114
- Place beside the text while scrolling. In mobile view,
115
- sticky elements are automatically turned into inline
116
- elements. Sticky elements work particularly well in
117
- desktop view in combination with long text passages.
185
+ Place alongside the text and keep in a fixed posiiton while
186
+ scrolling. In mobile view, elements are automatically
187
+ turned into inline elements. Sticky elements work
188
+ particularly well in desktop view in combination with
189
+ long text passages.
190
+ side: |-
191
+ Place alongside the text. In mobile view, elements are
192
+ automatically turned into inline elements.
118
193
  label: Position
119
194
  values:
120
195
  full: Full Width
@@ -122,8 +197,10 @@ en:
122
197
  left: Floated left
123
198
  right: Floated right
124
199
  standAlone: Stand alone
125
- sticky: Sticky
126
200
  wide: Wide
201
+ backdrop: 'As Backdrop'
202
+ sticky: Alongside (sticky)
203
+ side: Alongside
127
204
  typographyVariant:
128
205
  blank: "(Default)"
129
206
  label: Variant
@@ -136,6 +213,32 @@ en:
136
213
  elements interrupt the text flow and stand prominently on
137
214
  their own.
138
215
  label: Width
216
+ alignment:
217
+ label: Alignment
218
+ inline_help: |-
219
+ Align narrow elements relative to the content width.
220
+ values:
221
+ center: Center
222
+ left: Left
223
+ right: Right
224
+ captionVariant:
225
+ label: Caption Variant
226
+ inline_help: Switch between different looks of the caption below the element.
227
+ inline_help_disabled: Add a caption below the element to switch between different looks.
228
+ blank: "(Default)"
229
+ marginTop:
230
+ label: "Margin top"
231
+ blank: "(Auto)"
232
+ marginBottom:
233
+ label: "Margin bottom"
234
+ blank: "(Auto)"
235
+ fullWidthInPhoneLayout:
236
+ label: "Full width in phone layout"
237
+ inline_help: |-
238
+ Allow the element to span the full width of the viewport
239
+ on smaller screens, maximizing use of available space.
240
+ typographySize:
241
+ label: "Text size"
139
242
  content_element_categories:
140
243
  basic:
141
244
  name: Basic
@@ -143,10 +246,10 @@ en:
143
246
  name: Data and Diagrams
144
247
  interactive:
145
248
  name: Interactive
146
- links:
147
- name: Links
148
249
  media:
149
250
  name: Media
251
+ tilesAndLinks:
252
+ name: Links and Tiles
150
253
  content_elements:
151
254
  counter:
152
255
  attributes:
@@ -196,6 +299,9 @@ en:
196
299
  values:
197
300
  leading: Leading ($100)
198
301
  trailing: Trailing (100%)
302
+ thousandsSeparators:
303
+ label: "Display thousands separators"
304
+ inline_help: "For example, 1,000 in stories with English language setting."
199
305
  description: Animated metrics
200
306
  name: Counter
201
307
  tabs:
@@ -220,30 +326,104 @@ en:
220
326
  externalLinkList:
221
327
  add: Add
222
328
  attributes:
223
- description:
224
- inline_help: Link-description for display in entry.
225
- label: Description
226
- open_in_new_tab:
227
- label: Open in new tab
228
329
  thumbnail:
229
330
  inline_help: Link thumbnail image for display in entry.
230
331
  label: Thumbnail
231
- title:
232
- inline_help: Link-title for display in entry.
233
- label: Title
234
- url:
235
- inline_help: Absolute URL (inkluding http:// oder https://) of Link.
236
- label: URL
332
+ enableScroller:
333
+ label: "Layout behavior"
334
+ values:
335
+ never: "Wrap into multiple lines"
336
+ always: "Scroll horizontally"
337
+ thumbnailAspectRatio:
338
+ label: "Thumbnail aspect ratio"
339
+ inline_help: |-
340
+ Determine the proportions of the thumbnails. If the
341
+ text is displayed next to the image, longer text may
342
+ result in a more portrait-like aspect ratio so that
343
+ the thumbnail covers the entire height of the link.
344
+ textPosition:
345
+ label: "Caption"
346
+ inline_help: |-
347
+ Arrangement of image and text within links.
348
+ values:
349
+ below: "Below image"
350
+ right: "Right from image"
351
+ overlay: "On Image"
352
+ none: "None"
353
+ overlayOpacity:
354
+ label: Shadow opacity
355
+ inline_help: |-
356
+ Intensity of the color gradient that is placed behind
357
+ the text to improve contrast on busy backgrounds
358
+ thumbnailSize:
359
+ label: "Thumbnail width"
360
+ inline_help: |-
361
+ Proportion of the thumbnail width relative to the
362
+ overall width of the link.
363
+ values:
364
+ small: "Small"
365
+ medium: "Medium"
366
+ large: "Large"
367
+ thumbnailFit:
368
+ label: "Thumbnail fit mode"
369
+ inline_help: |-
370
+ If the image's aspect ratio doesn't match the selected
371
+ thumbnail ratio, you can either zoom the image to fill
372
+ the card completely (which may crop it), or scale it
373
+ down to fit within the card entirely (which may leave
374
+ empty space).
375
+ values:
376
+ cover: Cover
377
+ contain: Contain
378
+ linkWidth:
379
+ label: "Link width"
380
+ inline_help: |-
381
+ Choose a narrower width to arrange more links
382
+ side by side.
383
+ linkAlignment:
384
+ label: "Link alignment"
385
+ inline_help: |-
386
+ Determines the alignment in rows that are not
387
+ completely filled with links.
388
+ values:
389
+ spaceEvenly: Space evenly
390
+ left: Left
391
+ right: Right
392
+ center: Center
393
+ textSize:
394
+ label: "Text size"
395
+ inline_help: |-
396
+ Defines the font size for the title and description of the links.
397
+ values:
398
+ small: Small
399
+ medium: Medium
400
+ large: Large
401
+ textAlign:
402
+ label: Text alignment
403
+ inline_help: Align the text in the links.
404
+ values:
405
+ left: Left
406
+ center: Center
407
+ right: Right
408
+ displayButtons:
409
+ label: "Display buttons"
410
+ inline_help: |-
411
+ Display buttons to open the links.
412
+ thumbnailBackgroundColor:
413
+ label: Thumbnail background color
414
+ inline_help: |-
415
+ Visible when thumbnail fit mode has been set to
416
+ "contain" or when the thumbnail image contains
417
+ transparent areas.
237
418
  back: Back
238
- confirm_delete: Are you sure you want to delete this element?
239
- confirm_delete_link: Are you sure you want to delete this link?
240
- description: A collection of links to external websites
241
419
  destroy: Delete
242
- name: External links
243
- outline: Outline
420
+ description: A list of tiles with thumbnail and caption
421
+ confirm_delete_item: Are you sure you want to delete this teaser?
422
+ items: Items
423
+ name: Teasers
244
424
  tabs:
245
- edit_link: Edit Link
246
- general: External Links
425
+ general: Teasers
426
+ edit_link: Teaser
247
427
  heading:
248
428
  attributes:
249
429
  children:
@@ -336,11 +516,17 @@ en:
336
516
  title:
337
517
  inline_help: Used by screen readers to describe the chart as a whole.
338
518
  label: Title
519
+ autoResize:
520
+ label: Dynamic Height
521
+ inline_help: Adapt height to content automatically.
339
522
  description: Embed externally hosted websites
340
523
  help_texts:
341
524
  missingConsentVendor: |-
342
525
  No privacy policy information available for the provider
343
526
  of the given URL.
527
+ autoResize: |-
528
+ This option requires a custom script in the embedded
529
+ page. <a target="_blank" rel="noopener noreferrer" href="https://pageflow.freshdesk.com/en/support/solutions/articles/11000130710-how-to-automatically-resize-iframe-embeds-to-fit-the-content">More info</a>.
344
530
  name: iframe Embed
345
531
  tabs:
346
532
  general: iframe Embed
@@ -353,6 +539,15 @@ en:
353
539
  displayed as large as possible by default.
354
540
  inline_help_disabled: Not available if position "Full width" has been selected.
355
541
  label: Enable fullscreen on desktop
542
+ displayPeeks:
543
+ label: "Display peeks of neighboring images"
544
+ inline_help: "Show partial adjacent image previews as navigation cues."
545
+ displayPaginationIndicator:
546
+ label: "Display pagination"
547
+ inline_help: |-
548
+ Displays the current image position and the total
549
+ number of images to make navigating the gallery
550
+ easier.
356
551
  description: A series of images to flip through
357
552
  items:
358
553
  add: Add
@@ -360,6 +555,23 @@ en:
360
555
  name: Image Gallery
361
556
  tabs:
362
557
  general: Image Gallery
558
+ edit_item:
559
+ back: Back
560
+ destroy: Delete
561
+ confirm_delete_link: Are you sure you want to delete this image gallery item?
562
+ attributes:
563
+ image:
564
+ label: Image
565
+ portraitImage:
566
+ inline_help: |-
567
+ Displayed when the browser viewport is taller than
568
+ wide, for example on phones or tablets in portrait
569
+ orientation. Can be used to provide an alternative
570
+ to a landscape image that would otherwise be
571
+ displayed too small.
572
+ label: Image (Portrait)
573
+ tabs:
574
+ item: Image Gallery Item
363
575
  inlineAudio:
364
576
  attributes:
365
577
  atmoDuringPlayback:
@@ -385,9 +597,9 @@ en:
385
597
  inline_help: Color of the waveform's parts that represents the already played part of the audio.
386
598
  label: Waveform Color
387
599
  description: Player or waveform with controls
388
- name: Inline Audio
600
+ name: Audio
389
601
  tabs:
390
- general: Inline Audio
602
+ general: Audio
391
603
  inlineBeforeAfter:
392
604
  attributes:
393
605
  after_id:
@@ -424,9 +636,9 @@ en:
424
636
  inline_help: Displayed when the browser viewport is taller than wide, for example on phones or tablets in portrait orientation. Can be used to provide an alternative to a landscape image that would otherwise be displayed too small.
425
637
  label: Image (Portrait)
426
638
  description: Display an image
427
- name: Inline Image
639
+ name: Image
428
640
  tabs:
429
- general: Inline Image
641
+ general: Image
430
642
  inlineVideo:
431
643
  attributes:
432
644
  atmoDuringPlayback:
@@ -472,14 +684,18 @@ en:
472
684
  inline_help_html: By default browsers only allow autoplaying videos with sound after a user interaction. To still be able to autoplay videos, entries therefore start muted.<br /><br />Sound can be activated using the speaker icon in the navigation bar or via an "Audio notice" element that has been placed in the entry.
473
685
  label: Unmute entry
474
686
  description: Player with controls
475
- name: Inline Video
687
+ name: Video
476
688
  tabs:
477
- general: Inline Video
689
+ general: Video
478
690
  question:
479
691
  attributes:
480
692
  expandByDefault:
481
693
  inline_help: Display answer initially.
482
694
  label: Expand by default
695
+ color:
696
+ label: "Color (Question)"
697
+ answerColor:
698
+ label: "Color (Answer)"
483
699
  description: Expand to reveal an answer
484
700
  name: Question/Answer
485
701
  tabs:
@@ -504,10 +720,20 @@ en:
504
720
  name: Audio Notice
505
721
  tabs:
506
722
  general: Audio Notice
723
+ attributes:
724
+ mutedText:
725
+ label: "Muted Text"
726
+ unmutedText:
727
+ label: "Unmuted Text"
507
728
  textBlock:
508
729
  attributes:
509
730
  color:
510
731
  label: Color
732
+ textAlign:
733
+ label: "Text align"
734
+ values:
735
+ ragged: "Ragged"
736
+ justify: "Justified"
511
737
  description: Text with lists, block quotes and sub-headings
512
738
  help_texts:
513
739
  shortcuts: |
@@ -545,6 +771,12 @@ en:
545
771
  label: Hide Conversation
546
772
  hideMedia:
547
773
  label: Hide Media
774
+ url:
775
+ label: Post URL
776
+ description: Embed content from X
777
+ name: X Post
778
+ tabs:
779
+ general: X Embed
548
780
  videoEmbed:
549
781
  attributes:
550
782
  aspectRatio:
@@ -583,16 +815,268 @@ en:
583
815
  label: Initial Pitch
584
816
  initialYaw:
585
817
  label: Initial Yaw
818
+ aspectRatio:
819
+ blank: "(Auto)"
820
+ inline_help: Control the shape of the VR panorama viewport. Auto uses optimized ratios based on element width.
821
+ label: Aspect Ratio
822
+ values:
823
+ narrow: Landscape (4:3)
824
+ portrait: Portrait (9:16)
825
+ square: Square (1:1)
826
+ wide: Landscape (16:9)
827
+ portraitAspectRatio:
828
+ blank: "(Default)"
829
+ inline_help: Displayed when the browser viewport is taller than wide, for example on phones or tablets in portrait orientation. Can be used to provide a different aspect ratio optimized for mobile viewing.
830
+ label: Aspect Ratio (Portrait)
831
+ values:
832
+ narrow: Landscape (4:3)
833
+ portrait: Portrait (9:16)
834
+ square: Square (1:1)
835
+ wide: Landscape (16:9)
586
836
  description: Interactive panorama using an image with rectangular projection
587
837
  name: 360° Image
838
+ hotspots:
839
+ edit_area:
840
+ back: Back
841
+ destroy: Delete
842
+ confirm_delete_link: Are you sure you want to delete this area?
843
+ tabs:
844
+ area: Hotspot Area
845
+ portrait: Portrait
846
+ attributes:
847
+ tooltipPosition:
848
+ label: Tooltip orientation
849
+ inline_help: Prevent the tooltip from covering the parts of the image it is meant to label.
850
+ values:
851
+ below: Below
852
+ above: Above
853
+ tooltipReference:
854
+ label: Tooltip position
855
+ inline_help: Show the tooltip at the indicator point or outside the hotspot area.
856
+ values:
857
+ indicator: At indicator
858
+ area: At area
859
+ tooltipMaxWidth:
860
+ label: Tooltip maximum width
861
+ inline_help: Set how wide the tooltip should be displayed.
862
+ values:
863
+ medium: Medium
864
+ narrow: Narrow
865
+ veryNarrow: Very Narrow
866
+ wide: Wide
867
+ tooltipTextAlign:
868
+ label: Text alignment in tooltip
869
+ inline_help: Align the text inside the tooltip.
870
+ values:
871
+ left: Left
872
+ center: Center
873
+ right: Right
874
+ color:
875
+ inline_help: Used for the indicator point.
876
+ label: Color
877
+ activeImage:
878
+ label: Active image
879
+ inline_help: |-
880
+ Display an alternative image when the hotspot area
881
+ is active. Use an image where the area is visually
882
+ highlighted.
883
+ tooltipImage:
884
+ label: Image in tooltip
885
+ inline_help: Display an image inside the tooltip.
886
+ area:
887
+ label: Area
888
+ inline_help: Adjust the size and position of the hotspot area.
889
+ zoom:
890
+ label: Zoom
891
+ inline_help: Set how much the image should be zoomed in when the area is active.
892
+ portraitTooltipPosition:
893
+ label: Tooltip orientation (Portrait)
894
+ inline_help: Prevent the tooltip from covering the parts of the image it is meant to label.
895
+ values:
896
+ below: Below
897
+ above: Above
898
+ portraitTooltipReference:
899
+ label: Tooltip position (Portrait)
900
+ inline_help: Show the tooltip at the indicator point or outside the hotspot area.
901
+ values:
902
+ indicator: At indicator
903
+ area: At area
904
+ portraitTooltipMaxWidth:
905
+ label: Tooltip maximum width (Portrait)
906
+ inline_help: Set how wide the tooltip should be displayed.
907
+ values:
908
+ medium: Medium
909
+ narrow: Narrow
910
+ veryNarrow: Very Narrow
911
+ wide: Wide
912
+ portraitColor:
913
+ label: Color (Portrait)
914
+ inline_help: Used for the indicator point.
915
+ portraitActiveImage:
916
+ label: Active image (Portrait)
917
+ inline_help: |-
918
+ Display an alternative image when the hotspot area
919
+ is active. Use an image where the area is visually
920
+ highlighted.
921
+ portraitArea:
922
+ label: Area (Portrait)
923
+ inline_help: Adjust the size and position of the hotspot area.
924
+ portraitZoom:
925
+ label: Zoom (Portrait)
926
+ inline_help: Set how much the portrait image should be zoomed in when the area is selected.
927
+ edit_area_dialog:
928
+ header: Area outline and indicator position
929
+ tabs:
930
+ default: Default image
931
+ portrait: Portrait image
932
+ modes:
933
+ rect: Rectangle
934
+ polygon: Polygon
935
+ centerIndicator: Center indicator
936
+ hotspots_image: Hotspots image
937
+ double_click_to_delete: Double-click to remove point
938
+ indicator_title: Drag to position indicator
939
+ save: Save
940
+ cancel: Cancel
941
+ areas:
942
+ add: Add
943
+ label: Areas
944
+ confirm_delete: Are you sure you want to delete this area?
945
+ area_input:
946
+ edit: Edit outline and indicator position
947
+ attributes:
948
+ image:
949
+ label: Image
950
+ inline_help: Image on which the hotspot areas should be placed.
951
+ portraitImage:
952
+ inline_help: Displayed when the browser viewport is taller than wide, for example on phones or tablets in portrait orientation. Can be used to provide an alternative to a landscape image that would otherwise be displayed too small.
953
+ label: Image (Portrait)
954
+ enablePanZoom:
955
+ label: Pan & Zoom
956
+ inline_help_html: |-
957
+ Animates the image to zoom in on a hotspot when it
958
+ is selected, making details easier to see.<br/><br/>If
959
+ all details are clearly visible without zooming on
960
+ desktop, this effect can optionally be enabled only
961
+ for portrait mode.
962
+ values:
963
+ phonePlatform: In phone layout
964
+ always: Always
965
+ never: Never
966
+ panZoomInitially:
967
+ label: Pan to first area initially
968
+ inline_help: Starts the Pan & Zoom effect on the first hotspot area when it becomes active.
969
+ enableFullscreen:
970
+ label: Enable fullscreen
971
+ inline_help: Display a button to open the element in fullscreen mode.
972
+ invertTooltips:
973
+ label: Invert tooltip colors
974
+ inline_help: Use dark tooltips with light text.
975
+ description: Image with clickable areas
976
+ name: Hotspots
977
+ tabs:
978
+ general: Hotspots
979
+ infoTable:
980
+ description: Two-column table for label value pairs.
981
+ name: Info Table
982
+ tabs:
983
+ general: Info Table
984
+ attributes:
985
+ labelColumnAlign:
986
+ label: "Text align (First column)"
987
+ values:
988
+ auto: "(Auto)"
989
+ left: Left
990
+ center: Center
991
+ right: Right
992
+ valueColumnAlign:
993
+ label: "Text align (Second column)"
994
+ values:
995
+ auto: "(Auto)"
996
+ left: Left
997
+ center: Center
998
+ right: Right
999
+ labelColor:
1000
+ label: "Text color (First column)"
1001
+ valueColor:
1002
+ label: "Text align (Second column)"
1003
+ singleColumnInPhoneLayout:
1004
+ label: "Single column in phone layout"
1005
+ inline_help: "Stacks table rows vertically in phone layout to prevent content from being squeezed into narrow columns. Especially helpful for tables with long text or wide content that would otherwise be hard to read on small screens."
1006
+ singleColumnAlign:
1007
+ label: "Text align (Single column)"
1008
+ values:
1009
+ auto: "(Auto)"
1010
+ left: Left
1011
+ center: Center
1012
+ right: Right
1013
+ help_texts:
1014
+ shortcuts: |-
1015
+ <dl class="shortcuts">
1016
+ <dt>
1017
+ <span class="shortcut">
1018
+ <kbd>Enter</kbd>
1019
+ </span>
1020
+ <span class="inline_help">
1021
+ Add a new row to the table..
1022
+ </span>
1023
+ </dt>
1024
+ <dd>
1025
+ Insert table row
1026
+ </dd>
1027
+ <dt>
1028
+ <span class="shortcut">
1029
+ <kbd>Shift</kbd> + <kbd>Enter</kbd>
1030
+ </span>
1031
+ <span class="inline_help">
1032
+ Insert a new line without beginning a new paragraph.
1033
+ </span>
1034
+ </dt>
1035
+ <dd>
1036
+ Insert soft break/new line
1037
+ </dd>
1038
+ <dt>
1039
+ <span class="shortcut">
1040
+ <kbd>Alt</kbd> + <kbd>Enter</kbd>
1041
+ </span>
1042
+ <span class="inline_help">
1043
+ Specify potential line break points within long words
1044
+ to control hyphenation.
1045
+ </span>
1046
+ </dt>
1047
+ <dd>
1048
+ Insert soft hyphen
1049
+ </dd>
1050
+ </dl>
1051
+ tikTokEmbed:
1052
+ attributes:
1053
+ url:
1054
+ label: TikTok URL
1055
+ description: Embed content from TikTok
1056
+ name: TikTok
1057
+ tabs:
1058
+ general: TikTok Embed
588
1059
  edit_chapter:
589
1060
  attributes:
590
1061
  summary:
591
- inline_help: Summary of the chapter for display in the navigation bar. Only chapters with both title and summary set will get added as menu items to the navigation.
592
1062
  label: Summary
1063
+ inline_help: Summary of the chapter for display in the navigation bar.
593
1064
  title:
594
- inline_help: The chapter title will be displayed in the editor overview and the navigation bar of the entry. Only chapters with both title and summary set will get added as menu items to the navigation.
595
1065
  label: Title
1066
+ inline_help_html: |-
1067
+ The title of the chapter appears in the navigation
1068
+ bar. It is also used to create the part of the web
1069
+ address that helps link directly to that chapter.<br><br>
1070
+
1071
+ For example, if your chapter is titled 'Our Mission,'
1072
+ the system will create a web address like
1073
+ yourwebsite.com/story#our-mission, so
1074
+ people can jump straight to that chapter
1075
+ hideInNavigation:
1076
+ label: Hide in navigation bar
1077
+ inline_help: |-
1078
+ Chapter can be used as link destination but does not
1079
+ appear in the navigation bar.
596
1080
  confirm_destroy: |-
597
1081
  Really delete this chapter including ALL its sections?
598
1082
 
@@ -634,6 +1118,7 @@ en:
634
1118
  color: Color
635
1119
  image: Image
636
1120
  video: Video
1121
+ contentElement: Interactive Element
637
1122
  backdropVideo:
638
1123
  label: Background-Video
639
1124
  backdropVideoMobile:
@@ -650,6 +1135,8 @@ en:
650
1135
  fullHeight:
651
1136
  inline_help: Activate this option if the background of this section (e.g. image, color or video) is supposed to be enlarged such that the whole browser window (the so called viewport) is covered. Deactivate this option to create a short section. The height of the section and its background is then determined only by the content of the section. Multiple sections with different backgrounds can then be visible at once on the user's screen. This option needs to be activated for two adjacent sections to be able to use a fade transition between them.
652
1137
  label: Use Full Viewport-Height
1138
+ inline_help_disabled: |-
1139
+ Interactive backdrop elements always take up full viewport height.
653
1140
  invert:
654
1141
  label: Invert Text Colors
655
1142
  layout:
@@ -668,7 +1155,16 @@ en:
668
1155
  values:
669
1156
  narrow: Narrow
670
1157
  wide: Wide
671
- edit_motif_area: Select motif area...
1158
+ backdropContentElement:
1159
+ label: Element
1160
+ backdropSize:
1161
+ label: Backdrop scaling
1162
+ values:
1163
+ coverViewport: Cover viewport
1164
+ coverSection: Cover section
1165
+ cardSurfaceColor:
1166
+ label: Cards background color
1167
+ auto: "(Auto)"
672
1168
  tabs:
673
1169
  section: Section
674
1170
  edit_section_transition:
@@ -700,6 +1196,8 @@ en:
700
1196
  entry_outline:
701
1197
  add_chapter: New chapter
702
1198
  header: Outline
1199
+ finish_reorder_chapters: Finish reordering
1200
+ reorder_chapters: "Reorder chapters..."
703
1201
  inline_file_rights_menu_item:
704
1202
  label: Hide rights information here
705
1203
  insert_content_element:
@@ -711,6 +1209,7 @@ en:
711
1209
  duplicate: Duplicate
712
1210
  insert_section_above: Insert section above
713
1211
  insert_section_below: Insert section below
1212
+ copy_permalink: Copy permalink
714
1213
  save_error: There was an error while saving this section.
715
1214
  transitions:
716
1215
  beforeAfter: Static Backgrounds
@@ -719,6 +1218,9 @@ en:
719
1218
  reveal: Reveal
720
1219
  scroll: Scroll
721
1220
  scrollOver: Scroll over
1221
+ hide: Hide outside of the editor
1222
+ show: Show outside of the editor
1223
+ hidden: Only visible in editor
722
1224
  select_link_destination:
723
1225
  cancel: Cancel
724
1226
  create: Create
@@ -734,6 +1236,45 @@ en:
734
1236
  title: Select chapter
735
1237
  selectable_section_item:
736
1238
  title: Select section
1239
+ edit_motif_area_menu_item: Select motif area...
1240
+ backdrop_content_element_input:
1241
+ add: New element
1242
+ unset: No longer use as backdrop
1243
+ scales:
1244
+ contentElementBoxBorderRadius:
1245
+ none: None
1246
+ content_element_text_inline_file_rights_attributes:
1247
+ showTextInlineFileRightsBackdrop:
1248
+ label: "Backdrop behind inline file rights"
1249
+ inline_help: "Improve readability on busy backgrounds."
1250
+ inline_help_disabled: "Only available when rights texts are displayed at the element."
1251
+ common:
1252
+ default_suffix: " (Default)"
1253
+ storylines_tabs:
1254
+ main: Outline
1255
+ excursions: Excursions
1256
+ storyline_item:
1257
+ reorder_chapters: To ease reordering, chapters have been collapsed.
1258
+ done: Done
1259
+ add_chapter: New chapter
1260
+ add_excursion: New excursion
1261
+ aspect_ratios:
1262
+ narrow: Landscape (4:3)
1263
+ portrait: Portrait (3:4)
1264
+ square: Square (1:1)
1265
+ wide: Landscape (16:9)
1266
+ original: Original
1267
+ image_modifier_list_input:
1268
+ add: "Add style..."
1269
+ remove: "Remove style"
1270
+ crop_types:
1271
+ circle: Circle
1272
+ typography_sizes:
1273
+ xl: Very large
1274
+ lg: Large
1275
+ md: Medium
1276
+ sm: Small
1277
+ xs: Very small
737
1278
  help_entries:
738
1279
  content_elements:
739
1280
  menu_item: Content Elements
@@ -853,19 +1394,18 @@ en:
853
1394
  drag_content_element: Drag to move element
854
1395
  edit_section_transition_after: Edit section transition
855
1396
  edit_section_transition_before: Edit section transition
856
- external_links:
857
- open_in_new_tab: Open in new tab
858
- open_in_new_tab_message: Opening in same tab is disabled inside the editor
859
1397
  formats:
860
1398
  block_quote: Block quote
861
- bold: Bold
862
1399
  bulleted_list: Bulleted list
863
1400
  heading: Heading
864
- italic: Italic
865
1401
  ordered_list: Ordered list
866
1402
  paragraph: Paragraph
867
- strikethrough: Strikethrough
868
- underline: Underline
1403
+ bold: Bold (Ctrl+B)
1404
+ italic: Italic (Ctrl+I)
1405
+ strikethrough: Strikethrough (Ctrl+Shift+S)
1406
+ underline: Underline (Ctrl+U)
1407
+ sub: Subscript (Ctrl+;)
1408
+ sup: Superscript (Ctrl+,)
869
1409
  insert_content_element:
870
1410
  after: Insert new element below
871
1411
  before: Insert new element above
@@ -892,9 +1432,8 @@ en:
892
1432
  type_text: Type some text
893
1433
  type_title: Title
894
1434
  url_placeholder: Type or paste URL
895
- public:
896
- third_party_consent:
897
- opt_in_prompt:
898
- twitter: I agree with being shown content from Twitter.
899
- twitter:
900
- default_title: Tweet
1435
+ select_backdrop_content_element: Edit backdrop
1436
+ back_to_section: Back to section
1437
+ select_link_destination: "Select link destination"
1438
+ change_link_destination: "Change link destination"
1439
+ remove_link: "Remove link"