@plone/volto 18.1.1 → 18.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc +8 -1
  3. package/.eslintrc.core.js +42 -0
  4. package/.release-it.json +3 -1
  5. package/CHANGELOG.md +23 -0
  6. package/README.md +172 -0
  7. package/package.json +4 -5
  8. package/razzle.config.js +0 -9
  9. package/src/actions/content/content.js +1 -1
  10. package/src/actions/language/language.js +2 -2
  11. package/src/actions/search/search.js +7 -1
  12. package/src/actions/workflow/workflow.js +1 -1
  13. package/src/components/manage/Actions/Actions.jsx +8 -3
  14. package/src/components/manage/Add/Add.jsx +26 -26
  15. package/src/components/manage/Aliases/Aliases.jsx +9 -7
  16. package/src/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm.jsx +5 -7
  17. package/src/components/manage/AnchorPlugin/useLinkEditor.jsx +1 -1
  18. package/src/components/manage/BlockChooser/BlockChooser.jsx +6 -3
  19. package/src/components/manage/BlockChooser/BlockChooserButton.jsx +4 -3
  20. package/src/components/manage/BlockChooser/BlockChooserSearch.jsx +1 -1
  21. package/src/components/manage/Blocks/Block/BlocksForm.jsx +8 -7
  22. package/src/components/manage/Blocks/Block/DefaultEdit.jsx +1 -1
  23. package/src/components/manage/Blocks/Block/DefaultView.jsx +1 -1
  24. package/src/components/manage/Blocks/Block/Edit.jsx +7 -8
  25. package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +3 -3
  26. package/src/components/manage/Blocks/Block/Order/Item.jsx +3 -3
  27. package/src/components/manage/Blocks/Block/Order/Order.jsx +2 -1
  28. package/src/components/manage/Blocks/Block/Order/utilities.js +2 -2
  29. package/src/components/manage/Blocks/Block/StyleWrapper.jsx +1 -1
  30. package/src/components/manage/Blocks/Container/Edit.jsx +3 -3
  31. package/src/components/manage/Blocks/Container/EditBlockWrapper.jsx +2 -2
  32. package/src/components/manage/Blocks/Container/NewBlockAddButton.jsx +3 -2
  33. package/src/components/manage/Blocks/Container/SimpleContainerToolbar.jsx +1 -1
  34. package/src/components/manage/Blocks/Grid/Edit.jsx +1 -1
  35. package/src/components/manage/Blocks/Grid/View.jsx +2 -2
  36. package/src/components/manage/Blocks/Grid/templates.js +1 -1
  37. package/src/components/manage/Blocks/HTML/Edit.jsx +2 -2
  38. package/src/components/manage/Blocks/Image/Edit.jsx +4 -6
  39. package/src/components/manage/Blocks/Image/ImageSidebar.jsx +3 -2
  40. package/src/components/manage/Blocks/Image/View.jsx +3 -6
  41. package/src/components/manage/Blocks/LeadImage/Edit.jsx +2 -1
  42. package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +3 -2
  43. package/src/components/manage/Blocks/LeadImage/View.jsx +1 -1
  44. package/src/components/manage/Blocks/Listing/DefaultTemplate.jsx +3 -3
  45. package/src/components/manage/Blocks/Listing/Edit.jsx +5 -7
  46. package/src/components/manage/Blocks/Listing/ImageGallery.jsx +2 -2
  47. package/src/components/manage/Blocks/Listing/ListingBody.jsx +2 -2
  48. package/src/components/manage/Blocks/Listing/SummaryTemplate.jsx +3 -3
  49. package/src/components/manage/Blocks/Listing/View.jsx +2 -2
  50. package/src/components/manage/Blocks/Listing/getAsyncData.js +2 -2
  51. package/src/components/manage/Blocks/Listing/withQuerystringResults.jsx +4 -2
  52. package/src/components/manage/Blocks/Maps/Edit.jsx +4 -2
  53. package/src/components/manage/Blocks/Maps/MapsSidebar.jsx +1 -1
  54. package/src/components/manage/Blocks/Maps/View.jsx +1 -1
  55. package/src/components/manage/Blocks/Search/SearchBlockEdit.jsx +3 -3
  56. package/src/components/manage/Blocks/Search/SearchBlockView.jsx +3 -2
  57. package/src/components/manage/Blocks/Search/components/DateRangeFacet.jsx +1 -1
  58. package/src/components/manage/Blocks/Search/components/FilterList.jsx +3 -3
  59. package/src/components/manage/Blocks/Search/components/SearchInput.jsx +1 -1
  60. package/src/components/manage/Blocks/Search/components/SortOn.jsx +1 -1
  61. package/src/components/manage/Blocks/Search/components/base.js +1 -1
  62. package/src/components/manage/Blocks/Search/hocs/withQueryString.jsx +1 -1
  63. package/src/components/manage/Blocks/Search/hocs/withSearch.jsx +2 -2
  64. package/src/components/manage/Blocks/Search/schema.js +1 -1
  65. package/src/components/manage/Blocks/Search/widgets/SelectMetadataField.jsx +4 -1
  66. package/src/components/manage/Blocks/Teaser/Data.jsx +6 -7
  67. package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +3 -3
  68. package/src/components/manage/Blocks/Teaser/Edit.jsx +2 -2
  69. package/src/components/manage/Blocks/Teaser/View.jsx +1 -1
  70. package/src/components/manage/Blocks/Teaser/adapter.js +1 -1
  71. package/src/components/manage/Blocks/ToC/Edit.jsx +1 -1
  72. package/src/components/manage/Blocks/ToC/View.jsx +2 -2
  73. package/src/components/manage/Blocks/ToC/variations/DefaultTocRenderer.jsx +3 -3
  74. package/src/components/manage/Blocks/ToC/variations/HorizontalMenu.jsx +2 -2
  75. package/src/components/manage/Blocks/Video/Body.jsx +1 -1
  76. package/src/components/manage/Blocks/Video/Edit.jsx +4 -2
  77. package/src/components/manage/Blocks/Video/VideoSidebar.jsx +1 -1
  78. package/src/components/manage/Blocks/Video/View.jsx +1 -1
  79. package/src/components/manage/ConditionalLink/ConditionalLink.jsx +1 -1
  80. package/src/components/manage/Contents/Contents.jsx +26 -28
  81. package/src/components/manage/Contents/ContentsBreadcrumbs.jsx +1 -1
  82. package/src/components/manage/Contents/ContentsItem.jsx +6 -3
  83. package/src/components/manage/Contents/ContentsPropertiesModal.jsx +4 -3
  84. package/src/components/manage/Contents/ContentsRenameModal.jsx +5 -3
  85. package/src/components/manage/Contents/ContentsTagsModal.jsx +3 -3
  86. package/src/components/manage/Contents/ContentsUploadModal.jsx +7 -4
  87. package/src/components/manage/Contents/ContentsWorkflowModal.jsx +10 -3
  88. package/src/components/manage/Controlpanels/AddonsControlpanel.jsx +6 -4
  89. package/src/components/manage/Controlpanels/Aliases.jsx +7 -5
  90. package/src/components/manage/Controlpanels/ContentType.jsx +12 -4
  91. package/src/components/manage/Controlpanels/ContentTypeLayout.jsx +11 -7
  92. package/src/components/manage/Controlpanels/ContentTypeSchema.jsx +7 -4
  93. package/src/components/manage/Controlpanels/ContentTypes.jsx +7 -5
  94. package/src/components/manage/Controlpanels/ContentTypesActions.jsx +1 -1
  95. package/src/components/manage/Controlpanels/Controlpanel.jsx +9 -4
  96. package/src/components/manage/Controlpanels/Controlpanels.jsx +11 -3
  97. package/src/components/manage/Controlpanels/DatabaseInformation.jsx +5 -4
  98. package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +16 -19
  99. package/src/components/manage/Controlpanels/Groups/RenderGroups.jsx +2 -2
  100. package/src/components/manage/Controlpanels/ModerateComments.jsx +7 -3
  101. package/src/components/manage/Controlpanels/Relations/BrokenRelations.jsx +4 -4
  102. package/src/components/manage/Controlpanels/Relations/Relations.jsx +7 -5
  103. package/src/components/manage/Controlpanels/Relations/RelationsListing.jsx +7 -4
  104. package/src/components/manage/Controlpanels/Relations/RelationsMatrix.jsx +7 -5
  105. package/src/components/manage/Controlpanels/Rules/AddRule.jsx +9 -3
  106. package/src/components/manage/Controlpanels/Rules/ConfigureRule.jsx +7 -4
  107. package/src/components/manage/Controlpanels/Rules/EditRule.jsx +6 -3
  108. package/src/components/manage/Controlpanels/Rules/Rules.jsx +6 -4
  109. package/src/components/manage/Controlpanels/Rules/components/VariableModal.jsx +1 -1
  110. package/src/components/manage/Controlpanels/UndoControlpanel.jsx +9 -4
  111. package/src/components/manage/Controlpanels/UpgradeControlPanel.jsx +7 -5
  112. package/src/components/manage/Controlpanels/Users/RenderUsers.jsx +5 -3
  113. package/src/components/manage/Controlpanels/Users/UserGroupMembershipControlPanel.jsx +9 -6
  114. package/src/components/manage/Controlpanels/Users/UserGroupMembershipListing.jsx +9 -5
  115. package/src/components/manage/Controlpanels/Users/UserGroupMembershipMatrix.jsx +4 -3
  116. package/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +17 -20
  117. package/src/components/manage/Controlpanels/VersionOverview.jsx +1 -1
  118. package/src/components/manage/Controlpanels/index.tsx +5 -2
  119. package/src/components/manage/Delete/Delete.jsx +7 -3
  120. package/src/components/manage/Diff/Diff.jsx +13 -11
  121. package/src/components/manage/Diff/DiffField.jsx +4 -3
  122. package/src/components/manage/Display/Display.jsx +9 -4
  123. package/src/components/manage/DragDropList/DragDropList.jsx +1 -1
  124. package/src/components/manage/Edit/Edit.jsx +20 -23
  125. package/src/components/manage/Form/BlockDataForm.jsx +1 -1
  126. package/src/components/manage/Form/BlocksToolbar.jsx +10 -5
  127. package/src/components/manage/Form/Form.jsx +18 -20
  128. package/src/components/manage/Form/InlineForm.jsx +5 -3
  129. package/src/components/manage/Form/InlineFormState.js +1 -1
  130. package/src/components/manage/Form/ModalForm.jsx +4 -3
  131. package/src/components/manage/Form/UndoToolbar.jsx +2 -2
  132. package/src/components/manage/History/History.jsx +16 -11
  133. package/src/components/manage/LinkMore/LinkMore.jsx +3 -3
  134. package/src/components/manage/LinksToItem/LinksToItem.jsx +11 -11
  135. package/src/components/manage/LockingToastsFactory/LockingToastsFactory.jsx +2 -1
  136. package/src/components/manage/Messages/Messages.jsx +2 -2
  137. package/src/components/manage/Multilingual/CompareLanguages.jsx +3 -2
  138. package/src/components/manage/Multilingual/CreateTranslation.jsx +5 -6
  139. package/src/components/manage/Multilingual/ManageTranslations.jsx +9 -6
  140. package/src/components/manage/Multilingual/TranslationObject.jsx +5 -5
  141. package/src/components/manage/Pluggable/index.js +1 -1
  142. package/src/components/manage/Preferences/ChangePassword.jsx +8 -5
  143. package/src/components/manage/Preferences/PersonalInformation.jsx +4 -3
  144. package/src/components/manage/Preferences/PersonalPreferences.jsx +5 -4
  145. package/src/components/manage/Rules/Rules.jsx +6 -5
  146. package/src/components/manage/Sharing/Sharing.jsx +12 -5
  147. package/src/components/manage/Sidebar/AlignBlock.jsx +1 -1
  148. package/src/components/manage/Sidebar/ObjectBrowser.jsx +1 -1
  149. package/src/components/manage/Sidebar/ObjectBrowserBody.jsx +1 -1
  150. package/src/components/manage/Sidebar/ObjectBrowserNav.jsx +2 -1
  151. package/src/components/manage/Sidebar/Sidebar.jsx +4 -3
  152. package/src/components/manage/Sidebar/SidebarPopup.jsx +1 -1
  153. package/src/components/manage/TextLineEdit/TextLineEdit.jsx +1 -1
  154. package/src/components/manage/Toolbar/More.jsx +9 -10
  155. package/src/components/manage/Toolbar/PersonalTools.jsx +3 -3
  156. package/src/components/manage/Toolbar/StandardWrapper.jsx +1 -1
  157. package/src/components/manage/Toolbar/Toolbar.jsx +12 -15
  158. package/src/components/manage/Toolbar/Types.jsx +7 -2
  159. package/src/components/manage/Widgets/ArrayWidget.jsx +4 -3
  160. package/src/components/manage/Widgets/ButtonsWidget.jsx +1 -1
  161. package/src/components/manage/Widgets/ColorPickerWidget.tsx +2 -1
  162. package/src/components/manage/Widgets/DatetimeWidget.jsx +2 -2
  163. package/src/components/manage/Widgets/FileWidget.jsx +4 -2
  164. package/src/components/manage/Widgets/FormFieldWrapper.jsx +2 -2
  165. package/src/components/manage/Widgets/IdWidget.jsx +7 -3
  166. package/src/components/manage/Widgets/ImageWidget.jsx +6 -5
  167. package/src/components/manage/Widgets/InternalUrlWidget.jsx +6 -2
  168. package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +5 -1
  169. package/src/components/manage/Widgets/ObjectListWidget.jsx +4 -2
  170. package/src/components/manage/Widgets/ObjectListWidget.stories.js +1 -1
  171. package/src/components/manage/Widgets/ObjectWidget.stories.jsx +1 -1
  172. package/src/components/manage/Widgets/QuerySortOnWidget.jsx +3 -1
  173. package/src/components/manage/Widgets/QueryWidget.jsx +8 -3
  174. package/src/components/manage/Widgets/RecurrenceWidget/ByDayField.jsx +1 -1
  175. package/src/components/manage/Widgets/RecurrenceWidget/MonthOfTheYearField.jsx +2 -2
  176. package/src/components/manage/Widgets/RecurrenceWidget/Occurences.jsx +2 -2
  177. package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.jsx +7 -3
  178. package/src/components/manage/Widgets/RecurrenceWidget/SelectInput.jsx +1 -1
  179. package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthField.jsx +2 -2
  180. package/src/components/manage/Widgets/RecurrenceWidget/WeekdayOfTheMonthIndexField.jsx +1 -1
  181. package/src/components/manage/Widgets/ReferenceWidget.jsx +11 -3
  182. package/src/components/manage/Widgets/RegistryImageWidget.jsx +3 -2
  183. package/src/components/manage/Widgets/SchemaWidget.jsx +7 -1
  184. package/src/components/manage/Widgets/SelectAutoComplete.jsx +5 -2
  185. package/src/components/manage/Widgets/SelectStyling.jsx +1 -1
  186. package/src/components/manage/Widgets/SelectUtils.js +4 -2
  187. package/src/components/manage/Widgets/SelectWidget.jsx +6 -3
  188. package/src/components/manage/Widgets/SelectWidget.stories.jsx +1 -1
  189. package/src/components/manage/Widgets/TextWidget.jsx +1 -1
  190. package/src/components/manage/Widgets/TokenWidget.jsx +2 -2
  191. package/src/components/manage/Widgets/UrlWidget.jsx +2 -2
  192. package/src/components/manage/Widgets/VocabularyTermsWidget.jsx +6 -3
  193. package/src/components/manage/Workflow/Workflow.jsx +7 -6
  194. package/src/components/manage/WorkingCopyToastsFactory/WorkingCopyToastsFactory.jsx +3 -3
  195. package/src/components/theme/Anontools/Anontools.jsx +1 -1
  196. package/src/components/theme/App/App.jsx +17 -24
  197. package/src/components/theme/Avatar/Avatar.jsx +1 -1
  198. package/src/components/theme/Breadcrumbs/Breadcrumbs.jsx +4 -3
  199. package/src/components/theme/Comments/CommentEditModal.jsx +2 -2
  200. package/src/components/theme/Comments/Comments.jsx +5 -8
  201. package/src/components/theme/ContactForm/ContactForm.jsx +7 -4
  202. package/src/components/theme/ContentMetadataTags/ContentMetadataTags.jsx +4 -7
  203. package/src/components/theme/EventDetails/EventDetails.jsx +2 -2
  204. package/src/components/theme/Footer/Footer.jsx +3 -3
  205. package/src/components/theme/Header/Header.jsx +5 -7
  206. package/src/components/theme/Icon/Icon.stories.jsx +1 -1
  207. package/src/components/theme/Image/Image.jsx +1 -1
  208. package/src/components/theme/LanguageSelector/LanguageSelector.jsx +6 -7
  209. package/src/components/theme/Login/Login.jsx +6 -5
  210. package/src/components/theme/Logo/Logo.jsx +3 -6
  211. package/src/components/theme/Logout/Logout.jsx +3 -2
  212. package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +2 -2
  213. package/src/components/theme/Navigation/ContextNavigation.jsx +3 -2
  214. package/src/components/theme/Navigation/NavItem.jsx +2 -1
  215. package/src/components/theme/Navigation/Navigation.jsx +4 -2
  216. package/src/components/theme/Navigation/withContentNavigation.js +2 -2
  217. package/src/components/theme/NotFound/NotFound.jsx +6 -3
  218. package/src/components/theme/Pagination/Pagination.jsx +2 -2
  219. package/src/components/theme/PasswordReset/PasswordReset.jsx +2 -2
  220. package/src/components/theme/PasswordReset/RequestPasswordReset.jsx +3 -2
  221. package/src/components/theme/Register/Register.jsx +4 -3
  222. package/src/components/theme/Search/Search.jsx +7 -5
  223. package/src/components/theme/Search/SearchTags.jsx +1 -1
  224. package/src/components/theme/SearchWidget/SearchWidget.jsx +4 -3
  225. package/src/components/theme/Sitemap/Sitemap.jsx +4 -3
  226. package/src/components/theme/Unauthorized/Unauthorized.jsx +1 -1
  227. package/src/components/theme/View/AlbumView.jsx +2 -1
  228. package/src/components/theme/View/DefaultView.jsx +4 -3
  229. package/src/components/theme/View/EventDatesInfo.jsx +1 -1
  230. package/src/components/theme/View/EventView.jsx +3 -2
  231. package/src/components/theme/View/FileView.jsx +1 -1
  232. package/src/components/theme/View/ImageView.jsx +1 -1
  233. package/src/components/theme/View/LinkView.jsx +2 -2
  234. package/src/components/theme/View/ListingView.jsx +1 -1
  235. package/src/components/theme/View/NewsItemView.jsx +2 -1
  236. package/src/components/theme/View/RenderBlocks.jsx +6 -5
  237. package/src/components/theme/View/SummaryView.jsx +1 -1
  238. package/src/components/theme/View/TabularView.jsx +1 -1
  239. package/src/components/theme/View/View.jsx +9 -13
  240. package/src/components/theme/Widgets/BooleanWidget.jsx +1 -1
  241. package/src/components/theme/Widgets/DateWidget.jsx +1 -1
  242. package/src/components/theme/Widgets/DatetimeWidget.jsx +1 -1
  243. package/src/components/theme/Widgets/EmailWidget.jsx +1 -1
  244. package/src/components/theme/Widgets/FileWidget.jsx +2 -2
  245. package/src/components/theme/Widgets/ImageWidget.jsx +1 -1
  246. package/src/components/theme/Widgets/RelationWidget.jsx +4 -4
  247. package/src/components/theme/Widgets/TokenWidget.jsx +1 -1
  248. package/src/components/theme/Widgets/UrlWidget.jsx +1 -1
  249. package/src/config/Blocks.jsx +1 -1
  250. package/src/config/Components.jsx +3 -1
  251. package/src/config/index.js +1 -1
  252. package/src/config/slots.js +1 -1
  253. package/src/express-middleware/files.js +1 -1
  254. package/src/express-middleware/images.js +1 -1
  255. package/src/express-middleware/robotstxt.js +1 -1
  256. package/src/helpers/Api/Api.js +1 -1
  257. package/src/helpers/AsyncConnect/AsyncConnect.test.js +4 -1
  258. package/src/helpers/AuthToken/AuthToken.js +2 -2
  259. package/src/helpers/Blocks/Blocks.js +9 -3
  260. package/src/helpers/Blocks/cloneBlocks.test.js +1 -1
  261. package/src/helpers/Content/Content.js +7 -1
  262. package/src/helpers/Extensions/withBlockSchemaEnhancer.jsx +2 -1
  263. package/src/helpers/FormValidation/FormValidation.jsx +4 -1
  264. package/src/helpers/Html/Html.jsx +1 -1
  265. package/src/helpers/Loadable/Loadable.jsx +2 -2
  266. package/src/helpers/Site/index.js +1 -1
  267. package/src/helpers/Sitemap/Sitemap.js +2 -2
  268. package/src/helpers/Url/Url.js +5 -1
  269. package/src/helpers/User/User.js +1 -1
  270. package/src/helpers/Utils/UseDetectClickOutside.stories.jsx +1 -1
  271. package/src/helpers/Utils/Utils.jsx +5 -1
  272. package/src/helpers/Utils/useDetectClickOutside.js +1 -1
  273. package/src/helpers/Utils/usePagination.js +2 -1
  274. package/src/helpers/Workflows/Workflows.js +2 -1
  275. package/src/hooks/user/useUser.js +1 -1
  276. package/src/middleware/api.js +7 -4
  277. package/src/middleware/storeProtectLoadUtils.js +1 -1
  278. package/src/reducers/actions/actions.js +2 -5
  279. package/src/reducers/breadcrumbs/breadcrumbs.js +3 -6
  280. package/src/reducers/content/content.js +4 -2
  281. package/src/reducers/controlpanels/controlpanels.js +1 -1
  282. package/src/reducers/messages/messages.js +3 -1
  283. package/src/reducers/navigation/navigation.js +3 -6
  284. package/src/reducers/navroot/navroot.js +2 -5
  285. package/src/reducers/querystringsearch/querystringsearch.js +3 -2
  286. package/src/reducers/schema/schema.js +7 -1
  287. package/src/reducers/search/search.js +3 -2
  288. package/src/reducers/sidebar/sidebar.js +1 -1
  289. package/src/reducers/types/types.js +2 -5
  290. package/src/reducers/users/users.js +1 -1
  291. package/src/reducers/workingcopy/workingcopy.js +1 -1
  292. package/src/routes.js +24 -26
  293. package/src/server.jsx +7 -7
  294. package/src/start-client.jsx +3 -1
  295. package/src/storybook.jsx +1 -1
  296. package/types/config/Components.d.ts +3 -3
package/.eslintignore CHANGED
@@ -1 +1 @@
1
- types/
1
+ /types/
package/.eslintrc CHANGED
@@ -1,6 +1,12 @@
1
1
  {
2
- "extends": ["react-app", "prettier", "plugin:jsx-a11y/recommended"],
2
+ "extends": [
3
+ "react-app",
4
+ "prettier",
5
+ "plugin:jsx-a11y/recommended",
6
+ "./.eslintrc.core.js",
7
+ ],
3
8
  "plugins": ["prettier", "react-hooks", "jsx-a11y"],
9
+ "root": true,
4
10
  "env": {
5
11
  "es6": true,
6
12
  "browser": true,
@@ -18,6 +24,7 @@
18
24
  },
19
25
  "rules": {
20
26
  "import/no-unresolved": 1,
27
+ "import/named": "error",
21
28
  "react/jsx-key": [2, { "checkFragmentShorthand": true }],
22
29
  "no-alert": 1,
23
30
  "no-console": 1,
@@ -0,0 +1,42 @@
1
+ /** This file is intended to have ESlint configuration only meant to be applied in
2
+ * Volto core. Since it relies on the `VOLTOCONFIG` environment variable, it will
3
+ * not be applied in CI and command line `make lint` in Volto projects.
4
+ * However, it will be applied in IDEs, adding a layer of convenience for developers,
5
+ * so they can adapt to use best practices and future deprecations and changes in
6
+ * Volto core codebase.
7
+ */
8
+ let rules;
9
+
10
+ if (process.env.VOLTOCONFIG) {
11
+ rules = null;
12
+ } else {
13
+ rules = {
14
+ 'no-restricted-imports': [
15
+ 'warn',
16
+ {
17
+ name: '@plone/volto/components',
18
+ message:
19
+ 'Importing from barrel files is not allowed. The usage of barrel files is discouraged and they will be removed in Plone 7. Please use direct imports of the modules instead.',
20
+ },
21
+ {
22
+ name: '@plone/volto/helpers',
23
+ message:
24
+ 'Importing from barrel files is not allowed. The usage of barrel files is discouraged and they will be removed in Plone 7. Please use direct imports of the modules instead.',
25
+ },
26
+ {
27
+ name: '@plone/volto/actions',
28
+ message:
29
+ 'Importing from barrel files is not allowed. The usage of barrel files is discouraged and they will be removed in Plone 7. Please use direct imports of the modules instead.',
30
+ },
31
+ {
32
+ name: 'lodash',
33
+ message:
34
+ "Importing directly from `lodash` is not allowed. Please use `import <helper> from 'lodash/<helper>'` instead.",
35
+ },
36
+ ],
37
+ };
38
+ }
39
+
40
+ module.exports = {
41
+ ...(rules && { rules }),
42
+ };
package/.release-it.json CHANGED
@@ -5,7 +5,9 @@
5
5
  "hooks": {
6
6
  "before:bump": ["pnpm i18n", "pnpm build:types", "git add types"],
7
7
  "after:bump": [
8
- "pipx run towncrier build --draft --yes --version ${version} > .changelog.draft && pipx run towncrier build --yes --version ${version}",
8
+ "pipx run towncrier build --draft --yes --version ${version} > .changelog.draft",
9
+ "pipx run towncrier build --yes --version ${version}",
10
+ "cp ../../README.md ./",
9
11
  "make release-notes-copy-to-docs"
10
12
  ],
11
13
  "after:release": "rm .changelog.draft"
package/CHANGELOG.md CHANGED
@@ -17,6 +17,29 @@ myst:
17
17
 
18
18
  <!-- towncrier release notes start -->
19
19
 
20
+ ## 18.2.0 (2024-12-08)
21
+
22
+ ### Internal
23
+
24
+ - Removed all imports from barrel files for components, actions, helpers, hooks and lodash. @pnicolli [#6509](https://github.com/plone/volto/issues/6509)
25
+
26
+ ## 18.1.2 (2024-12-05)
27
+
28
+ ### Bugfix
29
+
30
+ - Remove `not ie 11` from browserslist configuration, because it is now included in `not dead`. @stevepiercy [#6501](https://github.com/plone/volto/issues/6501)
31
+ - Fix warnings related to `snapshot.managedPaths` on startup. @davisagli [#6511](https://github.com/plone/volto/issues/6511)
32
+
33
+ ### Internal
34
+
35
+ - Add Accessibility acceptance tests for content types. @ana-oprea @ichim-david [#6339](https://github.com/plone/volto/issues/6339)
36
+ - Fixed the `README.md` for Volto core when releasing to npm registry: copy it from the root of the monorepo on release. @sneridagh [#6510](https://github.com/plone/volto/issues/6510)
37
+
38
+ ### Documentation
39
+
40
+ - Add new Volto trainings to tutorials. @stevepiercy [#6499](https://github.com/plone/volto/issues/6499)
41
+ - `html_use_opensearch` value must not have a trailing slash. Clean up comments. @stevepiercy [#6502](https://github.com/plone/volto/issues/6502)
42
+
20
43
  ## 18.1.1 (2024-11-21)
21
44
 
22
45
  ### Bugfix
package/README.md ADDED
@@ -0,0 +1,172 @@
1
+ # Volto - the default Plone 6 frontend
2
+
3
+ <img align="right" width="300" alt="Volto logo png" src="./logos/VoltoLogoEra2.png#gh-light-mode-only" />
4
+ <img align="right" width="300" alt="Volto logo png" src="./logos/VoltoLogoEra2-dark-mode.png#gh-dark-mode-only" />
5
+
6
+ [![NPM](https://img.shields.io/npm/v/@plone/volto.svg)](https://www.npmjs.com/package/@plone/volto)
7
+ [![Unit Tests](https://github.com/plone/volto/actions/workflows/unit.yml/badge.svg)](https://github.com/plone/volto/actions/workflows/unit.yml)
8
+ [![Acceptance Tests](https://github.com/plone/volto/actions/workflows/acceptance.yml/badge.svg)](https://github.com/plone/volto/actions/workflows/acceptance.yml)
9
+ [![Build Status Docs](https://github.com/plone/volto/actions/workflows/docs.yml/badge.svg)](https://github.com/plone/volto/actions)
10
+
11
+
12
+ ## Introduction
13
+
14
+ [Volto](https://github.com/plone/volto) is a ReactJS-based frontend for the [Plone](https://plone.org) Content Management System.
15
+ It is the default frontend starting with the Plone 6 release.
16
+
17
+ [Plone](https://plone.org) is a CMS built on Python with more than 20 years of history and experience.
18
+
19
+ Plone has features that appeal to developers and users alike, such as an intuitive editing interface, customizable content types, hierarchical organization, and a sophisticated permissions model.
20
+ This allows you to build anything from simple websites to enterprise-grade intranets.
21
+
22
+ Volto exposes all these features and communicates with Plone via its [REST API](https://github.com/plone/plone.restapi).
23
+
24
+ Volto features the Pastanaga editor, a modern block-based content layout editor.
25
+ It is extensible and customizable, so you can adapt the provided default blocks to meet your requirements, or build new ones.
26
+
27
+ Volto is extensible using add-ons.
28
+ You can build your own or choose from the community released ones:
29
+
30
+ - [Volto Add-ons in NPM](https://www.npmjs.com/search?q=keywords%3Avolto-addon%2Cvolto)
31
+ - [Volto Awesome](https://github.com/collective/awesome-volto)
32
+
33
+
34
+ ## Demo
35
+
36
+ You can try a Volto online demo at [https://demo.plone.org/](https://demo.plone.org/).
37
+
38
+
39
+ ## Create a Volto project
40
+
41
+ To start a new project using Volto, follow the [Plone installation documentation](https://6.docs.plone.org/install/create-project.html).
42
+
43
+
44
+ ## Documentation
45
+
46
+ You can find the latest documentation at [https://6.docs.plone.org/](https://6.docs.plone.org/volto/index.html).
47
+
48
+ For links to trainings and videos, see [Other learning resources](https://6.docs.plone.org/volto/tutorials/index.html).
49
+
50
+
51
+ ## Supported Plone, Python, and Plone REST API versions
52
+
53
+ See [Plone, Python, and Plone REST API compatibility](https://6.docs.plone.org/volto/contributing/version-policy.html#version-policy-plone-python-and-plone-rest-api-compatibility)
54
+
55
+ See the [Plone Release Schedule](https://plone.org/download/release-schedule) for details of maintenance and support.
56
+
57
+
58
+ ## Supported Node.js versions
59
+
60
+ See [Node.js version policy](https://6.docs.plone.org/volto/contributing/version-policy.html#version-policy-plone-python-and-plone-rest-api-compatibility).
61
+
62
+
63
+ ## Supported browsers
64
+
65
+ See [Supported browsers](https://6.docs.plone.org/volto/contributing/version-policy.html#version-policy-supported-browsers).
66
+
67
+
68
+ ## Contributing
69
+
70
+ To contribute to the Volto project by writing code, documentation, translations, and so on, please read [Contributing to Plone](https://6.docs.plone.org/contributing/index.html) and [Contributing to Volto](https://6.docs.plone.org/volto/contributing/index.html).
71
+
72
+ For newcomers to Volto, Plone, or open source software, you must read and follow [First-time contributors](https://6.docs.plone.org/contributing/first-time.html).
73
+
74
+ Since December 2023, this repository has a monorepo structure.
75
+ Volto itself is treated as a library and you can find it in the `packages/volto` folder.
76
+
77
+
78
+ ## Contributors
79
+
80
+ <a href="https://github.com/plone/volto/graphs/contributors">
81
+ <img src="https://contrib.rocks/image?repo=plone/volto" />
82
+ </a>
83
+
84
+
85
+ ## License
86
+
87
+ MIT License. Copyrights held by the [Plone Foundation](https://plone.org/foundation).
88
+
89
+ See [LICENSE.md](LICENSE.md) for details.
90
+
91
+
92
+ ## Volto in production
93
+
94
+ Volto has been actively developed since 2017.
95
+ It has been used in production since 2018 on numerous websites.
96
+
97
+ The authoritative source of the list of Volto websites in production is maintained at [Awesome Volto](https://github.com/collective/awesome-volto#websites-built-with-volto).
98
+
99
+ The Plone Marketing Team copy-pastes its content on a quarterly basis into [They use Plone 6](https://plone.org/why-plone/they-use-plone/they-use-plone-6).
100
+
101
+ To ensure your website gets the greatest exposure, add it both to [Awesome Volto](https://github.com/collective/awesome-volto#websites-built-with-volto) and this README.
102
+
103
+ - [ASP Area Nord](https://www.aspareanord.it/) (Website of the Public company of personal services of the Modena municipalities in the north area. Developed by [RedTurtle](https://www.redturtle.it), 2021)
104
+ - [Baccanale Imola](https://www.baccanaleimola.it) (Baccanale is a food fair that happens every year in Imola, Italy. Developed by [RedTurtle](https://www.redturtle.it), 2020)
105
+ - [Biblioteche Pianura Est](https://bibest.it/it) (Website of the Associated libraries of eastern plain. Developed by [RedTurtle](https://www.redturtle.it/), 2021)
106
+ - [BISE](https://biodiversity.europa.eu) (Biodiversity Information System for Europe, developed by [Eau de Web](https://eaudeweb.ro/), 2019)
107
+ - [Camera di Commercio dell'Umbria](https://www.umbria.camcom.it) (Website Chamber of Commerce of Umbria. Developed by [RedTurtle](https://www.redturtle.it), 2021)
108
+ - [Camera di Commercio di Reggio Emilia](https://www.emilia.camcom.it) (Website Chamber of Commerce of Reggio Emilia. Developed by [RedTurtle](https://www.redturtle.it), 2021)
109
+ - [Comune di Camposanto](https://www.comune.camposanto.mo.it/) (Website of the Municipality of Camposanto. Developed by [RedTurtle](https://www.redturtle.it), 2021)
110
+ - [Comune di Cantagallo](https://www.comune.cantagallo.po.it/) (Website of the Municipality of Cantagallo. Developed by [RedTurtle](https://www.redturtle.it), 2021)
111
+ - [Comune di Medolla](https://www.comune.medolla.mo.it/) (Website of the Municipality of Medolla. Developed by [RedTurtle](https://www.redturtle.it), 2021)
112
+ - [Comune di Mirandola](https://www.comune.mirandola.mo.it/) (Website of the Municipality of Mirandola. Developed by [RedTurtle](https://www.redturtle.it), 2021)
113
+ - [Comune di Modena](https://www.comune.modena.it/) (Website of the Municipality of Modena. Developed by [RedTurtle](https://www.redturtle.it), 2020)
114
+ - [Comune di San Possidonio](https://www.comune.sanpossidonio.mo.it/) (Website of the Municipality of San Possidonio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
115
+ - [Comune di Vaiano](https://www.comune.vaiano.po.it/) (Website of the Municipality of Vaiano. Developed by [RedTurtle](https://www.redturtle.it), 2021)
116
+ - [Comune di Vernio](https://www.comune.vernio.po.it/) (Website of the Municipality of Vernio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
117
+ - [Debabarreneko mankomunitatea](https://debabarrena.eus/eu) (Website of the Commonwealth of Debabarrena, community of municipalities to centralize waste handling services, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022)
118
+ - [Debako Udala / Ayuntamiento de Deba](https://www.deba.eus/eu) (Website of the municipality of Deba, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022)
119
+ - [European Environment Agency](https://www.eea.europa.eu/en) (Website of the European Environment Agency. Developed by [Eau de Web](https://eaudeweb.ro), 2023)
120
+ - [Energy Climate Union portal for Europe](https://climate-energy.eea.europa.eu/) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://eaudeweb.ro/), 2020)
121
+ - [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://www.hu-berlin.de/de), developed by [kitconcept GmbH](https://kitconcept.com), 2019)
122
+ - [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://eaudeweb.ro/), 2019)
123
+ - [Forschungszentrum Jülich](https://www.fz-juelich.de/de) (Website for Forschungzentrum Jülich, which is one of the largest research institutions in Europe, developed by [kitconcept GmbH](https://kitconcept.com), 2022)
124
+ - [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)
125
+ - [Helmholtz-Institut Erlangen-Nürnberg für Erneuerbare Energien (HI-ERN)](https://www.hi-ern.de/de) (Website for HI ERN, a research institution for renewable energies, developed by [kitconcept GmbH](https://kitconcept.com), 2022)
126
+ - [Humboldt Labor](https://www.humboldtforum.org/de/programm/dauerangebot/ausstellung/nach-der-natur-14144/) (The Humboldt Lab is a website where the Humboldt University Berlin presents its latest research projects and findings. Developed by [WLDX](https://wldx.de/) and [kitconcept GmbH](https://kitconcept.com), 2020)
127
+ - [ILPO](https://ilpo.jyu.fi/) (the registration portal of continuous learning at the University of Jyväskylä. Developed by University of Jyväskylä, 2022)
128
+ - [Industrial Emissions portal for Europe](https://industry.eea.europa.eu) (Thematic website focusing on European industrial emissions, developed by [Eau de Web](https://eaudeweb.ro/), 2020)
129
+ - [Jobfamilie MEDICE](https://jobfamilie.medice.de/de) (Carrer website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
130
+ - [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)
131
+ - [Leibniz Institute for Science and Mathematics Education (IPN)](https://www.leibniz-ipn.de/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)
132
+ - [MEDICE Webseite](https://medice.com/de-de) (Website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
133
+ - [Nuova Voce Ecologista](https://nuovavoceecologista.it) (Website of Nuova Voce Ecologista, an Italian green Party, 2020)
134
+ - [Osaka University](https://www.osaka-u.ac.jp/en) (Osaka University is considered one of the most prestigious universities in Japan. Developed by [CMScom](https://www.cmscom.jp), 2021)
135
+ - [ResOU](https://resou.osaka-u.ac.jp/ja) (ResOU is introducing official researched releases by the University of Osaka, Japan. Developed by [CMScom](https://www.cmscom.jp), 2020)
136
+ - [Stradanove](https://www.stradanove.it/) (Website of the Department of Youth Policies of the Municipality of Modena, developed by [RedTurtle](https://www.redturtle.it), 2020)
137
+ - [Study guide at University of Jyväskylä](https://studyguide.jyu.fi/2020/en/) (Static website where [Volto is used as a headless CMS for authoring additional content](https://tech.blog.jyu.fi/2020/06/plone-volto-hasura-gatsbyjs-mashup/), 2020)
138
+ - [Talke Carrer Website](https://karriere.talke.com/) (Carrer website for [Talke](https://www.talke.com), one of the leading a chemical and petrochemical logistics companies in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2020)
139
+ - [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)
140
+ - [Unione dei Comuni della Val Bisenzio](https://www.bisenzio.it/) (Website of the Municipality union of Val Bisenzio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
141
+ - [VHS Ehrenamtsportal](https://vhs-ehrenamtsportal.de) (Website to help volunteers that help refugees for the [German Adult Education Association](https://www.volkshochschule.de/), developed by [kitconcept GmbH](https://kitconcept.com), 2018)
142
+ - [VisitModena](https://www.visitmodena.it/it) (Tourist website of the Municipality of Modena, developed by [RedTurtle](https://www.redturtle.it), 2020)
143
+ - [WISE-Freshwater](https://water.europa.eu/freshwater) (WISE-Freshwater, the Freshwater Information System for Europe. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2021)
144
+ - [Zeelandia](https://www.zeelandia.de/) (Corporate website for one of the leading bakery ingredients manufacturers in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2019)
145
+
146
+
147
+ ### Open-source websites built with Volto
148
+
149
+ The following websites have been built with Volto.
150
+ You can find their complete source code by following their links.
151
+ Please note that complex websites are built on top of Volto add-ons, and most of the time they're just an empty shell for the add-ons.
152
+ You should check the dependencies in their `package.json` for more details.
153
+
154
+ - [Forest Information System for Europe](https://github.com/eea/fise-frontend) - Volto project for [Forest Information System for Europe website](https://forest.eea.europa.eu)
155
+ - [Freshwater Information System for Europe](https://github.com/eea/freshwater-frontend) - Volto project for [Freshwater Information System for Europe website](https://water.europa.eu/freshwater)
156
+ - [European Industrial Emissions Portal](https://github.com/eea/industry-frontend ) - Volto project for [European Industrial Emissions Portal website](https://industry.eea.europa.eu)
157
+ - [Biodiversity Information System for Europe](https://github.com/eea/bise-frontend) - Volto project for [Biodiversity Information System for Europe website](https://biodiversity.europa.eu)
158
+ - [EEA Main Website frontend](https://github.com/eea/eea-website-frontend) - Volto project for [European Environment Agency](https://www.eea.europa.eu/en)
159
+ - [Climate and energy in the EU](https://github.com/eea/climate-energy-frontend) - Volto project for [Climate and energy in the EU website](https://climate-energy.eea.europa.eu)
160
+ - [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an addon. It provides Theming using a razzle.extend.js provided alias.
161
+ - [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration
162
+ - [2021.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2021) - Volto project for [Plone Conference 2021 site](https://2021.ploneconf.org)
163
+ - [2022.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2022) - Volto project for [Plone Conference 2022 site](https://2022.ploneconf.org)
164
+ - [2023.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2023) - Volto project for [Plone Conference 2023 site](https://2023.ploneconf.org)
165
+ - [plone.org.br](https://github.com/plonegovbr/plone.org.br) - Volto project for the [Brazilian Plone Community](https://plone.org.br)
166
+ - [nsw-design-system-plone6-kit](https://github.com/pretagov/nsw-design-system-plone6-kit) - NSW Design System Plone 6 Kit Volto project for [NSW.gov.au sites](https://digitalnsw.pretagov.com.au/)
167
+ - [volto-centraalmuseum-theme](https://github.com/intk/volto-centraalmuseum-theme) - Volto project for the [Centraal Museum & Rietveld](https://www.centraalmuseum.nl/nl) made for [INTK](https://www.intk.com/en).
168
+ - [volto-eea-design-system](https://github.com/eea/volto-eea-design-system) - EEA Design System Plone 6 Kit Volto project for [European Environment Agency web sites](https://eea.github.io/volto-eea-design-system/)
169
+ - [volto-eea-website-theme](https://github.com/eea/volto-eea-website-theme) - EEA Plone 6 Volto Theme for [European Environment Agency web sites](https://www.eea.europa.eu/en)
170
+ - [volto-eea-kitkat](https://github.com/eea/volto-eea-kitkat) - A known good set of Volto add-ons to be used within all EEA projects and beyond, made for [European Environment Agency](https://www.eea.europa.eu/en)
171
+ - [volto-rietveldschroderhuis-theme](https://github.com/intk/volto-rietveldschroderhuis-theme) - Volto project for the [Rietveld Schröder House](https://www.rietveldschroderhuis.nl/en) made for [INTK](https://www.intk.com/en).
172
+ - [volto-zeeuwsmuseum-theme](https://github.com/intk/volto-zeeuwsmuseum-theme) - Volto project for the [Zeeuws Museum](https://www.zeeuwsmuseum.nl/en) made for [INTK](https://www.intk.com/en).
package/package.json CHANGED
@@ -9,7 +9,7 @@
9
9
  }
10
10
  ],
11
11
  "license": "MIT",
12
- "version": "18.1.1",
12
+ "version": "18.2.0",
13
13
  "repository": {
14
14
  "type": "git",
15
15
  "url": "git@github.com:plone/volto.git"
@@ -141,7 +141,6 @@
141
141
  ">1%",
142
142
  "last 4 versions",
143
143
  "Firefox ESR",
144
- "not ie 11",
145
144
  "not dead"
146
145
  ],
147
146
  "engines": {
@@ -237,9 +236,9 @@
237
236
  "url": "^0.11.3",
238
237
  "use-deep-compare-effect": "1.8.1",
239
238
  "uuid": "^8.3.2",
240
- "@plone/scripts": "3.8.1",
241
- "@plone/volto-slate": "18.0.1",
242
- "@plone/registry": "2.1.2"
239
+ "@plone/registry": "2.1.2",
240
+ "@plone/volto-slate": "18.0.2",
241
+ "@plone/scripts": "3.8.1"
243
242
  },
244
243
  "devDependencies": {
245
244
  "@babel/core": "^7.0.0",
package/razzle.config.js CHANGED
@@ -414,15 +414,6 @@ const defaultModify = ({
414
414
  ]
415
415
  : [];
416
416
 
417
- if (config.devServer) {
418
- config.devServer.static.watch.ignored = /node_modules\/(?!@plone\/volto)/;
419
- config.snapshot = {
420
- managedPaths: [
421
- /^(.+?[\\/]node_modules[\\/](?!(@plone[\\/]volto))(@.+?[\\/])?.+?)[\\/]/,
422
- ],
423
- };
424
- }
425
-
426
417
  return config;
427
418
  };
428
419
 
@@ -16,7 +16,7 @@ import {
16
16
  LINK_INTEGRITY_CHECK,
17
17
  UPDATE_UPLOADED_FILES,
18
18
  } from '@plone/volto/constants/ActionTypes';
19
- import { nestContent } from '@plone/volto/helpers';
19
+ import { nestContent } from '@plone/volto/helpers/Content/Content';
20
20
  import config from '@plone/volto/registry';
21
21
 
22
22
  /**
@@ -2,8 +2,8 @@ import { updateIntl } from 'react-intl-redux';
2
2
  import {
3
3
  toGettextLang,
4
4
  toReactIntlLang,
5
- getCookieOptions,
6
- } from '@plone/volto/helpers';
5
+ } from '@plone/volto/helpers/Utils/Utils';
6
+ import { getCookieOptions } from '@plone/volto/helpers/Cookies/cookies';
7
7
  import Cookies from 'universal-cookie';
8
8
 
9
9
  export function changeLanguageCookies(language, req) {
@@ -3,7 +3,13 @@
3
3
  * @module actions/search/search
4
4
  */
5
5
 
6
- import { compact, concat, isArray, join, map, pickBy, toPairs } from 'lodash';
6
+ import compact from 'lodash/compact';
7
+ import concat from 'lodash/concat';
8
+ import isArray from 'lodash/isArray';
9
+ import join from 'lodash/join';
10
+ import map from 'lodash/map';
11
+ import pickBy from 'lodash/pickBy';
12
+ import toPairs from 'lodash/toPairs';
7
13
 
8
14
  import {
9
15
  RESET_SEARCH_CONTENT,
@@ -8,7 +8,7 @@ import {
8
8
  GET_WORKFLOW_MULTIPLE,
9
9
  TRANSITION_WORKFLOW,
10
10
  } from '@plone/volto/constants/ActionTypes';
11
- import { flattenToAppURL } from '@plone/volto/helpers';
11
+ import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
12
12
 
13
13
  /**
14
14
  * Get workflow function.
@@ -6,9 +6,14 @@ import { Dropdown, Icon } from 'semantic-ui-react';
6
6
  import { toast } from 'react-toastify';
7
7
  import { FormattedMessage, defineMessages, useIntl } from 'react-intl';
8
8
 
9
- import { cut, copy, copyContent, moveContent } from '@plone/volto/actions';
10
- import { getBaseUrl } from '@plone/volto/helpers';
11
- import { Toast } from '@plone/volto/components';
9
+ import {
10
+ cut,
11
+ copy,
12
+ copyContent,
13
+ moveContent,
14
+ } from '@plone/volto/actions/clipboard/clipboard';
15
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
16
+ import Toast from '@plone/volto/components/manage/Toast/Toast';
12
17
  import { ContentsRenameModal } from '@plone/volto/components/manage/Contents';
13
18
 
14
19
  const messages = defineMessages({
@@ -5,14 +5,10 @@
5
5
 
6
6
  import React, { Component } from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import {
9
- BodyClass,
10
- Helmet,
11
- extractInvariantErrors,
12
- } from '@plone/volto/helpers';
13
8
  import { connect } from 'react-redux';
14
9
  import { compose } from 'redux';
15
- import { keys, isEmpty } from 'lodash';
10
+ import keys from 'lodash/keys';
11
+ import isEmpty from 'lodash/isEmpty';
16
12
  import { defineMessages, injectIntl } from 'react-intl';
17
13
  import { Button, Grid, Menu } from 'semantic-ui-react';
18
14
  import { createPortal } from 'react-dom';
@@ -20,35 +16,39 @@ import { v4 as uuid } from 'uuid';
20
16
  import qs from 'query-string';
21
17
  import { toast } from 'react-toastify';
22
18
 
23
- import {
24
- createContent,
25
- getSchema,
26
- changeLanguage,
27
- setFormData,
28
- } from '@plone/volto/actions';
29
- import {
30
- Icon,
31
- Toolbar,
32
- Sidebar,
33
- Toast,
34
- TranslationObject,
35
- } from '@plone/volto/components';
19
+ import { createContent } from '@plone/volto/actions/content/content';
20
+ import { getSchema } from '@plone/volto/actions/schema/schema';
21
+ import { changeLanguage } from '@plone/volto/actions/language/language';
22
+ import { setFormData } from '@plone/volto/actions/form/form';
23
+
24
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
25
+ import Toolbar from '@plone/volto/components/manage/Toolbar/Toolbar';
26
+ import Sidebar from '@plone/volto/components/manage/Sidebar/Sidebar';
27
+ import Toast from '@plone/volto/components/manage/Toast/Toast';
28
+ import TranslationObject from '@plone/volto/components/manage/Multilingual/TranslationObject';
36
29
  import { Form } from '@plone/volto/components/manage/Form';
30
+
31
+ import { getBaseUrl, flattenToAppURL } from '@plone/volto/helpers/Url/Url';
37
32
  import {
38
- getBaseUrl,
39
33
  hasBlocksData,
40
- flattenToAppURL,
41
34
  getBlocksFieldname,
42
35
  getBlocksLayoutFieldname,
43
- getLanguageIndependentFields,
44
- langmap,
45
- toGettextLang,
36
+ } from '@plone/volto/helpers/Blocks/Blocks';
37
+ import { getLanguageIndependentFields } from '@plone/volto/helpers/Content/Content';
38
+ import langmap from '@plone/volto/helpers/LanguageMap/LanguageMap';
39
+ import { toGettextLang } from '@plone/volto/helpers/Utils/Utils';
40
+ import {
46
41
  getSimpleDefaultBlocks,
47
42
  getDefaultBlocks,
48
- } from '@plone/volto/helpers';
43
+ } from '@plone/volto/helpers/Blocks/defaultBlocks';
44
+ import {
45
+ tryParseJSON,
46
+ extractInvariantErrors,
47
+ } from '@plone/volto/helpers/FormValidation/FormValidation';
48
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
49
+ import Helmet from '@plone/volto/helpers/Helmet/Helmet';
49
50
 
50
51
  import { preloadLazyLibs } from '@plone/volto/helpers/Loadable';
51
- import { tryParseJSON } from '@plone/volto/helpers';
52
52
 
53
53
  import config from '@plone/volto/registry';
54
54
 
@@ -4,11 +4,11 @@
4
4
  */
5
5
  import React, { Component } from 'react';
6
6
  import PropTypes from 'prop-types';
7
- import { Helmet } from '@plone/volto/helpers';
8
7
  import { connect } from 'react-redux';
9
8
  import { compose } from 'redux';
10
9
  import { Link } from 'react-router-dom';
11
10
  import { createPortal } from 'react-dom';
11
+ import { toast } from 'react-toastify';
12
12
  import {
13
13
  Button,
14
14
  Checkbox,
@@ -24,15 +24,17 @@ import {
24
24
  removeAliases,
25
25
  addAliases,
26
26
  getAliases,
27
- getContent,
28
- } from '@plone/volto/actions';
27
+ } from '@plone/volto/actions/aliases/aliases';
28
+ import { getContent } from '@plone/volto/actions/content/content';
29
+
30
+ import Helmet from '@plone/volto/helpers/Helmet/Helmet';
31
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
29
32
 
30
- import { Icon, Toolbar } from '@plone/volto/components';
33
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
34
+ import Toolbar from '@plone/volto/components/manage/Toolbar/Toolbar';
35
+ import Toast from '@plone/volto/components/manage/Toast/Toast';
31
36
 
32
37
  import backSVG from '@plone/volto/icons/back.svg';
33
- import { getBaseUrl } from '@plone/volto/helpers';
34
- import { toast } from 'react-toastify';
35
- import { Toast } from '@plone/volto/components';
36
38
 
37
39
  const messages = defineMessages({
38
40
  back: {
@@ -6,17 +6,17 @@
6
6
  import React, { Component } from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { compose } from 'redux';
9
-
10
- // import unionClassNames from 'union-class-names';
9
+ import { withRouter } from 'react-router';
11
10
  import cx from 'classnames';
11
+
12
12
  import {
13
13
  addAppURL,
14
14
  isInternalURL,
15
15
  flattenToAppURL,
16
16
  URLUtils,
17
- } from '@plone/volto/helpers';
17
+ } from '@plone/volto/helpers/Url/Url';
18
18
 
19
- import { doesNodeContainClick } from 'semantic-ui-react/dist/commonjs/lib';
19
+ import doesNodeContainClick from 'semantic-ui-react/dist/commonjs/lib/doesNodeContainClick';
20
20
  import { Input, Form, Button } from 'semantic-ui-react';
21
21
  import { defineMessages, injectIntl } from 'react-intl';
22
22
 
@@ -25,10 +25,8 @@ import navTreeSVG from '@plone/volto/icons/nav.svg';
25
25
  import aheadSVG from '@plone/volto/icons/ahead.svg';
26
26
  import linkSVG from '@plone/volto/icons/link.svg';
27
27
 
28
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
28
29
  import withObjectBrowser from '@plone/volto/components/manage/Sidebar/ObjectBrowser';
29
- import { withRouter } from 'react-router';
30
-
31
- import { Icon } from '@plone/volto/components';
32
30
 
33
31
  const messages = defineMessages({
34
32
  placeholder: {
@@ -13,7 +13,7 @@
13
13
  */
14
14
 
15
15
  import React from 'react';
16
- import { PositionedToolbar } from '@plone/volto-slate/editor/ui';
16
+ import PositionedToolbar from '@plone/volto-slate/editor/ui/PositionedToolbar';
17
17
  import AddLinkForm from '@plone/volto/components/manage/AnchorPlugin/components/LinkButton/AddLinkForm';
18
18
 
19
19
  function getPositionStyle(position) {
@@ -1,10 +1,13 @@
1
1
  import React from 'react';
2
- import { useUser } from '@plone/volto/hooks';
2
+ import useUser from '@plone/volto/hooks/user/useUser';
3
3
  import PropTypes from 'prop-types';
4
- import { filter, map, groupBy, isEmpty } from 'lodash';
4
+ import filter from 'lodash/filter';
5
+ import map from 'lodash/map';
6
+ import groupBy from 'lodash/groupBy';
7
+ import isEmpty from 'lodash/isEmpty';
5
8
  import { Accordion, Button } from 'semantic-ui-react';
6
9
  import { useIntl, defineMessages } from 'react-intl';
7
- import { Icon } from '@plone/volto/components';
10
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
8
11
  import AnimateHeight from 'react-animate-height';
9
12
  import config from '@plone/volto/registry';
10
13
  import upSVG from '@plone/volto/icons/up-key.svg';
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { doesNodeContainClick } from 'semantic-ui-react/dist/commonjs/lib';
2
+ import doesNodeContainClick from 'semantic-ui-react/dist/commonjs/lib/doesNodeContainClick';
3
3
  import addSVG from '@plone/volto/icons/circle-plus.svg';
4
- import { blockHasValue } from '@plone/volto/helpers';
5
- import { Icon, BlockChooser } from '@plone/volto/components';
4
+ import { blockHasValue } from '@plone/volto/helpers/Blocks/Blocks';
5
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
6
+ import BlockChooser from '@plone/volto/components/manage/BlockChooser/BlockChooser';
6
7
  import config from '@plone/volto/registry';
7
8
  import { Button, Ref } from 'semantic-ui-react';
8
9
  import { defineMessages, useIntl } from 'react-intl';
@@ -1,6 +1,6 @@
1
1
  import React, { useRef } from 'react';
2
2
  import { Button, Form, Input } from 'semantic-ui-react';
3
- import { Icon } from '@plone/volto/components';
3
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
4
4
  import { defineMessages, useIntl } from 'react-intl';
5
5
  import clearSVG from '@plone/volto/icons/clear.svg';
6
6