@plone/volto 17.0.0-alpha.8 → 17.0.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.
- package/.eslintrc +26 -3
- package/CHANGELOG.md +488 -5
- package/CONTRIBUTING.md +5 -1
- package/README.md +12 -9
- package/addon-registry.js +10 -1
- package/create-addons-loader.js +1 -1
- package/cypress/support/commands.js +70 -14
- package/cypress/support/e2e.js +1 -2
- package/cypress/support/volto-slate.js +4 -5
- package/cypress.config.js +1 -0
- package/docker-compose.yml +1 -1
- package/locales/ca/LC_MESSAGES/volto.po +276 -53
- package/locales/ca.json +1 -1
- package/locales/de/LC_MESSAGES/volto.po +284 -61
- package/locales/de.json +1 -1
- package/locales/en/LC_MESSAGES/volto.po +274 -51
- package/locales/en.json +1 -1
- package/locales/es/LC_MESSAGES/volto.po +313 -90
- package/locales/es.json +1 -1
- package/locales/eu/LC_MESSAGES/volto.po +275 -52
- package/locales/eu.json +1 -1
- package/locales/fi/LC_MESSAGES/volto.po +275 -52
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +276 -53
- package/locales/fr.json +1 -1
- package/locales/it/LC_MESSAGES/volto.po +469 -246
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +275 -52
- package/locales/ja.json +1 -1
- package/locales/nl/LC_MESSAGES/volto.po +276 -53
- package/locales/nl.json +1 -1
- package/locales/pt/LC_MESSAGES/volto.po +276 -53
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +309 -86
- package/locales/pt_BR.json +1 -1
- package/locales/ro/LC_MESSAGES/volto.po +276 -53
- package/locales/ro.json +1 -1
- package/locales/volto.pot +279 -52
- package/locales/zh_CN/LC_MESSAGES/volto.po +276 -53
- package/locales/zh_CN.json +1 -1
- package/package.json +44 -34
- package/packages/volto-slate/package.json +1 -1
- package/packages/volto-slate/src/actions/index.js +1 -1
- package/packages/volto-slate/src/blocks/Table/TableBlockEdit.jsx +21 -212
- package/packages/volto-slate/src/blocks/Table/schema.js +122 -0
- package/packages/volto-slate/src/blocks/Text/DefaultTextBlockEditor.jsx +8 -3
- package/packages/volto-slate/src/blocks/Text/TextBlockView.jsx +21 -16
- package/packages/volto-slate/src/blocks/Text/extensions/withDeserializers.js +3 -1
- package/packages/volto-slate/src/blocks/Text/index.js +10 -7
- package/packages/volto-slate/src/editor/config.jsx +5 -4
- package/packages/volto-slate/src/editor/index.js +4 -4
- package/packages/volto-slate/src/editor/less/slate.less +28 -0
- package/packages/volto-slate/src/editor/plugins/Link/render.jsx +5 -6
- package/packages/volto-slate/src/editor/plugins/StyleMenu/StyleMenu.jsx +14 -4
- package/packages/volto-slate/src/editor/plugins/StyleMenu/utils.js +14 -5
- package/packages/volto-slate/src/editor/render.jsx +77 -8
- package/packages/volto-slate/src/editor/ui/SlateContextToolbar.jsx +2 -2
- package/packages/volto-slate/src/editor/ui/index.js +15 -15
- package/packages/volto-slate/src/index.js +2 -2
- package/packages/volto-slate/src/utils/blocks.js +7 -0
- package/packages/volto-slate/src/widgets/RichTextWidget.jsx +15 -8
- package/razzle.config.js +4 -6
- package/src/actions/index.js +4 -0
- package/src/actions/navroot/navroot.js +16 -0
- package/src/actions/navroot/navroot.test.js +15 -0
- package/src/actions/relations/rebuild.js +7 -7
- package/src/actions/relations/relations.js +17 -0
- package/src/actions/site/site.js +16 -0
- package/src/actions/site/site.test.js +15 -0
- package/src/actions/userSession/userSession.js +17 -1
- package/src/components/index.js +194 -192
- package/src/components/manage/Actions/Actions.jsx +133 -243
- package/src/components/manage/Add/Add.jsx +7 -8
- package/src/components/manage/AnchorPlugin/index.jsx +2 -2
- package/src/components/manage/AnchorPlugin/utils/EditorUtils.js +3 -1
- package/src/components/manage/Blocks/Block/BlocksForm.jsx +19 -2
- package/src/components/manage/Blocks/Block/Edit.jsx +1 -1
- package/src/components/manage/Blocks/Block/Settings.jsx +2 -0
- package/src/components/manage/Blocks/Block/Settings.test.jsx +92 -0
- package/src/components/manage/Blocks/Block/Style.jsx +2 -2
- package/src/components/manage/Blocks/Container/Data.jsx +32 -0
- package/src/components/manage/Blocks/Container/Edit.jsx +177 -0
- package/src/components/manage/Blocks/Container/EditBlockWrapper.jsx +121 -0
- package/src/components/manage/Blocks/Container/NewBlockAddButton.jsx +84 -0
- package/src/components/manage/Blocks/Container/SimpleContainerToolbar.jsx +54 -0
- package/src/components/manage/Blocks/Grid/Edit.jsx +47 -0
- package/src/components/manage/Blocks/Grid/View.jsx +43 -0
- package/src/components/manage/Blocks/Grid/adapter.js +14 -0
- package/src/components/manage/Blocks/Grid/grid-1.svg +6 -0
- package/src/components/manage/Blocks/Grid/grid-2.svg +9 -0
- package/src/components/manage/Blocks/Grid/grid-3.svg +10 -0
- package/src/components/manage/Blocks/Grid/grid-4.svg +11 -0
- package/src/components/manage/Blocks/Grid/schema.js +35 -0
- package/src/components/manage/Blocks/Grid/templates.js +47 -0
- package/src/components/manage/Blocks/HTML/Edit.jsx +8 -8
- package/src/components/manage/Blocks/HeroImageLeft/Edit.jsx +36 -26
- package/src/components/manage/Blocks/Image/Edit.jsx +51 -12
- package/src/components/manage/Blocks/Image/Edit.test.jsx +2 -0
- package/src/components/manage/Blocks/Image/ImageSidebar.jsx +66 -16
- package/src/components/manage/Blocks/Image/View.jsx +26 -5
- package/src/components/manage/Blocks/Image/View.test.jsx +20 -0
- package/src/components/manage/Blocks/Image/schema.js +17 -10
- package/src/components/manage/Blocks/Image/utils.js +14 -0
- package/src/components/manage/Blocks/LeadImage/Edit.jsx +32 -10
- package/src/components/manage/Blocks/LeadImage/Edit.test.jsx +11 -1
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +28 -9
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx +8 -2
- package/src/components/manage/Blocks/LeadImage/View.jsx +50 -38
- package/src/components/manage/Blocks/LeadImage/View.test.jsx +11 -1
- package/src/components/manage/Blocks/Listing/DefaultTemplate.jsx +18 -3
- package/src/components/manage/Blocks/Listing/ListingBody.jsx +32 -8
- package/src/components/manage/Blocks/Listing/ListingBody.test.jsx +20 -0
- package/src/components/manage/Blocks/Listing/SummaryTemplate.jsx +1 -1
- package/src/components/manage/Blocks/Listing/getAsyncData.js +3 -5
- package/src/components/manage/Blocks/Listing/withQuerystringResults.jsx +27 -17
- package/src/components/manage/Blocks/Maps/Edit.jsx +135 -209
- package/src/components/manage/Blocks/Maps/Edit.test.jsx +1 -2
- package/src/components/manage/Blocks/Maps/View.test.jsx +1 -2
- package/src/components/manage/Blocks/Search/SearchBlockView.jsx +3 -2
- package/src/components/manage/Blocks/Search/components/Facets.jsx +66 -7
- package/src/components/manage/Blocks/Search/components/FilterList.jsx +4 -6
- package/src/components/manage/Blocks/Search/components/SearchInput.jsx +9 -2
- package/src/components/manage/Blocks/Search/components/SelectFacet.jsx +2 -9
- package/src/components/manage/Blocks/Search/components/index.js +13 -13
- package/src/components/manage/Blocks/Search/hocs/index.js +2 -2
- package/src/components/manage/Blocks/Search/hocs/withQueryString.jsx +5 -2
- package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +70 -36
- package/src/components/manage/Blocks/Search/layout/LeftColumnFacets.jsx +17 -5
- package/src/components/manage/Blocks/Search/layout/RightColumnFacets.jsx +17 -5
- package/src/components/manage/Blocks/Search/layout/TopSideFacets.jsx +21 -5
- package/src/components/manage/Blocks/Search/schema.js +29 -14
- package/src/components/manage/Blocks/Table/Cell.jsx +2 -3
- package/src/components/manage/Blocks/Teaser/Body.jsx +0 -1
- package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +5 -10
- package/src/components/manage/Blocks/Teaser/schema.js +5 -0
- package/src/components/manage/Blocks/Text/Edit.jsx +2 -3
- package/src/components/manage/Blocks/Title/View.jsx +0 -23
- package/src/components/manage/Blocks/Title/View.test.jsx +16 -1
- package/src/components/manage/Blocks/ToC/Schema.jsx +40 -7
- package/src/components/manage/Blocks/ToC/View.jsx +84 -14
- package/src/components/manage/Blocks/ToC/variations/DefaultTocRenderer.jsx +8 -3
- package/src/components/manage/Blocks/ToC/variations/DefaultTocRenderer.test.jsx +44 -0
- package/src/components/manage/Blocks/ToC/variations/HorizontalMenu.jsx +149 -10
- package/src/components/manage/Blocks/ToC/variations/index.js +3 -1
- package/src/components/manage/Contents/Contents.jsx +285 -114
- package/src/components/manage/Contents/ContentsPropertiesModal.jsx +90 -166
- package/src/components/manage/Contents/ContentsRenameModal.jsx +88 -139
- package/src/components/manage/Contents/ContentsRenameModal.stories.jsx +61 -0
- package/src/components/manage/Contents/ContentsTagsModal.jsx +83 -130
- package/src/components/manage/Contents/ContentsTagsModal.stories.jsx +68 -0
- package/src/components/manage/Contents/ContentsUploadModal.jsx +11 -7
- package/src/components/manage/Contents/ContentsWorkflowModal.jsx +87 -154
- package/src/components/manage/Controlpanels/Aliases.jsx +4 -12
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +65 -38
- package/src/components/manage/Controlpanels/Groups/RenderGroups.jsx +2 -2
- package/src/components/manage/Controlpanels/Relations/BrokenRelations.jsx +38 -13
- package/src/components/manage/Controlpanels/Relations/Relations.jsx +5 -5
- package/src/components/manage/Controlpanels/Relations/RelationsListing.jsx +8 -7
- package/src/components/manage/Controlpanels/Relations/RelationsMatrix.jsx +68 -68
- package/src/components/manage/Controlpanels/Rules/AddRule.jsx +3 -10
- package/src/components/manage/Controlpanels/Rules/EditRule.jsx +1 -1
- package/src/components/manage/Controlpanels/UndoControlpanel.jsx +6 -9
- package/src/components/manage/Controlpanels/Users/RenderUsers.jsx +97 -7
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +127 -99
- package/src/components/manage/Delete/Delete.jsx +96 -171
- package/src/components/manage/Diff/DiffField.jsx +25 -1
- package/src/components/manage/DragDropList/DragDropList.jsx +18 -13
- package/src/components/manage/Form/BlockDataForm.jsx +3 -2
- package/src/components/manage/Form/BlockDataForm.test.jsx +51 -17
- package/src/components/manage/Form/Form.jsx +7 -6
- package/src/components/manage/Form/InlineForm.test.jsx +16 -14
- package/src/components/manage/History/History.jsx +11 -1
- package/src/components/manage/LinksToItem/LinksToItem.jsx +209 -0
- package/src/components/manage/LinksToItem/LinksToItem.test.jsx +100 -0
- package/src/components/manage/LockingToastsFactory/LockingToastsFactory.jsx +1 -2
- package/src/components/manage/Messages/Messages.jsx +32 -99
- package/src/components/manage/Messages/Messages.test.jsx +0 -1
- package/src/components/manage/Preferences/ChangePassword.jsx +2 -2
- package/src/components/manage/Sharing/Sharing.jsx +62 -22
- package/src/components/manage/Sidebar/AlignBlock.jsx +1 -1
- package/src/components/manage/Sidebar/Sidebar.jsx +139 -220
- package/src/components/manage/TemplateChooser/TemplateChooser.jsx +38 -0
- package/src/components/manage/TemplateChooser/TemplateChooser.test.jsx +34 -0
- package/src/components/manage/TemplateChooser/template.svg +10 -0
- package/src/components/manage/Toast/Toast.jsx +1 -1
- package/src/components/manage/Toolbar/More.jsx +17 -2
- package/src/components/manage/Toolbar/PersonalTools.jsx +97 -155
- package/src/components/manage/Toolbar/Toolbar.jsx +2 -2
- package/src/components/manage/UniversalLink/UniversalLink.jsx +6 -12
- package/src/components/manage/UniversalLink/UniversalLink.test.jsx +37 -0
- package/src/components/manage/Widgets/AlignWidget.jsx +2 -4
- package/src/components/manage/Widgets/ArrayWidget.jsx +3 -1
- package/src/components/manage/Widgets/ArrayWidget.test.jsx +45 -1
- package/src/components/manage/Widgets/ColorPickerWidget.jsx +6 -1
- package/src/components/manage/Widgets/ColorPickerWidget.test.jsx +9 -7
- package/src/components/manage/Widgets/DatetimeWidget.jsx +2 -8
- package/src/components/manage/Widgets/FileWidget.jsx +2 -1
- package/src/components/manage/Widgets/FormFieldWrapper.jsx +1 -1
- package/src/components/manage/Widgets/IdWidget.jsx +1 -2
- package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +2 -9
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +3 -10
- package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField.jsx +4 -4
- package/src/components/manage/Widgets/RegistryImageWidget.jsx +210 -0
- package/src/components/manage/Widgets/RegistryImageWidget.test.jsx +91 -0
- package/src/components/manage/Widgets/SchemaWidget.jsx +6 -9
- package/src/components/manage/Widgets/SelectUtils.js +1 -1
- package/src/components/manage/Widgets/SelectWidget.jsx +15 -1
- package/src/components/manage/Widgets/SelectWidget.test.jsx +45 -1
- package/src/components/manage/Widgets/WysiwygWidget.jsx +2 -9
- package/src/components/manage/Workflow/Workflow.jsx +75 -184
- package/src/components/theme/Anontools/Anontools.jsx +44 -72
- package/src/components/theme/Anontools/Anontools.stories.jsx +16 -6
- package/src/components/theme/Anontools/Anontools.test.jsx +16 -2
- package/src/components/theme/Breadcrumbs/Breadcrumbs.jsx +52 -99
- package/src/components/theme/Breadcrumbs/Breadcrumbs.stories.jsx +14 -13
- package/src/components/theme/Comments/Comment.stories.jsx +84 -0
- package/src/components/theme/Comments/CommentEditModal.jsx +63 -115
- package/src/components/theme/Comments/Comments.jsx +268 -380
- package/src/components/theme/Component/Component.jsx +1 -1
- package/src/components/theme/ContactForm/ContactForm.jsx +108 -192
- package/src/components/theme/ContactForm/ContactForm.stories.jsx +1 -1
- package/src/components/theme/ContactForm/ContactForm.test.jsx +2 -3
- package/src/components/theme/ContentMetadataTags/ContentMetadataTags.jsx +41 -3
- package/src/components/theme/Error/ServerError.jsx +29 -0
- package/src/components/theme/Header/Header.jsx +37 -63
- package/src/components/theme/Header/Header.test.jsx +18 -0
- package/src/components/theme/Image/Image.jsx +96 -0
- package/src/components/theme/Image/Image.test.jsx +125 -0
- package/src/components/theme/Login/Login.jsx +160 -243
- package/src/components/theme/Logo/Logo.Multilingual.test.jsx +131 -1
- package/src/components/theme/Logo/Logo.jsx +35 -27
- package/src/components/theme/Logo/Logo.test.jsx +135 -1
- package/src/components/theme/Logout/Logout.jsx +36 -83
- package/src/components/theme/Navigation/Navigation.jsx +86 -171
- package/src/components/theme/NotFound/NotFound.jsx +55 -41
- package/src/components/theme/PasswordReset/PasswordReset.jsx +7 -5
- package/src/components/theme/PasswordReset/RequestPasswordReset.jsx +95 -170
- package/src/components/theme/PreviewImage/PreviewImage.jsx +31 -15
- package/src/components/theme/PreviewImage/PreviewImage.test.js +53 -13
- package/src/components/theme/Register/Register.jsx +2 -4
- package/src/components/theme/Search/SearchTags.jsx +30 -60
- package/src/components/theme/SearchWidget/SearchWidget.jsx +49 -97
- package/src/components/theme/SearchWidget/SearchWidget.test.jsx +8 -0
- package/src/components/theme/Sitemap/Sitemap.jsx +24 -13
- package/src/components/theme/Sitemap/Sitemap.test.jsx +23 -2
- package/src/components/theme/TsTest/TsTest.test.tsx +11 -0
- package/src/components/theme/TsTest/TsTest.tsx +15 -0
- package/src/components/theme/View/AlbumView.jsx +21 -16
- package/src/components/theme/View/EventView.jsx +36 -25
- package/src/components/theme/View/FileView.jsx +23 -18
- package/src/components/theme/View/ImageView.jsx +40 -32
- package/src/components/theme/View/ImageView.test.jsx +4 -0
- package/src/components/theme/View/LinkView.jsx +53 -78
- package/src/components/theme/View/ListingView.jsx +36 -28
- package/src/components/theme/View/NewsItemView.jsx +16 -17
- package/src/components/theme/View/RenderBlocks.jsx +56 -21
- package/src/components/theme/View/RenderEmptyBlock.jsx +5 -0
- package/src/components/theme/View/SummaryView.jsx +49 -39
- package/src/components/theme/View/TabularView.jsx +59 -53
- package/src/components/theme/View/View.jsx +2 -0
- package/src/components/theme/Widgets/ImageWidget.stories.jsx +1 -2
- package/src/config/Blocks.jsx +46 -0
- package/src/config/Components.jsx +3 -1
- package/src/config/ControlPanels.js +0 -1
- package/src/config/Loadables.jsx +1 -1
- package/src/config/NonContentRoutes.jsx +1 -0
- package/src/config/RichTextEditor/Blocks.jsx +4 -5
- package/src/config/RichTextEditor/FromHTML.jsx +2 -2
- package/src/config/RichTextEditor/Plugins.jsx +2 -3
- package/src/config/RichTextEditor/Styles.jsx +1 -1
- package/src/config/RichTextEditor/ToHTML.jsx +12 -10
- package/src/config/RichTextEditor/index.js +2 -3
- package/src/config/Views.jsx +6 -4
- package/src/config/Widgets.jsx +3 -0
- package/src/config/index.js +36 -2
- package/src/config/server.js +2 -0
- package/src/constants/ActionTypes.js +4 -0
- package/src/constants/Indexes.js +3 -1
- package/src/express-middleware/devproxy.js +1 -1
- package/src/express-middleware/files.js +11 -9
- package/src/express-middleware/images.js +12 -5
- package/src/express-middleware/ok.js +16 -0
- package/src/express-middleware/robotstxt.js +1 -1
- package/src/express-middleware/sitemap.js +1 -1
- package/src/express-middleware/static.js +3 -3
- package/src/helpers/Api/Api.js +1 -1
- package/src/helpers/Blocks/Blocks.js +52 -6
- package/src/helpers/Blocks/Blocks.test.js +92 -13
- package/src/helpers/Extensions/index.js +2 -1
- package/src/helpers/Extensions/withBlockSchemaEnhancer.js +63 -61
- package/src/helpers/Extensions/withBlockSchemaEnhancer.test.js +145 -0
- package/src/helpers/FormValidation/FormValidation.js +37 -7
- package/src/helpers/FormValidation/FormValidation.test.js +32 -0
- package/src/helpers/Html/Html.jsx +2 -8
- package/src/helpers/Loadable/__mocks__/Loadable.js +18 -18
- package/src/helpers/MessageLabels/MessageLabels.js +39 -4
- package/src/helpers/ScrollToTop/ScrollToTop.jsx +5 -3
- package/src/helpers/Site/index.js +21 -0
- package/src/helpers/Url/Url.js +22 -1
- package/src/helpers/Url/Url.test.js +41 -0
- package/src/helpers/Utils/UseDetectClickOutside.stories.jsx +190 -0
- package/src/helpers/Utils/Utils.js +35 -0
- package/src/helpers/Utils/Utils.test.js +13 -0
- package/src/helpers/Utils/usePagination.js +67 -14
- package/src/helpers/Utils/usePagination.test.js +115 -0
- package/src/helpers/index.js +15 -8
- package/src/hooks/client/useClient.js +11 -0
- package/src/hooks/clipboard/useClipboard.js +26 -0
- package/src/hooks/index.js +2 -0
- package/src/icons/grid-block.svg +11 -0
- package/src/middleware/api.js +203 -173
- package/src/middleware/blacklistRoutes.js +25 -22
- package/src/middleware/index.js +2 -2
- package/src/middleware/storeProtectLoadUtils.js +61 -62
- package/src/middleware/storeProtectLoadUtils.test.js +47 -43
- package/src/reducers/actions/actions.js +7 -5
- package/src/reducers/actions/actions.test.js +70 -0
- package/src/reducers/content/content.test.js +4 -4
- package/src/reducers/index.js +4 -0
- package/src/reducers/navigation/navigation.js +5 -5
- package/src/reducers/navigation/navigation.test.js +30 -0
- package/src/reducers/navroot/navroot.js +79 -0
- package/src/reducers/navroot/navroot.test.js +110 -0
- package/src/reducers/relations/relations.js +74 -46
- package/src/reducers/site/site.js +51 -0
- package/src/reducers/site/site.test.js +67 -0
- package/src/reducers/userSession/userSession.js +15 -1
- package/src/registry.js +2 -2
- package/src/routes.js +9 -0
- package/src/server.jsx +9 -0
- package/src/start-server.js +2 -2
- package/src/storybook.jsx +24 -38
- package/test-setup-config.js +11 -1
- package/theme/themes/pastanaga/collections/form.overrides +46 -0
- package/theme/themes/pastanaga/collections/menu.overrides +3 -2
- package/theme/themes/pastanaga/elements/container.overrides +5 -2
- package/theme/themes/pastanaga/elements/input.overrides +11 -1
- package/theme/themes/pastanaga/elements/label.overrides +10 -0
- package/theme/themes/pastanaga/elements/step.overrides +2 -1
- package/theme/themes/pastanaga/extras/blocks.less +25 -15
- package/theme/themes/pastanaga/extras/color-picker-widget.less +1 -1
- package/theme/themes/pastanaga/extras/contents.less +6 -1
- package/theme/themes/pastanaga/extras/draftjs.less +4 -4
- package/theme/themes/pastanaga/extras/grid.less +427 -0
- package/theme/themes/pastanaga/extras/login.less +3 -0
- package/theme/themes/pastanaga/extras/main.less +14 -7
- package/theme/themes/pastanaga/extras/react-dates-overrides.less +4 -2
- package/theme/themes/pastanaga/extras/search.less +7 -1
- package/theme/themes/pastanaga/extras/sidebar.less +5 -4
- package/theme/themes/pastanaga/extras/time-picker-overrides.less +5 -3
- package/theme/themes/pastanaga/extras/toc.less +29 -0
- package/theme/themes/pastanaga/extras/toolbar.less +6 -2
- package/theme/themes/pastanaga/extras/userscontrolpanel.less +17 -9
- package/theme/themes/pastanaga/extras/widgets.less +1 -1
- package/theme/themes/pastanaga/modules/rating.overrides +2 -1
- package/theme/themes/pastanaga-cms-ui/elements/container.overrides +2 -1
- package/theme/themes/pastanaga-cms-ui/extras/cms-ui.elements.container.less +6 -2
- package/theme/themes/pastanaga-cms-ui/extras/cms-ui.site.less +2 -2
- package/tsconfig.json +33 -0
- package/webpack-plugins/webpack-less-plugin.js +19 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarn/releases/yarn-3.2.3.cjs +0 -783
- package/src/components/manage/Blocks/Teaser/utils.js +0 -44
- package/src/components/manage/Blocks/Teaser/utils.test.jsx +0 -229
- package/src/components/theme/Header/Header.md +0 -27
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ cd myvoltoproject
|
|
|
86
86
|
You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use. We recommend to use the Plone docker builds based in `pip` [plone/plone-backend](https://github.com/plone/plone-backend) image:
|
|
87
87
|
|
|
88
88
|
```shell
|
|
89
|
-
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.
|
|
89
|
+
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.5
|
|
90
90
|
```
|
|
91
91
|
|
|
92
92
|
or as an alternative if you have experience with Plone and you have all the
|
|
@@ -134,7 +134,7 @@ Go to [http://localhost:3000](http://localhost:3000) in your browser.
|
|
|
134
134
|
Volto is actively developed since 2017 and used in production since 2018 on the following websites:
|
|
135
135
|
|
|
136
136
|
- [VHS Ehrenamtsportal](https://vhs-ehrenamtsportal.de) (Website to help volunteers that help refugees for the [German Adult Education Association](https://www.dvv-vhs.de/en/home/), developed by [kitconcept GmbH](https://kitconcept.com), 2018)
|
|
137
|
-
- [Zeelandia](https://zeelandia.de) (Corporate website for one of the leading
|
|
137
|
+
- [Zeelandia](https://zeelandia.de) (Corporate website for one of the leading bakery ingredients manufacturers in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2019)
|
|
138
138
|
- [Excellence at Humboldt-Universität zu Berlin](https://www.alles-beginnt-mit-einer-frage.de) (Website for the excellence initiative of the [Humboldt University Berlin](https://hu-berlin.de), developed by [kitconcept GmbH](https://kitconcept.com), 2019)
|
|
139
139
|
- [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://www.eaudeweb.ro), 2019)
|
|
140
140
|
- [Industrial Emissions portal for Europe](https://industry.eea.europa.eu) (Thematic website focusing on European industrial emissions, developed by [Eau de Web](https://www.eaudeweb.ro), 2020)
|
|
@@ -177,6 +177,8 @@ Volto is actively developed since 2017 and used in production since 2018 on the
|
|
|
177
177
|
- [Helmholtz-Institut Erlangen-Nürnberg für Erneuerbare Energien (HI-ERN)](https://www.hi-ern.de) (Website for HI ERN, a research institution for renewable energies, developed by [kitconcept GmbH](https://kitconcept.com), 2022)
|
|
178
178
|
- [Lanku](https://www.lanku.eus) (Website for Lanku Kultur Zerbitzuak, a company offering cultural services and improvised Basque verse singing sessions across the Basque Country, developed by [CodeSyntax](https://www.codesyntax.com/en), 2023)
|
|
179
179
|
- [UEU](https://www.ueu.eus) (Website for Udako Euskal Unibertsitatea, a non-profit University offering all its service only in Basque: courses, publications, ... developed by [CodeSyntax](https://www.codesyntax.com/en), 2023)
|
|
180
|
+
- [German Aerospace Center (DLR)](https://www.dlr.de/de) (The German Aerospace Center (DLR) is the Federal Republic of Germany's research center for aeronautics. With more than 10.000 employees and a yearly budget of more than 1 billion euros, it is one of the largest research institutions in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2023)
|
|
181
|
+
- [Leibniz Institute for Science and Mathematics Education (IPN)](https://www.leibniz-ipn.de) (Website of the IPN, a research institute dedicated to issues related to learning and teaching of science, mathematics and computer science in and outside of schools, developed by [Starzel](https://www.starzel.de), 2023)
|
|
180
182
|
|
|
181
183
|
Please create a new [issue](https://github.com/plone/volto/issues/new) or [pull request](https://github.com/plone/volto/pulls) to add your Volto-site here!
|
|
182
184
|
|
|
@@ -225,13 +227,14 @@ On the [Plone Training website](https://training.plone.org), you'll find Volto-d
|
|
|
225
227
|
|
|
226
228
|
[Timo Stollenwerk - Reinventing Plone, Roadmap to the Modern Web](https://2018.ploneconf.org/talks/reinventing-plone-roadmap-to-the-modern-web)
|
|
227
229
|
|
|
228
|
-
## Node Support
|
|
230
|
+
## Node.js Support
|
|
229
231
|
|
|
230
|
-
- Node
|
|
231
|
-
- Node
|
|
232
|
-
- Node
|
|
233
|
-
- Node
|
|
234
|
-
- Node
|
|
232
|
+
- Node.js 20: Supported since Volto 17
|
|
233
|
+
- Node.js 18: Supported since Volto 17
|
|
234
|
+
- Node.js 16: No longer supported. It was supported from Volto 14 - 16
|
|
235
|
+
- Node.js 14: No longer supported. It was supported from Volto 8.8.0 - 16
|
|
236
|
+
- Node.js 12: No longer supported. It was supported from Volto 4 - 15
|
|
237
|
+
- Node.js 10: No longer supported. It was supported from Volto 1 - 12
|
|
235
238
|
|
|
236
239
|
## Browser support
|
|
237
240
|
|
|
@@ -266,7 +269,7 @@ yarn
|
|
|
266
269
|
Either using a Docker command:
|
|
267
270
|
|
|
268
271
|
```shell
|
|
269
|
-
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.
|
|
272
|
+
docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e PROFILES="plone.volto:default-homepage" plone/plone-backend:6.0.5
|
|
270
273
|
```
|
|
271
274
|
|
|
272
275
|
or using the convenience makefile command:
|
package/addon-registry.js
CHANGED
|
@@ -6,6 +6,12 @@ const debug = require('debug')('shadowing');
|
|
|
6
6
|
const { map } = require('lodash');
|
|
7
7
|
const { DepGraph } = require('dependency-graph');
|
|
8
8
|
|
|
9
|
+
const excludedCompilerOptionsPaths = [
|
|
10
|
+
'@plone/volto/*',
|
|
11
|
+
'@plone/volto-slate/*',
|
|
12
|
+
'@root/*',
|
|
13
|
+
];
|
|
14
|
+
|
|
9
15
|
function getPackageBasePath(base) {
|
|
10
16
|
while (!fs.existsSync(`${base}/package.json`)) {
|
|
11
17
|
base = path.join(base, '../');
|
|
@@ -197,7 +203,10 @@ class AddonConfigurationRegistry {
|
|
|
197
203
|
addons: require(packageJsonPath).addons || [],
|
|
198
204
|
};
|
|
199
205
|
|
|
200
|
-
|
|
206
|
+
// Removed excluded paths from CompilerOptions
|
|
207
|
+
if (!excludedCompilerOptionsPaths.includes(name)) {
|
|
208
|
+
this.packages[name] = Object.assign(this.packages[name] || {}, pkg);
|
|
209
|
+
}
|
|
201
210
|
});
|
|
202
211
|
}
|
|
203
212
|
this.initPackagesFolder();
|
package/create-addons-loader.js
CHANGED
|
@@ -105,7 +105,7 @@ module.exports = (addons, addonsInfo) => {
|
|
|
105
105
|
|
|
106
106
|
const addonsLoaderPath = tmp.tmpNameSync({ postfix: '.js' });
|
|
107
107
|
const code = getAddonsLoaderCode(addons, addonsInfo);
|
|
108
|
-
fs.writeFileSync(addonsLoaderPath,
|
|
108
|
+
fs.writeFileSync(addonsLoaderPath, Buffer.from(code));
|
|
109
109
|
return addonsLoaderPath;
|
|
110
110
|
};
|
|
111
111
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import '@testing-library/cypress/add-commands';
|
|
2
1
|
import { getIfExists } from '../helpers';
|
|
3
2
|
import { ploneAuth } from './constants';
|
|
4
3
|
|
|
@@ -21,6 +20,25 @@ const ploneAuthObj = {
|
|
|
21
20
|
pass: ploneAuth[1],
|
|
22
21
|
};
|
|
23
22
|
|
|
23
|
+
export * from './volto-slate';
|
|
24
|
+
|
|
25
|
+
// --- isInViewport ----------------------------------------------------------
|
|
26
|
+
Cypress.Commands.add('isInViewport', (element) => {
|
|
27
|
+
cy.get(element).then(($el) => {
|
|
28
|
+
const windowInnerWidth = Cypress.config(`viewportWidth`);
|
|
29
|
+
const windowInnerHeight = Cypress.config(`viewportHeight`);
|
|
30
|
+
const rect = $el[0].getBoundingClientRect();
|
|
31
|
+
|
|
32
|
+
const rightBoundOfWindow = windowInnerWidth;
|
|
33
|
+
const bottomBoundOfWindow = windowInnerHeight;
|
|
34
|
+
|
|
35
|
+
expect(rect.top).to.be.at.least(0);
|
|
36
|
+
expect(rect.left).to.be.at.least(0);
|
|
37
|
+
expect(rect.right).to.be.lessThan(rightBoundOfWindow);
|
|
38
|
+
expect(rect.bottom).to.be.lessThan(bottomBoundOfWindow);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
|
|
24
42
|
// --- AUTOLOGIN -------------------------------------------------------------
|
|
25
43
|
Cypress.Commands.add('autologin', (usr, pass) => {
|
|
26
44
|
let api_url, user, password;
|
|
@@ -671,10 +689,7 @@ Cypress.Commands.add(
|
|
|
671
689
|
Cypress.Commands.add('toolbarSave', () => {
|
|
672
690
|
// Save
|
|
673
691
|
cy.get('#toolbar-save', { timeout: 10000 }).click();
|
|
674
|
-
cy.waitForResourceToLoad('
|
|
675
|
-
cy.waitForResourceToLoad('@breadcrumbs');
|
|
676
|
-
cy.waitForResourceToLoad('@actions');
|
|
677
|
-
cy.waitForResourceToLoad('@types');
|
|
692
|
+
cy.waitForResourceToLoad('');
|
|
678
693
|
});
|
|
679
694
|
|
|
680
695
|
Cypress.Commands.add('clearSlate', (selector) => {
|
|
@@ -705,6 +720,20 @@ Cypress.Commands.add('getSlate', (createNewSlate = false) => {
|
|
|
705
720
|
return slate;
|
|
706
721
|
});
|
|
707
722
|
|
|
723
|
+
Cypress.Commands.add('getSlateSelector', (selector = SLATE_SELECTOR) => {
|
|
724
|
+
let slate;
|
|
725
|
+
cy.getIfExists(
|
|
726
|
+
selector,
|
|
727
|
+
() => {
|
|
728
|
+
slate = cy.get(selector).last();
|
|
729
|
+
},
|
|
730
|
+
() => {
|
|
731
|
+
slate = cy.get(selector, { timeout: 10000 }).last();
|
|
732
|
+
},
|
|
733
|
+
);
|
|
734
|
+
return slate;
|
|
735
|
+
});
|
|
736
|
+
|
|
708
737
|
Cypress.Commands.add('getSlateTitle', () => {
|
|
709
738
|
return cy.get(SLATE_TITLE_SELECTOR, {
|
|
710
739
|
timeout: 10000,
|
|
@@ -751,18 +780,25 @@ Cypress.Commands.add('lineBreakInSlate', { prevSubject: true }, (subject) => {
|
|
|
751
780
|
);
|
|
752
781
|
});
|
|
753
782
|
|
|
754
|
-
Cypress.Commands.add(
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
783
|
+
Cypress.Commands.add(
|
|
784
|
+
'setSlateSelection',
|
|
785
|
+
(subject, query, endQuery, wait = 1000) => {
|
|
786
|
+
cy.get('.slate-editor.selected [contenteditable=true]')
|
|
787
|
+
.focus()
|
|
788
|
+
// .click()
|
|
789
|
+
.setSelection(subject, query, endQuery)
|
|
790
|
+
.wait(wait); // this wait is needed for the selection change to be detected after
|
|
791
|
+
},
|
|
792
|
+
);
|
|
761
793
|
|
|
762
794
|
Cypress.Commands.add('getSlateEditorAndType', (type) => {
|
|
763
795
|
cy.getSlate().focus().click().type(type);
|
|
764
796
|
});
|
|
765
797
|
|
|
798
|
+
Cypress.Commands.add('getSlateEditorSelectorAndType', (selector, type) => {
|
|
799
|
+
cy.getSlateSelector(selector).focus().click().type(type);
|
|
800
|
+
});
|
|
801
|
+
|
|
766
802
|
Cypress.Commands.add('setSlateCursor', (subject, query, endQuery) => {
|
|
767
803
|
cy.get('.slate-editor.selected [contenteditable=true]')
|
|
768
804
|
.focus()
|
|
@@ -771,9 +807,9 @@ Cypress.Commands.add('setSlateCursor', (subject, query, endQuery) => {
|
|
|
771
807
|
.wait(1000); // this wait is needed for the selection change to be detected after
|
|
772
808
|
});
|
|
773
809
|
|
|
774
|
-
Cypress.Commands.add('clickSlateButton', (button) => {
|
|
810
|
+
Cypress.Commands.add('clickSlateButton', (button, timeout = 1000) => {
|
|
775
811
|
cy.get(`.slate-inline-toolbar .button-wrapper a[title="${button}"]`, {
|
|
776
|
-
timeout
|
|
812
|
+
timeout,
|
|
777
813
|
}).click({ force: true }); // force click is needed to ensure the button in visible in view.
|
|
778
814
|
});
|
|
779
815
|
|
|
@@ -849,3 +885,23 @@ Cypress.Commands.add('getTableSlate', (header = false) => {
|
|
|
849
885
|
);
|
|
850
886
|
return slate;
|
|
851
887
|
});
|
|
888
|
+
|
|
889
|
+
Cypress.Commands.add('configureListingWith', (contentType) => {
|
|
890
|
+
cy.get('.sidebar-container .tabs-wrapper .menu .item')
|
|
891
|
+
.contains('Block')
|
|
892
|
+
.click();
|
|
893
|
+
cy.get('.querystring-widget .fields').contains('Add criteria').click();
|
|
894
|
+
cy.get(
|
|
895
|
+
'.querystring-widget .fields:first-of-type .field:first-of-type .react-select__menu .react-select__option',
|
|
896
|
+
)
|
|
897
|
+
.contains('Type')
|
|
898
|
+
.click();
|
|
899
|
+
|
|
900
|
+
//insert Page
|
|
901
|
+
cy.get('.querystring-widget .fields:first-of-type > .field').click();
|
|
902
|
+
cy.get(
|
|
903
|
+
'.querystring-widget .fields:first-of-type > .field .react-select__menu .react-select__option',
|
|
904
|
+
)
|
|
905
|
+
.contains(contentType)
|
|
906
|
+
.click();
|
|
907
|
+
});
|
package/cypress/support/e2e.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export const slateBeforeEach = (contentType = 'Document') => {
|
|
2
|
+
cy.intercept('GET', `/**/*?expand*`).as('content');
|
|
2
3
|
cy.autologin();
|
|
3
4
|
cy.createContent({
|
|
4
5
|
contentType: contentType,
|
|
@@ -6,12 +7,10 @@ export const slateBeforeEach = (contentType = 'Document') => {
|
|
|
6
7
|
contentTitle: 'My Page',
|
|
7
8
|
});
|
|
8
9
|
cy.visit('/my-page');
|
|
9
|
-
cy.
|
|
10
|
-
|
|
11
|
-
cy.waitForResourceToLoad('@actions');
|
|
12
|
-
cy.waitForResourceToLoad('@types');
|
|
13
|
-
cy.waitForResourceToLoad('my-page');
|
|
10
|
+
cy.wait('@content');
|
|
11
|
+
|
|
14
12
|
cy.navigate('/my-page/edit');
|
|
13
|
+
cy.wait('@content');
|
|
15
14
|
};
|
|
16
15
|
|
|
17
16
|
export const getSelectedSlateEditor = () => {
|
package/cypress.config.js
CHANGED