@plone/volto 18.0.0-alpha.2 → 18.0.0-alpha.20
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.
- package/.eslintignore +1 -0
- package/.eslintrc +3 -3
- package/.prettierignore +8 -0
- package/.prettierrc +12 -0
- package/{packages/registry/.release-it.json → .release-it.json} +11 -6
- package/CHANGELOG.md +344 -6
- package/cypress/support/commands.js +51 -3
- package/jest-setup-afterenv.js +2 -0
- package/locales/ca/LC_MESSAGES/volto.po +959 -974
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +958 -971
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +956 -968
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +960 -976
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +958 -970
- package/locales/eu.json +1 -1
- package/locales/fi/LC_MESSAGES/volto.po +958 -976
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +961 -983
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +958 -970
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +957 -972
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +956 -983
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +957 -972
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +958 -974
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +957 -969
- package/locales/ro.json +1 -1
- package/locales/volto.pot +958 -974
- package/locales/zh_CN/LC_MESSAGES/volto.po +958 -970
- package/locales/zh_CN.json +1 -1
- package/package.json +99 -166
- package/razzle.config.js +18 -7
- package/src/actions/form/form.js +19 -0
- package/src/actions/form/form.test.js +14 -0
- package/src/actions/index.js +7 -1
- package/src/actions/sidebar/sidebar.js +45 -1
- package/src/actions/sidebar/sidebar.test.js +42 -2
- package/src/components/index.js +9 -14
- package/src/components/manage/Add/Add.jsx +69 -29
- package/src/components/manage/Add/Add.test.jsx +11 -13
- package/src/components/manage/Aliases/Aliases.jsx +14 -8
- package/src/components/manage/Aliases/Aliases.test.jsx +7 -7
- package/src/components/manage/BlockChooser/BlockChooser.jsx +3 -1
- package/src/components/manage/BlockChooser/BlockChooser.test.jsx +0 -1
- package/src/components/manage/BlockChooser/BlockChooserButton.jsx +11 -6
- package/src/components/manage/BlockChooser/BlockChooserSearch.test.jsx +0 -1
- package/src/components/manage/Blocks/Block/BlocksForm.jsx +4 -0
- package/src/components/manage/Blocks/Block/DefaultEdit.jsx +3 -1
- package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +16 -3
- package/src/components/manage/Blocks/Block/Settings.jsx +10 -1
- package/src/components/manage/Blocks/Block/Settings.test.jsx +0 -1
- package/src/components/manage/Blocks/Block/StyleWrapper.jsx +7 -1
- package/src/components/manage/Blocks/Container/Data.jsx +4 -1
- package/src/components/manage/Blocks/Container/NewBlockAddButton.jsx +20 -19
- package/src/components/manage/Blocks/Grid/View.jsx +2 -1
- package/src/components/manage/Blocks/Image/Edit.jsx +12 -12
- package/src/components/manage/Blocks/Image/ImageSidebar.jsx +7 -4
- package/src/components/manage/Blocks/Image/View.jsx +16 -15
- package/src/components/manage/Blocks/Image/View.test.jsx +0 -1
- package/src/components/manage/Blocks/Listing/ListingData.jsx +4 -1
- package/src/components/manage/Blocks/Listing/View.jsx +2 -1
- package/src/components/manage/Blocks/Listing/getAsyncData.js +23 -8
- package/src/components/manage/Blocks/Listing/withQuerystringResults.jsx +6 -6
- package/src/components/manage/Blocks/Maps/MapsSidebar.jsx +3 -1
- package/src/components/manage/Blocks/Search/SearchBlockEdit.jsx +12 -2
- package/src/components/manage/Blocks/Search/SelectStyling.jsx +2 -2
- package/src/components/manage/Blocks/Search/components/CheckboxFacet.jsx +2 -2
- package/src/components/manage/Blocks/Search/components/Facets.jsx +2 -2
- package/src/components/manage/Blocks/Search/components/SelectStyling.jsx +4 -4
- package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +48 -6
- package/src/components/manage/Blocks/Teaser/Data.jsx +4 -1
- package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +2 -2
- package/src/components/manage/Blocks/ToC/Edit.jsx +2 -0
- package/src/components/manage/Blocks/Video/Body.jsx +52 -22
- package/src/components/manage/Blocks/Video/Body.test.jsx +167 -0
- package/src/components/manage/Blocks/Video/VideoSidebar.jsx +3 -1
- package/src/components/manage/Contents/Contents.jsx +18 -18
- package/src/components/manage/Contents/Contents.test.jsx +7 -7
- package/src/components/manage/Contents/ContentsPropertiesModal.test.jsx +4 -4
- package/src/components/manage/Contents/ContentsUploadModal.jsx +31 -4
- package/src/components/manage/Controlpanels/AddonsControlpanel.jsx +6 -6
- package/src/components/manage/Controlpanels/AddonsControlpanel.test.jsx +6 -7
- package/src/components/manage/Controlpanels/Aliases.jsx +6 -6
- package/src/components/manage/Controlpanels/Aliases.test.jsx +6 -7
- package/src/components/manage/Controlpanels/ContentType.jsx +6 -6
- package/src/components/manage/Controlpanels/ContentType.test.jsx +7 -7
- package/src/components/manage/Controlpanels/ContentTypeLayout.jsx +93 -85
- package/src/components/manage/Controlpanels/ContentTypeLayout.test.jsx +7 -7
- package/src/components/manage/Controlpanels/ContentTypeSchema.jsx +6 -6
- package/src/components/manage/Controlpanels/ContentTypes.jsx +6 -6
- package/src/components/manage/Controlpanels/ContentTypes.test.jsx +7 -7
- package/src/components/manage/Controlpanels/Controlpanel.jsx +6 -6
- package/src/components/manage/Controlpanels/Controlpanel.test.jsx +7 -7
- package/src/components/manage/Controlpanels/Controlpanels.jsx +6 -6
- package/src/components/manage/Controlpanels/Controlpanels.test.jsx +10 -10
- package/src/components/manage/Controlpanels/DatabaseInformation.jsx +6 -6
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +43 -15
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.test.jsx +19 -7
- package/src/components/manage/Controlpanels/Groups/RenderGroups.jsx +22 -11
- package/src/components/manage/Controlpanels/Groups/RenderGroups.test.jsx +21 -0
- package/src/components/manage/Controlpanels/ModerateComments.jsx +6 -6
- package/src/components/manage/Controlpanels/ModerateComments.test.jsx +7 -7
- package/src/components/manage/Controlpanels/Relations/Relations.jsx +13 -7
- package/src/components/manage/Controlpanels/Rules/AddRule.jsx +6 -6
- package/src/components/manage/Controlpanels/Rules/AddRule.test.jsx +6 -7
- package/src/components/manage/Controlpanels/Rules/ConfigureRule.jsx +6 -6
- package/src/components/manage/Controlpanels/Rules/ConfigureRule.test.jsx +6 -7
- package/src/components/manage/Controlpanels/Rules/EditRule.jsx +6 -6
- package/src/components/manage/Controlpanels/Rules/EditRule.test.jsx +6 -7
- package/src/components/manage/Controlpanels/Rules/Rules.jsx +6 -6
- package/src/components/manage/Controlpanels/Rules/Rules.test.jsx +6 -7
- package/src/components/manage/Controlpanels/Rules/components/{VariableModal.test.jsx → VariableModal.test.jsx.removed} +6 -7
- package/src/components/manage/Controlpanels/UndoControlpanel.jsx +6 -6
- package/src/components/manage/Controlpanels/UndoControlpanel.test.jsx +7 -7
- package/src/components/manage/Controlpanels/UpgradeControlPanel.jsx +6 -6
- package/src/components/manage/Controlpanels/Users/RenderUsers.jsx +30 -21
- package/src/components/manage/Controlpanels/Users/RenderUsers.test.jsx +27 -1
- package/src/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.jsx +16 -10
- package/src/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.test.jsx +7 -7
- package/src/components/manage/Controlpanels/Users/UserGroupMembershipListing.jsx +29 -7
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +59 -11
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.test.jsx +15 -7
- package/src/components/manage/Delete/Delete.jsx +6 -6
- package/src/components/manage/Delete/Delete.test.jsx +10 -10
- package/src/components/manage/Diff/Diff.jsx +6 -6
- package/src/components/manage/Diff/Diff.test.jsx +2 -3
- package/src/components/manage/Display/Display.jsx +2 -2
- package/src/components/manage/Edit/Edit.jsx +39 -12
- package/src/components/manage/Edit/Edit.test.jsx +14 -10
- package/src/components/manage/Form/BlockDataForm.test.jsx +0 -1
- package/src/components/manage/Form/Form.jsx +291 -123
- package/src/components/manage/Form/Form.test.jsx +7 -0
- package/src/components/manage/Form/ModalForm.test.jsx +0 -1
- package/src/components/manage/History/History.jsx +6 -6
- package/src/components/manage/History/History.test.jsx +14 -13
- package/src/components/manage/LinksToItem/LinksToItem.jsx +91 -42
- package/src/components/manage/LinksToItem/LinksToItem.test.jsx +20 -8
- package/src/components/manage/Multilingual/ManageTranslations.jsx +13 -7
- package/src/components/manage/Multilingual/ManageTranslations.test.jsx +6 -7
- package/src/components/manage/Multilingual/TranslationObject.jsx +0 -1
- package/src/components/manage/Preferences/ChangePassword.jsx +6 -6
- package/src/components/manage/Preferences/ChangePassword.test.jsx +13 -7
- package/src/components/manage/Preferences/PersonalInformation.test.jsx +15 -3
- package/src/components/manage/Preferences/PersonalPreferences.test.jsx +8 -3
- package/src/components/manage/Rules/Rules.jsx +6 -6
- package/src/components/manage/Rules/Rules.test.jsx +7 -7
- package/src/components/manage/Sharing/Sharing.jsx +6 -6
- package/src/components/manage/Sharing/Sharing.test.jsx +7 -7
- package/src/components/manage/Sidebar/ObjectBrowser.jsx +1 -1
- package/src/components/manage/Sidebar/ObjectBrowserBody.jsx +40 -19
- package/src/components/manage/Sidebar/Sidebar.jsx +2 -0
- package/src/components/manage/Sidebar/SidebarPopup.jsx +29 -22
- package/src/components/manage/Sidebar/SidebarPortal.jsx +8 -7
- package/src/components/manage/Toolbar/Toolbar.jsx +35 -2
- package/src/components/manage/Widgets/ArrayWidget.jsx +24 -22
- package/src/components/manage/Widgets/ColorPickerWidget.stories.tsx +48 -0
- package/src/components/manage/Widgets/{ColorPickerWidget.jsx → ColorPickerWidget.tsx} +40 -23
- package/src/components/manage/Widgets/FileWidget.jsx +3 -3
- package/src/components/manage/Widgets/IdWidget.jsx +8 -3
- package/src/components/manage/Widgets/IdWidget.stories.jsx +15 -2
- package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +13 -3
- package/src/components/manage/Widgets/ObjectBrowserWidget.test.jsx +4 -4
- package/src/components/manage/Widgets/ObjectListWidget.test.js +0 -1
- package/src/components/manage/Widgets/ObjectWidget.test.jsx +0 -1
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +3 -3
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.test.jsx +1 -1
- package/src/components/manage/Widgets/ReferenceWidget.jsx +2 -2
- package/src/components/manage/Widgets/SchemaWidget.test.jsx +4 -4
- package/src/components/manage/Widgets/SchemaWidgetFieldset.test.jsx +5 -5
- package/src/components/manage/Widgets/SelectAutoComplete.jsx +6 -6
- package/src/components/manage/Widgets/SelectStyling.jsx +4 -4
- package/src/components/manage/Widgets/SelectUtils.js +2 -2
- package/src/components/manage/Widgets/UrlWidget.test.jsx +4 -4
- package/src/components/manage/Widgets/VocabularyTermsWidget.test.jsx +4 -4
- package/src/components/manage/Widgets/WysiwygWidget.jsx +2 -350
- package/src/components/manage/Workflow/Workflow.jsx +2 -2
- package/src/components/theme/App/App.jsx +1 -0
- package/src/components/theme/AppExtras/AppExtras.jsx +2 -0
- package/src/components/theme/AppExtras/AppExtras.test.jsx +20 -0
- package/src/components/theme/Breadcrumbs/Breadcrumbs.jsx +19 -2
- package/src/components/theme/Comments/CommentEditModal.jsx +1 -0
- package/src/components/theme/Comments/Comments.jsx +7 -8
- package/src/components/theme/Comments/Comments.test.jsx +7 -0
- package/src/components/theme/Component/Component.test.jsx +0 -1
- package/src/components/theme/ContactForm/ContactForm.jsx +6 -6
- package/src/components/theme/ContactForm/ContactForm.test.jsx +12 -10
- package/src/components/theme/ContentMetadataTags/ContentMetadataTags.jsx +46 -39
- package/src/components/theme/Footer/Footer.test.jsx +0 -1
- package/src/components/theme/Image/Image.jsx +4 -2
- package/src/components/theme/Image/Image.test.jsx +32 -0
- package/src/components/theme/Login/Login.jsx +12 -2
- package/src/components/theme/Logo/Logo.Multilingual.test.jsx +3 -1
- package/src/components/theme/Logo/Logo.jsx +18 -12
- package/src/components/theme/Logo/Logo.test.jsx +4 -1
- package/src/components/theme/Logout/Logout.test.jsx +8 -5
- package/src/components/theme/Navigation/Navigation.jsx +34 -32
- package/src/components/theme/PasswordReset/PasswordReset.test.jsx +7 -0
- package/src/components/theme/PasswordReset/RequestPasswordReset.test.jsx +7 -0
- package/src/components/theme/PreviewImage/PreviewImage.jsx +7 -2
- package/src/components/theme/Register/Register.test.jsx +7 -0
- package/src/components/theme/Search/Search.jsx +6 -6
- package/src/components/theme/Search/Search.test.jsx +13 -10
- package/src/components/theme/Sitemap/Sitemap.jsx +4 -4
- package/src/components/theme/Sitemap/Sitemap.test.jsx +52 -0
- package/src/components/theme/SlotRenderer/SlotRenderer.test.jsx +55 -0
- package/src/components/theme/SlotRenderer/SlotRenderer.tsx +61 -0
- package/src/components/theme/Unauthorized/Unauthorized.jsx +12 -11
- package/src/components/theme/View/View.jsx +9 -6
- package/src/components/theme/View/View.test.jsx +28 -18
- package/src/components/theme/Widgets/BooleanWidget.jsx +2 -2
- package/src/config/Blocks.jsx +64 -68
- package/src/config/Loadables.jsx +0 -22
- package/src/config/Views.jsx +2 -2
- package/src/config/Widgets.jsx +7 -8
- package/src/config/index.js +3 -18
- package/src/constants/ActionTypes.js +4 -0
- package/src/helpers/AsyncConnect/AsyncConnect.test.js +0 -2
- package/src/helpers/Blocks/Blocks.js +100 -25
- package/src/helpers/Blocks/Blocks.test.js +77 -0
- package/src/helpers/Blocks/defaultBlocks.test.js +39 -0
- package/src/helpers/Blocks/defaultBlocks.ts +39 -0
- package/src/helpers/Extensions/withBlockSchemaEnhancer.js +23 -10
- package/src/helpers/FormValidation/FormValidation.js +1 -1
- package/src/helpers/Html/Html.jsx +2 -2
- package/src/helpers/Slots/index.tsx +12 -0
- package/src/helpers/Url/Url.js +5 -4
- package/src/helpers/Url/Url.test.js +52 -0
- package/src/helpers/User/User.js +29 -0
- package/src/helpers/Utils/Date.js +6 -6
- package/src/helpers/Utils/UseDetectClickOutside.stories.jsx +8 -8
- package/src/helpers/Utils/Utils.js +2 -2
- package/src/helpers/index.js +13 -1
- package/src/icons/divide-horizontal.svg +0 -0
- package/src/icons/divide-vertical.svg +0 -0
- package/src/icons/hero.svg +0 -0
- package/src/icons/slider.svg +0 -0
- package/src/icons/summary.svg +0 -0
- package/src/middleware/api.js +1 -1
- package/src/reducers/form/form.js +15 -3
- package/src/reducers/form/form.test.js +13 -1
- package/src/reducers/sidebar/sidebar.js +26 -1
- package/src/reducers/sidebar/sidebar.test.js +50 -1
- package/src/server.jsx +1 -1
- package/src/start-client.jsx +3 -3
- package/src/store.js +1 -1
- package/test-setup-config.js +1 -30
- package/theme/themes/default/elements/icon.overrides +0 -0
- package/theme/themes/default/elements/step.overrides +2 -2
- package/theme/themes/default/globals/reset.overrides +0 -0
- package/theme/themes/default/globals/site.variables +0 -0
- package/theme/themes/default/modules/dropdown.overrides +0 -0
- package/theme/themes/default/modules/dropdown.variables +0 -0
- package/theme/themes/default/modules/modal.variables +0 -0
- package/theme/themes/default/modules/video.overrides +0 -0
- package/theme/themes/default/modules/video.variables +0 -0
- package/theme/themes/pastanaga/assets/fonts/icons.eot +0 -0
- package/theme/themes/pastanaga/assets/fonts/icons.svg +0 -0
- package/theme/themes/pastanaga/assets/fonts/icons.ttf +0 -0
- package/theme/themes/pastanaga/assets/fonts/icons.woff +0 -0
- package/theme/themes/pastanaga/elements/step.overrides +1 -1
- package/theme/themes/pastanaga/extras/blocks.less +9 -0
- package/theme/themes/pastanaga/extras/contents.less +11 -7
- package/theme/themes/pastanaga/extras/sidebar.less +2 -1
- package/theme/themes/pastanaga/extras/toolbar.less +4 -4
- package/theme/themes/pastanaga/globals/reset.overrides +0 -0
- package/theme/themes/pastanaga/globals/site.variables +0 -0
- package/theme/themes/pastanaga/modules/dropdown.variables +0 -0
- package/theme/themes/pastanaga/modules/modal.variables +0 -0
- package/theme/themes/pastanaga/modules/video.overrides +0 -0
- package/theme/themes/pastanaga/modules/video.variables +0 -0
- package/tsconfig.declarations.json +17 -0
- package/tsconfig.json +1 -4
- package/types/actions/authRole/authRole.d.ts +1 -1
- package/types/actions/comments/comments.d.ts +1 -1
- package/types/actions/content/content.d.ts +1 -1
- package/types/actions/controlpanels/controlpanels.d.ts +2 -2
- package/types/actions/form/form.d.ts +7 -0
- package/types/actions/form/form.test.d.ts +1 -0
- package/types/actions/index.d.ts +37 -0
- package/types/actions/sidebar/sidebar.d.ts +21 -0
- package/types/actions/upgrade/upgrade.d.ts +2 -2
- package/types/components/index.d.ts +174 -0
- package/types/components/manage/Actions/Actions.d.ts +1 -1
- package/types/components/manage/Add/Add.d.ts +1 -3
- package/types/components/manage/AnchorPlugin/components/Link/index.d.ts +1 -1
- package/types/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.d.ts +3 -2
- package/types/components/manage/BlockChooser/BlockChooser.d.ts +2 -1
- package/types/components/manage/BlockChooser/BlockChooserButton.d.ts +2 -2
- package/types/components/manage/BlockChooser/BlockChooserSearch.d.ts +1 -1
- package/types/components/manage/Blocks/Block/BlocksForm.d.ts +1 -1
- package/types/components/manage/Blocks/Block/DefaultEdit.d.ts +1 -1
- package/types/components/manage/Blocks/Block/DefaultView.d.ts +1 -1
- package/types/components/manage/Blocks/Block/Edit.d.ts +4 -6
- package/types/components/manage/Blocks/Block/EditBlockWrapper.d.ts +3 -2
- package/types/components/manage/Blocks/Block/Settings.d.ts +3 -2
- package/types/components/manage/Blocks/Block/Style.d.ts +1 -1
- package/types/components/manage/Blocks/Container/Data.d.ts +1 -1
- package/types/components/manage/Blocks/Container/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Container/EditBlockWrapper.d.ts +1 -1
- package/types/components/manage/Blocks/Container/NewBlockAddButton.d.ts +1 -1
- package/types/components/manage/Blocks/Container/SimpleContainerToolbar.d.ts +1 -1
- package/types/components/manage/Blocks/Description/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Description/View.d.ts +1 -1
- package/types/components/manage/Blocks/Grid/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Grid/View.d.ts +1 -1
- package/types/components/manage/Blocks/Grid/templates.d.ts +1 -1
- package/types/components/manage/Blocks/HTML/View.d.ts +1 -1
- package/types/components/manage/Blocks/HeroImageLeft/Data.d.ts +1 -1
- package/types/components/manage/Blocks/HeroImageLeft/View.d.ts +1 -1
- package/types/components/manage/Blocks/Image/Edit.d.ts +1 -3
- package/types/components/manage/Blocks/Image/ImageSidebar.d.ts +1 -1
- package/types/components/manage/Blocks/Image/LayoutSchema.d.ts +36 -1
- package/types/components/manage/Blocks/Image/View.d.ts +4 -3
- package/types/components/manage/Blocks/Image/schema.d.ts +1 -1
- package/types/components/manage/Blocks/LeadImage/Edit.d.ts +3 -2
- package/types/components/manage/Blocks/LeadImage/LeadImageSidebar.d.ts +5 -4
- package/types/components/manage/Blocks/LeadImage/View.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/DefaultNoResultsComponent.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/DefaultTemplate.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/GalleryNoResultsComponent.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/ImageGallery.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/ListingBody.d.ts +3 -2
- package/types/components/manage/Blocks/Listing/ListingData.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/SummaryTemplate.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/View.d.ts +1 -1
- package/types/components/manage/Blocks/Listing/getAsyncData.d.ts +1 -7
- package/types/components/manage/Blocks/Maps/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Maps/MapsSidebar.d.ts +1 -1
- package/types/components/manage/Blocks/Maps/View.d.ts +1 -3
- package/types/components/manage/Blocks/Search/SearchBlockEdit.d.ts +1 -1
- package/types/components/manage/Blocks/Search/SearchBlockView.d.ts +2 -2
- package/types/components/manage/Blocks/Search/components/CheckboxFacet.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/DateRangeFacetFilterListEntry.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/Facets.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/FilterList.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/SearchDetails.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/SearchInput.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/SelectFacetFilterListEntry.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/SortOn.d.ts +1 -3
- package/types/components/manage/Blocks/Search/components/ToggleFacet.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/ToggleFacetFilterListEntry.d.ts +1 -1
- package/types/components/manage/Blocks/Search/components/ViewSwitcher.d.ts +1 -3
- package/types/components/manage/Blocks/Search/hocs/withQueryString.d.ts +1 -1
- package/types/components/manage/Blocks/Search/hocs/withSearch.d.ts +1 -1
- package/types/components/manage/Blocks/Search/layout/LeftColumnFacets.d.ts +1 -1
- package/types/components/manage/Blocks/Search/layout/RightColumnFacets.d.ts +1 -1
- package/types/components/manage/Blocks/Search/layout/TopSideFacets.d.ts +1 -1
- package/types/components/manage/Blocks/Search/schema.d.ts +1 -1
- package/types/components/manage/Blocks/Search/widgets/SelectMetadataField.d.ts +1 -1
- package/types/components/manage/Blocks/Table/Cell.d.ts +1 -1
- package/types/components/manage/Blocks/Table/View.d.ts +1 -1
- package/types/components/manage/Blocks/Teaser/Body.d.ts +1 -1
- package/types/components/manage/Blocks/Teaser/Data.d.ts +1 -1
- package/types/components/manage/Blocks/Teaser/DefaultBody.d.ts +1 -1
- package/types/components/manage/Blocks/Teaser/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Teaser/View.d.ts +1 -1
- package/types/components/manage/Blocks/Text/Edit.d.ts +4 -6
- package/types/components/manage/Blocks/Text/Schema.d.ts +36 -1
- package/types/components/manage/Blocks/Title/Edit.d.ts +1 -1
- package/types/components/manage/Blocks/Title/View.d.ts +1 -1
- package/types/components/manage/Blocks/ToC/Edit.d.ts +3 -3
- package/types/components/manage/Blocks/ToC/View.d.ts +3 -2
- package/types/components/manage/Blocks/ToC/variations/DefaultTocRenderer.d.ts +3 -2
- package/types/components/manage/Blocks/ToC/variations/HorizontalMenu.d.ts +3 -2
- package/types/components/manage/Blocks/Video/Body.d.ts +6 -1
- package/types/components/manage/Blocks/Video/Body.test.d.ts +1 -0
- package/types/components/manage/Blocks/Video/Edit.d.ts +1 -3
- package/types/components/manage/Blocks/Video/VideoSidebar.d.ts +1 -1
- package/types/components/manage/Blocks/Video/View.d.ts +1 -1
- package/types/components/manage/Contents/Contents.d.ts +2 -6
- package/types/components/manage/Contents/ContentsBreadcrumbs.d.ts +1 -1
- package/types/components/manage/Contents/ContentsBreadcrumbsHomeItem.d.ts +1 -1
- package/types/components/manage/Contents/ContentsBreadcrumbsRootItem.d.ts +1 -1
- package/types/components/manage/Contents/ContentsPropertiesModal.d.ts +1 -1
- package/types/components/manage/Contents/ContentsRenameModal.d.ts +1 -1
- package/types/components/manage/Contents/ContentsRenameModal.stories.d.ts +1 -1
- package/types/components/manage/Contents/ContentsTagsModal.d.ts +1 -1
- package/types/components/manage/Contents/ContentsTagsModal.stories.d.ts +1 -2
- package/types/components/manage/Contents/ContentsWorkflowModal.d.ts +1 -1
- package/types/components/manage/Contents/circle.d.ts +1 -1
- package/types/components/manage/Controlpanels/ContentTypesActions.d.ts +3 -2
- package/types/components/manage/Controlpanels/Controlpanel.d.ts +3 -2
- package/types/components/manage/Controlpanels/Controlpanels.d.ts +1 -16
- package/types/components/manage/Controlpanels/Groups/RenderGroups.d.ts +3 -2
- package/types/components/manage/Controlpanels/Relations/BrokenRelations.d.ts +1 -1
- package/types/components/manage/Controlpanels/Relations/Relations.d.ts +1 -1
- package/types/components/manage/Controlpanels/Relations/RelationsListing.d.ts +1 -1
- package/types/components/manage/Controlpanels/Relations/RelationsMatrix.d.ts +41 -1
- package/types/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.d.ts +1 -1
- package/types/components/manage/Controlpanels/Users/UserGroupMembershipListing.d.ts +1 -1
- package/types/components/manage/Controlpanels/Users/UserGroupMembershipMatrix.d.ts +1 -1
- package/types/components/manage/Controlpanels/VersionOverview.d.ts +1 -1
- package/types/components/manage/Delete/Delete.d.ts +1 -1
- package/types/components/manage/Display/Display.d.ts +1 -3
- package/types/components/manage/Edit/Edit.d.ts +1 -3
- package/types/components/manage/Form/BlockDataForm.d.ts +1 -1
- package/types/components/manage/Form/BlocksToolbar.d.ts +3 -2
- package/types/components/manage/Form/Field.d.ts +3 -2
- package/types/components/manage/Form/Form.d.ts +1 -3
- package/types/components/manage/Form/InlineForm.d.ts +3 -2
- package/types/components/manage/Form/ModalForm.d.ts +3 -2
- package/types/components/manage/Form/UndoToolbar.d.ts +1 -1
- package/types/components/manage/History/History.d.ts +1 -3
- package/types/components/manage/LinkDetectionPlugin/link-detection-plugin.d.ts +1 -1
- package/types/components/manage/LinkMore/LinkMore.d.ts +1 -1
- package/types/components/manage/LinksToItem/LinksToItem.d.ts +3 -2
- package/types/components/manage/Messages/Messages.d.ts +1 -1
- package/types/components/manage/Multilingual/CompareLanguages.d.ts +2 -1
- package/types/components/manage/Multilingual/CreateTranslation.d.ts +1 -1
- package/types/components/manage/Multilingual/ManageTranslations.d.ts +41 -1
- package/types/components/manage/Multilingual/TranslationObject.d.ts +1 -1
- package/types/components/manage/Pluggable/Pluggable.stories.d.ts +4 -4
- package/types/components/manage/Pluggable/index.d.ts +26 -7
- package/types/components/manage/Sidebar/AlignBlock.d.ts +1 -1
- package/types/components/manage/Sidebar/ObjectBrowser.d.ts +24 -3
- package/types/components/manage/Sidebar/ObjectBrowserNav.d.ts +1 -1
- package/types/components/manage/Sidebar/Sidebar.d.ts +2 -1
- package/types/components/manage/Sidebar/SidebarPopup.d.ts +1 -1
- package/types/components/manage/Sidebar/SidebarPortal.d.ts +3 -2
- package/types/components/manage/TemplateChooser/TemplateChooser.d.ts +1 -1
- package/types/components/manage/TextLineEdit/TextLineEdit.d.ts +1 -1
- package/types/components/manage/TextLineEdit/TextLineEdit.stories.d.ts +1 -1
- package/types/components/manage/Toast/Toast.d.ts +1 -1
- package/types/components/manage/Toolbar/More.d.ts +3 -2
- package/types/components/manage/Toolbar/PersonalTools.d.ts +1 -1
- package/types/components/manage/Toolbar/StandardWrapper.d.ts +1 -1
- package/types/components/manage/Toolbar/Stats.d.ts +1 -1
- package/types/components/manage/Toolbar/Types.d.ts +1 -20
- package/types/components/manage/UniversalLink/UniversalLink.d.ts +1 -1
- package/types/components/manage/Widgets/AlignWidget.d.ts +1 -1
- package/types/components/manage/Widgets/AlignWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/ArrayWidget.d.ts +4 -5
- package/types/components/manage/Widgets/ArrayWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/ButtonsWidget.d.ts +1 -1
- package/types/components/manage/Widgets/ButtonsWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/CheckboxWidget.d.ts +3 -2
- package/types/components/manage/Widgets/CheckboxWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/ColorPickerWidget.d.ts +21 -21
- package/types/components/manage/Widgets/ColorPickerWidget.stories.d.ts +7 -8
- package/types/components/manage/Widgets/DatetimeWidget.d.ts +3 -3
- package/types/components/manage/Widgets/DatetimeWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/EmailWidget.d.ts +1 -1
- package/types/components/manage/Widgets/EmailWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/FileWidget.d.ts +3 -2
- package/types/components/manage/Widgets/FileWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/FormFieldWrapper.d.ts +3 -2
- package/types/components/manage/Widgets/FormFieldWrapper.stories.d.ts +1 -1
- package/types/components/manage/Widgets/IdWidget.stories.d.ts +3 -2
- package/types/components/manage/Widgets/ImageSizeWidget.d.ts +3 -2
- package/types/components/manage/Widgets/ImageSizeWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/InternalUrlWidget.d.ts +42 -2
- package/types/components/manage/Widgets/InternalUrlWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/NumberWidget.d.ts +3 -2
- package/types/components/manage/Widgets/NumberWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/ObjectBrowserWidget.d.ts +10 -10
- package/types/components/manage/Widgets/ObjectBrowserWidget.stories.d.ts +7 -7
- package/types/components/manage/Widgets/ObjectListWidget.d.ts +1 -1
- package/types/components/manage/Widgets/ObjectListWidget.stories.d.ts +2 -2
- package/types/components/manage/Widgets/ObjectWidget.d.ts +1 -1
- package/types/components/manage/Widgets/ObjectWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/PasswordWidget.d.ts +3 -2
- package/types/components/manage/Widgets/PasswordWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/QueryWidget.d.ts +3 -5
- package/types/components/manage/Widgets/QueryWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/QuerystringWidget.d.ts +1 -1
- package/types/components/manage/Widgets/RecurrenceWidget/ByMonthDayField.d.ts +17 -2
- package/types/components/manage/Widgets/RecurrenceWidget/ByMonthField.d.ts +21 -2
- package/types/components/manage/Widgets/RecurrenceWidget/ByYearField.d.ts +23 -2
- package/types/components/manage/Widgets/RecurrenceWidget/EndField.d.ts +17 -2
- package/types/components/manage/Widgets/RecurrenceWidget/Occurences.d.ts +3 -2
- package/types/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField.d.ts +3 -2
- package/types/components/manage/Widgets/RegistryImageWidget.d.ts +3 -2
- package/types/components/manage/Widgets/SchemaWidget.d.ts +1 -3
- package/types/components/manage/Widgets/SelectAutoComplete.d.ts +4 -5
- package/types/components/manage/Widgets/SelectAutocompleteWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/SelectStyling.d.ts +1 -1
- package/types/components/manage/Widgets/SelectWidget.d.ts +3 -2
- package/types/components/manage/Widgets/SelectWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/TextWidget.d.ts +3 -2
- package/types/components/manage/Widgets/TextWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/TextareaWidget.d.ts +3 -2
- package/types/components/manage/Widgets/TextareaWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/TokenWidget.d.ts +1 -3
- package/types/components/manage/Widgets/TokenWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/UrlWidget.d.ts +42 -2
- package/types/components/manage/Widgets/UrlWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/VocabularyTermsWidget.d.ts +1 -1
- package/types/components/manage/Widgets/VocabularyTermsWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/WysiwygWidget.d.ts +1 -5
- package/types/components/manage/Widgets/WysiwygWidget.stories.d.ts +1 -1
- package/types/components/manage/Widgets/story.d.ts +1 -1
- package/types/components/theme/Anontools/Anontools.d.ts +1 -1
- package/types/components/theme/App/App.d.ts +4 -4
- package/types/components/theme/AppExtras/AppExtras.d.ts +1 -1
- package/types/components/theme/Avatar/Avatar.d.ts +1 -1
- package/types/components/theme/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/types/components/theme/Breadcrumbs/Breadcrumbs.stories.d.ts +3 -2
- package/types/components/theme/Comments/Comment.stories.d.ts +1 -1
- package/types/components/theme/Comments/CommentEditModal.d.ts +1 -1
- package/types/components/theme/Comments/CommentEditModal.stories.d.ts +1 -1
- package/types/components/theme/Component/Component.d.ts +1 -1
- package/types/components/theme/ConnectionRefused/ConnectionRefused.d.ts +1 -1
- package/types/components/theme/ContactForm/ContactForm.d.ts +1 -1
- package/types/components/theme/ContactForm/ContactForm.stories.d.ts +1 -1
- package/types/components/theme/ContentMetadataTags/ContentMetadataTags.d.ts +1 -1
- package/types/components/theme/Error/ErrorBoundary.d.ts +2 -1
- package/types/components/theme/Error/ServerError.d.ts +1 -1
- package/types/components/theme/EventDetails/EventDetails.d.ts +1 -1
- package/types/components/theme/EventDetails/EventDetails.stories.d.ts +1 -1
- package/types/components/theme/Footer/Footer.d.ts +3 -2
- package/types/components/theme/Forbidden/Forbidden.d.ts +1 -1
- package/types/components/theme/FormattedDate/FormattedDate.d.ts +1 -1
- package/types/components/theme/FormattedDate/FormattedDate.stories.d.ts +1 -1
- package/types/components/theme/FormattedDate/FormattedRelativeDate.d.ts +1 -1
- package/types/components/theme/FormattedDate/FormattedRelativeDate.stories.d.ts +1 -1
- package/types/components/theme/Header/Header.d.ts +1 -1
- package/types/components/theme/Header/Header.stories.d.ts +1 -1
- package/types/components/theme/Image/Image.d.ts +1 -1
- package/types/components/theme/LanguageSelector/LanguageSelector.d.ts +1 -1
- package/types/components/theme/Login/Login.d.ts +1 -1
- package/types/components/theme/Login/Login.stories.d.ts +1 -1
- package/types/components/theme/Logo/Logo.stories.d.ts +1 -1
- package/types/components/theme/Logout/Logout.d.ts +1 -1
- package/types/components/theme/MultilingualRedirector/MultilingualRedirector.d.ts +1 -1
- package/types/components/theme/Navigation/ContextNavigation.d.ts +1 -1
- package/types/components/theme/Navigation/ContextNavigation.stories.d.ts +2 -2
- package/types/components/theme/Navigation/NavItem.d.ts +1 -1
- package/types/components/theme/Navigation/NavItems.d.ts +1 -1
- package/types/components/theme/Navigation/Navigation.d.ts +1 -1
- package/types/components/theme/Navigation/withContentNavigation.d.ts +1 -1
- package/types/components/theme/NotFound/NotFound.d.ts +1 -1
- package/types/components/theme/OutdatedBrowser/OutdatedBrowser.d.ts +1 -1
- package/types/components/theme/Pagination/Pagination.d.ts +3 -2
- package/types/components/theme/PasswordReset/RequestPasswordReset.d.ts +1 -1
- package/types/components/theme/Popup/Popup.d.ts +1 -1
- package/types/components/theme/PreviewImage/PreviewImage.d.ts +1 -1
- package/types/components/theme/Search/Search.d.ts +1 -3
- package/types/components/theme/Search/SearchTags.d.ts +1 -1
- package/types/components/theme/SearchWidget/SearchWidget.d.ts +1 -1
- package/types/components/theme/SearchWidget/SearchWidget.stories.d.ts +1 -1
- package/types/components/theme/Sitemap/Sitemap.d.ts +1 -3
- package/types/components/theme/SkipLinks/SkipLinks.d.ts +1 -1
- package/types/components/theme/SlotRenderer/SlotRenderer.d.ts +7 -0
- package/types/components/theme/SlotRenderer/SlotRenderer.test.d.ts +1 -0
- package/types/components/theme/TsTest/TsTest.d.ts +10 -0
- package/types/components/theme/TsTest/TsTest.test.d.ts +1 -0
- package/types/components/theme/Unauthorized/Unauthorized.d.ts +1 -1
- package/types/components/theme/View/AlbumView.d.ts +3 -2
- package/types/components/theme/View/DefaultView.d.ts +3 -2
- package/types/components/theme/View/EventDatesInfo.d.ts +1 -1
- package/types/components/theme/View/LinkView.d.ts +1 -1
- package/types/components/theme/View/RenderBlocks.d.ts +1 -1
- package/types/components/theme/Widgets/ArrayWidget.d.ts +1 -1
- package/types/components/theme/Widgets/BooleanWidget.d.ts +15 -2
- package/types/components/theme/Widgets/DateWidget.d.ts +1 -1
- package/types/components/theme/Widgets/DatetimeWidget.d.ts +1 -1
- package/types/components/theme/Widgets/DescriptionWidget.d.ts +1 -1
- package/types/components/theme/Widgets/EmailWidget.d.ts +1 -1
- package/types/components/theme/Widgets/FileWidget.d.ts +1 -1
- package/types/components/theme/Widgets/ImageWidget.d.ts +1 -1
- package/types/components/theme/Widgets/PasswordWidget.d.ts +1 -1
- package/types/components/theme/Widgets/RelationWidget.d.ts +1 -1
- package/types/components/theme/Widgets/RelationsWidget.d.ts +1 -1
- package/types/components/theme/Widgets/RichTextWidget.d.ts +1 -1
- package/types/components/theme/Widgets/SelectWidget.d.ts +1 -1
- package/types/components/theme/Widgets/TextWidget.d.ts +1 -1
- package/types/components/theme/Widgets/TitleWidget.d.ts +1 -1
- package/types/components/theme/Widgets/TokenWidget.d.ts +1 -1
- package/types/components/theme/Widgets/UrlWidget.d.ts +1 -1
- package/types/config/Blocks.d.ts +2 -34
- package/types/config/Components.d.ts +3 -0
- package/types/config/ContentIcons.d.ts +7 -7
- package/types/config/ControlPanels.d.ts +21 -21
- package/types/config/Loadables.d.ts +0 -10
- package/types/config/RichTextEditor/ToHTML.d.ts +10 -10
- package/types/config/Views.d.ts +40 -11
- package/types/config/Widgets.d.ts +54 -4
- package/types/constants/ActionTypes.d.ts +4 -0
- package/types/error.d.ts +3 -2
- package/types/helpers/AsyncConnect/AsyncConnect.d.ts +4 -4
- package/types/helpers/AsyncConnect/index.d.ts +2 -2
- package/types/helpers/Blocks/Blocks.d.ts +3 -1
- package/types/helpers/Blocks/defaultBlocks.d.ts +2 -0
- package/types/helpers/Blocks/defaultBlocks.test.d.ts +1 -0
- package/types/helpers/Extensions/withBlockExtensions.d.ts +1 -1
- package/types/helpers/Extensions/withBlockSchemaEnhancer.d.ts +7 -5
- package/types/helpers/FormValidation/FormValidation.d.ts +1 -0
- package/types/helpers/Helmet/Helmet.d.ts +68 -2
- package/types/helpers/Html/Html.d.ts +2 -2
- package/types/helpers/Loadable/__mocks__/Loadable.d.ts +2 -2
- package/types/helpers/MessageLabels/MessageLabels.d.ts +1 -540
- package/types/helpers/ScrollToTop/ScrollToTop.d.ts +1 -1
- package/types/helpers/Slots/index.d.ts +7 -0
- package/types/helpers/UndoManager/useUndoManager.d.ts +4 -4
- package/types/helpers/Url/Url.d.ts +1 -1
- package/types/helpers/User/User.d.ts +18 -0
- package/types/helpers/Utils/UseDetectClickOutside.stories.d.ts +2 -2
- package/types/helpers/Utils/Utils.d.ts +1 -1
- package/types/helpers/Utils/usePagination.d.ts +1 -1
- package/types/helpers/Utils/usePrevious.d.ts +1 -1
- package/types/helpers/index.d.ts +16 -2
- package/types/hooks/index.d.ts +2 -1
- package/types/icons/load-icons.d.ts +1 -1
- package/types/middleware/index.d.ts +2 -0
- package/types/reducers/form/form.d.ts +1 -1
- package/types/reducers/index.d.ts +40 -0
- package/types/registry.d.ts +1 -0
- package/types/routes.d.ts +31 -3
- package/types/server.d.ts +1 -1
- package/types/storybook.d.ts +6 -6
- package/webpack-plugins/webpack-bundle-analyze-plugin.js +1 -1
- package/webpack-plugins/webpack-less-plugin.js +1 -0
- package/CODE_OF_CONDUCT.md +0 -13
- package/CONTRIBUTING.md +0 -7
- package/README.md +0 -154
- package/RELEASING.md +0 -73
- package/ROADMAP.md +0 -30
- package/SECURITY.md +0 -14
- package/logos/Logo.png +0 -0
- package/logos/VoltoLogoEra2-dark-mode.png +0 -0
- package/logos/VoltoLogoEra2.png +0 -0
- package/logos/volto-colorful.png +0 -0
- package/logos/volto-colorful.svg +0 -35
- package/logos/volto-guide.png +0 -0
- package/logos/volto-h-transparent.svg +0 -6
- package/logos/volto-transparent.png +0 -0
- package/logos/volto-transparent.svg +0 -19
- package/logos/volto-transparent2.svg +0 -5
- package/logos/volto-yellow.svg +0 -29
- package/logos/volto.sketch +0 -0
- package/packages/README.md +0 -7
- package/packages/registry/.towncrier/towncrier_template.jinja +0 -10
- package/packages/registry/CHANGELOG.md +0 -16
- package/packages/registry/README.md +0 -207
- package/packages/registry/addon-registry.js +0 -603
- package/packages/registry/create-addons-loader.js +0 -116
- package/packages/registry/create-theme-addons-loader.js +0 -78
- package/packages/registry/news/.gitkeep +0 -0
- package/packages/registry/package.json +0 -76
- package/packages/registry/src/index.ts +0 -174
- package/packages/registry/src/registry.test.js +0 -111
- package/packages/registry/tsconfig.json +0 -32
- package/packages/scripts/CHANGELOG.md +0 -173
- package/packages/scripts/README.md +0 -128
- package/packages/scripts/addon/consolidate.js +0 -28
- package/packages/scripts/addon/generators.js +0 -213
- package/packages/scripts/addon/getAddonInfo.js +0 -65
- package/packages/scripts/addon/index.js +0 -88
- package/packages/scripts/addon/utils.js +0 -44
- package/packages/scripts/backportpr.js +0 -75
- package/packages/scripts/changelogupdater.cjs +0 -94
- package/packages/scripts/corepackagebump.js +0 -20
- package/packages/scripts/i18n.cjs +0 -310
- package/packages/scripts/package.json +0 -76
- package/packages/scripts/templates/towncrier_template.jinja +0 -10
- package/packages/types/Blocks/View.ts +0 -11
- package/packages/types/actions.ts +0 -15
- package/packages/types/breadcrumbs.ts +0 -10
- package/packages/types/config/Blocks.ts +0 -153
- package/packages/types/config/Content.ts +0 -62
- package/packages/types/config/Settings.ts +0 -86
- package/packages/types/config/Views.ts +0 -15
- package/packages/types/config/Widgets.ts +0 -7
- package/packages/types/config/index.ts +0 -21
- package/packages/types/content/common.ts +0 -60
- package/packages/types/content/get.ts +0 -66
- package/packages/types/index.ts +0 -0
- package/packages/types/navigation.ts +0 -12
- package/packages/types/package.json +0 -64
- package/packages/types/types.ts +0 -61
- package/packages/volto-slate/.i18n.babel.config.js +0 -1
- package/packages/volto-slate/README.md +0 -4
- package/packages/volto-slate/build/messages/src/blocks/Table/TableBlockEdit.json +0 -90
- package/packages/volto-slate/build/messages/src/blocks/Text/DefaultTextBlockEditor.json +0 -6
- package/packages/volto-slate/build/messages/src/blocks/Text/DetachedTextBlockEditor.json +0 -6
- package/packages/volto-slate/build/messages/src/blocks/Text/SlashMenu.json +0 -6
- package/packages/volto-slate/build/messages/src/editor/plugins/AdvancedLink/index.json +0 -10
- package/packages/volto-slate/build/messages/src/editor/plugins/Link/index.json +0 -10
- package/packages/volto-slate/build/messages/src/editor/plugins/Table/index.json +0 -30
- package/packages/volto-slate/build/messages/src/elementEditor/messages.json +0 -10
- package/packages/volto-slate/build/messages/src/widgets/HtmlSlateWidget.json +0 -6
- package/packages/volto-slate/build/messages/src/widgets/RichTextWidgetView.json +0 -6
- package/packages/volto-slate/locales/de/LC_MESSAGES/volto.po +0 -148
- package/packages/volto-slate/locales/en/LC_MESSAGES/volto.po +0 -148
- package/packages/volto-slate/locales/volto.pot +0 -182
- package/packages/volto-slate/package.json +0 -43
- package/packages/volto-slate/src/actions/content.js +0 -30
- package/packages/volto-slate/src/actions/index.js +0 -3
- package/packages/volto-slate/src/actions/plugins.js +0 -9
- package/packages/volto-slate/src/actions/selection.js +0 -22
- package/packages/volto-slate/src/blocks/Table/Cell.jsx +0 -87
- package/packages/volto-slate/src/blocks/Table/Cell.test.js +0 -54
- package/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx +0 -694
- package/packages/volto-slate/src/blocks/Table/TableBlockEdit.test.js +0 -40
- package/packages/volto-slate/src/blocks/Table/TableBlockView.jsx +0 -150
- package/packages/volto-slate/src/blocks/Table/TableBlockView.test.js +0 -49
- package/packages/volto-slate/src/blocks/Table/deconstruct.js +0 -113
- package/packages/volto-slate/src/blocks/Table/extensions/normalizeTable.js +0 -5
- package/packages/volto-slate/src/blocks/Table/index.js +0 -60
- package/packages/volto-slate/src/blocks/Table/schema.js +0 -122
- package/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx +0 -304
- package/packages/volto-slate/src/blocks/Text/DetachedTextBlockEditor.jsx +0 -77
- package/packages/volto-slate/src/blocks/Text/MarkdownIntroduction.jsx +0 -59
- package/packages/volto-slate/src/blocks/Text/PluginSidebar.jsx +0 -18
- package/packages/volto-slate/src/blocks/Text/ShortcutListing.jsx +0 -28
- package/packages/volto-slate/src/blocks/Text/SlashMenu.jsx +0 -203
- package/packages/volto-slate/src/blocks/Text/TextBlockEdit.jsx +0 -38
- package/packages/volto-slate/src/blocks/Text/TextBlockEdit.test.js +0 -107
- package/packages/volto-slate/src/blocks/Text/TextBlockSchema.js +0 -54
- package/packages/volto-slate/src/blocks/Text/TextBlockView.jsx +0 -31
- package/packages/volto-slate/src/blocks/Text/css/editor.css +0 -18
- package/packages/volto-slate/src/blocks/Text/extensions/Readme.md +0 -49
- package/packages/volto-slate/src/blocks/Text/extensions/breakList.js +0 -100
- package/packages/volto-slate/src/blocks/Text/extensions/index.js +0 -6
- package/packages/volto-slate/src/blocks/Text/extensions/insertBreak.js +0 -57
- package/packages/volto-slate/src/blocks/Text/extensions/isSelected.js +0 -7
- package/packages/volto-slate/src/blocks/Text/extensions/normalizeExternalData.js +0 -7
- package/packages/volto-slate/src/blocks/Text/extensions/withDeserializers.js +0 -87
- package/packages/volto-slate/src/blocks/Text/extensions/withLists.js +0 -5
- package/packages/volto-slate/src/blocks/Text/index.js +0 -171
- package/packages/volto-slate/src/blocks/Text/keyboard/backspaceInList.js +0 -58
- package/packages/volto-slate/src/blocks/Text/keyboard/breakBlocks.js +0 -3
- package/packages/volto-slate/src/blocks/Text/keyboard/cancelEsc.js +0 -7
- package/packages/volto-slate/src/blocks/Text/keyboard/indentListItems.js +0 -240
- package/packages/volto-slate/src/blocks/Text/keyboard/index.js +0 -52
- package/packages/volto-slate/src/blocks/Text/keyboard/joinBlocks.js +0 -180
- package/packages/volto-slate/src/blocks/Text/keyboard/moveListItems.js +0 -124
- package/packages/volto-slate/src/blocks/Text/keyboard/slashMenu.js +0 -19
- package/packages/volto-slate/src/blocks/Text/keyboard/softBreak.js +0 -7
- package/packages/volto-slate/src/blocks/Text/keyboard/traverseBlocks.js +0 -81
- package/packages/volto-slate/src/blocks/Text/keyboard/unwrapEmptyString.js +0 -26
- package/packages/volto-slate/src/blocks/Text/schema.js +0 -39
- package/packages/volto-slate/src/constants.js +0 -123
- package/packages/volto-slate/src/editor/EditorContext.jsx +0 -5
- package/packages/volto-slate/src/editor/EditorReference.jsx +0 -22
- package/packages/volto-slate/src/editor/SlateEditor.jsx +0 -375
- package/packages/volto-slate/src/editor/config.jsx +0 -344
- package/packages/volto-slate/src/editor/decorate.js +0 -68
- package/packages/volto-slate/src/editor/deserialize.js +0 -185
- package/packages/volto-slate/src/editor/extensions/index.js +0 -6
- package/packages/volto-slate/src/editor/extensions/insertBreak.js +0 -15
- package/packages/volto-slate/src/editor/extensions/insertData.js +0 -159
- package/packages/volto-slate/src/editor/extensions/isInline.js +0 -14
- package/packages/volto-slate/src/editor/extensions/normalizeExternalData.js +0 -8
- package/packages/volto-slate/src/editor/extensions/normalizeNode.js +0 -48
- package/packages/volto-slate/src/editor/extensions/withDeserializers.js +0 -15
- package/packages/volto-slate/src/editor/extensions/withTestingFeatures.jsx +0 -84
- package/packages/volto-slate/src/editor/index.js +0 -14
- package/packages/volto-slate/src/editor/less/editor.less +0 -173
- package/packages/volto-slate/src/editor/less/globals.less +0 -18
- package/packages/volto-slate/src/editor/less/slate.less +0 -28
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/deserialize.js +0 -90
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/extensions.js +0 -32
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/index.js +0 -50
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/render.jsx +0 -37
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/schema.js +0 -114
- package/packages/volto-slate/src/editor/plugins/AdvancedLink/styles.less +0 -8
- package/packages/volto-slate/src/editor/plugins/Blockquote/index.js +0 -30
- package/packages/volto-slate/src/editor/plugins/Callout/index.js +0 -34
- package/packages/volto-slate/src/editor/plugins/Image/deconstruct.js +0 -30
- package/packages/volto-slate/src/editor/plugins/Image/extensions.js +0 -51
- package/packages/volto-slate/src/editor/plugins/Image/index.js +0 -11
- package/packages/volto-slate/src/editor/plugins/Image/render.jsx +0 -22
- package/packages/volto-slate/src/editor/plugins/Link/extensions.js +0 -58
- package/packages/volto-slate/src/editor/plugins/Link/index.js +0 -164
- package/packages/volto-slate/src/editor/plugins/Link/render.jsx +0 -54
- package/packages/volto-slate/src/editor/plugins/Markdown/constants.js +0 -81
- package/packages/volto-slate/src/editor/plugins/Markdown/extensions.js +0 -334
- package/packages/volto-slate/src/editor/plugins/Markdown/index.js +0 -28
- package/packages/volto-slate/src/editor/plugins/Markdown/utils.js +0 -198
- package/packages/volto-slate/src/editor/plugins/StyleMenu/StyleMenu.jsx +0 -153
- package/packages/volto-slate/src/editor/plugins/StyleMenu/index.js +0 -19
- package/packages/volto-slate/src/editor/plugins/StyleMenu/style.less +0 -29
- package/packages/volto-slate/src/editor/plugins/StyleMenu/utils.js +0 -168
- package/packages/volto-slate/src/editor/plugins/Table/TableButton.jsx +0 -142
- package/packages/volto-slate/src/editor/plugins/Table/TableCell.jsx +0 -44
- package/packages/volto-slate/src/editor/plugins/Table/TableContainer.jsx +0 -37
- package/packages/volto-slate/src/editor/plugins/Table/TableSizePicker.jsx +0 -83
- package/packages/volto-slate/src/editor/plugins/Table/extensions.js +0 -87
- package/packages/volto-slate/src/editor/plugins/Table/index.js +0 -390
- package/packages/volto-slate/src/editor/plugins/Table/less/public.less +0 -29
- package/packages/volto-slate/src/editor/plugins/Table/less/table.less +0 -28
- package/packages/volto-slate/src/editor/plugins/Table/render.jsx +0 -30
- package/packages/volto-slate/src/editor/plugins/index.js +0 -19
- package/packages/volto-slate/src/editor/render.jsx +0 -224
- package/packages/volto-slate/src/editor/ui/BasicToolbar.jsx +0 -11
- package/packages/volto-slate/src/editor/ui/BlockButton.jsx +0 -31
- package/packages/volto-slate/src/editor/ui/ClearFormattingButton.jsx +0 -21
- package/packages/volto-slate/src/editor/ui/ExpandedToolbar.jsx +0 -18
- package/packages/volto-slate/src/editor/ui/Expando.jsx +0 -5
- package/packages/volto-slate/src/editor/ui/InlineToolbar.jsx +0 -73
- package/packages/volto-slate/src/editor/ui/MarkButton.jsx +0 -23
- package/packages/volto-slate/src/editor/ui/MarkElementButton.jsx +0 -30
- package/packages/volto-slate/src/editor/ui/Menu.jsx +0 -13
- package/packages/volto-slate/src/editor/ui/PositionedToolbar.jsx +0 -32
- package/packages/volto-slate/src/editor/ui/Separator.jsx +0 -7
- package/packages/volto-slate/src/editor/ui/SlateContextToolbar.jsx +0 -13
- package/packages/volto-slate/src/editor/ui/SlateToolbar.jsx +0 -96
- package/packages/volto-slate/src/editor/ui/Toolbar.jsx +0 -103
- package/packages/volto-slate/src/editor/ui/ToolbarButton.jsx +0 -33
- package/packages/volto-slate/src/editor/ui/ToolbarButton.test.js +0 -25
- package/packages/volto-slate/src/editor/ui/index.js +0 -15
- package/packages/volto-slate/src/editor/utils.js +0 -248
- package/packages/volto-slate/src/elementEditor/ContextButtons.jsx +0 -56
- package/packages/volto-slate/src/elementEditor/PluginEditor.jsx +0 -124
- package/packages/volto-slate/src/elementEditor/Readme.md +0 -6
- package/packages/volto-slate/src/elementEditor/SchemaProvider.jsx +0 -3
- package/packages/volto-slate/src/elementEditor/SidebarEditor.jsx +0 -46
- package/packages/volto-slate/src/elementEditor/ToolbarButton.jsx +0 -44
- package/packages/volto-slate/src/elementEditor/index.js +0 -5
- package/packages/volto-slate/src/elementEditor/makeInlineElementPlugin.js +0 -100
- package/packages/volto-slate/src/elementEditor/messages.js +0 -14
- package/packages/volto-slate/src/elementEditor/utils.js +0 -226
- package/packages/volto-slate/src/hooks/index.js +0 -3
- package/packages/volto-slate/src/hooks/useEditorContext.js +0 -6
- package/packages/volto-slate/src/hooks/useIsomorphicLayoutEffect.js +0 -7
- package/packages/volto-slate/src/hooks/useSelectionPosition.js +0 -25
- package/packages/volto-slate/src/i18n.js +0 -180
- package/packages/volto-slate/src/icons/hashlink.svg +0 -57
- package/packages/volto-slate/src/index.js +0 -61
- package/packages/volto-slate/src/reducers/content.js +0 -74
- package/packages/volto-slate/src/reducers/index.js +0 -3
- package/packages/volto-slate/src/reducers/plugins.js +0 -17
- package/packages/volto-slate/src/reducers/selection.js +0 -16
- package/packages/volto-slate/src/utils/blocks.js +0 -375
- package/packages/volto-slate/src/utils/blocks.test.js +0 -138
- package/packages/volto-slate/src/utils/editor.js +0 -31
- package/packages/volto-slate/src/utils/image.js +0 -25
- package/packages/volto-slate/src/utils/index.js +0 -11
- package/packages/volto-slate/src/utils/internals.js +0 -46
- package/packages/volto-slate/src/utils/lists.js +0 -92
- package/packages/volto-slate/src/utils/marks.js +0 -104
- package/packages/volto-slate/src/utils/mime-types.js +0 -24
- package/packages/volto-slate/src/utils/nodes.js +0 -4
- package/packages/volto-slate/src/utils/ops.js +0 -20
- package/packages/volto-slate/src/utils/random.js +0 -17
- package/packages/volto-slate/src/utils/selection.js +0 -236
- package/packages/volto-slate/src/utils/slate-string-utils.js +0 -408
- package/packages/volto-slate/src/utils/volto-blocks.js +0 -314
- package/packages/volto-slate/src/widgets/ErrorBoundary.jsx +0 -27
- package/packages/volto-slate/src/widgets/HtmlSlateWidget.jsx +0 -139
- package/packages/volto-slate/src/widgets/ObjectByTypeWidget.jsx +0 -49
- package/packages/volto-slate/src/widgets/RichTextWidget.jsx +0 -72
- package/packages/volto-slate/src/widgets/RichTextWidgetView.jsx +0 -37
- package/packages/volto-slate/src/widgets/style.css +0 -21
- package/src/components/manage/AnchorPlugin/components/Link/index.jsx +0 -37
- package/src/components/manage/AnchorPlugin/components/LinkButton/index.jsx +0 -126
- package/src/components/manage/AnchorPlugin/index.jsx +0 -82
- package/src/components/manage/AnchorPlugin/linkStrategy.js +0 -21
- package/src/components/manage/AnchorPlugin/utils/EditorUtils.js +0 -47
- package/src/components/manage/Blocks/HeroImageLeft/Data.jsx +0 -27
- package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +0 -493
- package/src/components/manage/Blocks/HeroImageLeft/Edit.test.jsx +0 -58
- package/src/components/manage/Blocks/HeroImageLeft/View.jsx +0 -37
- package/src/components/manage/Blocks/HeroImageLeft/View.test.jsx +0 -9
- package/src/components/manage/Blocks/HeroImageLeft/schema.js +0 -43
- package/src/components/manage/Blocks/Table/Cell.jsx +0 -206
- package/src/components/manage/Blocks/Table/Cell.test.jsx +0 -19
- package/src/components/manage/Blocks/Table/Edit.jsx +0 -747
- package/src/components/manage/Blocks/Table/Edit.test.jsx +0 -44
- package/src/components/manage/Blocks/Table/Readme.md +0 -5
- package/src/components/manage/Blocks/Table/View.jsx +0 -51
- package/src/components/manage/Blocks/Table/View.test.jsx +0 -41
- package/src/components/manage/Blocks/Text/Edit.jsx +0 -372
- package/src/components/manage/Blocks/Text/Edit.test.jsx +0 -46
- package/src/components/manage/Blocks/Text/Readme.md +0 -5
- package/src/components/manage/Blocks/Text/Schema.jsx +0 -31
- package/src/components/manage/Blocks/Text/View.jsx +0 -26
- package/src/components/manage/Blocks/Text/View.test.jsx +0 -28
- package/src/components/manage/LinkDetectionPlugin/link-detection-plugin.jsx +0 -227
- package/src/components/manage/LinkDetectionPlugin/utils.js +0 -12
- package/src/components/manage/Multilingual/CreateTranslation.test.jsx +0 -46
- package/src/components/manage/Widgets/ColorPickerWidget.stories.jsx +0 -30
- package/src/components/manage/Widgets/WysiwygWidget.stories.jsx +0 -24
- package/src/components/manage/Widgets/WysiwygWidget.test.jsx +0 -37
- package/src/config/RichTextEditor/Blocks.jsx +0 -29
- package/src/config/RichTextEditor/FromHTML.jsx +0 -8
- package/src/config/RichTextEditor/Plugins.jsx +0 -59
- package/src/config/RichTextEditor/Styles.jsx +0 -69
- package/src/config/RichTextEditor/ToHTML.jsx +0 -262
- package/src/config/RichTextEditor/index.js +0 -25
- package/src/helpers/Utils/usePagination.test.js +0 -115
|
@@ -13,23 +13,28 @@ import {
|
|
|
13
13
|
} from '@plone/volto/helpers';
|
|
14
14
|
import aheadSVG from '@plone/volto/icons/ahead.svg';
|
|
15
15
|
import clearSVG from '@plone/volto/icons/clear.svg';
|
|
16
|
+
import upSVG from '@plone/volto/icons/up-key.svg';
|
|
17
|
+
import downSVG from '@plone/volto/icons/down-key.svg';
|
|
16
18
|
import {
|
|
17
19
|
findIndex,
|
|
18
20
|
isEmpty,
|
|
21
|
+
isEqual,
|
|
19
22
|
keys,
|
|
20
23
|
map,
|
|
21
24
|
mapValues,
|
|
22
25
|
pickBy,
|
|
23
26
|
without,
|
|
24
27
|
cloneDeep,
|
|
28
|
+
xor,
|
|
25
29
|
} from 'lodash';
|
|
26
30
|
import isBoolean from 'lodash/isBoolean';
|
|
27
31
|
import PropTypes from 'prop-types';
|
|
28
32
|
import React, { Component } from 'react';
|
|
29
33
|
import { injectIntl } from 'react-intl';
|
|
30
|
-
import {
|
|
34
|
+
import { createPortal } from 'react-dom';
|
|
31
35
|
import { connect } from 'react-redux';
|
|
32
36
|
import {
|
|
37
|
+
Accordion,
|
|
33
38
|
Button,
|
|
34
39
|
Container as SemanticContainer,
|
|
35
40
|
Form as UiForm,
|
|
@@ -40,9 +45,15 @@ import {
|
|
|
40
45
|
import { v4 as uuid } from 'uuid';
|
|
41
46
|
import { toast } from 'react-toastify';
|
|
42
47
|
import { BlocksToolbar, UndoToolbar } from '@plone/volto/components';
|
|
43
|
-
import {
|
|
48
|
+
import {
|
|
49
|
+
setMetadataFieldsets,
|
|
50
|
+
resetMetadataFocus,
|
|
51
|
+
setSidebarTab,
|
|
52
|
+
setFormData,
|
|
53
|
+
} from '@plone/volto/actions';
|
|
44
54
|
import { compose } from 'redux';
|
|
45
55
|
import config from '@plone/volto/registry';
|
|
56
|
+
import SlotRenderer from '../../theme/SlotRenderer/SlotRenderer';
|
|
46
57
|
|
|
47
58
|
/**
|
|
48
59
|
* Form container class.
|
|
@@ -69,6 +80,9 @@ class Form extends Component {
|
|
|
69
80
|
required: PropTypes.arrayOf(PropTypes.string),
|
|
70
81
|
}),
|
|
71
82
|
formData: PropTypes.objectOf(PropTypes.any),
|
|
83
|
+
globalData: PropTypes.objectOf(PropTypes.any),
|
|
84
|
+
metadataFieldsets: PropTypes.arrayOf(PropTypes.string),
|
|
85
|
+
metadataFieldFocus: PropTypes.string,
|
|
72
86
|
pathname: PropTypes.string,
|
|
73
87
|
onSubmit: PropTypes.func,
|
|
74
88
|
onCancel: PropTypes.func,
|
|
@@ -93,6 +107,7 @@ class Form extends Component {
|
|
|
93
107
|
requestError: PropTypes.string,
|
|
94
108
|
allowedBlocks: PropTypes.arrayOf(PropTypes.string),
|
|
95
109
|
showRestricted: PropTypes.bool,
|
|
110
|
+
global: PropTypes.bool,
|
|
96
111
|
};
|
|
97
112
|
|
|
98
113
|
/**
|
|
@@ -123,6 +138,7 @@ class Form extends Component {
|
|
|
123
138
|
editable: true,
|
|
124
139
|
requestError: null,
|
|
125
140
|
allowedBlocks: null,
|
|
141
|
+
global: false,
|
|
126
142
|
};
|
|
127
143
|
|
|
128
144
|
/**
|
|
@@ -137,10 +153,16 @@ class Form extends Component {
|
|
|
137
153
|
title: uuid(),
|
|
138
154
|
text: uuid(),
|
|
139
155
|
};
|
|
140
|
-
let { formData } = props;
|
|
156
|
+
let { formData, schema: originalSchema } = props;
|
|
141
157
|
const blocksFieldname = getBlocksFieldname(formData);
|
|
142
158
|
const blocksLayoutFieldname = getBlocksLayoutFieldname(formData);
|
|
143
159
|
|
|
160
|
+
const schema = this.removeBlocksLayoutFields(originalSchema);
|
|
161
|
+
|
|
162
|
+
this.props.setMetadataFieldsets(
|
|
163
|
+
schema?.fieldsets ? schema.fieldsets.map((fieldset) => fieldset.id) : [],
|
|
164
|
+
);
|
|
165
|
+
|
|
144
166
|
if (!props.isEditForm) {
|
|
145
167
|
// It's a normal (add form), get defaults from schema
|
|
146
168
|
formData = {
|
|
@@ -148,7 +170,10 @@ class Form extends Component {
|
|
|
148
170
|
...formData,
|
|
149
171
|
};
|
|
150
172
|
}
|
|
151
|
-
|
|
173
|
+
|
|
174
|
+
// We initialize the formData snapshot in here, before the initial data checks
|
|
175
|
+
const initialFormData = cloneDeep(formData);
|
|
176
|
+
|
|
152
177
|
// Adding fallback in case the fields are empty, so we are sure that the edit form
|
|
153
178
|
// shows at least the default blocks
|
|
154
179
|
if (
|
|
@@ -198,15 +223,22 @@ class Form extends Component {
|
|
|
198
223
|
}
|
|
199
224
|
}
|
|
200
225
|
|
|
226
|
+
// Sync state to global state
|
|
227
|
+
if (this.props.global) {
|
|
228
|
+
this.props.setFormData(formData);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// Set initial state
|
|
201
232
|
this.state = {
|
|
202
233
|
formData,
|
|
203
|
-
initialFormData
|
|
234
|
+
initialFormData,
|
|
204
235
|
errors: {},
|
|
205
236
|
selected: selectedBlock,
|
|
206
237
|
multiSelected: [],
|
|
207
238
|
isClient: false,
|
|
208
239
|
// Ensure focus remain in field after change
|
|
209
240
|
inFocus: {},
|
|
241
|
+
sidebarMetadataIsAvailable: false,
|
|
210
242
|
};
|
|
211
243
|
this.onChangeField = this.onChangeField.bind(this);
|
|
212
244
|
this.onSelectBlock = this.onSelectBlock.bind(this);
|
|
@@ -215,6 +247,7 @@ class Form extends Component {
|
|
|
215
247
|
this.onTabChange = this.onTabChange.bind(this);
|
|
216
248
|
this.onBlurField = this.onBlurField.bind(this);
|
|
217
249
|
this.onClickInput = this.onClickInput.bind(this);
|
|
250
|
+
this.onToggleMetadataFieldset = this.onToggleMetadataFieldset.bind(this);
|
|
218
251
|
}
|
|
219
252
|
|
|
220
253
|
/**
|
|
@@ -243,14 +276,51 @@ class Form extends Component {
|
|
|
243
276
|
}
|
|
244
277
|
|
|
245
278
|
if (this.props.onChangeFormData) {
|
|
246
|
-
if (
|
|
247
|
-
// TODO: use fast-deep-equal
|
|
248
|
-
JSON.stringify(prevState?.formData) !==
|
|
249
|
-
JSON.stringify(this.state.formData)
|
|
250
|
-
) {
|
|
279
|
+
if (!isEqual(prevState?.formData, this.state.formData)) {
|
|
251
280
|
this.props.onChangeFormData(this.state.formData);
|
|
252
281
|
}
|
|
253
282
|
}
|
|
283
|
+
if (
|
|
284
|
+
this.props.global &&
|
|
285
|
+
!isEqual(this.props.globalData, prevProps.globalData)
|
|
286
|
+
) {
|
|
287
|
+
this.setState({
|
|
288
|
+
formData: this.props.globalData,
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
if (!isEqual(prevProps.schema, this.props.schema)) {
|
|
293
|
+
this.props.setMetadataFieldsets(
|
|
294
|
+
this.removeBlocksLayoutFields(this.props.schema).fieldsets.map(
|
|
295
|
+
(fieldset) => fieldset.id,
|
|
296
|
+
),
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
if (
|
|
301
|
+
this.props.metadataFieldFocus !== '' &&
|
|
302
|
+
!isEqual(prevProps.metadataFieldFocus, this.props.metadataFieldFocus)
|
|
303
|
+
) {
|
|
304
|
+
// Scroll into view
|
|
305
|
+
document
|
|
306
|
+
.querySelector(`.field-wrapper-${this.props.metadataFieldFocus}`)
|
|
307
|
+
.scrollIntoView();
|
|
308
|
+
|
|
309
|
+
// Set focus to first input if available
|
|
310
|
+
document
|
|
311
|
+
.querySelector(`.field-wrapper-${this.props.metadataFieldFocus} input`)
|
|
312
|
+
?.focus();
|
|
313
|
+
|
|
314
|
+
// Reset focus field
|
|
315
|
+
this.props.resetMetadataFocus();
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
if (
|
|
319
|
+
!this.state.sidebarMetadataIsAvailable &&
|
|
320
|
+
document.getElementById('sidebar-metadata')
|
|
321
|
+
) {
|
|
322
|
+
this.setState(() => ({ sidebarMetadataIsAvailable: true }));
|
|
323
|
+
}
|
|
254
324
|
}
|
|
255
325
|
|
|
256
326
|
/**
|
|
@@ -324,15 +394,18 @@ class Form extends Component {
|
|
|
324
394
|
onChangeField(id, value) {
|
|
325
395
|
this.setState((prevState) => {
|
|
326
396
|
const { errors, formData } = prevState;
|
|
397
|
+
const newFormData = {
|
|
398
|
+
...formData,
|
|
399
|
+
// We need to catch also when the value equals false this fixes #888
|
|
400
|
+
[id]: value || (value !== undefined && isBoolean(value)) ? value : null,
|
|
401
|
+
};
|
|
327
402
|
delete errors[id];
|
|
403
|
+
if (this.props.global) {
|
|
404
|
+
this.props.setFormData(newFormData);
|
|
405
|
+
}
|
|
328
406
|
return {
|
|
329
407
|
errors,
|
|
330
|
-
formData:
|
|
331
|
-
...formData,
|
|
332
|
-
// We need to catch also when the value equals false this fixes #888
|
|
333
|
-
[id]:
|
|
334
|
-
value || (value !== undefined && isBoolean(value)) ? value : null,
|
|
335
|
-
},
|
|
408
|
+
formData: newFormData,
|
|
336
409
|
// Changing the form data re-renders the select widget which causes the
|
|
337
410
|
// focus to get lost. To circumvent this, we set the focus back to
|
|
338
411
|
// the input.
|
|
@@ -354,14 +427,13 @@ class Form extends Component {
|
|
|
354
427
|
onSelectBlock(id, isMultipleSelection, event) {
|
|
355
428
|
let multiSelected = [];
|
|
356
429
|
let selected = id;
|
|
430
|
+
const formData = this.state.formData;
|
|
357
431
|
|
|
358
432
|
if (isMultipleSelection) {
|
|
359
433
|
selected = null;
|
|
360
|
-
const blocksLayoutFieldname = getBlocksLayoutFieldname(
|
|
361
|
-
this.state.formData,
|
|
362
|
-
);
|
|
434
|
+
const blocksLayoutFieldname = getBlocksLayoutFieldname(formData);
|
|
363
435
|
|
|
364
|
-
const blocks_layout =
|
|
436
|
+
const blocks_layout = formData[blocksLayoutFieldname].items;
|
|
365
437
|
|
|
366
438
|
if (event.shiftKey) {
|
|
367
439
|
const anchor =
|
|
@@ -421,6 +493,9 @@ class Form extends Component {
|
|
|
421
493
|
this.setState({
|
|
422
494
|
formData: this.props.formData,
|
|
423
495
|
});
|
|
496
|
+
if (this.props.global) {
|
|
497
|
+
this.props.setFormData(this.props.formData);
|
|
498
|
+
}
|
|
424
499
|
}
|
|
425
500
|
this.props.onCancel(event);
|
|
426
501
|
}
|
|
@@ -432,6 +507,8 @@ class Form extends Component {
|
|
|
432
507
|
* @returns {undefined}
|
|
433
508
|
*/
|
|
434
509
|
onSubmit(event) {
|
|
510
|
+
const formData = this.state.formData;
|
|
511
|
+
|
|
435
512
|
if (event) {
|
|
436
513
|
event.preventDefault();
|
|
437
514
|
}
|
|
@@ -439,7 +516,7 @@ class Form extends Component {
|
|
|
439
516
|
const errors = this.props.schema
|
|
440
517
|
? FormValidation.validateFieldsPerFieldset({
|
|
441
518
|
schema: this.props.schema,
|
|
442
|
-
formData
|
|
519
|
+
formData,
|
|
443
520
|
formatMessage: this.props.intl.formatMessage,
|
|
444
521
|
})
|
|
445
522
|
: {};
|
|
@@ -474,12 +551,15 @@ class Form extends Component {
|
|
|
474
551
|
if (this.props.isEditForm) {
|
|
475
552
|
this.props.onSubmit(this.getOnlyFormModifiedValues());
|
|
476
553
|
} else {
|
|
477
|
-
this.props.onSubmit(
|
|
554
|
+
this.props.onSubmit(formData);
|
|
478
555
|
}
|
|
479
556
|
if (this.props.resetAfterSubmit) {
|
|
480
557
|
this.setState({
|
|
481
558
|
formData: this.props.formData,
|
|
482
559
|
});
|
|
560
|
+
if (this.props.global) {
|
|
561
|
+
this.props.setFormData(this.props.formData);
|
|
562
|
+
}
|
|
483
563
|
}
|
|
484
564
|
}
|
|
485
565
|
}
|
|
@@ -494,15 +574,15 @@ class Form extends Component {
|
|
|
494
574
|
* @returns {undefined}
|
|
495
575
|
*/
|
|
496
576
|
getOnlyFormModifiedValues = () => {
|
|
577
|
+
const formData = this.state.formData;
|
|
578
|
+
|
|
497
579
|
const fieldsModified = Object.keys(
|
|
498
|
-
difference(
|
|
580
|
+
difference(formData, this.state.initialFormData),
|
|
499
581
|
);
|
|
500
582
|
return {
|
|
501
|
-
...pickBy(
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
...(this.state.formData['@static_behaviors'] && {
|
|
505
|
-
'@static_behaviors': this.state.formData['@static_behaviors'],
|
|
583
|
+
...pickBy(formData, (value, key) => fieldsModified.includes(key)),
|
|
584
|
+
...(formData['@static_behaviors'] && {
|
|
585
|
+
'@static_behaviors': formData['@static_behaviors'],
|
|
506
586
|
}),
|
|
507
587
|
};
|
|
508
588
|
};
|
|
@@ -534,6 +614,18 @@ class Form extends Component {
|
|
|
534
614
|
return newSchema;
|
|
535
615
|
};
|
|
536
616
|
|
|
617
|
+
/**
|
|
618
|
+
* Toggle metadata fieldset handler
|
|
619
|
+
* @method onToggleMetadataFieldset
|
|
620
|
+
* @param {Object} event Event object.
|
|
621
|
+
* @param {Object} blockProps Block properties.
|
|
622
|
+
* @returns {undefined}
|
|
623
|
+
*/
|
|
624
|
+
onToggleMetadataFieldset(event, blockProps) {
|
|
625
|
+
const { index } = blockProps;
|
|
626
|
+
this.props.setMetadataFieldsets(xor(this.props.metadataFieldsets, [index]));
|
|
627
|
+
}
|
|
628
|
+
|
|
537
629
|
/**
|
|
538
630
|
* Render method.
|
|
539
631
|
* @method render
|
|
@@ -541,8 +633,15 @@ class Form extends Component {
|
|
|
541
633
|
*/
|
|
542
634
|
render() {
|
|
543
635
|
const { settings } = config;
|
|
544
|
-
const {
|
|
545
|
-
|
|
636
|
+
const {
|
|
637
|
+
schema: originalSchema,
|
|
638
|
+
onCancel,
|
|
639
|
+
onSubmit,
|
|
640
|
+
navRoot,
|
|
641
|
+
type,
|
|
642
|
+
metadataFieldsets,
|
|
643
|
+
} = this.props;
|
|
644
|
+
const formData = this.state.formData;
|
|
546
645
|
const schema = this.removeBlocksLayoutFields(originalSchema);
|
|
547
646
|
const Container =
|
|
548
647
|
config.getComponent({ name: 'Container' }).component || SemanticContainer;
|
|
@@ -551,96 +650,147 @@ class Form extends Component {
|
|
|
551
650
|
// Removing this from SSR is important, since react-beautiful-dnd supports SSR,
|
|
552
651
|
// but draftJS don't like it much and the hydration gets messed up
|
|
553
652
|
this.state.isClient && (
|
|
554
|
-
|
|
555
|
-
<
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
653
|
+
<>
|
|
654
|
+
<SlotRenderer
|
|
655
|
+
name="aboveContent"
|
|
656
|
+
content={this.props.content}
|
|
657
|
+
navRoot={navRoot}
|
|
658
|
+
/>
|
|
659
|
+
|
|
660
|
+
<Container>
|
|
661
|
+
<BlocksToolbar
|
|
662
|
+
formData={formData}
|
|
663
|
+
selectedBlock={this.state.selected}
|
|
664
|
+
selectedBlocks={this.state.multiSelected}
|
|
665
|
+
onChangeBlocks={(newBlockData) => {
|
|
666
|
+
const newFormData = {
|
|
562
667
|
...formData,
|
|
563
668
|
...newBlockData,
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
669
|
+
};
|
|
670
|
+
this.setState({
|
|
671
|
+
formData: newFormData,
|
|
672
|
+
});
|
|
673
|
+
if (this.props.global) {
|
|
674
|
+
this.props.setFormData(newFormData);
|
|
675
|
+
}
|
|
676
|
+
}}
|
|
677
|
+
onSetSelectedBlocks={(blockIds) =>
|
|
678
|
+
this.setState({ multiSelected: blockIds })
|
|
679
|
+
}
|
|
680
|
+
onSelectBlock={this.onSelectBlock}
|
|
681
|
+
/>
|
|
682
|
+
<UndoToolbar
|
|
683
|
+
state={{
|
|
684
|
+
formData,
|
|
685
|
+
selected: this.state.selected,
|
|
686
|
+
multiSelected: this.state.multiSelected,
|
|
687
|
+
}}
|
|
688
|
+
enableHotKeys
|
|
689
|
+
onUndoRedo={({ state }) => {
|
|
690
|
+
if (this.props.global) {
|
|
691
|
+
this.props.setFormData(state.formData);
|
|
692
|
+
}
|
|
693
|
+
return this.setState(state);
|
|
694
|
+
}}
|
|
695
|
+
/>
|
|
696
|
+
<BlocksForm
|
|
697
|
+
onChangeFormData={(newData) => {
|
|
698
|
+
const newFormData = {
|
|
585
699
|
...formData,
|
|
586
|
-
...
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
700
|
+
...newData,
|
|
701
|
+
};
|
|
702
|
+
this.setState({
|
|
703
|
+
formData: newFormData,
|
|
704
|
+
});
|
|
705
|
+
if (this.props.global) {
|
|
706
|
+
this.props.setFormData(newFormData);
|
|
707
|
+
}
|
|
708
|
+
}}
|
|
709
|
+
onChangeField={this.onChangeField}
|
|
710
|
+
onSelectBlock={this.onSelectBlock}
|
|
711
|
+
properties={formData}
|
|
712
|
+
navRoot={navRoot}
|
|
713
|
+
type={type}
|
|
714
|
+
pathname={this.props.pathname}
|
|
715
|
+
selectedBlock={this.state.selected}
|
|
716
|
+
multiSelected={this.state.multiSelected}
|
|
717
|
+
manage={this.props.isAdminForm}
|
|
718
|
+
allowedBlocks={this.props.allowedBlocks}
|
|
719
|
+
showRestricted={this.props.showRestricted}
|
|
720
|
+
editable={this.props.editable}
|
|
721
|
+
isMainForm={this.props.editable}
|
|
722
|
+
/>
|
|
723
|
+
{this.state.isClient &&
|
|
724
|
+
this.state.sidebarMetadataIsAvailable &&
|
|
725
|
+
this.props.editable &&
|
|
726
|
+
createPortal(
|
|
727
|
+
<UiForm
|
|
728
|
+
method="post"
|
|
729
|
+
onSubmit={this.onSubmit}
|
|
730
|
+
error={keys(this.state.errors).length > 0}
|
|
731
|
+
>
|
|
732
|
+
{schema &&
|
|
733
|
+
map(schema.fieldsets, (fieldset) => (
|
|
734
|
+
<Accordion
|
|
735
|
+
fluid
|
|
736
|
+
styled
|
|
737
|
+
className="form"
|
|
738
|
+
key={fieldset.title}
|
|
739
|
+
>
|
|
740
|
+
<div
|
|
741
|
+
key={fieldset.id}
|
|
742
|
+
id={`metadataform-fieldset-${fieldset.id}`}
|
|
743
|
+
>
|
|
744
|
+
<Accordion.Title
|
|
745
|
+
active={metadataFieldsets.includes(fieldset.id)}
|
|
746
|
+
index={fieldset.id}
|
|
747
|
+
onClick={this.onToggleMetadataFieldset}
|
|
748
|
+
>
|
|
749
|
+
{fieldset.title}
|
|
750
|
+
{metadataFieldsets.includes(fieldset.id) ? (
|
|
751
|
+
<Icon name={upSVG} size="20px" />
|
|
752
|
+
) : (
|
|
753
|
+
<Icon name={downSVG} size="20px" />
|
|
754
|
+
)}
|
|
755
|
+
</Accordion.Title>
|
|
756
|
+
<Accordion.Content
|
|
757
|
+
active={metadataFieldsets.includes(fieldset.id)}
|
|
758
|
+
>
|
|
759
|
+
<Segment className="attached">
|
|
760
|
+
{map(fieldset.fields, (field, index) => (
|
|
761
|
+
<Field
|
|
762
|
+
{...schema.properties[field]}
|
|
763
|
+
id={field}
|
|
764
|
+
fieldSet={fieldset.title.toLowerCase()}
|
|
765
|
+
formData={formData}
|
|
766
|
+
focus={this.state.inFocus[field]}
|
|
767
|
+
value={formData?.[field]}
|
|
768
|
+
required={
|
|
769
|
+
schema.required.indexOf(field) !== -1
|
|
770
|
+
}
|
|
771
|
+
onChange={this.onChangeField}
|
|
772
|
+
onBlur={this.onBlurField}
|
|
773
|
+
onClick={this.onClickInput}
|
|
774
|
+
key={field}
|
|
775
|
+
error={this.state.errors[field]}
|
|
776
|
+
/>
|
|
777
|
+
))}
|
|
778
|
+
</Segment>
|
|
779
|
+
</Accordion.Content>
|
|
780
|
+
</div>
|
|
781
|
+
</Accordion>
|
|
782
|
+
))}
|
|
783
|
+
</UiForm>,
|
|
784
|
+
document.getElementById('sidebar-metadata'),
|
|
785
|
+
)}
|
|
786
|
+
|
|
787
|
+
<SlotRenderer
|
|
788
|
+
name="belowContent"
|
|
789
|
+
content={this.props.content}
|
|
790
|
+
navRoot={navRoot}
|
|
791
|
+
/>
|
|
792
|
+
</Container>
|
|
793
|
+
</>
|
|
644
794
|
)
|
|
645
795
|
) : (
|
|
646
796
|
<Container>
|
|
@@ -687,14 +837,17 @@ class Form extends Component {
|
|
|
687
837
|
...map(item.fields, (field, index) => (
|
|
688
838
|
<Field
|
|
689
839
|
{...schema.properties[field]}
|
|
690
|
-
isDisabled={!this.props.editable}
|
|
691
840
|
id={field}
|
|
692
|
-
formData={
|
|
841
|
+
formData={formData}
|
|
693
842
|
fieldSet={item.title.toLowerCase()}
|
|
694
843
|
focus={this.state.inFocus[field]}
|
|
695
|
-
value={
|
|
844
|
+
value={formData?.[field]}
|
|
696
845
|
required={schema.required.indexOf(field) !== -1}
|
|
697
|
-
onChange={
|
|
846
|
+
onChange={
|
|
847
|
+
this.props.editable
|
|
848
|
+
? this.onChangeField
|
|
849
|
+
: () => {}
|
|
850
|
+
}
|
|
698
851
|
onBlur={this.onBlurField}
|
|
699
852
|
onClick={this.onClickInput}
|
|
700
853
|
key={field}
|
|
@@ -740,7 +893,7 @@ class Form extends Component {
|
|
|
740
893
|
<Field
|
|
741
894
|
{...schema.properties[field]}
|
|
742
895
|
id={field}
|
|
743
|
-
value={
|
|
896
|
+
value={formData?.[field]}
|
|
744
897
|
required={schema.required.indexOf(field) !== -1}
|
|
745
898
|
onChange={this.onChangeField}
|
|
746
899
|
onBlur={this.onBlurField}
|
|
@@ -801,5 +954,20 @@ class Form extends Component {
|
|
|
801
954
|
const FormIntl = injectIntl(Form, { forwardRef: true });
|
|
802
955
|
|
|
803
956
|
export default compose(
|
|
804
|
-
connect(
|
|
957
|
+
connect(
|
|
958
|
+
(state, props) => ({
|
|
959
|
+
content: state.content.data,
|
|
960
|
+
globalData: state.form?.global,
|
|
961
|
+
metadataFieldsets: state.sidebar?.metadataFieldsets,
|
|
962
|
+
metadataFieldFocus: state.sidebar?.metadataFieldFocus,
|
|
963
|
+
}),
|
|
964
|
+
{
|
|
965
|
+
setMetadataFieldsets,
|
|
966
|
+
setSidebarTab,
|
|
967
|
+
setFormData,
|
|
968
|
+
resetMetadataFocus,
|
|
969
|
+
},
|
|
970
|
+
null,
|
|
971
|
+
{ forwardRef: true },
|
|
972
|
+
),
|
|
805
973
|
)(FormIntl);
|
|
@@ -3,7 +3,6 @@ import renderer from 'react-test-renderer';
|
|
|
3
3
|
import configureStore from 'redux-mock-store';
|
|
4
4
|
import { Provider } from 'react-intl-redux';
|
|
5
5
|
import { render } from '@testing-library/react';
|
|
6
|
-
import '@testing-library/jest-dom/extend-expect';
|
|
7
6
|
|
|
8
7
|
import ModalForm from './ModalForm';
|
|
9
8
|
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
Table,
|
|
18
18
|
} from 'semantic-ui-react';
|
|
19
19
|
import { concat, map, reverse, find } from 'lodash';
|
|
20
|
-
import {
|
|
20
|
+
import { createPortal } from 'react-dom';
|
|
21
21
|
import { FormattedMessage, defineMessages, injectIntl } from 'react-intl';
|
|
22
22
|
import { asyncConnect } from '@plone/volto/helpers';
|
|
23
23
|
|
|
@@ -314,8 +314,8 @@ class History extends Component {
|
|
|
314
314
|
</Table.Body>
|
|
315
315
|
</Table>
|
|
316
316
|
</Segment.Group>
|
|
317
|
-
{this.state.isClient &&
|
|
318
|
-
|
|
317
|
+
{this.state.isClient &&
|
|
318
|
+
createPortal(
|
|
319
319
|
<Toolbar
|
|
320
320
|
pathname={this.props.pathname}
|
|
321
321
|
hideDefaultViewButtons
|
|
@@ -332,9 +332,9 @@ class History extends Component {
|
|
|
332
332
|
/>
|
|
333
333
|
</Link>
|
|
334
334
|
}
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
335
|
+
/>,
|
|
336
|
+
document.getElementById('toolbar'),
|
|
337
|
+
)}
|
|
338
338
|
</Container>
|
|
339
339
|
);
|
|
340
340
|
}
|