@plone/volto 19.0.0-alpha.0 → 19.0.0-alpha.10
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 +2 -0
- package/.eslintrc +37 -0
- package/CHANGELOG.md +274 -2
- package/README.md +3 -6
- package/cypress/docker/prefixed-rules.yml +26 -0
- package/cypress/docker/prefixed.yml +24 -0
- package/cypress/support/commands.js +12 -6
- package/cypress/support/guillotina.js +1 -0
- package/cypress.config.js +1 -0
- package/locales/af.json +1 -0
- package/locales/ar.json +1 -0
- package/locales/bg.json +1 -0
- package/locales/bn.json +1 -0
- package/locales/ca/LC_MESSAGES/volto.po +96 -17
- package/locales/ca.json +1 -1
- package/locales/cs.json +1 -0
- package/locales/cy.json +1 -0
- package/locales/da.json +1 -0
- package/locales/de/LC_MESSAGES/volto.po +104 -25
- package/locales/de.json +1 -1
- package/locales/el.json +1 -0
- package/locales/en/LC_MESSAGES/volto.po +97 -18
- package/locales/en.json +1 -1
- package/locales/en_AU.json +1 -0
- package/locales/en_GB.json +1 -0
- package/locales/eo.json +1 -0
- package/locales/es/LC_MESSAGES/volto.po +97 -18
- package/locales/es.json +1 -1
- package/locales/et.json +1 -0
- package/locales/eu/LC_MESSAGES/volto.po +96 -17
- package/locales/eu.json +1 -1
- package/locales/fa.json +1 -0
- package/locales/fi/LC_MESSAGES/volto.po +96 -17
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +97 -18
- package/locales/fr.json +1 -1
- package/locales/fu.json +1 -0
- package/locales/gl.json +1 -0
- package/locales/he.json +1 -0
- package/locales/hi/LC_MESSAGES/volto.po +100 -21
- package/locales/hi.json +1 -1
- package/locales/hr.json +1 -0
- package/locales/hu.json +1 -0
- package/locales/hy.json +1 -0
- package/locales/id.json +1 -0
- package/locales/it/LC_MESSAGES/volto.po +101 -22
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +96 -17
- package/locales/ja.json +1 -1
- package/locales/ka.json +1 -0
- package/locales/kn.json +1 -0
- package/locales/ko.json +1 -0
- package/locales/lt.json +1 -0
- package/locales/lv.json +1 -0
- package/locales/mi.json +1 -0
- package/locales/mk.json +1 -0
- package/locales/my.json +1 -0
- package/locales/nb_NO.json +1 -0
- package/locales/nl/LC_MESSAGES/volto.po +100 -21
- package/locales/nl.json +1 -1
- package/locales/nn.json +1 -0
- package/locales/pl.json +1 -0
- package/locales/pt/LC_MESSAGES/volto.po +96 -17
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +116 -37
- package/locales/pt_BR.json +1 -1
- package/locales/rm.json +1 -0
- package/locales/ro/LC_MESSAGES/volto.po +100 -21
- package/locales/ro.json +1 -1
- package/locales/ru/LC_MESSAGES/volto.po +100 -21
- package/locales/ru.json +1 -1
- package/locales/sk.json +1 -0
- package/locales/sl.json +1 -0
- package/locales/sm.json +1 -0
- package/locales/sq.json +1 -0
- package/locales/sr.json +1 -0
- package/locales/sr@cyrl.json +1 -0
- package/locales/sr@latn.json +1 -0
- package/locales/sv.json +1 -1
- package/locales/ta.json +1 -0
- package/locales/te.json +1 -0
- package/locales/th.json +1 -0
- package/locales/to.json +1 -0
- package/locales/tr.json +1 -0
- package/locales/uk.json +1 -0
- package/locales/vi.json +1 -0
- package/locales/volto.pot +97 -18
- package/locales/zh_CN/LC_MESSAGES/volto.po +96 -17
- package/locales/zh_CN.json +1 -1
- package/locales/zh_Hant.json +1 -0
- package/locales/zh_Hant_HK.json +1 -0
- package/package.json +36 -27
- package/razzle.config.js +16 -0
- package/src/actions/actions/actions.test.js +3 -3
- package/src/actions/addons/addons.test.js +15 -12
- package/src/actions/aliases/aliases.test.js +1 -1
- package/src/actions/content/content.js +0 -1
- package/src/actions/controlpanels/controlpanels.js +13 -7
- package/src/actions/controlpanels/controlpanels.test.js +11 -5
- package/src/actions/querystring/querystring.test.js +2 -2
- package/src/actions/types/types.test.js +1 -1
- package/src/actions/users/users.js +2 -2
- package/src/components/manage/Actions/Actions.test.jsx +5 -1
- package/src/components/manage/Add/Add.jsx +27 -26
- package/src/components/manage/Add/Add.test.jsx +6 -3
- package/src/components/manage/Aliases/Aliases.test.jsx +7 -7
- package/src/components/manage/Blocks/Block/BlocksForm.jsx +1 -0
- package/src/components/manage/Blocks/Block/BlocksForm.test.jsx +48 -16
- package/src/components/manage/Blocks/Block/Edit.jsx +3 -1
- package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +9 -4
- package/src/components/manage/Blocks/Block/Settings.test.jsx +5 -1
- package/src/components/manage/Blocks/Block/StyleWrapper.jsx +11 -3
- package/src/components/manage/Blocks/Description/View.test.jsx +1 -1
- package/src/components/manage/Blocks/HTML/Edit.test.jsx +12 -5
- package/src/components/manage/Blocks/HTML/View.test.jsx +1 -1
- package/src/components/manage/Blocks/Image/Edit.jsx +5 -1
- package/src/components/manage/Blocks/Image/ImageSidebar.test.jsx +6 -2
- package/src/components/manage/Blocks/LeadImage/Edit.jsx +2 -2
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +1 -1
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx +8 -1
- package/src/components/manage/Blocks/Listing/ImageGallery.jsx +6 -4
- package/src/components/manage/Blocks/Listing/View.test.jsx +3 -1
- package/src/components/manage/Blocks/Maps/Edit.jsx +2 -1
- package/src/components/manage/Blocks/Maps/MapsSidebar.test.jsx +5 -1
- package/src/components/manage/Blocks/Search/SearchBlockView.jsx +21 -4
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx +13 -7
- package/src/components/manage/Blocks/Search/components/SelectFacet.test.jsx +12 -6
- package/src/components/manage/Blocks/Teaser/Data.jsx +21 -7
- package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +1 -1
- package/src/components/manage/Blocks/Teaser/schema.js +8 -3
- package/src/components/manage/Blocks/Title/Edit.jsx +8 -2
- package/src/components/manage/Blocks/ToC/variations/DefaultTocRenderer.test.jsx +11 -1
- package/src/components/manage/Blocks/Video/Edit.jsx +2 -1
- package/src/components/manage/Blocks/Video/VideoSidebar.test.jsx +5 -1
- package/src/components/manage/ConditionalLink/ConditionalLink.test.tsx +109 -0
- package/src/components/manage/ConditionalLink/ConditionalLink.tsx +36 -0
- package/src/components/manage/Contents/Contents.jsx +23 -2
- package/src/components/manage/Contents/Contents.test.jsx +36 -13
- package/src/components/manage/Contents/ContentsBreadcrumbs.Multilingual.test.jsx +18 -5
- package/src/components/manage/Contents/ContentsBreadcrumbs.jsx +20 -26
- package/src/components/manage/Contents/ContentsBreadcrumbs.test.jsx +14 -0
- package/src/components/manage/Contents/ContentsDeleteModal.jsx +258 -206
- package/src/components/manage/Contents/ContentsDeleteModal.stories.jsx +26 -8
- package/src/components/manage/Contents/ContentsItem.jsx +10 -2
- package/src/components/manage/Contents/ContentsPropertiesModal.test.jsx +5 -1
- package/src/components/manage/Contents/ContentsRenameModal.test.jsx +5 -1
- package/src/components/manage/Contents/ContentsTagsModal.test.jsx +5 -1
- package/src/components/manage/Contents/ContentsUploadModal.test.jsx +13 -22
- package/src/components/manage/Contents/ContentsWorkflowModal.test.jsx +5 -1
- package/src/components/manage/Contents/__mocks__/index.tsx +16 -0
- package/src/components/manage/Contents/__mocks__/index.vitest.tsx +5 -0
- package/src/components/manage/Controlpanels/AddonsControlpanel.test.jsx +28 -3
- package/src/components/manage/Controlpanels/Aliases.test.jsx +35 -3
- package/src/components/manage/Controlpanels/ContentType.jsx +1 -1
- package/src/components/manage/Controlpanels/ContentType.test.jsx +29 -3
- package/src/components/manage/Controlpanels/ContentTypeLayout.test.jsx +4 -2
- package/src/components/manage/Controlpanels/ContentTypes.test.jsx +25 -2
- package/src/components/manage/Controlpanels/Controlpanel.test.jsx +37 -6
- package/src/components/manage/Controlpanels/Controlpanels.test.jsx +47 -3
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +3 -2
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.test.jsx +15 -9
- package/src/components/manage/Controlpanels/ModerateComments.test.jsx +31 -5
- package/src/components/manage/Controlpanels/Rules/AddRule.test.jsx +13 -4
- package/src/components/manage/Controlpanels/Rules/ConfigureRule.test.jsx +9 -5
- package/src/components/manage/Controlpanels/Rules/EditRule.test.jsx +12 -4
- package/src/components/manage/Controlpanels/Rules/Rules.test.jsx +7 -3
- package/src/components/manage/Controlpanels/UndoControlpanel.test.jsx +33 -4
- package/src/components/manage/Controlpanels/Users/RenderUsers.jsx +156 -175
- package/src/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.test.jsx +3 -1
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +575 -630
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.test.jsx +16 -9
- package/src/components/manage/Delete/Delete.test.jsx +45 -4
- package/src/components/manage/Diff/Diff.test.jsx +15 -6
- package/src/components/manage/Diff/DiffField.test.jsx +12 -6
- package/src/components/manage/Display/Display.test.jsx +17 -6
- package/src/components/manage/Edit/Edit.jsx +2 -3
- package/src/components/manage/Edit/Edit.test.jsx +11 -3
- package/src/components/manage/Form/BlockDataForm.test.jsx +5 -1
- package/src/components/manage/Form/Form.jsx +32 -0
- package/src/components/manage/Form/Form.test.jsx +27 -19
- package/src/components/manage/Form/InlineForm.jsx +2 -2
- package/src/components/manage/Form/InlineForm.test.jsx +5 -1
- package/src/components/manage/Form/ModalForm.test.jsx +5 -1
- package/src/components/manage/Form/__mocks__/index.tsx +17 -0
- package/src/components/manage/Form/__mocks__/index.vitest.tsx +73 -0
- package/src/components/manage/History/History.test.jsx +3 -1
- package/src/components/manage/LinksToItem/LinksToItem.test.jsx +6 -4
- package/src/components/manage/MaybeWrap/MaybeWrap.tsx +15 -0
- package/src/components/manage/Multilingual/CompareLanguages.jsx +2 -5
- package/src/components/manage/Multilingual/CreateTranslation.jsx +8 -8
- package/src/components/manage/Multilingual/ManageTranslations.jsx +4 -2
- package/src/components/manage/Multilingual/ManageTranslations.test.jsx +8 -3
- package/src/components/manage/Multilingual/TranslationObject.jsx +1 -1
- package/src/components/manage/Preferences/ChangePassword.test.jsx +9 -2
- package/src/components/manage/Preferences/PersonalInformation.test.jsx +3 -1
- package/src/components/manage/Preferences/PersonalPreferences.test.jsx +20 -7
- package/src/components/manage/Rules/Rules.test.jsx +6 -3
- package/src/components/manage/Sharing/Sharing.test.jsx +3 -1
- package/src/components/manage/Sidebar/ObjectBrowserNav.jsx +2 -1
- package/src/components/manage/Sidebar/ObjectBrowserNav.test.jsx +3 -3
- package/src/components/manage/Sidebar/SidebarPortal.test.tsx +42 -0
- package/src/components/manage/Sidebar/SidebarPortal.tsx +48 -0
- package/src/components/manage/TemplateChooser/TemplateChooser.jsx +2 -1
- package/src/components/manage/Toolbar/More.jsx +4 -1
- package/src/components/manage/Toolbar/More.test.jsx +9 -7
- package/src/components/manage/Toolbar/PersonalTools.jsx +2 -1
- package/src/components/manage/Toolbar/Toolbar.jsx +3 -4
- package/src/components/manage/Toolbar/Types.jsx +7 -7
- package/src/components/manage/UniversalLink/UniversalLink.test.jsx +196 -14
- package/src/components/manage/UniversalLink/UniversalLink.tsx +215 -0
- package/src/components/manage/Widgets/ArrayWidget.test.jsx +22 -5
- package/src/components/manage/Widgets/CheckboxGroupWidget.test.jsx +12 -5
- package/src/components/manage/Widgets/DatetimeWidget.jsx +5 -0
- package/src/components/manage/Widgets/DatetimeWidget.test.jsx +21 -6
- package/src/components/manage/Widgets/FileWidget.jsx +14 -8
- package/src/components/manage/Widgets/ImageWidget.jsx +176 -40
- package/src/components/manage/Widgets/InternalUrlWidget.jsx +2 -0
- package/src/components/manage/Widgets/NumberWidget.test.jsx +8 -7
- package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +3 -0
- package/src/components/manage/Widgets/ObjectListWidget.jsx +11 -1
- package/src/components/manage/Widgets/ObjectListWidget.test.jsx +18 -8
- package/src/components/manage/Widgets/ObjectWidget.test.jsx +5 -1
- package/src/components/manage/Widgets/RadioGroupWidget.test.jsx +12 -5
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.test.jsx +12 -6
- package/src/components/manage/Widgets/RegistryImageWidget.test.jsx +44 -41
- package/src/components/manage/Widgets/SchemaWidget.test.jsx +12 -5
- package/src/components/manage/Widgets/SchemaWidgetFieldset.test.jsx +12 -5
- package/src/components/manage/Widgets/SelectAutoComplete.jsx +29 -12
- package/src/components/manage/Widgets/SelectAutoComplete.test.jsx +12 -6
- package/src/components/manage/Widgets/SelectWidget.jsx +3 -1
- package/src/components/manage/Widgets/SelectWidget.test.jsx +12 -6
- package/src/components/manage/Widgets/TimeWidget.test.jsx +13 -5
- package/src/components/manage/Widgets/TokenWidget.test.jsx +12 -6
- package/src/components/manage/Widgets/UrlWidget.jsx +2 -0
- package/src/components/manage/Widgets/VocabularyTermsWidget.test.jsx +18 -9
- package/src/components/manage/Widgets/__mocks__/index.tsx +16 -0
- package/src/components/manage/Widgets/__mocks__/index.vitest.tsx +41 -0
- package/src/components/manage/Workflow/Workflow.test.jsx +17 -7
- package/src/components/theme/AlternateHrefLangs/AlternateHrefLangs.jsx +1 -3
- package/src/components/theme/AlternateHrefLangs/AlternateHrefLangs.test.jsx +0 -4
- package/src/components/theme/App/App.jsx +3 -1
- package/src/components/theme/App/App.test.jsx +22 -17
- package/src/components/theme/AppExtras/AppExtras.test.jsx +6 -6
- package/src/components/theme/Avatar/Avatar.jsx +2 -1
- package/src/components/theme/Comments/CommentEditModal.test.jsx +5 -1
- package/src/components/theme/Comments/Comments.test.jsx +29 -12
- package/src/components/theme/ContactForm/ContactForm.test.jsx +8 -4
- package/src/components/theme/FormattedDate/FormattedDate.stories.jsx +20 -2
- package/src/components/theme/Header/Header.test.jsx +19 -13
- package/src/components/theme/Image/Image.jsx +11 -8
- package/src/components/theme/LanguageSelector/{LanguageSelector.test.jsx → LanguageSelector.test.tsx} +6 -6
- package/src/components/theme/LanguageSelector/LanguageSelector.tsx +89 -0
- package/src/components/theme/Logo/Logo.Multilingual.test.jsx +0 -5
- package/src/components/theme/Logout/Logout.test.jsx +1 -1
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +8 -12
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.test.jsx +3 -5
- package/src/components/theme/Navigation/NavItem.jsx +1 -5
- package/src/components/theme/Navigation/Navigation.Multilingual.test.jsx +0 -5
- package/src/components/theme/NotFound/NotFound.jsx +5 -2
- package/src/components/theme/NotFound/NotFound.test.jsx +3 -0
- package/src/components/theme/PasswordReset/PasswordReset.test.jsx +10 -1
- package/src/components/theme/PasswordReset/RequestPasswordReset.test.jsx +5 -1
- package/src/components/theme/PreviewImage/PreviewImage.jsx +1 -1
- package/src/components/theme/Register/Register.test.jsx +5 -1
- package/src/components/theme/RequestTimeout/RequestTimeout.jsx +1 -1
- package/src/components/theme/Search/Search.test.jsx +6 -4
- package/src/components/theme/Sitemap/Sitemap.jsx +6 -5
- package/src/components/theme/Sitemap/Sitemap.test.jsx +0 -1
- package/src/components/theme/TsTest/TsTest.test.tsx +0 -1
- package/src/components/theme/View/EventDatesInfo.test.jsx +12 -5
- package/src/components/theme/View/EventView.test.jsx +12 -5
- package/src/components/theme/View/FileView.jsx +9 -1
- package/src/components/theme/View/ListingView.test.jsx +2 -0
- package/src/components/theme/View/SummaryView.test.jsx +10 -0
- package/src/components/theme/View/TabularView.test.jsx +1 -0
- package/src/components/theme/View/View.jsx +1 -1
- package/src/components/theme/View/View.test.jsx +42 -23
- package/src/components/theme/Widgets/ImageWidget.jsx +2 -1
- package/src/config/ControlPanels.js +1 -0
- package/src/config/index.js +18 -25
- package/src/config/server.js +0 -2
- package/src/express-middleware/devproxy.js +20 -5
- package/src/helpers/Api/APIResourceWithAuth.js +8 -3
- package/src/helpers/Api/Api.js +7 -4
- package/src/helpers/Api/Api.plone.rest.test.js +11 -9
- package/src/helpers/Api/Api.test.js +11 -14
- package/src/helpers/AsyncConnect/AsyncConnect.test.jsx +145 -189
- package/src/helpers/AsyncConnect/ssr.js +4 -1
- package/src/helpers/AuthToken/AuthToken.test.js +60 -22
- package/src/helpers/Blocks/Blocks.test.js +1 -1
- package/src/helpers/Content/Content.js +23 -0
- package/src/helpers/Content/Content.test.js +39 -0
- package/src/helpers/Content/withClientSideContent.jsx +35 -0
- package/src/helpers/Extensions/withBlockSchemaEnhancer.jsx +4 -1
- package/src/helpers/Html/Html.jsx +13 -7
- package/src/helpers/Html/Html.test.jsx +32 -28
- package/src/helpers/LanguageMap/LanguageMap.js +115 -8
- package/src/helpers/Loadable/__mocks__/Loadable.jsx +16 -1
- package/src/helpers/Loadable/__mocks__/Loadable.vitest.jsx +39 -0
- package/src/helpers/MessageLabels/MessageLabels.js +5 -0
- package/src/helpers/Sitemap/Sitemap.js +4 -4
- package/src/helpers/Url/Url.js +32 -2
- package/src/helpers/Url/Url.test.js +62 -0
- package/src/helpers/Utils/withSaveAsDraft.jsx +241 -0
- package/src/hooks/user/useUser.js +1 -1
- package/src/middleware/Api.test.js +51 -0
- package/src/middleware/api.js +78 -29
- package/src/middleware/storeProtectLoadUtils.test.js +93 -81
- package/src/reducers/content/content.js +3 -18
- package/src/reducers/diff/diff.js +5 -1
- package/src/reducers/diff/diff.test.js +60 -4
- package/src/routes.js +4 -2
- package/src/server.jsx +45 -14
- package/src/start-client.jsx +9 -6
- package/src/start-server.js +9 -3
- package/test-setup-config.jsx +0 -2
- package/test-setup-globals-vitest.js +46 -0
- package/theme/themes/pastanaga/collections/table.overrides +9 -0
- package/theme/themes/pastanaga/extras/blocks.less +26 -0
- package/theme/themes/pastanaga/extras/contents.less +17 -5
- package/theme/themes/pastanaga/extras/main.less +32 -2
- package/tsconfig.declarations.json +12 -1
- package/tsconfig.json +5 -5
- package/types/components/manage/Blocks/Teaser/schema.d.ts +1 -0
- package/types/components/manage/ConditionalLink/ConditionalLink.d.ts +11 -15
- package/types/components/manage/Contents/__mocks__/index.vitest.d.ts +2 -0
- package/types/components/manage/Controlpanels/Users/RenderUsers.d.ts +18 -2
- package/types/components/manage/Controlpanels/Users/UsersControlpanel.d.ts +6 -2
- package/types/components/manage/Controlpanels/index.d.ts +2 -2
- package/types/components/manage/Form/__mocks__/index.vitest.d.ts +8 -0
- package/types/components/manage/MaybeWrap/MaybeWrap.d.ts +7 -5
- package/types/components/manage/Sidebar/SidebarPortal.d.ts +7 -15
- package/types/components/manage/UniversalLink/UniversalLink.d.ts +54 -20
- package/types/components/manage/Widgets/ImageWidget.d.ts +41 -1
- package/types/components/manage/Widgets/RecurrenceWidget/Utils.d.ts +12 -18
- package/types/components/manage/Widgets/__mocks__/index.vitest.d.ts +33 -0
- package/types/components/theme/FormattedDate/FormattedDate.stories.d.ts +1 -1
- package/types/components/theme/LanguageSelector/LanguageSelector.d.ts +3 -10
- package/types/helpers/Content/Content.d.ts +7 -0
- package/types/helpers/Content/withClientSideContent.d.ts +1 -0
- package/types/helpers/Extensions/withBlockSchemaEnhancer.d.ts +4 -5
- package/types/helpers/Helmet/Helmet.d.ts +1 -1
- package/types/helpers/LanguageMap/LanguageMap.d.ts +428 -4
- package/types/helpers/Loadable/__mocks__/Loadable.vitest.d.ts +3 -0
- package/types/helpers/MessageLabels/MessageLabels.d.ts +68 -62
- package/types/helpers/Url/Url.d.ts +14 -0
- package/types/helpers/Url/bulkFlattenToAppURL.d.ts +5 -0
- package/types/helpers/Utils/withSaveAsDraft.d.ts +1 -0
- package/types/middleware/api.d.ts +6 -9
- package/types/react-router-hash-link.d.ts +12 -0
- package/types/reducers/index.d.ts +1 -0
- package/types/routes.d.ts +4 -0
- package/types/server.d.ts +1 -1
- package/types/start-client.d.ts +0 -1
- package/vite-plugins/svg.mjs +81 -0
- package/vitest.config.mjs +77 -0
- package/package-why.json +0 -34
- package/src/actions/content/content.multilingual.test.js +0 -17
- package/src/components/manage/ConditionalLink/ConditionalLink.jsx +0 -27
- package/src/components/manage/ConditionalLink/ConditionalLink.test.jsx +0 -30
- package/src/components/manage/MaybeWrap/MaybeWrap.jsx +0 -9
- package/src/components/manage/Sidebar/SidebarPortal.jsx +0 -47
- package/src/components/manage/Sidebar/SidebarPortal.test.jsx +0 -26
- package/src/components/manage/UniversalLink/UniversalLink.jsx +0 -154
- package/src/components/manage/Widgets/FileWidget.test.jsx +0 -91
- package/src/components/theme/LanguageSelector/LanguageSelector.jsx +0 -77
- package/theme/themes/pastanaga/extras/utils.less +0 -63
package/src/server.jsx
CHANGED
|
@@ -18,8 +18,9 @@ import { CookiesProvider } from 'react-cookie';
|
|
|
18
18
|
import cookiesMiddleware from 'universal-cookie-express';
|
|
19
19
|
import debug from 'debug';
|
|
20
20
|
|
|
21
|
-
import routes from '@
|
|
21
|
+
import routes from '@plone/volto/routes';
|
|
22
22
|
import config from '@plone/volto/registry';
|
|
23
|
+
import okMiddleware from '@plone/volto/express-middleware/ok';
|
|
23
24
|
|
|
24
25
|
import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
|
|
25
26
|
import Html from '@plone/volto/helpers/Html/Html';
|
|
@@ -39,10 +40,14 @@ import ErrorPage from '@plone/volto/error';
|
|
|
39
40
|
import languages from '@plone/volto/constants/Languages.cjs';
|
|
40
41
|
|
|
41
42
|
import configureStore from '@plone/volto/store';
|
|
42
|
-
import {
|
|
43
|
+
import {
|
|
44
|
+
ReduxAsyncConnect,
|
|
45
|
+
loadOnServer,
|
|
46
|
+
} from '@plone/volto/helpers/AsyncConnect';
|
|
43
47
|
|
|
44
48
|
let locales = {};
|
|
45
49
|
|
|
50
|
+
// Load locales listed in supportedLanguages setting
|
|
46
51
|
if (config.settings) {
|
|
47
52
|
config.settings.supportedLanguages.forEach((lang) => {
|
|
48
53
|
const langFileName = toGettextLang(lang);
|
|
@@ -68,10 +73,30 @@ const server = express()
|
|
|
68
73
|
})
|
|
69
74
|
.use(cookiesMiddleware());
|
|
70
75
|
|
|
76
|
+
// If Volto is being served under a subpath,
|
|
77
|
+
// make sure the static files are available there too.
|
|
78
|
+
// (The static middleware loads too early to access the config.)
|
|
79
|
+
if (config.settings.subpathPrefix) {
|
|
80
|
+
server.use(
|
|
81
|
+
config.settings.subpathPrefix,
|
|
82
|
+
express.static(
|
|
83
|
+
process.env.BUILD_DIR
|
|
84
|
+
? path.join(process.env.BUILD_DIR, 'public')
|
|
85
|
+
: process.env.RAZZLE_PUBLIC_DIR,
|
|
86
|
+
{
|
|
87
|
+
redirect: false, // Avoid /my-prefix from being redirected to /my-prefix/
|
|
88
|
+
},
|
|
89
|
+
),
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
71
93
|
const middleware = (config.settings.expressMiddleware || []).filter((m) => m);
|
|
72
94
|
|
|
73
95
|
server.all('*', setupServer);
|
|
74
|
-
if (middleware.length)
|
|
96
|
+
if (middleware.length) {
|
|
97
|
+
server.use(config.settings.subpathPrefix || '/', middleware);
|
|
98
|
+
}
|
|
99
|
+
server.use('/', okMiddleware());
|
|
75
100
|
|
|
76
101
|
server.use(function (err, req, res, next) {
|
|
77
102
|
if (err) {
|
|
@@ -107,7 +132,6 @@ function setupServer(req, res, next) {
|
|
|
107
132
|
const lang = toReactIntlLang(
|
|
108
133
|
new locale.Locales(
|
|
109
134
|
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
110
|
-
config.settings.defaultLanguage ||
|
|
111
135
|
req.headers['accept-language'],
|
|
112
136
|
)
|
|
113
137
|
.best(supported)
|
|
@@ -160,8 +184,10 @@ function setupServer(req, res, next) {
|
|
|
160
184
|
res.locals.detectedHost = `${
|
|
161
185
|
req.headers['x-forwarded-proto'] || req.protocol
|
|
162
186
|
}://${req.headers.host}`;
|
|
163
|
-
config.settings.apiPath =
|
|
164
|
-
|
|
187
|
+
config.settings.apiPath =
|
|
188
|
+
res.locals.detectedHost + config.settings.subpathPrefix;
|
|
189
|
+
config.settings.publicURL =
|
|
190
|
+
res.locals.detectedHost + config.settings.subpathPrefix;
|
|
165
191
|
}
|
|
166
192
|
|
|
167
193
|
res.locals = {
|
|
@@ -184,7 +210,6 @@ server.get('/*', (req, res) => {
|
|
|
184
210
|
const lang = toReactIntlLang(
|
|
185
211
|
new locale.Locales(
|
|
186
212
|
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
187
|
-
config.settings.defaultLanguage ||
|
|
188
213
|
req.headers['accept-language'],
|
|
189
214
|
)
|
|
190
215
|
.best(supported)
|
|
@@ -224,9 +249,10 @@ server.get('/*', (req, res) => {
|
|
|
224
249
|
|
|
225
250
|
loadOnServer({ store, location, routes, api })
|
|
226
251
|
.then(() => {
|
|
252
|
+
const state = store.getState();
|
|
227
253
|
const initialLang =
|
|
228
254
|
req.universalCookies.get('I18N_LANGUAGE') ||
|
|
229
|
-
|
|
255
|
+
state.site.data['plone.default_language'] ||
|
|
230
256
|
req.headers['accept-language'];
|
|
231
257
|
|
|
232
258
|
// The content info is in the store at this point thanks to the asynconnect
|
|
@@ -236,10 +262,9 @@ server.get('/*', (req, res) => {
|
|
|
236
262
|
// TODO: there is a bug here with content that, for any reason, doesn't
|
|
237
263
|
// present the language token field, for some reason. In this case, we
|
|
238
264
|
// should follow the cookie rather then switching the language
|
|
239
|
-
const contentLang =
|
|
265
|
+
const contentLang = state.content.get?.error
|
|
240
266
|
? initialLang
|
|
241
|
-
:
|
|
242
|
-
config.settings.defaultLanguage;
|
|
267
|
+
: state.content.data?.language?.token || initialLang;
|
|
243
268
|
|
|
244
269
|
if (toBackendLang(initialLang) !== contentLang && url !== '/') {
|
|
245
270
|
const newLang = toReactIntlLang(
|
|
@@ -254,7 +279,11 @@ server.get('/*', (req, res) => {
|
|
|
254
279
|
<ChunkExtractorManager extractor={extractor}>
|
|
255
280
|
<CookiesProvider cookies={req.universalCookies}>
|
|
256
281
|
<Provider store={store} onError={reactIntlErrorHandler}>
|
|
257
|
-
<StaticRouter
|
|
282
|
+
<StaticRouter
|
|
283
|
+
context={context}
|
|
284
|
+
location={req.url}
|
|
285
|
+
basename={config.settings.subpathPrefix}
|
|
286
|
+
>
|
|
258
287
|
<ReduxAsyncConnect routes={routes} helpers={api} />
|
|
259
288
|
</StaticRouter>
|
|
260
289
|
</Provider>
|
|
@@ -291,8 +320,8 @@ server.get('/*', (req, res) => {
|
|
|
291
320
|
markup={markup}
|
|
292
321
|
store={store}
|
|
293
322
|
criticalCss={readCriticalCss(req)}
|
|
294
|
-
apiPath={
|
|
295
|
-
publicURL={
|
|
323
|
+
apiPath={config.settings.apiPath}
|
|
324
|
+
publicURL={config.settings.publicURL}
|
|
296
325
|
/>,
|
|
297
326
|
)}
|
|
298
327
|
`,
|
|
@@ -335,6 +364,8 @@ export const defaultReadCriticalCss = () => {
|
|
|
335
364
|
|
|
336
365
|
// Exposed for the console bootstrap info messages
|
|
337
366
|
server.apiPath = config.settings.apiPath;
|
|
367
|
+
server.internalApiPath = config.settings.internalApiPath;
|
|
368
|
+
server.subpathPrefix = config.settings.subpathPrefix;
|
|
338
369
|
server.devProxyToApiPath = config.settings.devProxyToApiPath;
|
|
339
370
|
server.proxyRewriteTarget = config.settings.proxyRewriteTarget;
|
|
340
371
|
server.publicURL = config.settings.publicURL;
|
package/src/start-client.jsx
CHANGED
|
@@ -18,8 +18,6 @@ import Api from '@plone/volto/helpers/Api/Api';
|
|
|
18
18
|
import { persistAuthToken } from '@plone/volto/helpers/AuthToken/AuthToken';
|
|
19
19
|
import ScrollToTop from '@plone/volto/helpers/ScrollToTop/ScrollToTop';
|
|
20
20
|
|
|
21
|
-
export const history = createBrowserHistory();
|
|
22
|
-
|
|
23
21
|
function reactIntlErrorHandler(error) {
|
|
24
22
|
debug('i18n')(error);
|
|
25
23
|
}
|
|
@@ -27,6 +25,15 @@ function reactIntlErrorHandler(error) {
|
|
|
27
25
|
export default function client() {
|
|
28
26
|
const api = new Api();
|
|
29
27
|
|
|
28
|
+
if (window.env.RAZZLE_SUBPATH_PREFIX) {
|
|
29
|
+
config.settings.subpathPrefix = window.env.RAZZLE_SUBPATH_PREFIX;
|
|
30
|
+
}
|
|
31
|
+
const history = createBrowserHistory({
|
|
32
|
+
basename: config.settings.subpathPrefix
|
|
33
|
+
? config.settings.subpathPrefix
|
|
34
|
+
: '/',
|
|
35
|
+
});
|
|
36
|
+
|
|
30
37
|
const store = configureStore(window.__data, history, api);
|
|
31
38
|
persistAuthToken(store);
|
|
32
39
|
|
|
@@ -58,10 +65,6 @@ export default function client() {
|
|
|
58
65
|
if (window.env.RAZZLE_LEGACY_TRAVERSE) {
|
|
59
66
|
config.settings.legacyTraverse = true;
|
|
60
67
|
}
|
|
61
|
-
// Support for setting the default language from a server environment variable
|
|
62
|
-
if (window.env.defaultLanguage) {
|
|
63
|
-
config.settings.defaultLanguage = window.env.defaultLanguage;
|
|
64
|
-
}
|
|
65
68
|
|
|
66
69
|
loadableReady(() => {
|
|
67
70
|
hydrateRoot(
|
package/src/start-server.js
CHANGED
|
@@ -18,14 +18,20 @@ export default function server() {
|
|
|
18
18
|
|
|
19
19
|
server
|
|
20
20
|
.listen(port, bind_address, () => {
|
|
21
|
-
console.log(
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
console.log(
|
|
22
|
+
`The Volto server will make API requests to: ${app.internalApiPath || app.apiPath}/++api++`,
|
|
23
|
+
);
|
|
24
|
+
console.log(
|
|
25
|
+
`The Volto client will make API requests to: ${app.apiPath}/++api++`,
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
if (app.devProxyToApiPath) {
|
|
24
29
|
console.log(
|
|
25
30
|
`Proxying API requests from ${app.publicURL}/++api++ to ${
|
|
26
31
|
app.devProxyToApiPath
|
|
27
32
|
}${app.proxyRewriteTarget || ''}`,
|
|
28
33
|
);
|
|
34
|
+
}
|
|
29
35
|
console.log(`🎭 Volto started at ${bind_address}:${port} 🚀`);
|
|
30
36
|
|
|
31
37
|
if (!process.env.RAZZLE_PUBLIC_URL)
|
package/test-setup-config.jsx
CHANGED
|
@@ -30,12 +30,10 @@ import { registerValidators } from '@plone/volto/config/validation';
|
|
|
30
30
|
config.set('settings', {
|
|
31
31
|
apiPath: 'http://localhost:8080/Plone',
|
|
32
32
|
publicURL: 'http://localhost:3000',
|
|
33
|
-
defaultLanguage: 'en',
|
|
34
33
|
supportedLanguages: ['en'],
|
|
35
34
|
defaultPageSize: 25,
|
|
36
35
|
showTags: true,
|
|
37
36
|
showRelatedItems: true,
|
|
38
|
-
isMultilingual: false,
|
|
39
37
|
nonContentRoutes,
|
|
40
38
|
nonContentRoutesPublic,
|
|
41
39
|
contentIcons: contentIcons,
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import '@testing-library/jest-dom';
|
|
2
|
+
import { expect, describe, it, vi } from 'vitest';
|
|
3
|
+
|
|
4
|
+
global.describe = describe;
|
|
5
|
+
global.it = it;
|
|
6
|
+
global.expect = expect;
|
|
7
|
+
global.vi = vi;
|
|
8
|
+
|
|
9
|
+
global.__CLIENT__ = true;
|
|
10
|
+
global.__DEVELOPMENT__ = false;
|
|
11
|
+
global.__SERVER__ = false;
|
|
12
|
+
global.__TEST__ = true;
|
|
13
|
+
|
|
14
|
+
window.matchMedia =
|
|
15
|
+
window.matchMedia ||
|
|
16
|
+
function (query) {
|
|
17
|
+
return {
|
|
18
|
+
matches: query === '(min-width: 1024px)',
|
|
19
|
+
addListener: function () {},
|
|
20
|
+
removeListener: function () {},
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
vi.stubGlobal(
|
|
25
|
+
'fetch',
|
|
26
|
+
vi.fn(() =>
|
|
27
|
+
Promise.resolve({
|
|
28
|
+
json: () => Promise.resolve({}),
|
|
29
|
+
text: () => Promise.resolve(''),
|
|
30
|
+
}),
|
|
31
|
+
),
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
vi.stubGlobal('localStorage', {
|
|
35
|
+
getItem: vi.fn(),
|
|
36
|
+
setItem: vi.fn(),
|
|
37
|
+
removeItem: vi.fn(),
|
|
38
|
+
clear: vi.fn(),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
vi.stubGlobal('sessionStorage', {
|
|
42
|
+
getItem: vi.fn(),
|
|
43
|
+
setItem: vi.fn(),
|
|
44
|
+
removeItem: vi.fn(),
|
|
45
|
+
clear: vi.fn(),
|
|
46
|
+
});
|
|
@@ -19,6 +19,15 @@
|
|
|
19
19
|
vertical-align: @headerVerticalAlign;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
+
// use sorting icons from icons.woff instead of assuming it's font awesome
|
|
23
|
+
.ui.sortable.table thead th.ascending::after {
|
|
24
|
+
content: '\E9EC';
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.ui.sortable.table thead th.descending::after {
|
|
28
|
+
content: '\E9EB';
|
|
29
|
+
}
|
|
30
|
+
|
|
22
31
|
.ui.table tr > th:first-child {
|
|
23
32
|
border-left: none;
|
|
24
33
|
}
|
|
@@ -56,6 +56,13 @@
|
|
|
56
56
|
background-color: rgba(120, 192, 215, 0.375);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
.block.selected.error::before,
|
|
60
|
+
.block.selected.error:hover::before,
|
|
61
|
+
.block.error:hover::before,
|
|
62
|
+
.block.error::before {
|
|
63
|
+
border-color: #ff0000 !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
59
66
|
#toolbar .toolbar-actions .blockCount {
|
|
60
67
|
position: absolute;
|
|
61
68
|
margin-top: 18px;
|
|
@@ -427,10 +434,18 @@ body.has-toolbar.has-sidebar-collapsed .ui.wrapper > .ui.inner.block.full {
|
|
|
427
434
|
top: 1em;
|
|
428
435
|
right: 1em;
|
|
429
436
|
|
|
437
|
+
.sidebar-container & .ui.icon.button:hover {
|
|
438
|
+
background: transparent !important;
|
|
439
|
+
}
|
|
440
|
+
|
|
430
441
|
.icon.circled {
|
|
431
442
|
border: 1px solid #e4e8ec;
|
|
432
443
|
background: #f3f5f7;
|
|
433
444
|
box-shadow: inset 0 0 0 0.14285714rem transparent !important;
|
|
445
|
+
|
|
446
|
+
&:hover {
|
|
447
|
+
background-color: #e4e8ec;
|
|
448
|
+
}
|
|
434
449
|
}
|
|
435
450
|
}
|
|
436
451
|
|
|
@@ -983,6 +998,17 @@ div.image-upload-widget-image {
|
|
|
983
998
|
}
|
|
984
999
|
}
|
|
985
1000
|
|
|
1001
|
+
// In the sidebar, the height is forced on all .ui.input T_T
|
|
1002
|
+
.ui.form .ui.input.input-anchorlink-theme,
|
|
1003
|
+
.ui.form
|
|
1004
|
+
.inline.field
|
|
1005
|
+
.link-form-container
|
|
1006
|
+
.wrapper
|
|
1007
|
+
.ui.input.input-anchorlink-theme
|
|
1008
|
+
input {
|
|
1009
|
+
height: 34px;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
986
1012
|
.block.image.align.left,
|
|
987
1013
|
.block.image.align.right {
|
|
988
1014
|
img {
|
|
@@ -107,6 +107,18 @@
|
|
|
107
107
|
top: auto;
|
|
108
108
|
bottom: 100%;
|
|
109
109
|
}
|
|
110
|
+
|
|
111
|
+
.search-feedback {
|
|
112
|
+
position: absolute;
|
|
113
|
+
overflow: hidden;
|
|
114
|
+
width: 1px;
|
|
115
|
+
height: 1px;
|
|
116
|
+
padding: 0;
|
|
117
|
+
border: 0;
|
|
118
|
+
margin: -1px;
|
|
119
|
+
clip: rect(0, 0, 0, 0);
|
|
120
|
+
white-space: nowrap;
|
|
121
|
+
}
|
|
110
122
|
}
|
|
111
123
|
|
|
112
124
|
.ui.table .icon-align,
|
|
@@ -149,8 +161,12 @@
|
|
|
149
161
|
.ui.table .button-margin {
|
|
150
162
|
padding: 4px;
|
|
151
163
|
margin-right: 1em;
|
|
152
|
-
background-color:
|
|
164
|
+
background-color: #007eb1;
|
|
153
165
|
color: white;
|
|
166
|
+
|
|
167
|
+
&.expired-past {
|
|
168
|
+
background-color: rgb(228, 1, 102);
|
|
169
|
+
}
|
|
154
170
|
}
|
|
155
171
|
}
|
|
156
172
|
|
|
@@ -185,10 +201,6 @@
|
|
|
185
201
|
white-space: normal;
|
|
186
202
|
word-break: break-all;
|
|
187
203
|
}
|
|
188
|
-
|
|
189
|
-
.broken-links-list {
|
|
190
|
-
margin-top: 30px;
|
|
191
|
-
}
|
|
192
204
|
}
|
|
193
205
|
|
|
194
206
|
.contenttype-event {
|
|
@@ -443,6 +443,10 @@ fieldset.invisible {
|
|
|
443
443
|
padding: 0;
|
|
444
444
|
border: none;
|
|
445
445
|
margin: 0;
|
|
446
|
+
// Reset visibility, this 'invisible' is not meant to hide the fieldset
|
|
447
|
+
// This prevents issues when used along other CSS framworks that might
|
|
448
|
+
// have this utility class defined (e.g. TailwindCSS)
|
|
449
|
+
visibility: initial;
|
|
446
450
|
}
|
|
447
451
|
|
|
448
452
|
.vertical-form {
|
|
@@ -659,8 +663,34 @@ img.responsive {
|
|
|
659
663
|
margin-top: 20px;
|
|
660
664
|
}
|
|
661
665
|
|
|
662
|
-
|
|
663
|
-
|
|
666
|
+
.toast-box-center {
|
|
667
|
+
display: flex;
|
|
668
|
+
align-items: center;
|
|
669
|
+
justify-content: center;
|
|
670
|
+
|
|
671
|
+
.save.toast-box {
|
|
672
|
+
background: transparent;
|
|
673
|
+
color: #007eb1;
|
|
674
|
+
|
|
675
|
+
.circled.toast-box-blue-icon {
|
|
676
|
+
color: #007eb1;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
.visually-hidden {
|
|
682
|
+
position: absolute;
|
|
683
|
+
overflow: hidden;
|
|
684
|
+
width: 1px;
|
|
685
|
+
height: 1px;
|
|
686
|
+
padding: 0;
|
|
687
|
+
border: 0;
|
|
688
|
+
margin: -1px;
|
|
689
|
+
clip: rect(1px, 1px, 1px, 1px); /* IE-style CSS for compatibility */
|
|
690
|
+
white-space: nowrap;
|
|
691
|
+
word-wrap: normal;
|
|
692
|
+
}
|
|
693
|
+
|
|
664
694
|
@import (multiple) '../extras/fonts';
|
|
665
695
|
@import 'toolbar';
|
|
666
696
|
@import 'draftjs';
|
|
@@ -10,11 +10,22 @@
|
|
|
10
10
|
"jsx": "react-jsx",
|
|
11
11
|
"preserveSymlinks": true,
|
|
12
12
|
"downlevelIteration": true,
|
|
13
|
+
"types": ["vitest/globals", "jest"],
|
|
13
14
|
"paths": {
|
|
14
15
|
"@plone/volto/*": ["./src/*"],
|
|
15
16
|
"react": ["./node_modules/@types/react"],
|
|
16
17
|
"react-dom": ["./node_modules/@types/react-dom"]
|
|
17
18
|
}
|
|
18
19
|
},
|
|
19
|
-
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.tsx"]
|
|
20
|
+
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.tsx"],
|
|
21
|
+
"exclude": [
|
|
22
|
+
"node_modules",
|
|
23
|
+
"build",
|
|
24
|
+
"coverage",
|
|
25
|
+
"dist",
|
|
26
|
+
"types",
|
|
27
|
+
"**/*.test.js",
|
|
28
|
+
"**/*.test.tsx",
|
|
29
|
+
"**/*.test.ts"
|
|
30
|
+
]
|
|
20
31
|
}
|
package/tsconfig.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
|
-
"target": "
|
|
4
|
-
"lib": ["
|
|
5
|
-
"
|
|
3
|
+
"target": "es2022",
|
|
4
|
+
"lib": ["es2022", "dom", "dom.iterable"],
|
|
5
|
+
"types": ["vitest/globals", "jest"],
|
|
6
|
+
"module": "preserve",
|
|
6
7
|
"allowJs": true,
|
|
7
8
|
"skipLibCheck": true,
|
|
8
9
|
"esModuleInterop": true,
|
|
@@ -10,7 +11,6 @@
|
|
|
10
11
|
"strict": true,
|
|
11
12
|
"forceConsistentCasingInFileNames": true,
|
|
12
13
|
"strictPropertyInitialization": false,
|
|
13
|
-
"moduleResolution": "Node",
|
|
14
14
|
"resolveJsonModule": true,
|
|
15
15
|
"isolatedModules": true,
|
|
16
16
|
"noEmit": true,
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@root/*": ["./src/*"]
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
|
-
"include": ["src", "packages"],
|
|
24
|
+
"include": ["src", "packages", "types", "vitest.config.ts"],
|
|
25
25
|
"exclude": [
|
|
26
26
|
"node_modules",
|
|
27
27
|
"build",
|
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
condition
|
|
5
|
-
to
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
let item: any;
|
|
13
|
-
let children: any;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { UniversalLinkProps } from '@plone/volto/components/manage/UniversalLink/UniversalLink';
|
|
3
|
+
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<{
|
|
4
|
+
condition?: boolean;
|
|
5
|
+
to?: string;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
} & Omit<UniversalLinkProps, "href" | "item"> & {
|
|
8
|
+
href?: string;
|
|
9
|
+
item?: UniversalLinkProps["item"];
|
|
10
|
+
} & React.RefAttributes<HTMLAnchorElement | HTMLDivElement>>>;
|
|
11
|
+
export default _default;
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export default RenderUsers;
|
|
2
|
+
/**
|
|
3
|
+
* RenderUsers functional component.
|
|
4
|
+
* @function RenderUsers
|
|
5
|
+
*/
|
|
6
|
+
declare function RenderUsers(props: any): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare namespace RenderUsers {
|
|
8
|
+
namespace propTypes {
|
|
9
|
+
let user: any;
|
|
10
|
+
let roles: any;
|
|
11
|
+
let onDelete: any;
|
|
12
|
+
let isUserManager: any;
|
|
13
|
+
let listUsers: any;
|
|
14
|
+
let updateUser: any;
|
|
15
|
+
let inheritedRole: any;
|
|
16
|
+
let userschema: any;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -4,8 +4,8 @@ export declare const RulesControlpanel: import("@loadable/component").LoadableCl
|
|
|
4
4
|
export declare const AddRuleControlpanel: import("@loadable/component").LoadableClassComponent<any>;
|
|
5
5
|
export declare const EditRuleControlpanel: import("@loadable/component").LoadableClassComponent<any>;
|
|
6
6
|
export declare const ConfigureRuleControlpanel: import("@loadable/component").LoadableClassComponent<any>;
|
|
7
|
-
export declare const UsersControlpanel: import("@loadable/component").
|
|
8
|
-
export declare const RenderUsers: import("@loadable/component").
|
|
7
|
+
export declare const UsersControlpanel: import("@loadable/component").LoadableComponent<unknown>;
|
|
8
|
+
export declare const RenderUsers: import("@loadable/component").LoadableComponent<any>;
|
|
9
9
|
export declare const UserGroupMembershipControlPanel: import("@loadable/component").LoadableComponent<unknown>;
|
|
10
10
|
export declare const GroupsControlpanel: import("@loadable/component").LoadableClassComponent<any>;
|
|
11
11
|
export declare const RenderGroups: import("@loadable/component").LoadableComponent<any>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const Field: any;
|
|
2
|
+
export declare const InlineForm: any;
|
|
3
|
+
export declare const ModalForm: any;
|
|
4
|
+
export declare const UndoToolbar: any;
|
|
5
|
+
export declare const BlocksToolbar: any;
|
|
6
|
+
export declare const BlockDataForm: any;
|
|
7
|
+
export declare const BlocksForm: any;
|
|
8
|
+
export declare const Form: any;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
condition:
|
|
4
|
-
as
|
|
5
|
-
}
|
|
1
|
+
import React, { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
type MaybeWrapProps<T extends React.ElementType> = {
|
|
3
|
+
condition: boolean;
|
|
4
|
+
as: T;
|
|
5
|
+
} & ComponentPropsWithoutRef<React.ElementType extends T ? 'div' : T>;
|
|
6
|
+
declare function MaybeWrap<T extends React.ElementType = 'div'>(props: MaybeWrapProps<T>): any;
|
|
7
|
+
export default MaybeWrap;
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
export default SidebarPortal;
|
|
2
|
-
/**
|
|
3
|
-
* Portal that wraps Sidebar components
|
|
4
|
-
* @param {React.ReactNode} children Sidebar content
|
|
5
|
-
* @param {bool} selected Sidebar needs to know when the related block is selected
|
|
6
|
-
* @param {string} tab Element id where to insert sidebar content, default: sidebar-properties
|
|
7
|
-
* @returns {string} Rendered sidebar
|
|
8
|
-
*/
|
|
9
|
-
declare function SidebarPortal({ children, selected, tab }: React.ReactNode): string;
|
|
10
|
-
declare namespace SidebarPortal {
|
|
11
|
-
namespace propTypes {
|
|
12
|
-
let children: any;
|
|
13
|
-
let selected: any;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
1
|
import React from 'react';
|
|
2
|
+
type SidebarPortalProps = {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
selected: boolean;
|
|
5
|
+
tab?: string;
|
|
6
|
+
};
|
|
7
|
+
declare const SidebarPortal: ({ children, selected, tab, }: SidebarPortalProps) => React.ReactPortal;
|
|
8
|
+
export default SidebarPortal;
|