pageflow 16.0.0 → 16.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +86 -33
- data/README.md +6 -6
- data/Rakefile +1 -1
- data/admins/pageflow/entry.rb +0 -1
- data/admins/pageflow/sites.rb +3 -0
- data/app/assets/images/pageflow/admin/icons/published_with_noindex.svg +4 -0
- data/app/assets/javascripts/pageflow/dist/ui.js +299 -72
- data/app/assets/stylesheets/pageflow/admin/active_admin_patches.scss +1 -1
- data/app/assets/stylesheets/pageflow/admin/entries.scss +4 -0
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +10 -0
- data/app/assets/stylesheets/pageflow/admin/publication_state_indicator.scss +4 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +0 -1
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +61 -7
- data/app/assets/stylesheets/pageflow/editor/file_meta_data.scss +12 -1
- data/app/assets/stylesheets/pageflow/editor/file_thumbnails.scss +4 -0
- data/app/assets/stylesheets/pageflow/editor/help.scss +3 -3
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +7 -0
- data/app/assets/stylesheets/pageflow/editor/inputs/file_input.scss +0 -5
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -4
- data/app/assets/stylesheets/pageflow/{editor/wysihtml5.scss → ui/input/text_area_input.scss} +13 -1
- data/app/assets/stylesheets/pageflow/ui.scss +1 -0
- data/app/controllers/pageflow/chapters_controller.rb +2 -2
- data/app/controllers/pageflow/editor/entry_publications_controller.rb +5 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +1 -1
- data/app/controllers/pageflow/editor/files_controller.rb +1 -1
- data/app/controllers/pageflow/entries_controller.rb +12 -2
- data/app/controllers/pageflow/feeds_controller.rb +18 -0
- data/app/controllers/pageflow/pages_controller.rb +2 -2
- data/app/controllers/pageflow/sitemaps_controller.rb +15 -0
- data/app/controllers/pageflow/storylines_controller.rb +2 -2
- data/app/helpers/pageflow/entries_helper.rb +4 -1
- data/app/helpers/pageflow/feeds_helper.rb +66 -0
- data/app/helpers/pageflow/meta_tags_helper.rb +2 -1
- data/app/helpers/pageflow/page_types_helper.rb +10 -10
- data/app/helpers/pageflow/revision_file_helper.rb +3 -3
- data/app/helpers/pageflow/social_share_helper.rb +2 -2
- data/app/inputs/pageflow_permalink_input.rb +15 -3
- data/app/models/concerns/pageflow/entry_publication_states.rb +9 -0
- data/app/models/concerns/pageflow/reusable_file.rb +3 -3
- data/app/models/concerns/pageflow/uploadable_file.rb +5 -0
- data/app/models/pageflow/account.rb +8 -0
- data/app/models/pageflow/audio_file_url_templates.rb +2 -1
- data/app/models/pageflow/draft_entry.rb +1 -1
- data/app/models/pageflow/entries_feed.rb +32 -0
- data/app/models/pageflow/entry.rb +7 -5
- data/app/models/pageflow/entry_at_revision.rb +2 -0
- data/app/models/pageflow/image_file.rb +34 -8
- data/app/models/pageflow/image_file_url_templates.rb +7 -1
- data/app/models/pageflow/membership.rb +3 -2
- data/app/models/pageflow/other_file.rb +5 -0
- data/app/models/pageflow/other_file_url_templates.rb +16 -0
- data/app/models/pageflow/published_entry.rb +6 -0
- data/app/models/pageflow/revision.rb +6 -0
- data/app/models/pageflow/site.rb +8 -0
- data/app/models/pageflow/sitemaps.rb +14 -0
- data/app/models/pageflow/used_file.rb +10 -2
- data/app/models/pageflow/video_file_url_templates.rb +3 -1
- data/app/models/pageflow/widget.rb +9 -1
- data/app/views/admin/entries/_permalink_inputs.html.erb +1 -2
- data/app/views/admin/sites/_attributes_table.html.arb +3 -0
- data/app/views/admin/sites/_fields.html.erb +6 -0
- data/app/views/components/pageflow/admin/extensible_attributes_table.rb +2 -2
- data/app/views/components/pageflow/admin/revisions_tab.rb +8 -0
- data/app/views/components/pageflow/admin/sites_tab.rb +3 -0
- data/app/views/pageflow/editor/config/_seeds.json.jbuilder +2 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +1 -0
- data/app/views/pageflow/editor/entry_publications/check.json.jbuilder +1 -0
- data/app/views/pageflow/feeds/index.atom.builder +20 -0
- data/app/views/pageflow/image_files/_image_file.json.jbuilder +1 -0
- data/app/views/pageflow/meta_tags/_entry.html.erb +1 -0
- data/app/views/pageflow/sitemaps/index.xml.builder +9 -0
- data/config/initializers/features.rb +3 -0
- data/config/initializers/paperclip.rb +8 -0
- data/config/locales/de.yml +77 -6
- data/config/locales/en.yml +79 -4
- data/config/routes.rb +3 -0
- data/config/spring.rb +1 -1
- data/db/migrate/20230120092923_create_other_files.rb +23 -0
- data/db/migrate/20230323115745_add_feeds_enabled_to_sites.rb +5 -0
- data/db/migrate/20230323154323_add_sitemap_enabled_to_sites.rb +5 -0
- data/db/migrate/20230331103823_add_title_to_sites.rb +5 -0
- data/db/migrate/20230405103612_add_custom_feed_url_to_sites.rb +5 -0
- data/db/migrate/20231024062501_add_output_presences_to_image_files.rb +5 -0
- data/db/migrate/20231128124523_add_noindex_to_revisions.rb +5 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +710 -259
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +34 -5
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +1 -1
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/app/controllers/pageflow_paged/editor/entries_controller.rb +0 -2
- data/entry_types/paged/app/controllers/pageflow_paged/entries_controller.rb +2 -1
- data/entry_types/paged/app/views/pageflow_paged/entries/show.html.erb +1 -0
- data/entry_types/paged/config/initializers/features.rb +0 -1
- data/entry_types/paged/lib/pageflow_paged/engine.rb +13 -1
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/chapters_controller.rb +2 -2
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +3 -4
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/sections_controller.rb +13 -6
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/entries_controller.rb +11 -3
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/cache_helper.rb +11 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/entry_json_seed_helper.rb +42 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +8 -5
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/packs_helper.rb +17 -12
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/react_server_side_rendering_helper.rb +9 -1
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +1 -1
- data/entry_types/scrolled/app/models/pageflow_scrolled/chapter.rb +23 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +1 -1
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder +1 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/sections/_section_with_content_elements.json.jbuilder +10 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +44 -41
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_consent_vendors.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +7 -0
- data/entry_types/scrolled/config/initializers/features.rb +5 -0
- data/entry_types/scrolled/config/locales/consent_widget.de.yml +4 -0
- data/entry_types/scrolled/config/locales/consent_widget.en.yml +4 -0
- data/entry_types/scrolled/config/locales/de.yml +225 -8
- data/entry_types/scrolled/config/locales/en.yml +239 -2
- data/entry_types/scrolled/config/routes.rb +4 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +69 -44
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_packs.rb +2 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/additional_seed_data.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +96 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/content_element_consent_vendors.rb +38 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/engine.rb +13 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +30 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +6 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +1 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/dummy.rake +1 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +1 -2
- data/entry_types/scrolled/package/config/webpack.js +26 -0
- data/entry_types/scrolled/package/contentElements-editor.js +330 -32
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +920 -145
- data/entry_types/scrolled/package/editor.js +819 -239
- data/entry_types/scrolled/package/frontend/{EditableInlineText.module-14c7b097.js → EditableInlineText.module-6ee0e024.js} +1975 -1792
- data/entry_types/scrolled/package/frontend/PhonePlatformContext-b28d991a.js +32 -0
- data/entry_types/scrolled/package/frontend/ToggleFullscreenCornerButton-8242f213.js +107 -0
- data/entry_types/scrolled/package/frontend/Viewer-32cd1ac1.js +154 -0
- data/entry_types/scrolled/package/frontend/{Viewer-b6becc57.js → Viewer-6e4d14ed.js} +32 -161
- data/entry_types/scrolled/package/frontend/arrowRight-e42e6011.js +77 -0
- data/entry_types/scrolled/package/frontend/{components-b3160dd7.js → components-24363f97.js} +188 -47
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-f6093cc6.js → i18n-71c39823.js} +191 -111
- data/entry_types/scrolled/package/frontend/index-fc4b13e6.js +118 -0
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +252 -76
- data/entry_types/scrolled/package/frontend/useContentElementEditorState-245f1986.js +52 -0
- data/entry_types/scrolled/package/package.json +6 -4
- data/entry_types/scrolled/package/testHelpers.js +11 -2
- data/entry_types/scrolled/package/values/colors.module.css +15 -0
- data/entry_types/scrolled/package/widgets/consentBar.css +1 -0
- data/entry_types/scrolled/package/widgets/consentBar.js +426 -0
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +39 -4
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/iconInlineFileRights.js +49 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.css +1 -0
- data/entry_types/scrolled/package/widgets/textInlineFileRights.js +37 -0
- data/lib/generators/pageflow/resque/resque_generator.rb +1 -1
- data/lib/generators/pageflow/resque/templates/resque.rake +1 -1
- data/lib/generators/pageflow/resque/templates/resque.rb +1 -1
- data/lib/generators/pageflow/routes/routes_generator.rb +1 -1
- data/lib/pageflow/ability_mixin.rb +5 -5
- data/lib/pageflow/active_admin_can_can_fix.rb +2 -2
- data/lib/pageflow/built_in_file_type.rb +7 -0
- data/lib/pageflow/configuration.rb +29 -1
- data/lib/pageflow/engine.rb +18 -40
- data/lib/pageflow/entry_export_import/revision_serialization.rb +1 -1
- data/lib/pageflow/file_type.rb +2 -2
- data/lib/pageflow/global_config_api.rb +2 -2
- data/lib/pageflow/nested_revision_component.rb +23 -5
- data/lib/pageflow/page_type.rb +1 -1
- data/lib/pageflow/paperclip_processors/webp.rb +63 -0
- data/lib/pageflow/rails_version.rb +19 -0
- data/lib/pageflow/seeds.rb +10 -7
- data/lib/pageflow/user_mixin.rb +1 -1
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/widget_types.rb +4 -0
- data/package/config/jest/index.js +3 -1
- data/package/config/webpack5.js +14 -0
- data/package/editor.js +410 -181
- data/package/frontend.js +34 -4
- data/package/testHelpers.js +1 -1
- data/package/ui.js +297 -71
- data/spec/factories/entries.rb +34 -3
- data/spec/factories/sites.rb +3 -0
- data/vendor/assets/javascripts/iscroll.js +4 -7
- metadata +118 -80
- data/app/helpers/pageflow/admin/permalinks_helper.rb +0 -15
- data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +0 -42
data/entry_types/scrolled/package/frontend/{components-b3160dd7.js → components-24363f97.js}
RENAMED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
import 'regenerator-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { ae as ContentElementEditorCommandEmitterContext, b as usePostMessageListener, af as MotifAreaVisibilityProvider, ag as ForcePaddingContext, ah as ContentElementConfigurationUpdateContext, D as api, l as widths, ai as LayoutWithoutInlineEditing, ad as SectionThumbnail, aj as renderElement, ak as renderLeaf$1, H as useContentElementEditorCommandSubscription, a0 as Text$1, r as frontendStyles } from './EditableInlineText.module-6ee0e024.js';
|
|
3
3
|
import 'pageflow/frontend';
|
|
4
4
|
import React, { useMemo, useState, useCallback, useContext, useRef, useEffect, createContext, memo } from 'react';
|
|
5
|
-
import {
|
|
6
|
-
import 'i18n-js';
|
|
7
|
-
import 'use-context-selector';
|
|
8
|
-
import 'reselect';
|
|
9
|
-
import 'slugify';
|
|
5
|
+
import { _ as _slicedToArray, p as useEntryStateDispatch, b as _defineProperty, e as _objectWithoutProperties, u as useI18n, D as updateContentElementConfiguration, o as useChapter, i as useFile, a as _objectSpread2, n as _toConsumableArray, F as _unsupportedIterableToArray } from './i18n-71c39823.js';
|
|
10
6
|
import classNames from 'classnames';
|
|
7
|
+
import { C as ContentElementEditorStateContext, a as useContentElementEditorState } from './useContentElementEditorState-245f1986.js';
|
|
11
8
|
import './createSuper-d0f30da3.js';
|
|
12
9
|
import BackboneEvents from 'backbone-events-standalone';
|
|
10
|
+
import 'use-context-selector';
|
|
11
|
+
import 'reselect';
|
|
12
|
+
import 'slugify';
|
|
13
|
+
import 'i18n-js';
|
|
14
|
+
import 'striptags';
|
|
13
15
|
import 'react-measure';
|
|
16
|
+
import { P as PhonePlatformContext } from './PhonePlatformContext-b28d991a.js';
|
|
14
17
|
import { DndProvider, useDrop, useDrag } from 'react-dnd';
|
|
15
18
|
import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
16
19
|
import { Range, Editor, Transforms, Node, Element, Path, Text, createEditor } from 'slate';
|
|
@@ -193,7 +196,7 @@ function MessageHandler(_ref) {
|
|
|
193
196
|
return null;
|
|
194
197
|
}
|
|
195
198
|
|
|
196
|
-
var styles = {"wrapper":"SectionDecorator-module_wrapper__3sTk3","selected":"SectionDecorator-module_selected__1gcmF","transitionSelected":"SectionDecorator-module_transitionSelected__Wklk6","controls":"SectionDecorator-module_controls__LVEJG","
|
|
199
|
+
var styles = {"wrapper":"SectionDecorator-module_wrapper__3sTk3","selected":"SectionDecorator-module_selected__1gcmF","transitionSelected":"SectionDecorator-module_transitionSelected__Wklk6","controls":"SectionDecorator-module_controls__LVEJG","transitionToolbar-after":"SectionDecorator-module_transitionToolbar-after__2_DVO SectionDecorator-module_toolbar__2Va1D","toolbar":"SectionDecorator-module_toolbar__2Va1D","transitionToolbar-before":"SectionDecorator-module_transitionToolbar-before__KipOO SectionDecorator-module_toolbar__2Va1D"};
|
|
197
200
|
|
|
198
201
|
var styles$1 = {"wrapper":"ContentElementDecorator-module_wrapper__NQgFN"};
|
|
199
202
|
|
|
@@ -298,7 +301,7 @@ function SectionDecorator(_ref) {
|
|
|
298
301
|
isLastContentElementSelected = _useEditorSelection2.isSelected;
|
|
299
302
|
|
|
300
303
|
function selectIfOutsideContentItem(event) {
|
|
301
|
-
if (!event.target.closest(".".concat(styles$1.wrapper))) {
|
|
304
|
+
if (!event.target.closest(".".concat(styles$1.wrapper)) && !event.target.closest('#fullscreenRoot')) {
|
|
302
305
|
isSelected ? resetSelection() : select();
|
|
303
306
|
}
|
|
304
307
|
}
|
|
@@ -770,7 +773,7 @@ function DefaultSelectionRect(props) {
|
|
|
770
773
|
scrollPoint: isSelected,
|
|
771
774
|
drag: drag,
|
|
772
775
|
dragHandleTitle: t('pageflow_scrolled.inline_editing.drag_content_element'),
|
|
773
|
-
full: props.
|
|
776
|
+
full: props.width === widths.full || props.customMargin,
|
|
774
777
|
ariaLabel: t('pageflow_scrolled.inline_editing.select_content_element'),
|
|
775
778
|
insertButtonTitles: t('pageflow_scrolled.inline_editing.insert_content_element'),
|
|
776
779
|
onClick: function onClick() {
|
|
@@ -930,7 +933,8 @@ var styles$6 = {"placeholder":"TextPlaceholder-module_placeholder__sgVwx"};
|
|
|
930
933
|
|
|
931
934
|
function TextPlaceholder(_ref) {
|
|
932
935
|
var text = _ref.text,
|
|
933
|
-
visible = _ref.visible
|
|
936
|
+
visible = _ref.visible,
|
|
937
|
+
className = _ref.className;
|
|
934
938
|
|
|
935
939
|
if (!text || !visible) {
|
|
936
940
|
return null;
|
|
@@ -938,7 +942,9 @@ function TextPlaceholder(_ref) {
|
|
|
938
942
|
|
|
939
943
|
return /*#__PURE__*/React.createElement("div", {
|
|
940
944
|
className: styles$6.placeholder
|
|
941
|
-
}, /*#__PURE__*/React.createElement("div",
|
|
945
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
946
|
+
className: className
|
|
947
|
+
}, text));
|
|
942
948
|
}
|
|
943
949
|
|
|
944
950
|
function withCustomInsertBreak(editor) {
|
|
@@ -977,7 +983,7 @@ function withCustomInsertBreak(editor) {
|
|
|
977
983
|
return editor;
|
|
978
984
|
}
|
|
979
985
|
|
|
980
|
-
var styles$7 = {"container":"index-module_container__3dD9z","shy":"index-module_shy__KgWjc","selected":"index-module_selected__mE58y","hoveringToolbar":"index-module_hoveringToolbar__31Xpd","selection":"index-module_selection__3dUiD","linkTooltip":"index-module_linkTooltip__36m1K","linkTooltipThumbnail":"index-module_linkTooltipThumbnail__2v-cf","linkTooltipThumbnailClickMask":"index-module_linkTooltipThumbnailClickMask__2Z3ff","linkTooltipNewTab":"index-module_linkTooltipNewTab__4tnLF","linkTooltipChapterNumber":"index-module_linkTooltipChapterNumber__2CsQA"};
|
|
986
|
+
var styles$7 = {"container":"index-module_container__3dD9z","shy":"index-module_shy__KgWjc","selected":"index-module_selected__mE58y","hoveringToolbarContainer":"index-module_hoveringToolbarContainer__3xVEz","hoveringToolbar":"index-module_hoveringToolbar__31Xpd","selection":"index-module_selection__3dUiD","linkTooltip":"index-module_linkTooltip__36m1K","linkTooltip-below":"index-module_linkTooltip-below__1wvl7","linkTooltip-above":"index-module_linkTooltip-above__P3YfD","linkTooltipThumbnail":"index-module_linkTooltipThumbnail__2v-cf","linkTooltipThumbnailClickMask":"index-module_linkTooltipThumbnailClickMask__2Z3ff","linkTooltipNewTab":"index-module_linkTooltipNewTab__4tnLF","linkTooltipChapterNumber":"index-module_linkTooltipChapterNumber__2CsQA"};
|
|
981
987
|
|
|
982
988
|
function _extends$3() {
|
|
983
989
|
_extends$3 = Object.assign || function (target) {
|
|
@@ -1018,6 +1024,7 @@ var UpdateContext = createContext();
|
|
|
1018
1024
|
function LinkTooltipProvider(_ref) {
|
|
1019
1025
|
var editor = _ref.editor,
|
|
1020
1026
|
disabled = _ref.disabled,
|
|
1027
|
+
position = _ref.position,
|
|
1021
1028
|
children = _ref.children;
|
|
1022
1029
|
|
|
1023
1030
|
var _useState = useState(),
|
|
@@ -1037,7 +1044,8 @@ function LinkTooltipProvider(_ref) {
|
|
|
1037
1044
|
setState({
|
|
1038
1045
|
href: href,
|
|
1039
1046
|
openInNewTab: openInNewTab,
|
|
1040
|
-
top: linkRect.bottom - outerRect.top + 10,
|
|
1047
|
+
top: position === 'below' ? linkRect.bottom - outerRect.top + 10 : 'auto',
|
|
1048
|
+
bottom: position === 'above' ? outerRect.bottom - linkRect.top + 10 : 'auto',
|
|
1041
1049
|
left: linkRect.left - outerRect.left
|
|
1042
1050
|
});
|
|
1043
1051
|
},
|
|
@@ -1054,7 +1062,7 @@ function LinkTooltipProvider(_ref) {
|
|
|
1054
1062
|
}
|
|
1055
1063
|
}
|
|
1056
1064
|
};
|
|
1057
|
-
}, []);
|
|
1065
|
+
}, [position]);
|
|
1058
1066
|
return /*#__PURE__*/React.createElement(UpdateContext.Provider, {
|
|
1059
1067
|
value: update
|
|
1060
1068
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -1062,7 +1070,8 @@ function LinkTooltipProvider(_ref) {
|
|
|
1062
1070
|
}, /*#__PURE__*/React.createElement(LinkTooltip, {
|
|
1063
1071
|
editor: editor,
|
|
1064
1072
|
state: state,
|
|
1065
|
-
disabled: disabled
|
|
1073
|
+
disabled: disabled,
|
|
1074
|
+
position: position
|
|
1066
1075
|
}), children));
|
|
1067
1076
|
}
|
|
1068
1077
|
function LinkPreview(_ref2) {
|
|
@@ -1087,6 +1096,7 @@ function LinkPreview(_ref2) {
|
|
|
1087
1096
|
function LinkTooltip(_ref3) {
|
|
1088
1097
|
var editor = _ref3.editor,
|
|
1089
1098
|
disabled = _ref3.disabled,
|
|
1099
|
+
position = _ref3.position,
|
|
1090
1100
|
state = _ref3.state;
|
|
1091
1101
|
|
|
1092
1102
|
var _useContext2 = useContext(UpdateContext),
|
|
@@ -1098,11 +1108,12 @@ function LinkTooltip(_ref3) {
|
|
|
1098
1108
|
}
|
|
1099
1109
|
|
|
1100
1110
|
return /*#__PURE__*/React.createElement("div", {
|
|
1101
|
-
className: classNames(styles$7.linkTooltip, styles$7.hoveringToolbar),
|
|
1111
|
+
className: classNames(styles$7.linkTooltip, styles$7["linkTooltip-".concat(position)], styles$7.hoveringToolbar),
|
|
1102
1112
|
onMouseEnter: keep,
|
|
1103
1113
|
onMouseLeave: deactivate,
|
|
1104
1114
|
style: {
|
|
1105
1115
|
top: state.top,
|
|
1116
|
+
bottom: state.bottom,
|
|
1106
1117
|
left: state.left,
|
|
1107
1118
|
opacity: 1
|
|
1108
1119
|
}
|
|
@@ -1124,6 +1135,10 @@ function LinkDestination(_ref4) {
|
|
|
1124
1135
|
return /*#__PURE__*/React.createElement(SectionLinkDestination, {
|
|
1125
1136
|
permaId: href.section
|
|
1126
1137
|
});
|
|
1138
|
+
} else if (href === null || href === void 0 ? void 0 : href.file) {
|
|
1139
|
+
return /*#__PURE__*/React.createElement(FileLinkDestination, {
|
|
1140
|
+
fileOptions: href.file
|
|
1141
|
+
});
|
|
1127
1142
|
} else {
|
|
1128
1143
|
return /*#__PURE__*/React.createElement(ExternalLinkDestination, {
|
|
1129
1144
|
href: href,
|
|
@@ -1144,7 +1159,7 @@ function ChapterLinkDestination(_ref5) {
|
|
|
1144
1159
|
t = _useI18n.t;
|
|
1145
1160
|
|
|
1146
1161
|
if (!chapter) {
|
|
1147
|
-
return
|
|
1162
|
+
return /*#__PURE__*/React.createElement("span", null, t('pageflow_scrolled.inline_editing.link_tooltip.deleted_chapter'));
|
|
1148
1163
|
}
|
|
1149
1164
|
|
|
1150
1165
|
return /*#__PURE__*/React.createElement("a", {
|
|
@@ -1197,6 +1212,29 @@ function ExternalLinkDestination(_ref7) {
|
|
|
1197
1212
|
}, openInNewTab ? t('pageflow_scrolled.inline_editing.link_tooltip.opens_in_new_tab') : t('pageflow_scrolled.inline_editing.link_tooltip.opens_in_same_tab')));
|
|
1198
1213
|
}
|
|
1199
1214
|
|
|
1215
|
+
function FileLinkDestination(_ref8) {
|
|
1216
|
+
var fileOptions = _ref8.fileOptions;
|
|
1217
|
+
var file = useFile(fileOptions);
|
|
1218
|
+
|
|
1219
|
+
var _useI18n4 = useI18n({
|
|
1220
|
+
locale: 'ui'
|
|
1221
|
+
}),
|
|
1222
|
+
t = _useI18n4.t;
|
|
1223
|
+
|
|
1224
|
+
if (!file) {
|
|
1225
|
+
return /*#__PURE__*/React.createElement("span", null, t('pageflow_scrolled.inline_editing.link_tooltip.deleted_file'));
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
1229
|
+
href: file.urls.original,
|
|
1230
|
+
target: "_blank",
|
|
1231
|
+
rel: "noopener noreferrer"
|
|
1232
|
+
}, file.urls.original.split('/').pop(), /*#__PURE__*/React.createElement(ExternalLinkIcon, {
|
|
1233
|
+
width: 10,
|
|
1234
|
+
height: 10
|
|
1235
|
+
}));
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1200
1238
|
function withLinks(editor) {
|
|
1201
1239
|
var isInline = editor.isInline;
|
|
1202
1240
|
|
|
@@ -1258,20 +1296,28 @@ function useDropTargetsActive() {
|
|
|
1258
1296
|
return [dropTargetsActive, drop];
|
|
1259
1297
|
}
|
|
1260
1298
|
|
|
1299
|
+
var abortPreviousCall;
|
|
1261
1300
|
function useSelectLinkDestination() {
|
|
1262
1301
|
return function () {
|
|
1263
1302
|
return new Promise(function (resolve, reject) {
|
|
1303
|
+
if (abortPreviousCall) {
|
|
1304
|
+
abortPreviousCall();
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1307
|
+
abortPreviousCall = function abortPreviousCall() {
|
|
1308
|
+
window.removeEventListener('message', receive);
|
|
1309
|
+
reject();
|
|
1310
|
+
};
|
|
1311
|
+
|
|
1264
1312
|
postSelectLinkDestinationMessage();
|
|
1265
1313
|
window.addEventListener('message', receive);
|
|
1266
1314
|
|
|
1267
1315
|
function receive(message) {
|
|
1268
1316
|
if (window.location.href.indexOf(message.origin) === 0) {
|
|
1269
1317
|
if (message.data.type === 'LINK_DESTINATION_SELECTED') {
|
|
1318
|
+
abortPreviousCall = null;
|
|
1270
1319
|
window.removeEventListener('message', receive);
|
|
1271
1320
|
resolve(message.data.payload);
|
|
1272
|
-
} else if (message.data.type === 'LINK_DESTINATION_SELECTION_ABORTED') {
|
|
1273
|
-
window.removeEventListener('message', receive);
|
|
1274
|
-
reject();
|
|
1275
1321
|
}
|
|
1276
1322
|
}
|
|
1277
1323
|
}
|
|
@@ -1454,7 +1500,8 @@ var LinkIcon = (function (_ref) {
|
|
|
1454
1500
|
}));
|
|
1455
1501
|
});
|
|
1456
1502
|
|
|
1457
|
-
function HoveringToolbar() {
|
|
1503
|
+
function HoveringToolbar(_ref) {
|
|
1504
|
+
var position = _ref.position;
|
|
1458
1505
|
var ref = useRef();
|
|
1459
1506
|
var outerRef = useRef();
|
|
1460
1507
|
var editor = useSlate();
|
|
@@ -1482,11 +1529,19 @@ function HoveringToolbar() {
|
|
|
1482
1529
|
var rect = domRange.getBoundingClientRect();
|
|
1483
1530
|
var outerRect = outerRef.current.getBoundingClientRect();
|
|
1484
1531
|
el.style.opacity = 1;
|
|
1485
|
-
el.style.top = "".concat(rect.bottom - outerRect.top + 10, "px");
|
|
1486
1532
|
el.style.left = "".concat(rect.left - outerRect.left, "px");
|
|
1533
|
+
|
|
1534
|
+
if (position === 'above') {
|
|
1535
|
+
el.style.top = 'auto';
|
|
1536
|
+
el.style.bottom = "".concat(outerRect.bottom - rect.top + 5, "px");
|
|
1537
|
+
} else {
|
|
1538
|
+
el.style.bottom = 'auto';
|
|
1539
|
+
el.style.top = "".concat(rect.bottom - outerRect.top + 5, "px");
|
|
1540
|
+
}
|
|
1487
1541
|
});
|
|
1488
1542
|
return /*#__PURE__*/React.createElement("div", {
|
|
1489
|
-
ref: outerRef
|
|
1543
|
+
ref: outerRef,
|
|
1544
|
+
className: styles$7.hoveringToolbarContainer
|
|
1490
1545
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1491
1546
|
ref: ref,
|
|
1492
1547
|
className: styles$7.hoveringToolbar
|
|
@@ -1532,9 +1587,9 @@ function handleButtonClick(editor, format, selectLinkDestination) {
|
|
|
1532
1587
|
if (isLinkActive(editor)) {
|
|
1533
1588
|
unwrapLink(editor);
|
|
1534
1589
|
} else {
|
|
1535
|
-
selectLinkDestination().then(function (
|
|
1536
|
-
var href =
|
|
1537
|
-
openInNewTab =
|
|
1590
|
+
selectLinkDestination().then(function (_ref2) {
|
|
1591
|
+
var href = _ref2.href,
|
|
1592
|
+
openInNewTab = _ref2.openInNewTab;
|
|
1538
1593
|
wrapLink(editor, href, openInNewTab);
|
|
1539
1594
|
}, function () {});
|
|
1540
1595
|
}
|
|
@@ -1704,21 +1759,30 @@ function toggleBlock(editor, format) {
|
|
|
1704
1759
|
var block = _objectSpread2({
|
|
1705
1760
|
type: format,
|
|
1706
1761
|
children: []
|
|
1707
|
-
},
|
|
1762
|
+
}, preserveColorAndTypograpyhVariant(editor));
|
|
1708
1763
|
|
|
1709
1764
|
Transforms.wrapNodes(editor, block);
|
|
1710
1765
|
}
|
|
1711
1766
|
}
|
|
1712
1767
|
function applyTypograpyhVariant(editor, variant) {
|
|
1713
|
-
|
|
1768
|
+
applyProperties(editor, {
|
|
1714
1769
|
variant: variant
|
|
1715
|
-
}
|
|
1770
|
+
});
|
|
1771
|
+
}
|
|
1772
|
+
function applyColor(editor, color) {
|
|
1773
|
+
applyProperties(editor, {
|
|
1774
|
+
color: color
|
|
1775
|
+
});
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
function applyProperties(editor, properties) {
|
|
1779
|
+
Transforms.setNodes(editor, properties, {
|
|
1716
1780
|
mode: 'highest'
|
|
1717
1781
|
});
|
|
1718
|
-
|
|
1782
|
+
applyPropertiesToListItems(editor, properties);
|
|
1719
1783
|
}
|
|
1720
1784
|
|
|
1721
|
-
function
|
|
1785
|
+
function applyPropertiesToListItems(editor, properties) {
|
|
1722
1786
|
var lists = Editor.nodes(editor, {
|
|
1723
1787
|
match: function match(n) {
|
|
1724
1788
|
return listTypes.includes(n.type);
|
|
@@ -1748,9 +1812,7 @@ function applyTypograpyhVariantToListItems(editor, variant) {
|
|
|
1748
1812
|
var _step2$value = _slicedToArray(_step2.value, 2),
|
|
1749
1813
|
itemPath = _step2$value[1];
|
|
1750
1814
|
|
|
1751
|
-
Transforms.setNodes(editor, {
|
|
1752
|
-
variant: variant
|
|
1753
|
-
}, {
|
|
1815
|
+
Transforms.setNodes(editor, properties, {
|
|
1754
1816
|
at: itemPath
|
|
1755
1817
|
});
|
|
1756
1818
|
}
|
|
@@ -1767,16 +1829,24 @@ function applyTypograpyhVariantToListItems(editor, variant) {
|
|
|
1767
1829
|
}
|
|
1768
1830
|
}
|
|
1769
1831
|
|
|
1770
|
-
function
|
|
1832
|
+
function preserveColorAndTypograpyhVariant(editor) {
|
|
1771
1833
|
var nodeEntry = Editor.above(editor, {
|
|
1772
1834
|
at: Range.start(editor.selection),
|
|
1773
1835
|
match: function match(n) {
|
|
1774
1836
|
return !!n.type;
|
|
1775
1837
|
}
|
|
1776
1838
|
});
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1839
|
+
var result = {};
|
|
1840
|
+
|
|
1841
|
+
if (nodeEntry && nodeEntry[0].variant) {
|
|
1842
|
+
result.variant = nodeEntry[0].variant;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
if (nodeEntry && nodeEntry[0].color) {
|
|
1846
|
+
result.color = nodeEntry[0].color;
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
return result;
|
|
1780
1850
|
}
|
|
1781
1851
|
|
|
1782
1852
|
function withBlockNormalization(_ref, editor) {
|
|
@@ -2027,7 +2097,7 @@ function Selection(props) {
|
|
|
2027
2097
|
range = _useContentElementEdi.range;
|
|
2028
2098
|
|
|
2029
2099
|
useEffect(function () {
|
|
2030
|
-
var _getUniformSelectedNo;
|
|
2100
|
+
var _getUniformSelectedNo, _getUniformSelectedNo2;
|
|
2031
2101
|
|
|
2032
2102
|
var selection = editor.selection;
|
|
2033
2103
|
|
|
@@ -2084,7 +2154,8 @@ function Selection(props) {
|
|
|
2084
2154
|
setTransientState({
|
|
2085
2155
|
editableTextIsSingleBlock: editor.children.length <= 1,
|
|
2086
2156
|
exampleNode: getUniformSelectedNode(editor, 'type'),
|
|
2087
|
-
typographyVariant: (_getUniformSelectedNo = getUniformSelectedNode(editor, 'variant')) === null || _getUniformSelectedNo === void 0 ? void 0 : _getUniformSelectedNo.variant
|
|
2157
|
+
typographyVariant: (_getUniformSelectedNo = getUniformSelectedNode(editor, 'variant')) === null || _getUniformSelectedNo === void 0 ? void 0 : _getUniformSelectedNo.variant,
|
|
2158
|
+
color: (_getUniformSelectedNo2 = getUniformSelectedNode(editor, 'color')) === null || _getUniformSelectedNo2 === void 0 ? void 0 : _getUniformSelectedNo2.color
|
|
2088
2159
|
});
|
|
2089
2160
|
boundsRef.current = {
|
|
2090
2161
|
start: start,
|
|
@@ -2463,13 +2534,24 @@ var EditableText = React.memo(function EditableText(_ref) {
|
|
|
2463
2534
|
placeholder = _ref.placeholder,
|
|
2464
2535
|
onChange = _ref.onChange,
|
|
2465
2536
|
selectionRect = _ref.selectionRect,
|
|
2466
|
-
className = _ref.className
|
|
2537
|
+
className = _ref.className,
|
|
2538
|
+
placeholderClassName = _ref.placeholderClassName,
|
|
2539
|
+
_ref$scaleCategory = _ref.scaleCategory,
|
|
2540
|
+
scaleCategory = _ref$scaleCategory === void 0 ? 'body' : _ref$scaleCategory,
|
|
2541
|
+
autoFocus = _ref.autoFocus,
|
|
2542
|
+
_ref$floatingControls = _ref.floatingControlsPosition,
|
|
2543
|
+
floatingControlsPosition = _ref$floatingControls === void 0 ? 'below' : _ref$floatingControls;
|
|
2467
2544
|
var editor = useMemo(function () {
|
|
2468
2545
|
return withLinks(withCustomInsertBreak(withBlockNormalization({
|
|
2469
2546
|
onlyParagraphs: !selectionRect
|
|
2470
2547
|
}, withLineBreakNormalization(withReact(createEditor())))));
|
|
2471
2548
|
}, [selectionRect]);
|
|
2472
2549
|
var handleLineBreaks = useLineBreakHandler(editor);
|
|
2550
|
+
useEffect(function () {
|
|
2551
|
+
if (autoFocus) {
|
|
2552
|
+
ReactEditor.focus(editor);
|
|
2553
|
+
}
|
|
2554
|
+
}, [autoFocus, editor]);
|
|
2473
2555
|
|
|
2474
2556
|
var _useCachedValue = useCachedValue(value, {
|
|
2475
2557
|
defaultValue: [{
|
|
@@ -2495,8 +2577,14 @@ var EditableText = React.memo(function EditableText(_ref) {
|
|
|
2495
2577
|
Transforms.removeNodes(editor, {
|
|
2496
2578
|
mode: 'highest'
|
|
2497
2579
|
});
|
|
2498
|
-
} else if (command.type === 'TRANSIENT_STATE_UPDATE'
|
|
2499
|
-
|
|
2580
|
+
} else if (command.type === 'TRANSIENT_STATE_UPDATE') {
|
|
2581
|
+
if ('typographyVariant' in command.payload) {
|
|
2582
|
+
applyTypograpyhVariant(editor, command.payload.typographyVariant);
|
|
2583
|
+
}
|
|
2584
|
+
|
|
2585
|
+
if ('color' in command.payload) {
|
|
2586
|
+
applyColor(editor, command.payload.color);
|
|
2587
|
+
}
|
|
2500
2588
|
}
|
|
2501
2589
|
});
|
|
2502
2590
|
|
|
@@ -2506,7 +2594,7 @@ var EditableText = React.memo(function EditableText(_ref) {
|
|
|
2506
2594
|
ref = _useDropTargetsActive2[1];
|
|
2507
2595
|
|
|
2508
2596
|
return /*#__PURE__*/React.createElement(Text$1, {
|
|
2509
|
-
scaleCategory:
|
|
2597
|
+
scaleCategory: scaleCategory
|
|
2510
2598
|
}, /*#__PURE__*/React.createElement("div", {
|
|
2511
2599
|
className: classNames(styles$7.container, _defineProperty({}, styles$7.selected, isSelected)),
|
|
2512
2600
|
ref: ref
|
|
@@ -2515,12 +2603,15 @@ var EditableText = React.memo(function EditableText(_ref) {
|
|
|
2515
2603
|
value: cachedValue,
|
|
2516
2604
|
onChange: setCachedValue
|
|
2517
2605
|
}, /*#__PURE__*/React.createElement(LinkTooltipProvider, {
|
|
2518
|
-
editor: editor
|
|
2606
|
+
editor: editor,
|
|
2607
|
+
position: floatingControlsPosition
|
|
2519
2608
|
}, selectionRect && /*#__PURE__*/React.createElement(Selection, {
|
|
2520
2609
|
contentElementId: contentElementId
|
|
2521
2610
|
}), dropTargetsActive && /*#__PURE__*/React.createElement(DropTargets$1, {
|
|
2522
2611
|
contentElementId: contentElementId
|
|
2523
|
-
}), /*#__PURE__*/React.createElement(HoveringToolbar,
|
|
2612
|
+
}), /*#__PURE__*/React.createElement(HoveringToolbar, {
|
|
2613
|
+
position: floatingControlsPosition
|
|
2614
|
+
}), /*#__PURE__*/React.createElement(Editable, {
|
|
2524
2615
|
className: className,
|
|
2525
2616
|
decorate: decorateLineBreaks,
|
|
2526
2617
|
onKeyDown: handleLineBreaks,
|
|
@@ -2528,6 +2619,7 @@ var EditableText = React.memo(function EditableText(_ref) {
|
|
|
2528
2619
|
renderLeaf: renderLeafWithLineBreakDecoration
|
|
2529
2620
|
}))), /*#__PURE__*/React.createElement(TextPlaceholder, {
|
|
2530
2621
|
text: placeholder,
|
|
2622
|
+
className: placeholderClassName,
|
|
2531
2623
|
visible: isBlank(cachedValue)
|
|
2532
2624
|
})));
|
|
2533
2625
|
});
|
|
@@ -2679,6 +2771,55 @@ function renderLeaf(_ref2) {
|
|
|
2679
2771
|
return /*#__PURE__*/React.createElement("span", attributes, children);
|
|
2680
2772
|
}
|
|
2681
2773
|
|
|
2774
|
+
var styles$a = {"button":"ActionButton-module_button__8gy6J","position-outside":"ActionButton-module_position-outside__1E_lp","position-outsideIndented":"ActionButton-module_position-outsideIndented__3vf-7","position-inside":"ActionButton-module_position-inside__28_gp"};
|
|
2775
|
+
|
|
2776
|
+
function _extends$e() {
|
|
2777
|
+
_extends$e = Object.assign || function (target) {
|
|
2778
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
2779
|
+
var source = arguments[i];
|
|
2780
|
+
|
|
2781
|
+
for (var key in source) {
|
|
2782
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
2783
|
+
target[key] = source[key];
|
|
2784
|
+
}
|
|
2785
|
+
}
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2788
|
+
return target;
|
|
2789
|
+
};
|
|
2790
|
+
|
|
2791
|
+
return _extends$e.apply(this, arguments);
|
|
2792
|
+
}
|
|
2793
|
+
var pencil = (function (_ref) {
|
|
2794
|
+
var _ref$styles = _ref.styles,
|
|
2795
|
+
props = _objectWithoutProperties(_ref, ["styles"]);
|
|
2796
|
+
|
|
2797
|
+
return /*#__PURE__*/React.createElement("svg", _extends$e({
|
|
2798
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2799
|
+
viewBox: "0 0 512 512"
|
|
2800
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
2801
|
+
d: "M410.3 231l11.3-11.3-33.9-33.9-62.1-62.1-33.9-33.9-11.3 11.3-22.6 22.6L58.6 322.9c-10.4 10.4-18 23.3-22.2 37.4L1 480.7c-2.5 8.4-.2 17.5 6.1 23.7s15.3 8.5 23.7 6.1l120.3-35.4c14.1-4.2 27-11.8 37.4-22.2l199.2-199.2 22.6-22.7zM160 399.4l-9.1 22.7c-4 3.1-8.5 5.4-13.3 6.9l-78.2 23 23-78.1c1.4-4.9 3.8-9.4 6.9-13.3l22.7-9.1v32c0 8.8 7.2 16 16 16h32zM362.7 18.7l-14.4 14.5-22.6 22.6-11.4 11.3 33.9 33.9 62.1 62.1 33.9 33.9 11.3-11.3 22.6-22.6 14.5-14.5c25-25 25-65.5 0-90.5l-39.3-39.4c-25-25-65.5-25-90.5 0zm-47.4 168l-144 144c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l144-144c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"
|
|
2802
|
+
}));
|
|
2803
|
+
});
|
|
2804
|
+
|
|
2805
|
+
var icons = {
|
|
2806
|
+
pencil: pencil
|
|
2807
|
+
};
|
|
2808
|
+
function ActionButton(_ref) {
|
|
2809
|
+
var icon = _ref.icon,
|
|
2810
|
+
text = _ref.text,
|
|
2811
|
+
position = _ref.position,
|
|
2812
|
+
onClick = _ref.onClick;
|
|
2813
|
+
var Icon = icons[icon];
|
|
2814
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
2815
|
+
className: classNames(styles$a.button, styles$a["position-".concat(position)]),
|
|
2816
|
+
onClick: onClick
|
|
2817
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
2818
|
+
width: 15,
|
|
2819
|
+
height: 15
|
|
2820
|
+
}), text);
|
|
2821
|
+
}
|
|
2822
|
+
|
|
2682
2823
|
function PhonePlatformProvider(_ref) {
|
|
2683
2824
|
var children = _ref.children;
|
|
2684
2825
|
|
|
@@ -2709,4 +2850,4 @@ function PhonePlatformProvider(_ref) {
|
|
|
2709
2850
|
}, children);
|
|
2710
2851
|
}
|
|
2711
2852
|
|
|
2712
|
-
export { ContentDecorator, ContentElementDecorator, EditableInlineText, EditableText, LayoutWithPlaceholder, PhonePlatformProvider, SectionDecorator };
|
|
2853
|
+
export { ActionButton, ContentDecorator, ContentElementDecorator, EditableInlineText, EditableText, LayoutWithPlaceholder, PhonePlatformProvider, SectionDecorator };
|